| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| PNY bietet das umfangreichste Ökosystem von B2B als auch B2C-Lösungen für IT-Akteure auf dem Markt, eine Pressemitteilung
|
Autor
|
Thema: Befehlszeile (700 mal gelesen)
|
Semy Mitglied
Beiträge: 3 Registriert: 24.05.2004
|
erstellt am: 24. Mai. 2004 19:34 <-- editieren / zitieren --> Unities abgeben:
Hallo Leute, ich habe hier ein Lisp-Programm das zeichnet mir ein Platte mit verschiedenen Löchern und schreibt mir dann, oben einen Text hinein. Wenn ich das Programm aus dem Visual-Lisp Editor mehrere Male starte dann läuft das Programm bis zum Schluss. Wenn ich das Programm öfter in der Befehlszeile von Autocad starte,dann bleibt es nach der ersten Textausgabe mit einer Fehlermeldung stehen. Was mache ich verkehrt? Wie könnte man das Programm sonst mit Textausgabe schreiben? (Defun C:Wel()
(setq falt( Getvar "osmode")) (setq lalt( Getvar "clayer")) (setvar "osmode" 0) ; Alu-Platte (Initget (+ 1 2 4)) (setq B (getreal "\nBreite: ")) (Initget (+ 1 2 4)) (setq H1 (getreal "\nHöhe: ")) (Initget (+ 1 2 4)) (setq D1 (Getreal"\nDurchmesser:")) (Initget (+ 1 2 4)) (setq M (Getreal "\nMitte:")) (setq H2 (- H1 M)) ; Höhe minus Mitte ; Anfangspunkt (setq p1 (list 200 200 ) ; Koordinaten Rechteck p2 (polar p1 (* pi 2) (/ B 2)) ; X Koordinaten p3 (polar p1 (* pi 2) B) p4 (polar p3 (/ pi 2) M) p5 (polar p3 (/ pi 2) H1) p6 (polar p5 pi B) ; Löcher Koordinaten p65 (polar p1 (/ pi 2) 20) p7(polar p65 (* pi 2) 20) p8 (polar p7 (* pi 2) (- B 40)) p9 (polar p8 (/ pi 2) (- H1 40)) p10(polar p9 pi (- B 40)) p11(polar P2 (/ pi 2) M) ; Bemaßungs Koordinaten p12(polar p11 pi (/ D1 2)) p13(polar p11 (* pi 2) (/ D1 2)) p14(polar p1 (* (/ pi 2) 3) 150) p15(polar p3 (* pi 2) 70) p16(polar p1 pi 150) p17(polar p7 (* (/ pi 2) 3) 90) p18(polar p10 pi 100) ; Text Koordinaten p185(polar p6 pi 120) p19 (polar p185(/ pi 2) 100) p20 (polar p19 (* pi 2) 90) p21 (polar p20 (* pi 2) 115) p22 (polar p21 (* pi 2) 110) p23 (polar p22 (* pi 2) 115) ) (Command "Linie" p1 p2 p3 p4 p5 p6 p1"") ; zeichnet das Rechteck von Punkt nach Punkt (Command "Kreis" p7 "D" 16 ; zeichnet Kreis u L "Kreis" p8 "D" 16 ; zeichnet Kreis u R "Kreis" p9 "D" 16 ; zeichnet Kreis o L "Kreis" p10"D" 16 ; zeichnet Kreis o R "Kreis" p11"D" D1 ; zeichnet mittleren Durchmesser ) (Command "Layer" "se" "Bemaßung" "") (Command "Bem1" "hor" p13 p12 p11 "" "Bem1" "hor" p1 p3 p14 "" "Bem1" "hor" p7 p8 p17 "" "Bem1" "ver" p7 p10 p18 "" "Bem1" "ver" p3 p4 p15 "" "Bem1" "ver" p4 p5 p15 "" "Bem1" "ver" p1 p6 p16 "" ) ; Umwandeln von einer realen, in eine ganze Zahl (Setq xB (fix B) xH1(fix H1) xD1(fix D1) xM (fix M) xH2(fix H2) ) (Command "layer" "se" "Text" "")
(Command "text" p19 "30" "" xB "") (Command "text" p20 "30" "" (- xH1) "") (Command "text" p21 "30" "" (- xD1) "") (Command "text" p22 "30" "" (- xM) "") (Command "text" p23 "30" "" (- xH2) "") (Command "Layer" "se" lalt "") (Command "Zoom" "g") ) ;Ende Bis bald Sammy
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 24. Mai. 2004 20:30 <-- editieren / zitieren --> Unities abgeben: Nur für Semy
Hallo Sammy, Willkommen im Forum. Schön dass du mitteilst, dass eine Fehlermeldung kommt, nur welche, das sagst du nicht mit. Bei der Command-Programmierung bist du von den aktuellen Einstellungen der AutoCAD-Umgebung abhängig. Deshalb ist es möglich, je nach Einstellung des Textstils, dass mal eine Höhe abgefragt wird und dann mal wieder nicht. Deshalb solltest du dir angewöhnen, wenn möglich, auf die (command ..) Anweisung zu verzichten. Also mit (entmake, entmod etc die Dinge direkt in der Zeichnungsdatenbank zu erzeugen/verändern/löschen. Wenn ich mir deinen Code so ansehe, dann solltest du dir mal die Grundlagen der LISP-Programmierung, insbesondere das Variablenhandling ansehen. Hier im Forum gibt es genügend Hinweise auf entsprechende Tutorials im Internet. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Treffen Sie (defun auf dem Autodesk Anwendertreffen am 15.06. in Steyr/Österreich! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Semy Mitglied
Beiträge: 3 Registriert: 24.05.2004
|
erstellt am: 25. Mai. 2004 07:17 <-- editieren / zitieren --> Unities abgeben:
|
Helmut F Mitglied Dipl.-Ing
Beiträge: 38 Registriert: 09.05.2003
|
erstellt am: 25. Mai. 2004 07:48 <-- editieren / zitieren --> Unities abgeben: Nur für Semy
Hallo Sammy, ich erhalte die Fehlermeldung, weil bei mir der Layer nicht vorhanden ist : Kann Layer "Bemaßung" nicht finden. ; Fehler: Funktion abgebrochen 1.) Würde ich den Buchstaben "ß" nicht verwenden. 2.) Wäre das Kommando (command "Layer" "Machen" "Bemassung" "") sicherer. Schöne Grüße Helmut Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 25. Mai. 2004 08:04 <-- editieren / zitieren --> Unities abgeben: Nur für Semy
|
CADmium Moderator Maschinenbaukonstrukteur
Beiträge: 13527 Registriert: 30.11.2003 .
|
erstellt am: 25. Mai. 2004 08:09 <-- editieren / zitieren --> Unities abgeben: Nur für Semy
|
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 25. Mai. 2004 08:30 <-- editieren / zitieren --> Unities abgeben: Nur für Semy
|
Brischke Moderator CAD on demand GmbH
Beiträge: 4187 Registriert: 17.05.2001 AutoCAD 20XX, defun-tools (d-tools.eu)
|
erstellt am: 25. Mai. 2004 09:46 <-- editieren / zitieren --> Unities abgeben: Nur für Semy
Hallo Ihr .. (na ich verkneif mir das jetzt mal) ;-) @Sammy, ich habe deine Routine bzgl. der oben genannten Punkte geändert. Deine ursprüngliche Programmlogik habe ich nicht verändert. Schau es dir an, und wenn du Fragen hast ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man's hat! Treffen Sie (defun auf dem Autodesk Anwendertreffen am 15.06. in Steyr/Österreich! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 25. Mai. 2004 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für Semy
Hi Holger, na das nenne ich "Value for Money". Könntest Du das auch noch 'n bißchen mehr kommentieren? Versteht ja keiner, was die Funktionen da so im einzelnen machen... ------------------ Ciao, Marc Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CADwiesel Moderator CAD4FM UG
Beiträge: 1989 Registriert: 05.09.2000 AutoCAD, Bricscad Wir machen das Mögliche unmöglich
|
erstellt am: 25. Mai. 2004 10:02 <-- editieren / zitieren --> Unities abgeben: Nur für Semy
hat ja nun etwas länger gedauert, als erwartet, aber ich möchte mich natürlich für deinen unermüdlichen Einsatz und das selbstlose Lösen der Problemfälle hier bei dir mit der vollen Punktzahl von 55 bedanken. Weiter so!! ------------------ Gruß CADwiesel Besucht uns im CHAT
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
marc.scherer Ehrenmitglied V.I.P. h.c. CAD-Administrator
Beiträge: 2494 Registriert: 02.11.2001 Windows 10 64bit AutoCAD Architecture 2018/2019 (deu/eng) AEC-Collection 2019 (Revit und Zeugs) Wenn sich's nicht vermeiden läßt: D-A-CH Erweiterung (mies implementierter Schrott)
|
erstellt am: 25. Mai. 2004 10:07 <-- editieren / zitieren --> Unities abgeben: Nur für Semy
|
Semy Mitglied
Beiträge: 3 Registriert: 24.05.2004
|
erstellt am: 26. Mai. 2004 06:32 <-- editieren / zitieren --> Unities abgeben:
|