Hallo,
ich versuche mittels VBA im ADT2004 eine Decke zu erzeugen. Da das Objekt AecSlab keine Eigenschaften für die Eckpunkte einer Decke hat, wollte ich es über die SendCommand Funktion machen. Hier mal ein Beispielcode:
Public Sub test_slab()
Dim pickpolyline As AcadLWPolyline
ThisDrawing.Utility.GetEntity pickpolyline, pickpnt, "Polylinie wählen"
coord = pickpolyline.Coordinates
pickpolyline.Delete
ThisDrawing.SendCommand "SlabAdd"
ThisDrawing.SendCommand vbCr
For i = 0 To (UBound(coord) - 2) Step 2
ThisDrawing.SendCommand MyTools.ErsetzeKomma(CStr(coord(i))) & "," & _
MyTools.ErsetzeKomma(CStr(coord(i + 1)))
ThisDrawing.SendCommand vbCr
Next
ThisDrawing.SendCommand "s "
ThisDrawing.SendCommand vbCr
End Sub
Zum Testen liefert mir die gewählte Polylinie erstmal die Koordinaten. Nach dem Aufruf von "SlabAdd" bleibt das Makro allerdings stehen, und Autocad erwartet eine Nutzereingabe von mir. Erst wenn ich die Funktion abbreche oder Enter drücke folgt der Rest des Makros.
Kann sich jemand erklären woran das liegt, oder hat jemand eine andere Idee wie ich eine Decke erzeugen kann?
PS.: Die Prozedur myTools.ErsetzeKomma ersetzt in einem String Kommas durch Punkte. Das Modul myTools liegt im Anhang. Vieleicht kann ja jemand meine kleinen Helferlein gebrauchen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP