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