| |
| 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, eine Pressemitteilung
|
Autor
|
Thema: Auswahlsätze (697 mal gelesen)
|
BJH Mitglied
Beiträge: 5 Registriert: 06.07.2008 Windows XP SP3 1GB RAM;1,6GHz GeForce 7400
|
erstellt am: 20. Jul. 2008 16:33 <-- editieren / zitieren --> Unities abgeben:
Hallo habe folgende Lisp geschrieben. Hier werden alle Elemente innerhalb einer Polylinie und die Polylinie selber ausgewählt. Sollte es so eine Polylinie nicht geben kann Alternativ gewählt werden. (while (null obj) (setq obj (entsel "\nWaehle Umgrenzende Polylinie: "))) (setq auswahl obj) (if (wcmatch (strcase (cdr (assoc 0 (entget (car obj)))))"*POLYLINE") (progn (setq plist (GET-PL-POINTS (car obj))) ;GET-PL-POINTS ermittelt Polylinienpunkte (command "_zoom" "G") (setvar "OSMODE" 0) (setq obj (ssget "_CP" plist auswahlfilter)) ;;; (setq obj (ssget "_WP" plist auswahlfilter)) (setvar "OSMODE" os) (command "_zoom" "V") (if obj nil (setq obj (ssget auswahlfilter))) (box) ; ermittelt boundingbox mit minp maxp (command "_Zoom" "F" minp maxp) (setq fx "0.95XP") (command "zoom" "faktor" fx) (sssetfirst obj obj) (initget "Qnein Ja ") (if (= (getkword (strcat "\n" "\n Auswahl ok? Ja/Q=Nein <J>:"))"Qnein") (progn (setq obj nil) (sssetfirst obj) (while (null obj) (setq obj (ssget auswahlfilter))) ) ) ) ) (if (not(wcmatch (strcase (cdr (assoc 0 (entget (car auswahl)))))"*POLYLINE")) (progn (setq obj nil) (print "war keine Polylinie") (while (null obj) (setq obj (ssget auswahlfilter))) ) )
Wie kriegt man es hin, das außen anliegende oder kreuzende Elemente nicht mitgenommen werden? Könnte mit (ssget "_WP") gehen, aber dann fehlt die ausgewählte Polylinie.
------------------ ----- Gruß BJH
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1763 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<P>
|
erstellt am: 20. Jul. 2008 16:54 <-- editieren / zitieren --> Unities abgeben: Nur für BJH
Hallo BJH, (setq aws(ssget "_WP")) Nach Erstellung des Auswahlsatzes mit dem Fensterpolygon kannst Du die Polylinie an den Auswahlsatz anhängen: => (ssadd obj aws) ------------------ viele Grüße Jörn Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
BJH Mitglied
Beiträge: 5 Registriert: 06.07.2008 Windows XP SP3 1GB RAM;1,6GHz GeForce 7400
|
erstellt am: 21. Jul. 2008 16:00 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 21. Jul. 2008 16:10 <-- editieren / zitieren --> Unities abgeben: Nur für BJH
nach deinem (if (wcmatch (strcase (cdr (assoc 0 (entget (car obj)))))"*POLYLINE") (progn fügst du (setq POLYLINIE (car OBJ)) ein .. und nach deinem (setq obj (ssget "_WP" plist auswahlfilter)) dann noch (ssadd POLYLINIE obj) du mischt die Variablen ganz schön, von sprechenden Variablennamen ganz zu schweigen .. mich wundert nicht, dass du da durcheinanderkommst
(setq obj (ssadd ------------------ - 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 |
BJH Mitglied
Beiträge: 5 Registriert: 06.07.2008 Windows XP SP3 1GB RAM;1,6GHz GeForce 7400
|
erstellt am: 21. Jul. 2008 16:25 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 21. Jul. 2008 16:31 <-- editieren / zitieren --> Unities abgeben: Nur für BJH
Zitat: Original erstellt von BJH:
mit den Variablen hast du natürlich recht das Progamm ist halt immer länger geworden
Das ist keine Entschuldigung ... bei der nächsten Erweiterung bekommst du wieder Probleme. Prinzipiell sollte man sich angewöhnen: je (Teil-)Aufgabe eine Funktion.. u.a. Hier und Hier nachzulesen. ------------------ - 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 |