|  |  | 
|  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | 
|  |  | 
|  | PNY präsentiert die PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung 
 | 
| Autor | Thema:   Befehlszeile (738 mal gelesen) | 
 | Semy Mitglied
 
 
 
      Beiträge: 3Registriert: 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: 4201Registriert: 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: 3Registriert: 24.05.2004
 |    erstellt am: 25. Mai. 2004 07:17  <-- editieren / zitieren -->    Unities abgeben:            | 
                        | Helmut F Mitglied
 Dipl.-Ing
 
  
 
      Beiträge: 38Registriert: 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üßeHelmut
 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP | 
                        | marc.scherer Ehrenmitglied V.I.P. h.c.
 CAD-Administrator
 
 
  
 
      Beiträge: 2494Registriert: 02.11.2001
 Windows 10 64bitAutoCAD 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: 13533Registriert: 30.11.2003
 . |    erstellt am: 25. Mai. 2004 08:09  <-- editieren / zitieren -->    Unities abgeben:           Nur für Semy   | 
                        | CADwiesel Moderator
 CAD4FM UG
 
      
 
  
 
      Beiträge: 1999Registriert: 05.09.2000
 AutoCAD, BricscadWir 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: 4201Registriert: 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: 2494Registriert: 02.11.2001
 Windows 10 64bitAutoCAD 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: 1999Registriert: 05.09.2000
 AutoCAD, BricscadWir 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: 2494Registriert: 02.11.2001
 Windows 10 64bitAutoCAD 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: 3Registriert: 24.05.2004
 |    erstellt am: 26. Mai. 2004 06:32  <-- editieren / zitieren -->    Unities abgeben:            |