| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| | |
 | AutoCAD Architecture Schulung mit IHK-Zertifizierung , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
|
|
Autor
|
Thema: POLYLINE aus Block löschen (1299 / mal gelesen)
|
HPW Mitglied Holz-Techniker

 Beiträge: 80 Registriert: 11.01.2005 Dell Precision T3610 Autocad 2016
|
erstellt am: 09. Sep. 2017 10:45 <-- editieren / zitieren --> Unities abgeben:         
Hallo, Ich möchte zum Bereinigen manche POLYLINE's aus Blöcken löschen. Beim Durchlesen des Blocks bekomme ich so etwas angezeigt. Zitat:
Entdata: ((-1 . <Objektname: 7e253868>) (0 . POLYLINE) (330 . <Objektname: 7e253378>) (5 . 35ED) (100 . AcDbEntity) (67 . 0) (8 . WANGE) (100 . AcDb2dPolyline) (66 . 1) (10 0.0 0.0 0.0) (70 . 1) (40 . 0.0) (41 . 0.0) (210 -1.0 0.0 0.0) (71 . 0) (72 . 0) (73 . 0) (74 . 0) (75 . 0)) Entdata: ((-1 . <Objektname: 7e253870>) (0 . VERTEX) (330 . <Objektname: 7e253868>) (5 . 35EE) (100 . AcDbEntity) (67 . 0) (8 . WANGE) (100 . AcDbVertex) (100 . AcDb2dVertex) (10 0.0 0.0 0.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (70 . 0) (50 . 0.0)) Entdata: ((-1 . <Objektname: 7e253878>) (0 . VERTEX) (330 . <Objektname: 7e253868>) (5 . 35EF) (100 . AcDbEntity) (67 . 0) (8 . WANGE) (100 . AcDbVertex) (100 . AcDb2dVertex) (10 446.0 0.0 0.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (70 . 0) (50 . 0.0)) Entdata: ((-1 . <Objektname: 7e253880>) (0 . VERTEX) (330 . <Objektname: 7e253868>) (5 . 35F0) (100 . AcDbEntity) (67 . 0) (8 . WANGE) (100 . AcDbVertex) (100 . AcDb2dVertex) (10 446.0 2199.0 0.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (70 . 0) (50 . 0.0)) Entdata: ((-1 . <Objektname: 7e253888>) (0 . VERTEX) (330 . <Objektname: 7e253868>) (5 . 35F1) (100 . AcDbEntity) (67 . 0) (8 . WANGE) (100 . AcDbVertex) (100 . AcDb2dVertex) (10 0.0 2199.0 0.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (70 . 0) (50 . 0.0)) Entdata: ((-1 . <Objektname: 7e253890>) (0 . SEQEND) (330 . <Objektname: 7e253868>) (5 . 35F2) (100 . AcDbEntity) (67 . 0) (8 . WANGE) (-2 . <Objektname: 7e253868>:nozwinker ;
Bei meinen Löschversuchen mit:
Code:
(vla-delete (vlax-ename->vla-object CurrObject))
kommt aber: Fehler: Automatisierungsfehler Kann nicht von Caller gelöscht werden Wie löscht man mit Lisp eine Polyline aus einem Block? Grüsse, Hans-Peter
------------------ Hans-Peter Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HPW Mitglied Holz-Techniker

 Beiträge: 80 Registriert: 11.01.2005 Dell Precision T3610 Autocad 2016
|
erstellt am: 09. Sep. 2017 11:10 <-- editieren / zitieren --> Unities abgeben:         
|

| |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung und AutoLISPler
    
 Beiträge: 1781 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 10. Sep. 2017 15:28 <-- editieren / zitieren --> Unities abgeben:          Nur für HPW
Hallo Hans-Peter, nur der Vertex's würde ich nicht weglöschen, ich weiß nicht, ob dann ein Polylinien-Objekt ohne Stützpunkte erhalten bleibt. Versuche es mal mit einer vlax-for-Schleife, damit die Objekte der Blockdefinition durchlaufen, wenn der Objektname = AcDb2DPolyline", dann löschen. Der folgende Code ist ungetestet, sollte aber für einen Block "TEST" funktionieren:
Code:
(defun c:test ( / BLOCKNAME) (setq BlockName "TEST") (vlax-for ITEM (vla-item (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) BlockName) (if (= (vla-get-Objectname ITEM) "AcDb2dPolyline") (vla-delete ITEM))))
------------------ viele Grüße Jörn http://www.bosse-engineering.com Liniensignaturen Youtube Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |