| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: alle Elemente (1364 mal gelesen)
|
AutoCADuser Mitglied Technischer Zeichner /Elektrotech., Energietech.
Beiträge: 48 Registriert: 29.10.2004 -Windows NT 4.0 -AutoCAD 2002 +SP1 +pi-cup 5.2 -WSCAD 4.0 -Normica -HP 1050C -Xerox 8828 / Falter / Scanner XIB-1 / XWB-1 / YWC-1
|
erstellt am: 10. Apr. 2008 18:35 <-- editieren / zitieren --> Unities abgeben:
hallo zusammen, hab hier mal ein super Tool, weiß aber nicht mehr von wem das war... ...im AutoCAD 2006 funktioniert es leider nicht mehr. Es sollte die Farbe aller Elemente auf vonlayer umstellen. kann mal einer drüberfliegen, weil ich mit meinen Kenntnissen da nicht weit komm... gruß Code: (defun c:colorByLayer (/ ss i elist) (setq i -1) (repeat (sslength (setq ss (ssget "x" '((-4 . "/=") (62 . 256))) ) ) (entmod (subst '(62 . 256) (assoc 62 (setq elist (entget (ssname ss (setq i (1+ i)) ) ) ) ) elist ) ) ) (princ) )
------------------ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 10. Apr. 2008 20:09 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCADuser
|
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 11. Apr. 2008 07:13 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCADuser
|
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 11. Apr. 2008 09:19 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCADuser
Hi, ja, diese Funktion ist schon ziemlich alt und sehr simpel. Dass es nicht unter 2006 laufen will, liegt nicht an der Version, sondern an den Objekten, die es (nicht) findet, denn es wird gar nicht geprüft, ob der Auswahlsatz überhaupt vorhanden ist. Die paar anderen, unwesentlichen , Einschränkungen kennst du? Berücksichtigt keine Objekte in Blöcken. Filtert keine Objekte aus, die sich nicht entmoden lassen. Ausgeschaltene, gefrorene oder gesperrte Layer werden nicht gecheckt. Sieh' es als Basis für deine Eigenentwicklung. Erster Schritt: Bevor du den Auswahlsatz ss verarbeitest, musst du prüfen, ob er überhaupt da ist. Dann sollte das Teil zumindest durchlaufen. Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 11. Apr. 2008 09:23 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCADuser
@Cadchup .. Attribute und Maßlinien/Maßhilfslinien/Maßtexte haste noch vergessen, die werden bei sowas auch außen vor gelassen ------------------ - 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 |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 11. Apr. 2008 09:26 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCADuser
Zitat:
.. Attribute und Maßlinien/Maßhilfslinien/Maßtexte haste noch vergessen, die werden bei sowas auch außen vor gelassen ;)
Habbich
Zitat: Berücksichtigt keine Objekte in Blöcken.
gesagt und natürlich auch Blockreferenzen gemeint. Gruß CADchup
------------------ CADmaro.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 11. Apr. 2008 09:34 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCADuser
...wobei die Zugriffsmethode bei den erwähnten Objekten zwar ähnlich, aber doch andere sind ... ------------------ - 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 |
CADchup Ehrenmitglied V.I.P. h.c.
Beiträge: 3329 Registriert: 14.03.2001 Sicher ist, dass nichts sicher ist. Selbst das nicht. Joachim Ringelnatz
|
erstellt am: 11. Apr. 2008 09:43 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCADuser
|
AutoCADuser Mitglied Technischer Zeichner /Elektrotech., Energietech.
Beiträge: 48 Registriert: 29.10.2004 -Windows NT 4.0 -AutoCAD 2002 +SP1 +pi-cup 5.2 -WSCAD 4.0 -Normica -HP 1050C -Xerox 8828 / Falter / Scanner XIB-1 / XWB-1 / YWC-1
|
erstellt am: 11. Apr. 2008 10:32 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von CADchup: Jetzt bloß nicht den geneigten Leser verwirren! :)
zuspät, der geneigte Leser ist verwirrt @Geos: das cswap tool funktioniert @Dorfy: Mit dem "_X" funktioniert mein altes tool anscheinend auch wieder So umfangreich solls gar nicht sein, es soll nur die Sichtbaren Strichal in der Zeichnung auswählen und auf VonLayer einstellen, mehr will i ned Danke für eure schnellen Antworten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AutoCADuser Mitglied Technischer Zeichner /Elektrotech., Energietech.
Beiträge: 48 Registriert: 29.10.2004 -Windows NT 4.0 -AutoCAD 2002 +SP1 +pi-cup 5.2 -WSCAD 4.0 -Normica -HP 1050C -Xerox 8828 / Falter / Scanner XIB-1 / XWB-1 / YWC-1
|
erstellt am: 11. Apr. 2008 10:52 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 11. Apr. 2008 10:55 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCADuser
Ja, das kann man machen... ist dann die Unterliste des Gruppencodes 370 die dann bei "vonLayer" aus der entget-Liste mittels vl-remove entfernt werden muß ------------------ - 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 |
Claudio Mitglied Architekt
Beiträge: 334 Registriert: 13.04.2002
|
erstellt am: 11. Apr. 2008 17:08 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCADuser
Hallo AutoCADuser! "Kann man das alte tool so umbauen..." Nur so ne Frage - hast Du schon mal den Befehl: EIGÄNDR probiert -> Objekte wählen : alle Denn MEHR kann das Prog eigentlich auch nicht. Dein Prog könnte eigentlich auch so aussehn: (defun c:colorByLayer () (Command "_CHPROP" (ssget "_x" '((-4 . "/=") (62 . 256))) "") (if (/=(getvar "CMDNAMES")"")(command "_c" "Bylayer" "")) ) Denn wenn noch mehr Änderungswünsche folgen, ist das auf dem Weg leichter zu bewerkstelligen. Gruß Claudio (defun c:CHFALI (/ Fragx) (if (= Frag nil) (setq Frag "F"))(setq Fragx Frag) (initget 2 "F LS LT") (setq Frag (getkword (strcat "Alle Elemente->Farbe, Linienstärke od. Linientyp ->Bylayer (F LS LT):<" Frag ">"))) (if (or (= Frag nil)(= Frag ""))(setq Frag Fragx)) (command "_chprop" (ssget "_X") "") (if (and (= Frag "F") (/=(getvar "CMDNAMES")"")) (command "_c" "Bylayer" "")) (if (and (= Frag "LS")(/=(getvar "CMDNAMES")"")) (command "_LW" "Bylayer" "")) (if (and (= Frag "LT")(/=(getvar "CMDNAMES")"")) (command "_LT" "Bylayer" "")) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AutoCADuser Mitglied Technischer Zeichner /Elektrotech., Energietech.
Beiträge: 48 Registriert: 29.10.2004 -Windows NT 4.0 -AutoCAD 2002 +SP1 +pi-cup 5.2 -WSCAD 4.0 -Normica -HP 1050C -Xerox 8828 / Falter / Scanner XIB-1 / XWB-1 / YWC-1
|
erstellt am: 11. Apr. 2008 17:39 <-- editieren / zitieren --> Unities abgeben:
@Claudio DANKE!! "Ich verneige mich" Du hast natürlich vollkommen Recht, den Befehl kannte ich auch nicht. D.h. ich könnts auch ganz einfach so schreib (ohne Abfrage, ohne nichts), oder mach ich dann was falsch:
Code:
(Command "_CHPROP" "_ALL" "" "_Color" "BYLAYER" "") (Command "_CHPROP" "_ALL" "" "_LWeight" "BYLAYER" "")
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Claudio Mitglied Architekt
Beiträge: 334 Registriert: 13.04.2002
|
erstellt am: 12. Apr. 2008 00:13 <-- editieren / zitieren --> Unities abgeben: Nur für AutoCADuser
Stimmt - so einfach geht das. Für den Normalfall reicht Dein (richtiger) Einzeiler. Ich habe oben den Befehl nur gesplittet und mit der Abfrage versehen, ob er noch aktiv ist(.."CMDNAMES"..), da der Befehl wenn er keine Elemente findet normalerweise nach (.."_ALL" "") abbricht - - z.B. wenn alle Elemente auf gesperrten Layern sind. Die restlichen Anweisungen würden dann letzlich den Befehl erneut aufrufen. Gruß Claudio (Command "_CHPROP" "_ALL" "")(if (/=(getvar "CMDNAMES")"")(command "_c" "Bylayer" "")) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |