| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Auswahlsatz -> ursprung (1346 mal gelesen)
|
mkl-cad Mitglied Technischer Zeichner
Beiträge: 378 Registriert: 23.07.2003 ACAD 2002 Express Tools 1-9 Architektural Desktop Windows XP Server Windows 2003 3 GHz Rechner 1 GB RAM 80 GB Festplatte ATI FireGL V3100 2 17" Flachbildschirme
|
erstellt am: 07. Jul. 2005 11:44 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, stehe irgenwie auf dem Schlauch: (setq a (ssget '((-4 . "<or")(0 . "INSERT")(0 . "DIMENSION")(0 . "MTEXT")(-4 . "or>") ))) (command ".ursprung" a )
Warum wird bei der Auswahl ab 2 Objekten nur einer aufgelöst ? Finde ich nicht logisch. Habe doch einen Auswahlsatz gebildet oder nicht? Vielleicht mache ich schon zu lange Programmierpause das ich da nicht drauf komme. Ist mir schon fast peinlich so eine simple Frage zu stellen. ------------------ Martin Viele Grüße aus dem schönen Münsterland! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 07. Jul. 2005 11:47 <-- editieren / zitieren --> Unities abgeben: Nur für mkl-cad
Ist so, war so und war auch schon mehrfach Thema im Forum du mußr dich mit folgendem Konstrukt behelfen: (setq a (ssget '((-4 . "<or")(0 . "INSERT")(0 . "DIMENSION")(0 . "MTEXT")(-4 . "or>") ))) (setq Index -1) (repeat (sslength a) (command "_explode" (ssname a (setq INDEX (1+ INDEX)))) ) ------------------ - 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 |
mkl-cad Mitglied Technischer Zeichner
Beiträge: 378 Registriert: 23.07.2003 ACAD 2002 Express Tools 1-9 Architektural Desktop Windows XP Server Windows 2003 3 GHz Rechner 1 GB RAM 80 GB Festplatte ATI FireGL V3100 2 17" Flachbildschirme
|
erstellt am: 07. Jul. 2005 12:00 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank. Hatte zwar schon gesucht aber nichts gefunden. Dann brauch in wenigstens nicht an meine geistigen Fähigkeiten des logischen Denkens zweifeln. Den Ansatz hatte ich zwar auch in Erwägung gezogen, aber nicht geglaubt das es nur so umständlich geht. Aber funzt prima! ------------------ Martin Viele Grüße aus dem schönen Münsterland! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mkl-cad Mitglied Technischer Zeichner
Beiträge: 378 Registriert: 23.07.2003 ACAD 2002 Express Tools 1-9 Architektural Desktop Windows XP Server Windows 2003 3 GHz Rechner 1 GB RAM 80 GB Festplatte ATI FireGL V3100 2 17" Flachbildschirme
|
erstellt am: 11. Jul. 2005 09:13 <-- editieren / zitieren --> Unities abgeben:
Das funzt zwar gut. Hat aber einen Nachteil. Ich möchte alle Objekte die aufgelöst wurden in einen Auswahlsatz haben den ich beim nächsten Befehl mit "vorher" wählen kann. Nun kann ich mit (setq ausw (ssadd)); einen leeren Auswahlsatz erzeugen und mit (repeat ... ursprung ... (ssadd (ssget "_p" ) ausw); einen Auswahlsatz hinzufügen. ) Das funktioniert nur wenn ich (ssget "p") gegen (entlast) austausche. Aber dann bekomme ich nur das letzte Element des Blocks. Wie kann ich die Auswahlsätze sonst vereinigen? ------------------ Martin Viele Grüße aus dem schönen Münsterland! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 11. Jul. 2005 09:34 <-- editieren / zitieren --> Unities abgeben: Nur für mkl-cad
probier folgendes: (progn (setq LASTOBJ(entlast)) :_ letztes Element der Zeichnung (setq a (ssget '((-4 . "<or")(0 . "INSERT")(0 . "DIMENSION")(0 . "MTEXT")(-4 . "or>") ))) (setq Index -1) (repeat (sslength a) (command "_explode" (ssname a (setq INDEX (1+ INDEX)))) ) (setq AUSWAHL (ssadd)) (while (setq LASTOBJ(entnext LASTOBJ)) (ssadd LASTOBJ AUSWAHL) ) (sssetfirst AUSWAHL AUSWAHL) ) ------------------ - 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 |
Geos Mitglied Vermessungstechniker i.R.
Beiträge: 1017 Registriert: 21.09.2001 ACAD Map 2010, Win 7 Pro eigene Lisp's<P>HW: Core i7 860, 2.8 GHz 3.3 GB, NVIDIA GeForce GTS 250
|
erstellt am: 11. Jul. 2005 09:38 <-- editieren / zitieren --> Unities abgeben: Nur für mkl-cad
|
mkl-cad Mitglied Technischer Zeichner
Beiträge: 378 Registriert: 23.07.2003 ACAD 2002 Express Tools 1-9 Architektural Desktop Windows XP Server Windows 2003 3 GHz Rechner 1 GB RAM 80 GB Festplatte ATI FireGL V3100 2 17" Flachbildschirme
|
erstellt am: 11. Jul. 2005 10:06 <-- editieren / zitieren --> Unities abgeben:
Danke damit kam in nun zurecht. Habe es noch etwas abgewandelt da sonst die Objekte immer markiert sind. Möchte die aber nicht immer anschließent weiter verarbeiten. Möchte nur den User die Möglichkeit geben die Objekte , wie sonst auch bei ursprung, mit dem Befehl "vorher" wählen zu können. (sssetfirst AUSWAHL) (command ".schieben" auswahl "" "0,0" "0,0") Oder gibt es noch eine andere Möglichkeit (über Variablen?) den Auswahlsatz als letzten Auswahlsatz an ACAD zu übergeben? ------------------ Martin Viele Grüße aus dem schönen Münsterland! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |