Hallo nochmal,
via sendcommand sagt mir gerade nicht viel. Was ist das denn und wo finde ich es?
Das mit den Attributen wird vermutlich nicht so gut funktionieren und muss manuell erfolgen. Damit sind wir auch auf der sicheren Seite also das kann aus der Frage gestrichen werden
Dass der Block so heißen soll wie die Zeichnung würde wirklich nützlich sein, weil es wie gesagt in einer Datenbank landet auf die keiner zugreifen kann. Die Blöcke sollen dann über die Werkzeugpalette eingefügt werden. Aber es würde mich interessieren, warum du das nicht unterstützt also warum du diese Meinung dazu hast.
Nach etwas Recherche hab ich mir jetzt übrigens beigebracht Blöcke mit Hilfe von VBA zu erzeugen.
Nur leider sehe ich keine Objekte im Block. Muss diese vermutlich extra zuweisen. Aber ich weiß nicht wie man das macht. Die Objekte sind bereits in der Zeichnung und müssten eigentlich ausgewählt werden. Am besten so wie die Auswahl des Einfügepunkts.
Kann ich mich damit nochmal an euch wenden?
Hier ist was ich bisher habe:
Sub Block_Erzeugung()
' Prozedur Block und Attribut schnell erzeugen
Dim blockObj As AcadBlock
Dim Blockname As String
Dim InsertPoint As Variant
' Die Blockdefinition entspricht genau dem Namen der Zeichnung. Der Einfügepunkt muss am Bildschirm bestimmt werden.
Blockname = Left(ThisDrawing.Name, InStr(1, ThisDrawing.Name, ".", vbTextCompare) - 1)
InsertPoint = ThisDrawing.Utility.GetPoint(, "Enter a point: ")
Set blockObj = ThisDrawing.Blocks.Add(InsertPoint, Blockname)
MsgBox blockObj.Name & " wurde als Block hinzugefügt."
' Insert the block
Dim blockRefObj As AcadBlockReference
Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(InsertPoint, Blockname)
ZoomAll
End Sub
Danke schon mal im Voraus für`s reinlesen
LG
Jenny
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP