| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Integration einer Benutzeroption bei SSGET (1373 mal gelesen)
|
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 06. Feb. 2014 15:20 <-- editieren / zitieren --> Unities abgeben:
Moin ! ich möchte eine Option einbauen bei der Auswahl von Objekten über SSGET und habe dazu folgenden Code erstellt: Code: (setq flag_selection T) (while flag_selection (initget "ausRichtung") (princ "\nBlöcke wählen oder RETURN für Voreinstellung [ausRichtung]") (setq AWS (ssget)) (cond ;Tschüss ((= (type AWS) nil) (progn (princ "\nAusrichten") (setq flag_selection nil) ) ;end-progn ) ;Untersuchen des gefundenen Elementes ((= (type AWS) 'list) (progn (princ "\nListe") (setq flag_selection nil) );end-progn ) );end-cond );end-while
Es funktioniert leider nicht und ich bekomme nur die Meldung: Zitat: Blöcke wählen oder RETURN für Voreinstellung [ausRichtung] Objekte wählen: r*Ungültige Auswahl* Erwartet einen Punkt oder Fenster/Letztes/Kreuzen/QUADER/ALLE/ZAun/FPolygon/KPolygon/Gruppe/Hinzufügen/Entfernen/Mehrere/Vorher/ZUrück/AUto/EInzeln Objekte wählen: *Abbruch*
INITGET ist gesetzt und auch der optionale Buchstabe steht nicht mit den von SSGET im Konflikt! Kann mir einer von Euch weiterhelfen ? Gruß Jan :-) ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 06. Feb. 2014 15:33 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
1. für welche Funktion soll das INITGET denn sein ? 2. wann soll ((= (type AWS) 'list) denn mal wahr sein ? Nachtrag 3. In der AutoDesk Welt nutzt man spitze Klammern für eine Vorgabe, in eckigen Klammern stehen die Optionen. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD [Diese Nachricht wurde von cadffm am 06. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 06. Feb. 2014 15:41 <-- editieren / zitieren --> Unities abgeben:
Zitat: Original erstellt von cadffm: 1. für welche Funktion soll das INITGET denn sein ?
Das ist doch die Funktion mit der die möglichen Optionen definiert werden. https://www.google.de/search?q=autolisp+initget&ie=utf-8&oe=utf-8&rls=org.mozilla:De fficial&client=firefox-a&gws_rd=cr&ei=5J3zUtSyJ4mPtAbmkICwBw Zitat:
2. wann soll ((= (type AWS) 'list) denn mal wahr sein ?
Damit will ich testen, ob eine Auswahl vorliegt. Aber ich das schreibe muss es PICKSET (http://docs.autodesk.com/ACD/2013/ENU/index.html?url=files/GUID-506C9CC8-B0BD-4A4C-B4C2-006750504509.htm,topicNumber=d30e633841) heißen. Aber auch damit funktioniert es nicht ! Zitat:
3. In der AutoDesk Welt nutzt man spitze Klammern für eine Vorgabe, in eckigen Klammern stehen die Optionen.
Für Vorgaben ja, aber die Optionen stehen in []-Klammern. Vielleicht habe ich da den falschen Ausdruck verwandt. Sorry! Gruß Jan :-)
------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 06. Feb. 2014 15:47 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
INITGET beschreibt wie sich die nächste Benutzereingabe durch getint , getreal , getdist , getangle , getorient , getpoint , getcorner , getkword , entsel , nentsel , oder nentselp verhalten soll. Keine dieser Funktionen sehe ich in deinem Code ? PICKSET Doch, das funktioniert, auch bei dir. <>[] Ich hatte dich / den Code so verstanden das bei einem RETURN automatisch die Option Ausrichten genutzt werden soll, daher wäre es im Programm ja eine Vorgabe (wenn RETURN, dann Ausrichten), aber ok - so habe ich es falschverstanden, aber darum geht es hier ja auch nicht. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tappenbeck Mitglied Vermessungsingenieur
Beiträge: 1213 Registriert: 30.05.2002 AutoCAD (Map)2019, Topobase, MapEdit, Lisp, .vb.net
|
erstellt am: 06. Feb. 2014 15:56 <-- editieren / zitieren --> Unities abgeben:
hi ! es geht darum das ich bei ssget ein R eingeben möchte um dann optional etwas anderes machen zu können. Wenn eine Auswahl erfolgt ist gut - erfolgt keine Auswahl, dann geht es auch ganz normal weiter. Gruß Jan :-) ------------------ jan :-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 06. Feb. 2014 16:12 <-- editieren / zitieren --> Unities abgeben: Nur für tappenbeck
Wenn ssget bereits aufgerufen ist, kannst du keine Tastatureingabe tätigen (aus RETURN). Es wäre also extrem aufwändig (wenn ich das gerade richtig vor Aufgen habe) und der Sache nicht Wert. Wenn kein Auswahlsatz getroffen wird, dann biete die Optionen an .. Somit hast du im Grunde das Gleiche, mit dem Unterschied das es einfach zu realisieren geht. ------------------ CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|