| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Auswahl mittels Lisp-Ausdruck (418 mal gelesen)
|
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004
|
erstellt am: 04. Jul. 2005 13:57 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum, ich habe wie im Beitrag http://ww3.cad.de/foren/ubb/Forum54/HTML/010955.shtml beschrieben folgende Lisp Funktion auf einen Button gelegt: (sssetfirst (setq A(ssget "_X" (list(cons 8 (cdr(assoc 8 (entget (car (entsel)))))))))A) Bei der Gelegenheit mal herzlichen Dank an die Erfinder des Codes!!! Damit kann ich nun wie beschrieben, durch Auswahl eines Elementes alle Elemente in dessen Layer auswählen. Allerdings mit der Einschränkung, dass ein schon vorher gewähltes Element (Blaue Griffe) dieses Layers dann abgewählt wird. Das möchte ich aber nicht. Sagt mir bitte jemand, wie ich den Code ändern muss, damit wirklich alle Elemente im Layer gewählt werden? Und um ein bisserl was zu lernen, hätte ich da noch eine Zusatzfrage an euch. Der Rückgabewert der Funktion ist der Name eines Selection Sets. Kann man dieses später über den Namen noch ansprechen? Oder existiert es nur zur Laufzeit der Funktion? Irgendwie hab ich das mit der Lebensdauer von Selection Set´s noch nicht richtig kapiert! Herzlichen Dank im voraus Didi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 04. Jul. 2005 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
Zitat: Original erstellt von Goofy007: Allerdings mit der Einschränkung, dass ein schon vorher gewähltes Element (Blaue Griffe) dieses Layers dann abgewählt wird. Das möchte ich aber nicht. Sagt mir bitte jemand, wie ich den Code ändern muss, damit wirklich alle Elemente im Layer gewählt werden?
:hmm, kannst Du das mal genauer erklären, was Du willst? Ich kapier's nicht...
------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22171 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 04. Jul. 2005 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
Eigentlich sollte der Code genau das berücksichtigen und tut das auch bei mir (ebenfalls ACAD2004deu) wenn du die Auswahl später noch benutzen möchtest, dann füge vorne noch ein (setq MAS und ganz hinten noch eine Klammer ) ein... = (setq MAS (sssetfirst (setq A(ssget "_X" (list(cons 8 (cdr(assoc 8 (entget (car (entsel)))))))))A)) so hängst du den Auswahlsatz an ein neues Symbol "MAS" (Variable) ,dann kannst du mit !MAS wieder darauf zugreifen. <MAS kann durch andere Zeichenkette ersetzt werden> 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: 04. Jul. 2005 14:10 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
(sssetfirst (setq A(ssget "_X" (list(cons 8 (cdr(assoc 8 (entget (car (entsel)))))))))A) (entsel) wählt das Element und gibt Klickkoordinate und Element zurück (car(entsel)) filtert das Element aus (entget (car(entsel))) liefert die Gruppencodliste des Elements (cdr(assoc 8(entget (car(entsel))))) liefert den LAYERNAMEN (ssget "_X" (list(cons 8 LAYERNAMEN))) liefert einen Auswahlsatz aller Elemente im aktuellen Layout auf dem entsprechenden Layer (sssetfirst AUSWAHL AUSWAHL) setz den auswahlsatz aktiv auf einen mit (setq AWS (ssget)) erzeugten Auswahlsatz kann bis zum Schließen der Zeichnung bzw. Überschreiben der Variablen AWS über die Variable AWS zugegriffen werden Siehe auch -> F1
------------------ - 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 |
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004
|
erstellt am: 04. Jul. 2005 14:39 <-- editieren / zitieren --> Unities abgeben:
na aber Hallo! ich muss schon sagen ihr seid spitze! mit solchen Reaktionszeiten hab ich nicht gerechnet. Also dann mal der Reihe nach: @ Marc: Ich habe in einem Layer 3 PL nun wähle ich die erste aus duch einfaches anklicken, somit werden ihre Griffe aktiviert. Anschließen klicke ich auf mein Button und zeige der Funktion die zweite PL. Nun wird durch den Lips-Ausdruck die Auswahl der 1. PL aufgehoben und die PLs 2 und 3 werden ausgewählt. Allerdings hab ich zu früh gefragt (tschuldigung!), ich habe bereits eine Lösung gefunden. Ich habe ein "_select ^C" vor den Ausdruck gesezt. Das Problem hab ich übrigens auf einem Map2005 3D. In meinem Profil steht auch Map2005 3D drinnen, aber bei meinen Beiträgen wird immer ein alter Profilinhalt angezeit. Interessanterweise wird das auch noch verschieden angezeigt. Denn meine Postings im GIS-Forum haben andere Sysinfo´s als jene im RMA @cadffm und cadmium: Danke für die Erklärungen, jetz hab ich wieder ein bisserl was gelernt. F1 hab ich natürlich auch geguckt, aber manchmal ist es schwer sich dort zurrechtzufinden. @ ALLE: Vielen Dank !!! mfg Didi
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22171 Registriert: 03.06.2002 System: F1 und Google
|
erstellt am: 04. Jul. 2005 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für Goofy007
wegen der SystemInfo , nutze mal die Suchfunktion hier, im Community oder im Kritik-Forum - das soll so sein und macht Sinn. [Kurz: bei einer Antwort ein Leerzeichen als Zusatztext eintragen dann werden die Daten aus dem Profil übernommen] Das du MAP hast - hätte Marc geholfen eine bessere Antwort zu finden, das "Problem" in MAPversionen ist bei dieser Geschichte bekannt. Reaktionszeit - dem ist nichts hinzuzufügen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Goofy007 Mitglied Vermessungstechniker
Beiträge: 578 Registriert: 06.11.2004
|
erstellt am: 04. Jul. 2005 15:10 <-- editieren / zitieren --> Unities abgeben:
|