| |
| 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 – zum dritten Mal in Folge, eine Pressemitteilung
|
Autor
|
Thema: mittels Lisp erzeugte Gruppe erscheint nicht im Gruppenmanager (885 mal gelesen)
|
romi1 Mitglied Bautechniker
Beiträge: 647 Registriert: 09.02.2006 Xeon E3-1245V2 16GB RAM Windows 10 Professional 64 bit AutoCAD 2014
|
erstellt am: 18. Jul. 2007 11:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Forum! Habe ein Lisp gebaut, mit welchem die gewählten Objekte automatisch in die Gruppen 10000, 10001, 10002 usw. gegeben werden - sofern diese noch nicht vorhanden sind. Der beschreibende Text wird manuell eingegeben. Die Gruppe wird auch recht schön erzeugt - nur leider: im Gruppenmanager ist sie vorerst nicht sichtbar. Wenn man allerdings die Datei speichert, schließt und wieder öffnet ist die soeben erstellte Gruppe nun auch im Gruppenmanager sichtbar. Wo kann da der Grund bzw. Fehler liegen? Gibt es eine Befehl "Gruppen aktualisieren" oder so was ähnliches? Ich verwende übrigens AutoCAD 2007 LT mit LT-Extender. Es wäre auch interressant für mich, ob jemand ausprobieren kann, ob der Fehler auch in der Vollversion auftritt. Danke, Roman Anbei der Code: (defun c:grp () (setq gruppenbeschr (getstring T "Gruppenbeschreibung eingeben: ") ) (setq alle_entities '()) (setq auswahl (ssget)) (setq y 0) (repeat (sslength auswahl) (ssname auswahl y) (setq alle_entities (cons (ssname auswahl y) alle_entities ) ) (setq y (1+ y) ) ) (setq grp_dict (dictsearch (namedobjdict) "ACAD_GROUP") ) (setq grp_name 10001) (setq uebereinstimmung 0) (foreach d grp_dict (if (= (car d) 3) (if (= (cdr d) (itoa grp_name) ) (setq uebereinstimmung (1+ uebereinstimmung) ) ) ) (if (> uebereinstimmung 0) (progn (setq grp_name (1+ grp_name) ) (setq uebereinstimmung 0) ) ) ) (setq grp_dict_ename (cdar grp_dict) elist (append (list '(0 . "GROUP") '(102 . "{ACAD_REACTORS") (cons 330 grp_dict_ename) '(102 . "}") '(100 . "AcDbGroup") (cons 300 gruppenbeschr) ; Description '(70 . 0) ; Named Group '(71 . 1) ; Selectable Group ) (mapcar '(lambda (ele) (cons 340 ele)) alle_entities) ) ) (dictadd grp_dict_ename (itoa grp_name) (entmakex elist)) (princ) )
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: 18. Jul. 2007 11:32 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
|
spider_dd Mitglied
Beiträge: 1144 Registriert: 27.11.2003 Win 10Pro Intel(R) Core(TM) i7-7700 NVIDIA Quadro P1000 ACAD, Civil-3D 2018
|
erstellt am: 18. Jul. 2007 12:21 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
|
Dorfy Mitglied Double-Dipl.-Ing. Bleistiftanspitzer
Beiträge: 900 Registriert: 21.07.2006 AutoCad2007, ProE, HiCad
|
erstellt am: 18. Jul. 2007 13:02 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
|
romi1 Mitglied Bautechniker
Beiträge: 647 Registriert: 09.02.2006 Xeon E3-1245V2 16GB RAM Windows 10 Professional 64 bit AutoCAD 2014
|
erstellt am: 18. Jul. 2007 17:50 <-- editieren / zitieren --> Unities abgeben:
Danke Leute! Klingt zwar leicht überheblich von mir, scheint aber in dem Fall dann wohl tatsächlich so zu sein, das das Problem am LT 2007 oder am LT-Extender liegt und nicht an meinem Lisp ... Schade eigentlich - so krieg ich den Wurm nicht raus ... Tschüß Roman 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: 19. Jul. 2007 09:04 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
Hallo, (defun C:MG (/ GNAME SGET) (TOGGLE-GROUPSELECT t) ;_ Sicherstellen, dass Gruppenwahl möglich ist (princ "\nZu gruppierende Objekte wählen:") (setq SGET (ssget) GNAME (menucmd "M=$(edtime,$(getvar,date),DD-MONTH-YYYY-HH-MM-SS)" ;_ erzeuge Timestamp-Gruppen-Namen ) ;_ end menucmd ) ;_ end setq (if SGET (progn (command "_.-group" "_c" GNAME "Automatisch erstellte Gruppe" SGET "" ) ;_ end of command ;(sssetfirst NIL SGET);hervorheben (princ "Gruppe erstellt. AutoCAD-Befehl eingeben...") ) ;_ end progn (princ "\nKeine Objekte gewählt...") ) ;_ end if (princ) ) ;_ end defun vielleicht kanst du dir diese zeilen aus dem forum umbauen... ab command... mfg heiko 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: 19. Jul. 2007 10:01 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
So ich noch mal ;;;;;;;;;;; (if auswahl (progn (command "-gruppe" "er" grp_name gruppenbeschr auswahl "" ) ;_ end of command (princ "Gruppe erstellt. AutoCAD-Befehl eingeben...") ) ;_ end progn (princ "\nKeine Objekte gewählt...") );_ end if auswahl ;;;;;;;;;;;;; versuch es doch mal so, wenn die zeilen so in lt funktionieren sollten... mfg heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
romi1 Mitglied Bautechniker
Beiträge: 647 Registriert: 09.02.2006 Xeon E3-1245V2 16GB RAM Windows 10 Professional 64 bit AutoCAD 2014
|
erstellt am: 19. Jul. 2007 10:25 <-- editieren / zitieren --> Unities abgeben:
Hallo Dorfy! Danke für die Mühe, aber ich mag' die command-Befehle leider überhaupt nicht. Da hat man immer das ganze Textfeld voller Anzeigen vom Programmablauf, und wenn man dann nachsehen will, was man vorher eingegeben hat, muß man endlos nach oben scrollen ... so ist das zumindest, wenn man ein längers Lisp mit vielen "command"-Befehlen hat. Zu meinem Problem: Ich hab' das Prog. für einen Kunden, welcher die AutoCAD-Vollversion 2007 und 2008 hat. Und da ja bei euren Tests alles geklappt hat, und sich auch mein Kunde noch nicht bezüglich der Anzeige der Gruppe im Manager beschwert hat, dürfte ja bei Ihm alles funktionieren. Ich kann damit leben, daß es nur bei meiner LT-Version nicht gleich im Manager angezeigt wird. Gruß Roman 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: 19. Jul. 2007 11:22 <-- editieren / zitieren --> Unities abgeben: Nur für romi1
Hallo "...aber ich mag' die command-Befehle leider überhaupt nicht. Da hat man immer das ganze Textfeld voller Anzeigen..." (mag ich auch nicht, deine lösung ist so auch schon besser) aber schau dir mal cmdecho --> 0 an... mfg heiko Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |