| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY wird von NVIDIA zum Händler des Jahres gewählt – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: Änderung mehrerer Objekte (520 mal gelesen)
|
namsokrok Mitglied CAD-Administrator
Beiträge: 76 Registriert: 20.08.2008 Xeon CPU 3.33 Ghz 4 GB RAM NVIDIA Quadro FX 1700 Windows Vista 32 bit SP1 AutoCAD Map 3D 2010 AutoCAD Architectual 2008
|
erstellt am: 26. Mai. 2010 16:21 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich versuche mich mal wieder daran, einen häufig wiederkehrenden Prozess zu automatisieren. Aufgabenstellung: Alle Elemente der Zeichnung, die die Farbe 10 haben, sollen mit dem Truecolor-Farbwert 255,0,0 darstellt werden. Bei einem einzelnen Objet habe ich das auch schon hinbekommen, aber meine Lisp-Idee funktioniert nicht bei einem Auswahlsatz. Bislang sieht´s so aus: (defun c:farbe () (setq c10 (ssget "_X" (list (cons 62 10)))) (cons 420 16711680) (list (cons 420 16711680)) (setq c10 (append c10 (list (cons 420 16711680)))) (entmod c10) ) Ich komme hier zurzeit nicht weiter. Hat jemand eine zündende Idee? Vielen Dank! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 26. Mai. 2010 16:36 <-- editieren / zitieren --> Unities abgeben: Nur für namsokrok
|
archtools Mitglied
Beiträge: 970 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 26. Mai. 2010 23:16 <-- editieren / zitieren --> Unities abgeben: Nur für namsokrok
Zitat: Original erstellt von CADmium: Wie wäre es mit:(defun c:Farbe1 (/ AWS I OBJ DATA L1 L2) ... (setq I -1) (repeat (sslength AWS) (setq I(1+ I)) ) ... )
Nur eine Anregung: Weil ich solche Zählerstrukturen immer sehr unelegant finde, ist hier mal eine Universallösung: Code:
(defun count (sym) (if (eval sym) (set sym (1+ (eval sym))) (set sym 0) ) )
Damit wird dann obiger Code so kurz und übersichtlich: Code:
(defun c:Farbe1 (/ AWS I OBJ DATA L1 L2) ... (repeat (sslength AWS) (count 'i) ) ... )
[Diese Nachricht wurde von archtools am 26. Mai. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13529 Registriert: 30.11.2003 .
|
erstellt am: 27. Mai. 2010 11:27 <-- editieren / zitieren --> Unities abgeben: Nur für namsokrok
|
namsokrok Mitglied CAD-Administrator
Beiträge: 76 Registriert: 20.08.2008 Xeon CPU 3.33 Ghz 4 GB RAM NVIDIA Quadro FX 1700 Windows Vista 32 bit SP1 AutoCAD Map 3D 2010 AutoCAD Architectual 2008
|
erstellt am: 27. Mai. 2010 16:15 <-- editieren / zitieren --> Unities abgeben:
|
archtools Mitglied
Beiträge: 970 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 27. Mai. 2010 21:59 <-- editieren / zitieren --> Unities abgeben: Nur für namsokrok
Zitat: Original erstellt von CADmium: naja .. kann man drüber diskutieren .. hab ich ne extra Funktion ... i darf auch nicht fäschlicherweise anders "belegt" sein ( z.B. mit "" . obwohl das wohl keiner machen wird )
Das i sollte sowieso lokale Variable sein. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |