| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Abfrage nein/ja -> ja/nein (1503 mal gelesen)
|
xem Mitglied Zeichner
Beiträge: 847 Registriert: 07.08.2008
|
erstellt am: 14. Mai. 2014 14:08 <-- editieren / zitieren --> Unities abgeben:
Hallo, mit dem Code habe ich die Abfrage nein/ja beim spiegeln auf erst ja dann nein umgestellt. Die Abfrage kommt aber vor der Abfrage der Spiegel-Linie. Kann man das auch in wie im originalen Befehl nach der Spiegel-Linie abfragen? Danke Code:
(defun c:mir (/ wa au ) (vl-load-com) (setq wa (ssget)) (initget "Ja Nein") (setq au (getkword "\nAuswahl [Ja/Nein] <Ja>: ")) (if au (command "_mirror" wa "" pause pause au)) (princ) )
------------------ Error in Layer 8 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 14. Mai. 2014 15:05 <-- editieren / zitieren --> Unities abgeben: Nur für xem
|
jupa Ehrenmitglied V.I.P. h.c. Ruheständler
Beiträge: 6050 Registriert: 16.09.2004 WINDOWS Vista Ultimate SP2 (64bit), NVIDIA Geforce 9600M GT, AutoCAD 2013.
|
erstellt am: 14. Mai. 2014 15:09 <-- editieren / zitieren --> Unities abgeben: Nur für xem
Hallo, ich würde einfach den Befehl spiegeln komplett "nachbauen", mit all den Eingabeaufforderungen, die auch vom Originalbefehl angefordert werden. Dann den command-Aufruf mit den Eingabewerten füttern. Könnte auf die Schnelle so aussehen (ungetestet): (defun c:sp_del (/ aws p1 p2 au) (setq aws (ssget)) (setq p1 (getpoint "\nErsten Punkt der Spiegelachse angeben: ")) (setq p2 (getpoint "\nZweiten Punkt der Spiegelachse angeben: ")) (initget "Ja Nein") (setq au (getkword "\nQuellobjekte löschen? [Ja/Nein] <Ja>: ")) (setq cmdecho 0) (if au (command "_mirror" aws "" p1 p2 au) ) (setq cmdecho 1) (princ] ) Hier ist noch nicht implementiert, wenn der User die Abfrage nach dem Löschen der Objekte mit ENTER beantwortet. Du willst ja auch noch was machen Und cmdecho natürlich speichern und zurückschreiben. Jürgen [EDIT] Damn, Thomas war schneller ... ------------------ Bildung kommt nicht vom Lesen, sondern vom Nachdenken über das Gelesene. (Carl Hilty) [Diese Nachricht wurde von jupa am 14. Mai. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
xem Mitglied Zeichner
Beiträge: 847 Registriert: 07.08.2008
|
erstellt am: 14. Mai. 2014 15:10 <-- editieren / zitieren --> Unities abgeben:
|
-ikarus- Mitglied Zeichner
Beiträge: 142 Registriert: 12.02.2007 ACAD 2015,PSP 2011, Showcase 2015, Mudbox 2015 Indesign CC, Illustrator CC, Photoshop CC, After Effects CC, Premiere Pro CC, Edge Animate CC, Acrobat DC Pro mit PitStop Pro, Visual Studio 2013 Notepad++ Rechner: HP Z620 Workstation NVIDIA Quadro K4000
|
erstellt am: 14. Mai. 2014 15:10 <-- editieren / zitieren --> Unities abgeben: Nur für xem
kleines Beispiel Code: (defun c:mir_ (/ wa au ) (vl-load-com) (setq wa (ssget)) (command "_mirror" wa "" pause pause (progn (initget "Ja Nein")(setq au (getkword "\nAuswahl [Ja/Nein] <Ja>: "))(if (= au "Nein")(setq au "Nein" )(setq au "Ja" )))) (princ) )
[Diese Nachricht wurde von -ikarus- am 15. Mai. 2014 editiert.] 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: 16. Mai. 2014 10:46 <-- editieren / zitieren --> Unities abgeben: Nur für xem
Kommt ja immer wieder vor, dass man sowas braucht. Ich hab mir dafür eine Funktion gebaut (die Abfragebedingungen könnte man natürlich "verfeinern" ...): Code: (defun f#defask (#vorgabe #anztext / ) (if #vorgabe (= "" (getstring T (strcat "\n" #anztext ": Nein/<Ja> "))) ;nur Enter gedrückt ... (/= "" (getstring T (strcat "\n" #anztext ": Ja/<Nein> "))) ;bei einer Eingabe von "J" oder ... );if );defun
Beispiel:
Code: (if (setq #vorgabe (f#defask #vorgabe "IrgendeinHinweistext")) tu dieses tu jenes );if
Je nach Bedarf ist #vorgabe auf T oder nil zu setzen. (f#defask T "IrgendeinHinweistext") "Ja" als default (f#defask nil "IrgendeinHinweistext") "Nein" als default ------------------ Schöne Grüße Ernst www.geopaint.at Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |