| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | Von Digital Twins bis Hochleistungs-Computing: PNY präsentiert seine Zukunftstechnologien für die Industrie von morgen, eine Pressemitteilung
|
Autor
|
Thema: getkword richtig verwenden (3930 mal gelesen)
|
cadplayer Ehrenmitglied CADniker
    
 Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
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: 22497 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: 13530 Registriert: 30.11.2003 .
|
erstellt am: 23. Sep. 2011 11:51 <-- editieren / zitieren --> Unities abgeben:          Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
    
 Beiträge: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 23. Sep. 2011 12:50 <-- editieren / zitieren --> Unities abgeben:         
|
CADmium Moderator Maschinenbaukonstrukteur
       

 Beiträge: 13530 Registriert: 30.11.2003 .
|
erstellt am: 23. Sep. 2011 12:59 <-- editieren / zitieren --> Unities abgeben:          Nur für cadplayer
|
cadplayer Ehrenmitglied CADniker
    
 Beiträge: 1833 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: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: 224 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: 1833 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: 1776 Registriert: 11.10.2004 Window 11 ACAD 2021 CIVIL 2021 BricsCAD ab V14 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz 2.80 GHz 32.0GB RAM NVIDIA GeForce MX450<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: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 08. Jun. 2015 07:35 <-- editieren / zitieren --> Unities abgeben:         
|
Christian01 Mitglied Technischer Zeichner
 
 Beiträge: 281 Registriert: 17.04.2007
|
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: 1833 Registriert: 28.04.2009 Windows 10 64bit system Autocad Civil3d 2020 ENGLISH Visual Studio 2019 OpenDCL.Runtime.9<P>
|
erstellt am: 08. Jun. 2015 07:52 <-- editieren / zitieren --> Unities abgeben:         
|
cadplayer Ehrenmitglied CADniker
    
 Beiträge: 1833 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: 242 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: 1998 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: 242 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: 242 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: 224 Registriert: 22.08.2006
|
erstellt am: 31. Mrz. 2019 19:11 <-- editieren / zitieren --> Unities abgeben:          Nur für cadplayer
|