| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: getkword richtig verwenden (3494 mal gelesen)
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 23. Sep. 2011 11:27 <-- editieren / zitieren --> Unities abgeben:
Ich krieg es nicht richtig hin die Funktion getkword umzusetzen (setq AW (getkword "\nHatchtype [Line/Net/Solid]\n")) (while (= AW "L") (command "_hatch" "ansi31" "0.1" "0" OBJ "") (setvar "clayer" OLAY)) (while (= AW "N") (command "_hatch" "net" "0.1" "0" OBJ "") (setvar "clayer" OLAY)) [Diese Nachricht wurde von cadplayer am 23. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadffm Moderator 良い精神
Beiträge: 21533 Registriert: 03.06.2002 Alles
|
erstellt am: 23. Sep. 2011 11:36 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 23. Sep. 2011 11:51 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 23. Sep. 2011 12:50 <-- editieren / zitieren --> Unities abgeben:
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13508 Registriert: 30.11.2003 .
|
erstellt am: 23. Sep. 2011 12:59 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 23. Sep. 2011 14:02 <-- editieren / zitieren --> Unities abgeben:
ich hab das wie folgt in meine routine eingebaut, wenn die var AW leer ist wird richtig die Schraffur Ansi32 genommen, dennoch kommt Fehler T no definition (defun c:sa ( / OBJ LAYER FL) (setq OLAY (getvar "clayer")) (setvar "attreq" 1) (if (and (setq OBJ (car (entsel "\nselect hatch or pline !\n"))) (setq LAYER (cdr (assoc 8 (entget OBJ)))) (setq FL (rtos (vla-get-area (vlax-ename->vla-object OBJ)) 2 2)) ) (progn (command "_-insert" "flache" (getpoint "\npik point\n") (getvar "DIMSCALE") (getvar "DIMSCALE") 0 LAYER FL )) ) (initget "Line Net Solid") (setq AW (getkword "\nHatchtype [Line/Net/Solid]<Line>:")) (cond ((= AW "Solid") (setvar "clayer" LAYER) (command "_hatch" "solid" "0.1" "0" OBJ "") (setvar "clayer" OLAY)) ((= AW "Net") (setvar "clayer" LAYER) (command "_hatch" "net" "0.1" "0" OBJ "") (setvar "clayer" OLAY)) (('T (setvar "clayer" LAYER) (command "_hatch" "ansi31" "0.1" "0" OBJ "") (setvar "clayer" OLAY)) )) (princ) ) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
neurosis Mitglied dipl.ing.
Beiträge: 222 Registriert: 22.08.2006
|
erstellt am: 23. Sep. 2011 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
hallo cadplayer, nimm bei (('T (setvar "clayer" LAYER) (command "_hatch" "ansi31" "0.1" "0" OBJ "") (setvar "clayer" OLAY)) ) die aeusseren klammern weg, also ('T (setvar "clayer" LAYER) (command "_hatch" "ansi31" "0.1" "0" OBJ "") (setvar "clayer" OLAY)) gruss marco ------------------ Marco Heuer www.arc-aachen.de Airport Office [Diese Nachricht wurde von neurosis am 23. Sep. 2011 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 23. Sep. 2011 14:59 <-- editieren / zitieren --> Unities abgeben:
|
Christian01 Mitglied Technischer Zeichner
Beiträge: 281 Registriert: 17.04.2007
|
erstellt am: 08. Jun. 2015 07:02 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo liebe Community! Ich habe mich aus diesem Grund diesem Beitrag angehängt, weil die GetKword & Initget funktionion bei mir auch nicht funktioniert. Kann es am X und XY liegen? eintrag --> Abfrage ob Eintrag korrigiert werden soll einstr --> Der String der Bearbeitet wird Code:
(if eintrag (progn (initget "Z X xR") (setq Eintr_wert (getkword (strcat "\nIst der Eintrag " eintstr " den Wert Z, X oder XR zuzuweisen? /<Z>: "))) (cond ((= Eintr_wert "X") (setq E_wert "X-") ) ((= Eintr_wert "XR") (setq E_wert "XR-") ) (T ((not Eintr_wert) (setq E_wert "") ) ) ) ) (setq E_wert "") )
Was passiert wenn ich dann X nehme? Nimmt er den Wert X oder XR?
------------------ Grüße Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
joern bosse Ehrenmitglied Dipl.-Ing. Vermessung
Beiträge: 1734 Registriert: 11.10.2004 Window 10 ACAD 2021 CIVIL 2021 BricsCAD V14-V22 Intel(R) Core(TM)i5-8250U CPU @ 1.60GHz 1.80 GHz 16.0GB RAM NVIDIA GeForce GTX 1050<P>
|
erstellt am: 08. Jun. 2015 07:30 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Hallo Christian, (initget "Z X xR") dann mußt Du auch in der COND-Abfrage (= Eintr_wert "xR") =>Kleinschreibung beachten Noch 2 Verbesserungsvorschläge: Verwenden im Syntax der Abfrage die normale AutoCAD-Schreibweise: z.B. (getkword "\nWert zuweisen[Z/X/xR]<Z>:") Vorteil: der Benutzer weiß, das er für den Eintrag "xR" auch einfach nur ein "r" eintippen kann und die Optionen sind im Kontextmenü der rechten Maustaste vorhanden. Wenn Du "Z" als Vorgabe hast, dann solltest Du vorweg ein (setq Eintr_wert "Z") als Initialisierung verwenden.
Zitat: Was passiert wenn ich dann X nehme? Nimmt er den Wert X oder XR?
Bei "x" wird der Wert "X" zurückgegeben, bei "xr" der Wert "xR", bei "r" der Wert "xR". Verwendest Du den VLIDE-Editor von AutoCAD?? Dort kannst Du in der Debug-Umgebung alle aktuellen Variablenwerte zur Laufzeit überwachen: http://www.bosse-engineering.com/JB_Data/Bosse-engineering/090501_VisualLISP-Editor.pdf ------------------ viele Grüße Jörn http://www.bosse-engineering.com Liniensignaturen Youtube [Diese Nachricht wurde von joern bosse am 08. Jun. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 08. Jun. 2015 07:35 <-- editieren / zitieren --> Unities abgeben:
|
Christian01 Mitglied Technischer Zeichner
Beiträge: 281 Registriert: 17.04.2007 Briscad V22 ACAD MAP 2019 Win 10 Pro 64bit Intel, 4x 3,0 GHz, 8GB RAM 2 x 24" TFT
|
erstellt am: 08. Jun. 2015 07:48 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
Danke für die Hilfe, Mit X & xR funktioniert es. Aber wenn ich bei der Abfrage v. getkword auf Enter drücke, sollte das die Option Cond --> T verwendet werden oder? Code:
(cond ....... (T ((not Eintr_wert) (setq E_wert "") ) )
Ich bekomme immer eine Fehlermeldung. ------------------ Grüße Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009
|
erstellt am: 08. Jun. 2015 07:52 <-- editieren / zitieren --> Unities abgeben:
|
cadplayer Ehrenmitglied CADniker
Beiträge: 1832 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 08. Jun. 2015 08:03 <-- editieren / zitieren --> Unities abgeben:
Vielleicht so hier: Code: (progn (initget "Z X xR") (setq Eintr_wert (getkword (strcat "\nIst der Eintrag " (if (not eintstr) "Standard") " den Wert Z, X oder XR zuzuweisen? /<Z>: ")) Eintr_wert (if (/= nil Eintr_wert) (strcase Eintr_wert)) ) (cond ((= Eintr_wert "X") (princ "\nAuswahl 'X'") ) ((= Eintr_wert "XR") (princ "\nAuswahl 'XR'") ) (T (= "Standard" Eintr_wert) (princ "\nAuswahl Enter") ) ) )
------------------ Gruss Dirk Blog | Adolf Spende | Infra-Feed | ÅF AB
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cadking Mitglied CAD-Zeichendiensleistung
Beiträge: 238 Registriert: 26.10.2004 Intel Quadcore i7,W7-64bit, Quadro FX 3800 MEP/ACA2018; MEP/ACA2018; MEP/ACA2021; MEP/ACA2021
|
erstellt am: 30. Mrz. 2019 11:16 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
auch ich habe Probleme mit getkword. warum bekomme ich in AutoCAD 2015 immer die Rückmeldung: Ungültiger Optionstitel egal ob ich die Optionen mit der Maus wähle, oder über Tastatur eingebe. Code: (initget "Ja Nein") (setq Abfrage (getkword "\nSoll ich wirklich alles löschen? [Ja/Nein] :")) AutoCAD-Meldung: Soll ich wirklich alles löschen? [Ja/Nein] :J Ungültiger Optionstitel. Soll ich wirklich alles löschen? [Ja/Nein] :N Ungültiger Optionstitel. Soll ich wirklich alles löschen? [Ja/Nein] :J Ungültiger Optionstitel. Soll ich wirklich alles löschen? [Ja/Nein] :j Ungültiger Optionstitel. Soll ich wirklich alles löschen? [Ja/Nein] :N Ungültiger Optionstitel. Soll ich wirklich alles löschen? [Ja/Nein] :n Ungültiger Optionstitel. Soll ich wirklich alles löschen? [Ja/Nein] :Ja Ungültiger Optionstitel. Soll ich wirklich alles löschen? [Ja/Nein] :Nein Ungültiger Optionstitel. ------------------ Danke Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1968 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 30. Mrz. 2019 12:55 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadking Mitglied CAD-Zeichendiensleistung
Beiträge: 238 Registriert: 26.10.2004 Intel Quadcore i7,W7-64bit, Quadro FX 3800 MEP/ACA2018; MEP/ACA2018; MEP/ACA2021; MEP/ACA2021
|
erstellt am: 30. Mrz. 2019 13:53 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|
cadking Mitglied CAD-Zeichendiensleistung
Beiträge: 238 Registriert: 26.10.2004 Intel Quadcore i7,W7-64bit, Quadro FX 3800 MEP/ACA2018; MEP/ACA2018; MEP/ACA2021; MEP/ACA2021
|
erstellt am: 31. Mrz. 2019 10:17 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
komisch, mal geht es, mal geht es nicht. momentan funktioniert: (initget (+ 1 2 4 8 16 64) "Ja Nein") (setq Abfrage (getkword "\nSoll ich wirklich alles löschen? [Ja/Nein] :")) ------------------ Danke Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
neurosis Mitglied dipl.ing.
Beiträge: 222 Registriert: 22.08.2006
|
erstellt am: 31. Mrz. 2019 19:11 <-- editieren / zitieren --> Unities abgeben: Nur für cadplayer
|