du brauchst auf jedenfall einen Verweis auf deine Blockreferenz.
in dem meinem code wird der Verweis so erstell: alle objekte werden angesprochen, wenn sich herausstellt das es sich bei dem objekt um eine blockreferenz handelt [TypeName(Object)], dann wird der Verweis in einer Collection abgelegt. Collection ist eine Sammeltopf für Objektverweise. Man könnte auch ein Array anlegen und dort die Objekt.Handles hineinlegen.
du könntest den verweis auf das objekt natürlich auch so erstellen das das ding auf dem bildschirm gewählt wird - etwa so.
Privat Sub RefWaehlen()
Dim Objekt As AcadHatch
On Error Goto Fehler
ThisDrawing.Utility.GetEntity Objekt,PickedPoint, "Block wählen"
Set AktBlock = Objekt
Exit Sub
Fehler:
If MsgBox("Schraffur konnte nicht gefunden werden. Wiederholen?", vbYesNo) = vbYes Then
Resume
Else: Exit Sub
End Sub
(hab den code jetzt nicht getestet könnten fehler drin sein - aber grundsätzlich könnte es so laufen)
jetzt gibt es wieder einen Verweis auf die Blockreferenz und die Attribute können ausgelesen werden.
------------------
leute: vielen dank
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP