| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY: der unverzichtbare Partner für umfassende KI-Lösungen von Workstations bis zu Edge Computing und KI-Cluster-Bereitstellung, eine Pressemitteilung
|
Autor
|
Thema: Block im Block löschen (1415 mal gelesen)
|
js-cad Mitglied Techn. Zeichner

 Beiträge: 14 Registriert: 14.03.2010
|
erstellt am: 23. Apr. 2010 08:07 <-- editieren / zitieren --> Unities abgeben:         
Hallo Zusammen, ich lösche Blöcke mit bestimmten Namen in der zeichnung per VBA. Zum Teil sind diese in anderen Blöcken verschachtelt. Gibt es eine Möglichkeit die verschachtelten Blöcke auch mitzulöschen??? Danke im Voraus. ------------------ Gruß Jakob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 23. Apr. 2010 08:37 <-- editieren / zitieren -->
Hi, natürlich! Alle Blockdefinitionen in ThisDrawing.Blocks durchsuchen, ob ein Element innerhalb der Blockdefinition Dein gesuchter Block ist. - alfred - ------------------ www.hollaus.at |
js-cad Mitglied Techn. Zeichner

 Beiträge: 14 Registriert: 14.03.2010
|
erstellt am: 23. Apr. 2010 15:37 <-- editieren / zitieren --> Unities abgeben:         
ich habe es jetzt wie unten aufgeführt geschrieben, aber die Blöcke in Blöcken werden nicht gelöscht. Dim ent As AcadEntity Dim ent2 As AcadObject Dim oBkRef As AcadBlockReference
'Blöcke durchsuchen For Each ent2 In ThisDrawing.Blocks 'Prüfen, ob das Objekt ein Block If ent2.ObjectName = "AcDbBlockReference" Then Set oBkRef = ent2 If oBkRef.EffectiveName = "Blockname" Then A = A + 1 'Löschen Block oBkRef.Delete End If End If Next ent2 ------------------ Gruß Jakob Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 23. Apr. 2010 16:19 <-- editieren / zitieren -->
Hi, Du suchst nur eine Blockdefinitionen mit dem Namen "Blockname", Du suchst aber nicht durch die Elemente JEDER BLOCKDEFINITION durch! Code: Dim tBlDef as AcadBlock Dim tEnt as AcadEntity 'fuer jede Blockdefinition in der Zeichnung For each tBlDef in ThisDrawing.Blocks 'und diese Blockdefinition jetzt durchsuchen For each tEnt in tBlDef 'und hier musst Du jetzt prüfen, ob dieses Teilelement der Blockdefinition 'Dein gesuchter Block ist
- alfred - ------------------ www.hollaus.at |

| |
js-cad Mitglied Techn. Zeichner

 Beiträge: 14 Registriert: 14.03.2010
|
erstellt am: 23. Apr. 2010 22:06 <-- editieren / zitieren --> Unities abgeben:         
|