Die entity eigenschaft heist visible
ist die false dann ist das Motto : entity uebern jordahn befoerdern.
das must du aber warscheinlich in den blockdefinitionen erledigen.
dim block as acadblock. F1 auf acadblock
Eine weitere methode ist den block zu explodieren
dann sollten ... eigentlich nur die sichtbaren fragmente uebrig bleiben
dim b as acadblockreference
da auf acadblockreference klicken und F1 druecken...
den beispiel code kann man leicht modifizieren um visible ergaenzen (Jordahn)
dann die blockdefinition loeschen
und neu mit den uebrig gebliebenen elementen neu definieren.
(Mit dem gleichen effektiven namen)
Die Blockreferenzen brauchst du ME nicht neu definieren.
Wenns soweit funktionert ruf sicherheitshalber mal audit auf.
Public Function block_create_from_selection_set(selectionsetobject As AcadSelectionSet, INSERTATIONPOINT As Variant, blockname As String, Optional delsource As Boolean = False) As AcadBlock
Dim BLOCKS As AcadBlocks
Dim newBlock As AcadBlock
Dim ENTITYS() As AcadEntity
Dim i As Integer
If selectionsetobject.count = 0 Then Exit Function
ReDim Preserve ENTITYS(selectionsetobject.count - 1)
For i = 0 To selectionsetobject.count - 1
Set ENTITYS(i) = selectionsetobject(i)
Next
Set BLOCKS = ThisDrawing.BLOCKS
Set newBlock = BLOCKS.ADD(INSERTATIONPOINT, blockname)
ThisDrawing.CopyObjects ENTITYS, newBlock
Set block_create_from_selection_set = newBlock
If delsource Then
For Each entity In selectionsetobject
entity.Delete
Next
End If
End Function
------------------
Wer es nicht versucht, hat schon verlorn
Und bei 3 Typos gibts den vierten gratis !
[Diese Nachricht wurde von rexxitall am 26. Jun. 2013 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP