| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: layerfilter ... bestimmte löschen (1191 mal gelesen)
|
sleepwalker Mitglied Technischer Zeichner
Beiträge: 16 Registriert: 03.02.2001
|
erstellt am: 16. Mrz. 2004 15:31 <-- editieren / zitieren --> Unities abgeben:
hallo, layerfilter alle aufeinmal löschen ... kein problem bestimmte komfortabel auswählen ist für mich ein problem ich habe in der zeichnung 10filter die ich benötige und die restlichen 100 nicht. hat wer eine lösung für mich? grüsse sleepwalker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
Beiträge: 3358 Registriert: 07.06.2001 W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365
|
erstellt am: 16. Mrz. 2004 16:12 <-- editieren / zitieren --> Unities abgeben: Nur für sleepwalker
Servus Sind die 10 Filter in einer Anderen Datei Definiert? Wenn JA alle löschen, dann über DC einen beliebigen Layer einfügen. Wenn NEIN alle löschen, und neu definieren. Wenn NEIN und anderer Weg gewollt (nehm ich mal stark an) hoffen auf die LISPLER. ------------------ Same shit, different DAU. DAU Jones Bernd P. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.Bless Mitglied Bauzeichner, CAD Administrator
Beiträge: 288 Registriert: 27.03.2003
|
erstellt am: 16. Mrz. 2004 16:17 <-- editieren / zitieren --> Unities abgeben: Nur für sleepwalker
Hi, ich habe das mal so versucht: bei jedem Einfügen eines Objektes oder einfügen von xrefs werden die Layerfilter übernommen. Ich habe eine Musterzeichnung mit den gewünschten Filtern angelegt und kopiere nach dem löschen ein Objekt in die aktuelle Zeichnung und schon sind die Filter wieder da. Etwas umständlich, aber solange noch nichts besseres... ------------------ Bis demnächst Rainer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 16. Mrz. 2004 16:26 <-- editieren / zitieren --> Unities abgeben: Nur für sleepwalker
(defun C:del_but ( / ) (setq nicht_Löschen (list '("name1");Namen reinschreiben '("name2") '("name3...") ) ) (DELFILTERS nicht_Löschen) ) (defun DELFILTERS ( not_del_list / lext-dict ldict lay_entity lay_filters filter_names) (vl-load-com) (setq lext-dict (entget (vlax-vla-object->ename (vla-GetExtensionDictionary (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object) ) ) ) ) ) ) (if (setq ldict (member (cons 3 "ACAD_LAYERFILTERS") lext-dict)) (cdr (assoc 360 ldict)) nil ) (if ldict (progn (setq lay_entity (cdr (assoc 360 ldict))) (setq lay_filters (entget lay_entity)) (while (assoc 3 lay_filters) (progn (setq filter_names (cdr (assoc 3 lay_filters))) (if (not(member filter_names not_del_list)) (dictremove lay_entity filter_names) ) (setq lay_filters (entget lay_entity)) ) ) ) ) (princ) ) ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sleepwalker Mitglied Technischer Zeichner
Beiträge: 16 Registriert: 03.02.2001
|
erstellt am: 17. Mrz. 2004 11:54 <-- editieren / zitieren --> Unities abgeben:
hallo cad-wiesel, ich habe das so probiert (defun C:del_but ( / ) (setq nicht_Löschen (list '("___ALLE");Namen reinschreiben '("___PIT_BAU") ))) hat aber nicht funktioniert ... hab ich bei der eingabe was falsch? danke sleepwalker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 17. Mrz. 2004 15:54 <-- editieren / zitieren --> Unities abgeben: Nur für sleepwalker
oops - sorry - Grober schnitzer so passts: (defun del_but (/) (setq nicht_Löschen (list '("Test") '("willi") '("name3...") ) ;_ end of list ) ;_ end of setq (DELFILTERS nicht_Löschen) ) ;_ end of defun (defun DELFILTERS (not_del_list / lext-dict ldict lay_entity lay_filters filter_names ) (vl-load-com) (setq lext-dict (entget (vlax-vla-object->ename (vla-GetExtensionDictionary (vla-get-layers (vla-get-ActiveDocument (vlax-get-acad-object) ) ;_ end of vla-get-ActiveDocument ) ;_ end of vla-get-layers ) ;_ end of vla-GetExtensionDictionary ) ;_ end of vlax-vla-object->ename ) ;_ end of entget ) ;_ end of setq (if (setq ldict (member (cons 3 "ACAD_LAYERFILTERS") lext-dict)) (cdr (assoc 360 ldict)) nil ) ;_ end of if (if ldict (progn (setq lay_entity (cdr (assoc 360 ldict))) (setq lay_filters (entget lay_entity)) (while lay_filters (if (= 3 (caar lay_filters)) (if (not (member (list (cdar lay_filters)) not_del_list)) (progn (dictremove lay_entity (cdar lay_filters)) (setq lay_filters (cdr lay_filters)) ) ;_ end of progn ) ;_ end of if ) ;_ end of if (setq lay_filters (cdr lay_filters)) ) ;_ end of while ) ;_ end of progn ) ;_ end of if (princ) ) ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.Bless Mitglied Bauzeichner, CAD Administrator
Beiträge: 288 Registriert: 27.03.2003
|
erstellt am: 18. Mrz. 2004 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für sleepwalker
Hi, Programm in Editor kopiert, als del_but.lsp abgespeichert, lsp als Anwendung geladen, in Befehlszeile del_but eingegeben - unbekannter Befehl Was mache ich verkehrt? ------------------ Bis demnächst Rainer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 18. Mrz. 2004 10:23 <-- editieren / zitieren --> Unities abgeben: Nur für sleepwalker
erstmal laden mit appload (oder per Drag&Drop ins Dateifenster in aCAD ziehen) dann mit (del_but) starten - also MIT Klammer ! - oder den Code ändern in : (defun c:del_put .... ------------------ - Sebastian Mattis - Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
R.Bless Mitglied Bauzeichner, CAD Administrator
Beiträge: 288 Registriert: 27.03.2003
|
erstellt am: 18. Mrz. 2004 10:50 <-- editieren / zitieren --> Unities abgeben: Nur für sleepwalker
|