| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Schraffurauswahl abhängig der Flächengröße mit ssget erstellen? (724 mal gelesen)
|
-ikarus- Mitglied Zeichner
Beiträge: 142 Registriert: 12.02.2007 ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015 Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro, Visual Studio 2013 Notepad++ Rechner: HP Z620 Workstation NVIDIA Quadro K4000
|
erstellt am: 21. Jul. 2014 08:24 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich hab mir eine kleine lisp geschrieben die meine Zeichnungen mit dem Befehl ZEICHREIHENF ordnet. Die lisp schaut in eine INI und fragt dort Filtereinstellungen ab. Meine Frage ist, kann ich über ssget (filter) auch auf Flächengröße zugreifen z.B. nehme alle Schraffuren mit Solid und einer Fläche <= 500 ? Auszug aus der LISP
Code:
(if (findfile inifile ) (progn (princ (strcat "Datei <" inifile "> vorhanden.")) ) (progn (princ (strcat "Datei <" inifile "> nicht gefunden.")) ) ) (setq inifile (OPEN inifile "r")) (setq ZRF (READ-LINE inifile)) (setq zaehler 1 ) (while (/= ZRF "[ENDE-NACHUNTEN]") (setq ZRFAnfang (substr ZRF 1 1 ) ) (if (= ZRFAnfang "(" ) (progn (princ (strcat "\n----------------------------\n[" (itoa zaehler) "] Durchgang nach unten\n\n" )) (setq zaehler (+ zaehler 1 )) (command "wahl" AWS1 "" ) (if (setq N-U (ssget "_P" (read zrf)) ) ;wählt aus (progn (command "_.draworder" N-U "" "") (princ (strcat "\n<" zrf "> nach unten" ))) (princ (strcat "\nnichts gefunden für >" zrf "<" )) ); nach unten ) (princ (strcat "\n---------------------------------\n" ZRF "\ndiese Zeile wurde nicht ausgewertet\n" )) ) (setq ZRF (READ-LINE inifile)) ) (setq zaehler 1 ) (while (/= ZRF "[ENDE-NACHOBEN]") (setq ZRFAnfang (substr ZRF 1 1 )) (if (= ZRFAnfang "(" ) (progn (princ (strcat "\n----------------------------\n[" (itoa zaehler) "] Durchgang nach oben\n\n" )) (setq zaehler (+ zaehler 1 )) (command "wahl" AWS1 "" ) (if (setq N-O (ssget "_P" (read zrf)) ) ;wählt aus (progn (command "_.draworder" N-O "" "_F") (princ (strcat "\n<" zrf "> nach oben" ))) (princ (strcat "\nnichts gefunden für >" zrf "<" )) ) ; nach oben ) (princ (strcat "\n---------------------------------\n" ZRF "\ndiese Zeile wurde nicht ausgewertet\n" )) ) (setq ZRF (READ-LINE inifile)) ) (CLOSE inifile) (princ "\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Zeichnungsreihenfolge.ini abgearbeitet xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n Weiter im Programm --------------------------------------\n")
Auszug aus der Zeichnungsreihenfolge.ini
Code:
[START-NACHUNTEN] ((0 . "HATCH")) ((8 . "LAYER1")) ((0 . "HATCH") (2 . "SOLID*")) ((0 . "HATCH") (2 . "SOLID*") (8 . "LAYER15")) ((0 . "HATCH") (2 . "SOLID*") (8 . "LAYER10")) ((0 . "HATCH") (8 . "KONTUR")) [ENDE-NACHUNTEN][START-NACHOBEN] ((0 . "*LINE") (8 . "TEXT1,BEM1")) ((8 . "LAYER15") (-4 . "<NOT") (0 . "HATCH") (-4 . "NOT>")) ((8 . "LAYER95") (-4 . "<NOT") (0 . "HATCH") (-4 . "NOT>")) ((0 . "*LINE") (8 . "LAYER35")) ((8 . "LAYER95") (-4 . "<>") (2 . "SOLID*")) ((8 . "BEM*")) ((8 . "TEXT*")) ((8 . "FRAGEN")) [ENDE-NACHOBEN]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 21. Jul. 2014 08:33 <-- editieren / zitieren --> Unities abgeben: Nur für -ikarus-
Auf was du maximal mit ssget zugreifen kannst, siehst du anhand der Rückgabe von (entget (car(entsel)) '("*")) Wenn du nach Längen oder Flächen auswählen willst, dann mußt du mit vla-get-area / vla-get-length durch die Zeichnungsdatenbank iterieren. EDIT: Hier ein Beispiel für die TopLevel Elemente in den Layouts/Modell und eine Zweite für "innerhalb von Blöcken" - Klick! ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
-ikarus- Mitglied Zeichner
Beiträge: 142 Registriert: 12.02.2007 ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015 Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro, Visual Studio 2013 Notepad++ Rechner: HP Z620 Workstation NVIDIA Quadro K4000
|
erstellt am: 21. Jul. 2014 08:56 <-- editieren / zitieren --> Unities abgeben:
|
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 21. Jul. 2014 09:06 <-- editieren / zitieren --> Unities abgeben: Nur für -ikarus-
|
-ikarus- Mitglied Zeichner
Beiträge: 142 Registriert: 12.02.2007 ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015 Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro, Visual Studio 2013 Notepad++ Rechner: HP Z620 Workstation NVIDIA Quadro K4000
|
erstellt am: 22. Jul. 2014 07:02 <-- editieren / zitieren --> Unities abgeben:
Hallo, hab es jetzt so gelöst, dass ich einen Auswahlsatz gebildet hab mit hautch - solid - layer und die Objekte der Auswahl nach der Flächengröße abfrage befinden sie sich in einem gewissen Bereich werden sie an eine neue Auswahl übergeben und mit dem Befehl draworder weiter bearbeitet.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|