| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| | |
 | Cideon Solution Days: Zukunftsschmiede für digitales Engineering, eine Pressemitteilung
|
|
Autor
|
Thema: Objektwahl in Skript (230 mal gelesen)
|
Sir Vival Mitglied Fachplaner Kanalsanierung
 
 Beiträge: 134 Registriert: 12.09.2003 Intel Core i7-6700, 3,40GHz, 16 GB RAM, NVIDIA Quadro P620, Autodesk Civil 3D 2020 + 2022, ITWH-GIPS 8.3, GISx, Win 10 Enterprise, Office 2016 Professional, Plotter: HP DesignJet T1700ps
|
erstellt am: 03. Mai. 2006 14:24 <-- editieren / zitieren --> Unities abgeben:         
Hallo zusammen! Mit Hilfe eines Skriptes möchte ich gerne folgende Dinge durchführen: 1. Layer 0 aktuell setzen 2. Alle Elemente auf Layer 0 legen 3. Neue Layer "ROT" und "BLAU" erzeugen 4. Falls vorhanden, alle Ellemente mit Farbe 160 auf Layer "BLAU" legen 5. Falls vorhanden, alle Elemente mit Farbe 10 auf Layer "ROT" legen 6. Zeichnung bereinigen, auf Grenzen zoomen, abspeichern Mein Skript sieht dazu bisher wie folgt aus: ------- Beginn Skript ------ _-layer _set 0 _change _all _properties _layer 0 _-layer _make BLAU _colour 160 _make ROT _colour 10 (sssetfirst nil (ssget "X" '((62 . 10)))) _change _properties _colour _ByLayer _layer ROT (sssetfirst nil (ssget "X" '((62 . 160)))) _change _properties _colour _ByLayer _layer BLAU _-purge _all * _n _zoom _extents _qsave ------ Ende Skript ------ Doch nun tritt folgendes Problem auf: Falls KEINE Elemente der Farbe 10 oder 160 vorhanden sind, bricht das Skript ab... Wie kann ich das verhindern, oder wie muss das Skript angepasst werden? Gruß Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 03. Mai. 2006 14:47 <-- editieren / zitieren --> Unities abgeben:          Nur für Sir Vival
bau anstelle (sssetfirst nil (ssget "X" '((62 . 10)))) _change _properties _colour _ByLayer _layer ROT das hier ein: (if (setq a (ssget "_X" '((62 . 10)))) (command "_change" a "" "_properties" "_colour" "_ByLayer" "_layer" "ROT" "") )
------------------ - 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 |
cadffm Moderator 良い精神
       

 Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 03. Mai. 2006 14:50 <-- editieren / zitieren --> Unities abgeben:          Nur für Sir Vival
|
tunnelbauer Ehrenmitglied V.I.P. h.c. Bauingenieur

 Beiträge: 7085 Registriert: 13.01.2004 Sie nannten ihn google.
|
erstellt am: 03. Mai. 2006 14:54 <-- editieren / zitieren --> Unities abgeben:          Nur für Sir Vival
Zitat: Original erstellt von CADmium:
(if (setq a (ssget "_X" '((62 . 10)))) (command "_change" a "" "_properties" "_colour" "_ByLayer" "_layer" "ROT" "") )
Bitte diese Zeile(n) einbauen: Code:
(if (setq a (ssget "_X" '((62 . 10)))) (command "_change" a "" "_properties" "_color" "_ByLayer" "_layer" "ROT" "") )
color wird nur mit o geschrieben - nicht mit ou (ist ja aus den Amilanden...) ------------------ Grüsse Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
       

 Beiträge: 22275 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 03. Mai. 2006 15:06 <-- editieren / zitieren --> Unities abgeben:          Nur für Sir Vival
|
Sir Vival Mitglied Fachplaner Kanalsanierung
 
 Beiträge: 134 Registriert: 12.09.2003
|
erstellt am: 03. Mai. 2006 16:33 <-- editieren / zitieren --> Unities abgeben:         
Hallo Jungs! Danke für Eure Hilfe! @ cadffm: Bei mir klappt's nur mit _color... Wie kann ich ssget mit mehreren Auswahlkriterien kombinieren? Ich möchte gerne alle Solid-Schraffuren eines bestimmten Layers und mit einer bestimmten Farbe herausfiltern. So? (if (setq a (ssget "_X" '((62 . 10))((0 . HATCH )(2 . SOLID ))) (command "_change" a "" "_properties" "_color" "_ByLayer" "_layer" "SCHRAFF-ROT" "") ) Oder gehört das jetzt in's Lisp-Forum? Gruß Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13527 Registriert: 30.11.2003 Hinweis: Meine Mitarbeit auf CAD.DE ist fakultativ, unentgeltlich und beruht nur auf einem ausgeprägtem Helfersyndrom.
|
erstellt am: 03. Mai. 2006 16:38 <-- editieren / zitieren --> Unities abgeben:          Nur für Sir Vival
(if (setq a (ssget "_X" '((62 . 10))((0 . "HATCH" )(2 . "SOLID" ))) (command "_change" a "" "_properties" "_color" "_ByLayer" "_layer" "SCHRAFF-ROT" "") ) so ... und da du im RUA angefangen hast .. bleibt es auch hier! ( "Command"-Aufrufe sind ja noch kein richtiges Lisp )
------------------ - 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 |