| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY präsentiert die neue NVIDIA RTX A400 und die A1000 Grafikkarte, eine Pressemitteilung
|
Autor
|
Thema: Konstruktionslinien ausblenden (2808 mal gelesen)
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 13. Jun. 2014 05:51 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich fand irgendwo dieses Lisp. Dieses ermöglicht das löschen aller Konstruktionslinien in der Zeichnung. (defun c:delxl nil (vl-load-com) (vlax-for blk (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) (vlax-for obj blk (if (eq "AcDbXline" (vla-get-objectname obj)) (vl-catch-all-apply 'vla-delete (list obj)) ) ) ) (princ) )
Nun versuche ich das gleiche Lisp zum ausblenden aller Konstruktionslinien zu verwenden. Das funktioniert so leider nicht. (defun c:delxl nil (vl-load-com) (vlax-for blk (vla-get-blocks (vla-get-activedocument (vlax-get-acad-object))) (vlax-for obj blk (if (eq "AcDbXline" (vla-get-objectname obj)) (vl-catch-all-apply 'vla-HideObjects (list obj)) ) ) ) (princ) ) Bitte um Hilfe. Lg Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 13. Jun. 2014 07:54 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
Wenn du den Befehl _HIDEOBJECTS simulieren willst: da musst du wohl hier ran: (setq dic (dictsearch (namedobjdict) "ACAD_OBJECTISOLATION")) .... soll aber nicht so einfach sein. ein anderer Weg geht über den DXF GC60 bzw. die ActiveX-property VISIBLE:
Bsp: (defun c:HIDEXL(/ BLK OBJ) (vl-load-com) (vlax-for BLK(vla-get-blocks(vla-get-activedocument(vlax-get-acad-object))) (vlax-for OBJ BLK (if(=(strcase(vla-get-objectname OBJ))"ACDBXLINE") (vl-catch-all-apply 'vla-put-visible (list OBJ :vlax-false)) ) ) ) (princ) ) (defun c:UNHIDEXL(/ BLK OBJ) (vl-load-com) (vlax-for BLK(vla-get-blocks(vla-get-activedocument(vlax-get-acad-object))) (vlax-for OBJ BLK (if(=(strcase(vla-get-objectname OBJ))"ACDBXLINE") (vl-catch-all-apply 'vla-put-visible (list OBJ :vlax-true)) ) ) ) (princ) ) auf oberster Ebene ( ohne Blöcke) geht natürlich auch einfach sowas : (defun c:HIDEXL(/ AWS) (if(setq AWS(ssget "_x" '((0 . "XLINE")))) (command "_hideobjects" AWS "") ) ) ------------------ Also ich finde Unities gut ... und andere sicher auch --------------------------------------- - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben." Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 13. Jun. 2014 08:01 <-- editieren / zitieren --> Unities abgeben:
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 13. Jun. 2014 08:26 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 13. Jun. 2014 08:29 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 13. Jun. 2014 08:34 <-- editieren / zitieren --> Unities abgeben: Nur für MARTINLE
|
MARTINLE Mitglied Tischler
Beiträge: 485 Registriert: 18.10.2007 AUTOCAD 2016, MS Windows7, 64-bit
|
erstellt am: 13. Jun. 2014 08:40 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADmium:
Frag die Adesk-Programmierer! Sicher hätte man dafür eine Methode implementieren können, hat man aber nicht!
Hallo Thomas, Ich glaube, die würden sich mit einem so wie mir nicht abgeben. Da frag ich doch lieber hier im Forum. Denn da kriegt man immer tolle Hilfe. lg. Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |