Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  AutoCAD VBA
  Benutzerspezifische Erweiterung von Standardbefehle

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Benutzerspezifische Erweiterung von Standardbefehle (794 mal gelesen)
SchuasdaW
Mitglied
Student

Sehen Sie sich das Profil von SchuasdaW an!   Senden Sie eine Private Message an SchuasdaW  Schreiben Sie einen Gästebucheintrag für SchuasdaW

Beiträge: 8
Registriert: 13.02.2013

AutoCAD 2013

erstellt am: 13. Feb. 2013 14:29    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus Miteinander,

ich habe hier schon sehr viel gefunden was mir als Anfänger in der VBA Progrmmierung mit AutoCAD geholfen hat. Aber jetzt habe ich ein Problem das mich gestern schon den ganzen Tag gekostet hat und leider bin ich zu stur um mich geschlagen zu geben und etwas anderes zu machen bis ich das so habe wie ich das will. Deshalb bitte ich euch mir zu helfen wenn ihr könnt. Aber nun zu meinem Problem:

Ich habe mir den Standardbefehl der Ausgerichteten Bemaßung so zurecht gemacht, das sich bei Betätigung der Befehlsschaltfläche selbstständig der Layer und Bemaßungsstil einstellt, die ich benötige. Das reicht mir aber nicht ich möchte nun auch noch, dass wenn ich den Befehl ausgeführt habe sich automatisch wieder der Layer einstellt, der vor der Auswahl des Bemaßungsbefehls aktiv war.
Der Knackpunkt in meinem Code ist folgender:

Im vorausgehenden Code stelle ich meinen Layer und Stil ein,dann kommt

ThisDrawing.SendCommand ("BEMAUSG" & Chr(13))

ThisDrawing.ActiveLayer.Name = altLayer
ThisDrawing.ActiveDimStyle.Name = altBemStil

Die erste Zeile schickt den Bemaßungsbefehl an die Befehlszeile und die beiden anderen sollen mir nach Ausführung des Befehls durch den Anwender meinen alten Layer und Bemaßungsstil wiederherstellen. Aber ich schaffe es nicht die Anwendung solange warten lassen zu können bis der Bemaßungsbefehl ausgeführt wurde. Habe schon versucht eine Schleife bis 3 zählen zu lassen in Abhängigkeit der Mausklicks.(Die Ausführung des Befehls erfordert 3 Klicks)Ich habe schon Sachen mit Mousedown und ähnlichem Zeug versucht und zum Schluss hab ich sogar eine Schleife Programmiert die mir Solange die Anzahl der Zeichenobjekte im Modelspace zählt, bis diese um 1 höher ist(das erstellte Maß)als eine Zählung der Objekte vor der Befehlsausführung. Kann mir bitte irgendjemand helfen???

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

ACAD20XX, defun-tools

erstellt am: 14. Feb. 2013 06:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für SchuasdaW 10 Unities + Antwort hilfreich

Bau dir einen CommandEnd-Reactor. In diesem setzt du die Werte zurück.

Grüße!
Holger

------------------
Holger Brischke
FREIE SCHULUNGSPLÄTZE -- C#.NET-Schulung im Mai 2013 Bei Interesse bitte melden!
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

SchuasdaW
Mitglied
Student

Sehen Sie sich das Profil von SchuasdaW an!   Senden Sie eine Private Message an SchuasdaW  Schreiben Sie einen Gästebucheintrag für SchuasdaW

Beiträge: 8
Registriert: 13.02.2013

AutoCAD 2013

erstellt am: 14. Feb. 2013 09:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Holger
Vielen Dank für deine Idee, ich hab mich auch schon daran versucht bekomme es aber nicht zum laufen. Kannst du mir vielleicht kurz erklären wie es funktioniert?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Ehrenmitglied V.I.P. h.c.
CAD on demand GmbH



Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

ACAD20XX, defun-tools

erstellt am: 15. Feb. 2013 11:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für SchuasdaW 10 Unities + Antwort hilfreich

schau mal im Lisp-Forum, zum Bsp. hier. nutze auch mal die Suche im Lisp-Forum, dort wurde das Thema schon mehrfach behandelt. Ist zwar eine andere Programmiersprache, du kannst aber sicher nach VBA adaptieren.

Grüße!
Holger

------------------
Holger Brischke
FREIE SCHULUNGSPLÄTZE -- C#.NET-Schulung im Mai 2013 Bei Interesse bitte melden!
CAD on demand GmbH
Individuelle Lösungen von Heute auf Morgen.


defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CAD-Huebner
Ehrenmitglied V.I.P. h.c.
Verm.- Ing., ATC-Trainer



Sehen Sie sich das Profil von CAD-Huebner an!   Senden Sie eine Private Message an CAD-Huebner  Schreiben Sie einen Gästebucheintrag für CAD-Huebner

Beiträge: 9732
Registriert: 01.12.2003

AutoCAD 2.5 - 2022, LDD, MDT, RD, ADT, Civil
Inventor AIP 4-11, 2008 -2022
Win 10

erstellt am: 15. Feb. 2013 15:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für SchuasdaW 10 Unities + Antwort hilfreich


BemasssungWerkzeugpalette.JPG

 
Eine Möglichkeit ohne Programmierung wäre die Verwendung der Werkzeugpalette.
Einfach eine Lineare Bemaßung in eine Werkzeugpalette ziehen und den gewünschen Layer und den Bemaßungsstil voreinstellen.
Vorteil: - Hohe Flexibilität beim Anpassen der Wunschlayers und des Bemaßungsstils
Nachteil: - der Befehl muss aus der Werkzeugpalette heraus aufgerufen werden

------------------
Mit freundlichem Gruß

Udo Hübner
www.CAD-Huebner.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

SchuasdaW
Mitglied
Student

Sehen Sie sich das Profil von SchuasdaW an!   Senden Sie eine Private Message an SchuasdaW  Schreiben Sie einen Gästebucheintrag für SchuasdaW

Beiträge: 8
Registriert: 13.02.2013

AutoCAD 2013

erstellt am: 16. Feb. 2013 22:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Vielen Dank für eure Antworten ich habs mit dem Endcommand event geschafft.

Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
If CommandName = "DIMLINEAR" Then
ThisDrawing.ActiveLayer = altLayer
End If

Eigentlich ganz einfach, wenn man es nur gleich wüsste.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz