|
Lisp : Lisp Programme von R14 nach 2007 portieren
CAD-Huebner am 03.09.2006 um 21:51 Uhr (0)
Ich habe den Code etwas überarbeitet, schön ist er aber nicht. Vor allen Dingen die extensive Nutuzng von Variablen ist für dieses Programm völlig unnötig. Code:(defun c:fens1( / FEP GD1 GD1M I1 I1A I1E I1H I1HF L1 LGD1 OS PI2 PIWIN WIN X1 X2 X3 X4 X5 X6 XL1A XL1E XPI2) (if ( (setq os (getvar "OSMODE")) 16384) ; Objektfang deaktivieren (setvar "OSMODE" (+ os 16384)) ) (setq L1 (getpoint "
Winkel P1: ")) (setq WIN (getangle L1 "
Winkel P2: ")) (setq PI2 (+ (/ pi 2) WIN)) (setq XPI2 (+ (/ (* 3 pi) ...
|
| In das Form Lisp wechseln |
|
AutoLisp : Rechteck als Block einfügen
CAD-Huebner am 06.03.2006 um 13:56 Uhr (0)
Code:(defun c:recht2 ( / p1 p2 p3 p4 laenge breite w blname) (setq p1 (getpoint "
Einfügepunkt: ")) (setq laenge (getdist p1 "
Länge: ")) (setq breite (getdist p1 "
Breite: ")) (setq w (getangle p1 "
Einfügewinkel: ")) (setq blname (strcat (rtos laenge) "-" (rtos breite) "-" (angtos w))) (setq p2 (polar p1 w laenge)) (setq p3 (polar p2 (+(/ pi 2)w) breite)) (setq p4 (polar p3 (+ pi w) laenge)) (command "_pline" p1 "b" "0" "0" p2 p3 p4 "s") ; erzeuge Block mit dem Namen, der in blname gespeichert ist (com ...
|
| In das Form AutoLisp wechseln |
|
Lisp : Addition von relativen Koordinatenangaben
CAD-Huebner am 07.02.2009 um 14:35 Uhr (0)
Zitat:Original erstellt von mundal:Ich habe einem fixen Koordinatenpunkt, nennen wir ihn P1 (Koordinate 10,10).Diesem Punkt sollen relative Koordinatenangaben "aufaddiert".Kann dies LISP ?Beispiel:---------(setq endpunkt ( + p1 @10045))Hallo Franz, natürlich kann Lisp mit Koordinaten umgehen, es ist eine dafür prädestinierte Programmiersprache. Allerdings muss man auch die notwendigen Lisp-Funktionen kennen (stehen alle in der Online-Hilfe - Ich hab sie mal alle sorgfältig durchgelesen und folgende Funkti ...
|
| In das Form Lisp wechseln |
|
Lisp : Autolisp 2010
CAD-Huebner am 11.08.2009 um 14:24 Uhr (0)
Ich füge bei (Command "_Fillet" ... grundsätzlich die Elemtnamen mit an, das funktionmiert auch in 2010 bisher problemlos.Code:(defun c:fillettest ( / pPt sPt nPt rad line1 line2) ; Udo Hübner für CAD.de ; sample Data (setq pPt (10.0 10.0 0.0) sPt (30.0 10.0 0.0) nPt (60.0 50.0 0.0) rad 10.0 ) ; Draw Lines (command "_Line" pPt sPt "") (setq line1 (entlast)) (command "_Line" SPt nPt "") (setq line2 (entlast)) ; set Filletradius (setvar "filletrad" rad) ; create the fillet, and catch possible errors ...
|
| In das Form Lisp wechseln |
|
Lisp : sphärische Punkteingabe
CAD-Huebner am 28.02.2008 um 20:38 Uhr (0)
Zitat:Original erstellt von Werner-Maahs.de:...mit der Funktion (polar Punkt Winkel Abstand)...sphärischen Punkteingabe...Mach dir einfach eine Funktion (Polar3D pt dist ang1 ang2)genau wie von Jörn vorgeschlagen.Hier aus meinem Fundus - und sie sieht exakt wie die Funktion von Jörn ausCode:((defun Polar3D (3dpt 3ddist xyAng zAng) (mapcar + (polar 3dpt xyAng (* (cos zAng) 3ddist)) (list 0.0 0.0 (* (sin zAng) 3ddist)) ))Die Winkel kann man sich vorher ja mit (ANGTOF Winkeltext) umrechnen lassen.-- ...
|
| In das Form Lisp wechseln |
|
Lisp : sphärische Punkteingabe
CAD-Huebner am 01.03.2008 um 10:13 Uhr (0)
Nun ja, die Funktion polar (und meine daraus entwickelte Funktion Polar3D) erwarten den Winkel - wie üblich - im Bogelmaß.Deshalb der Hinweis, evt. Winkeleingaben mit Angtof umzurechnen.So eine Funktion muss algemeingültig laufen - ich habe auch viele Vermessungszeichmungen, da ist das Winkeleinheitensystem auf Gon (Neugrad) eingestellt). Da wäre der Faktor 180/PI schlichtweg falsch.Allerdings hatte meine ursprüngliche Funktion oben einen Tippfehler (beim Formatieren eingeschlichen) enthalten, deswegen lie ...
|
| In das Form Lisp wechseln |