| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Request a special discount on NVIDIA RTX 5000 Ada Generation GPU !, eine Pressemitteilung
|
Autor
|
Thema: Auswahlsatz (3113 mal gelesen)
|
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 27. Mai. 2010 16:42 <-- editieren / zitieren --> Unities abgeben:
Hey, ich habe in Lisp einen Auswahlsatz gefiltert, und damit einen Auswahlsatz nur mit Blöcken erhalten. Die Blöcke habe ich dann mit (command "_.EXPLODE" awsblock "") aufgelößt. Weiß einer eine Möglichkeit wie ich die Teile der aufgelößten Blöcke zu einem schon vorhandenen Auswahlsatz addiere? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 27. Mai. 2010 16:48 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
|
wronzky Ehrenmitglied V.I.P. h.c. CAD-Dienstleistungen für Architekten
Beiträge: 2154 Registriert: 02.05.2005 CAD: AutoCAD 2.6 bis 2014 ADT 2005 - 2014 Arcibem System: Windows 2000, XP, NO VISTA Internet-Startseite: http://www.archi.de
|
erstellt am: 27. Mai. 2010 18:07 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
|
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 28. Mai. 2010 08:40 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe jetzt auch festgestellt das leider immer nur ein Block aufgelöst wird, jetzt verstehe ich was CADmium mit iterieren meint. Wird nach dem auflösen des einen Blockes der direkt aus dem Auswahlsatz entfernt? Und ich muss dann in einer Explode in einer Schleife laufen lassen bis der AWS leer ist?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 28. Mai. 2010 08:57 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
Der Auswahlsatz wird doch garnicht geändert, jedoch gibt es die dort "gemerkten" Objekte nicht mehr, das INSERT wurde ja aufgelöst, stattdessen gibt es nun viele andere Objekte die dein Aws nicht kennt. EDIT: Das nur eine Referenz aufgelöst wird bei deinem Vorhaben ist auch in auch dokumentiert, so ein abweichendes Verhalten von AutoCAD-Befehlen gibt es öfters bei Script/Makro/Lisp etc. ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) [Diese Nachricht wurde von cadffm am 28. Mai. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 28. Mai. 2010 08:57 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
|
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 28. Mai. 2010 11:24 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für Eure Infos, habe auch schon eine großen Teil in meine Lisp eingebaut. (was so meinem Wissenstands entspricht ) Habe noch eine Grundsätzliche Frage zu ssget: Ich weiß etwas über die Möglichkeiten mit: "_X" ,"_P" etc. Auch <OR ..... Aber kann man auch einen schon vorhandenen Auswahlsatz ein zweites mal Filtern um dann zum Beispiel nur Kreise oder Blöcke zu erhalten, wenn einem die Option "_P" nicht mehr zur Verfügung steht (schon eingesetzt)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 22275 Registriert: 03.06.2002 Alles
|
erstellt am: 28. Mai. 2010 11:30 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
Also (SSGET "_P" '((0 . "CIRCLE,LINE"))) würde aus dem "vorherigen Auswahlsatz" die Kreise und Linien filtern. (SSGET "_X" '((0 . "CIRCLE,LINE"))) alle Linien und Kreise aus der ganzen Datei wählen und wenn ich bereits einen AWS habe und bestimmte Elemente entfernen will aus dem AWS dann muß man sich selbst was basteln (Auswahlsatz-Funktionen fangen mit "ss" an: ssadd ssdel , schau mal in die Hilfe) ------------------ CAD.de System-Angaben - CAD on demand - User:FAQ(Acad) [Diese Nachricht wurde von cadffm am 28. Mai. 2010 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
archtools Mitglied
Beiträge: 965 Registriert: 09.10.2004 Entwickler für AutoCAD, BricsCAD u.a., alle Systeme
|
erstellt am: 29. Mai. 2010 21:09 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
Zitat: Original erstellt von cadffm: und wenn ich bereits einen AWS habe und bestimmte Elemente entfernen will aus dem AWS dann muß man sich selbst was basteln [i](Auswahlsatz-Funktionen fangen mit "ss" an: ssadd ssdel , schau mal in die Hilfe)[/i]
Dazu mein immer gleich lautender Hinweis: am besten wandelt man sich Auswahlsätze in Elementlisten um. Damit umgeht man erstens einige unlispische Beschränkungen von Auswahlsätzen (der Datentyp 'PICKSET ist nur Pointer auf einen Auswahlsatz und repräsentiert nicht den Auswahlsatz selbst, ähnlich wie eine filehandle auf eine offene Datei; es gibt eine Obergrenze von gleichzeitig offenen Auswahlsätzen), und zweitens stehen dann alle schönen Listenoperationen zur Verfügung, die man hoffentlich sowieso in seiner Library stehen hat. Der Performanceverlust bei der Um- und späteren Rückwandlung ist fast nicht messbar. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fuchsi Mitglied Programmierer c#.net Datawarehouse
Beiträge: 1201 Registriert: 14.10.2003 AutoCad Version 2012 deu/enu <P>Windows 7 64bit
|
erstellt am: 31. Mai. 2010 10:54 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
Nach dem Ursprung, sind alle neu erzeugte Objekte zum Schluss ind er datenbank Mit (setq elLast (entlast)) das letzte Objekt merken Ursprung Mit (while (setq elLast (entnext elLast)) ...) die zuletzt (also seit dem ursprung erzeugten Objekte aufsammeln. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 01. Jun. 2010 09:09 <-- editieren / zitieren --> Unities abgeben:
|
woppi Mitglied cnc-programmierung
Beiträge: 65 Registriert: 16.01.2009 Acad Architecture 2020
|
erstellt am: 02. Jun. 2010 17:27 <-- editieren / zitieren --> Unities abgeben:
Zu der Angelegenheit, einen vorhandenen AWS zu filtern der nicht mehr der "letzte" ist (also "_P") nicht funktioniert, habe ich als Lisp Anfänger folgenden Code geschrieben: (command "_select" aws "") (setq aws (ssget "_P") ;setzt den aws wieder aktuell awsPoint (ssget "_P" '((0 . "POINT"))) ) ; Auswahlsatz Punkte um Punkte nach unten zu verschieben (command "_select" aws "e" awsPoint "") ;Punkte aus aws entfernen (command "_draworder" awsPoint "" "U") (command "_select" aws awsPoint "") ; Auswahlsätze wieder zusammenlegen (setq aws (ssget "_P")) ist doch im groben auch OK? oder verstoße ich da gegen duzende von Regeln?
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 02. Jun. 2010 18:40 <-- editieren / zitieren --> Unities abgeben: Nur für woppi
|