; Andreas "Obi-Wahn" Kanobel und Josef Eder 2004/04 ; HTL Mödling Kolleg für Innenraumgestaltung ; ; Programm ABBILDUNGSAPPARAT: ; Zeichnen eines Abbildungsapparats ; mit anschließendem Vergrößern in den richtigen Maßstab. ; ; ; ; ; 1.) Abfrage des Winkels ; 2.) Abfrage der Augenöhe ; 3.) Abfrage der Distanz ; 4.) Abfrage des Maßstabs ; (1:1 = 1, 1:2 = 2 --> 1,2,5,10,20,25,50,75,100,1000) ; 5.) Zeichnen der Linien ; 6.) Zuweisen der Linien auf Layer ; 7.) Vergrößern auf den Maßstab ; 8.) Ausführen des Befehl "Zoom Grenzen" ; 9.) Abfragen des Punktes "Fx, Fy, Mx" und "My" ; ; ; Hilfestellungen bezogen von: ; http://d-06-3.statik.uni-essen.de/WEB-Seminar/BI-WEB/AutoCAD_t7/sld001.htm set $Wi = 0 set $Z0 = 0 set $Di = 0 set $Ms = 0 ( defun c:Perspektive ( / Wi Z0 Di Ms) (while(not (setq $Wi(getint "Bitte Winkel eingeben: ")))) (while(not (setq $Z0(getint "Bitte Augenhöhe eingeben: ")))) (while(not (setq $Di(getint "Bitte Distanz eingeben: ")))) (while(not (setq $Ms(getint "Bitte Maßstab eingeben: ")))) ) ; Nach dem Kommando "list", ist die erste Zahl die X, die zweite Zahl die Y Koordinate. ; (defun C:grl () (setq grlap (list -449. 0.)) (setq grlep (list 749. 0.)) (command "linie" grlap grlep "") ) (defun C:grl () (setq blap (list -449. -232.)) (setq blep (list 749. 609.)) (command "rectang" blap blep "") ) (defun C:grl () (setq rmxap (list -190. 559.)) (setq rmxmp (list 729. 559.)) (setq rmxep (list 0. 0.)) (command "bogen" rmxap "e" rmxmp rmxep "") ) (defun C:grl () (setq rmyap (list 276. 559.)) (setq rmymp (list -429. 559.)) (setq rmyep (list 0. 0.)) (command "bogen" rmyap "e" rmymp rmyep "") ) (defun C:grl () (setq rfxyap (list 729. 559.)) (setq rfxymp (list 150. 559.)) (setq rfxyep (list -429. 559.)) (command "bogen" rfxyap "e" rfxymp rfxyep "") ) ; ; Als alternative zu den Oberen Block existiert noch folgendes: ; ;(defun C:grl () ; (setq grlap (list -449. 0.)) ; (setq grlep (list 749. 0.)) ; (command "linie" grlap grlep "") ; (setq blap (list -449. -232.)) ; (setq blep (list 749. 609.)) ; (command "rectang" blap blep "") ; (setq rmxap (list -190. 559.)) ; (setq rmxmp (list 729. 559.)) ; (setq rmxep (list 0. 0.)) ; (command "bogen" rmxap "e" rmxmp rmxep "") ; (setq rmyap (list 276. 559.)) ; (setq rmymp (list -429. 559.)) ; (setq rmyep (list 0. 0.)) ; (command "bogen" rmyap "e" rmymp rmyep "") ; (setq rfxyap (list 729. 559.)) ; (setq rfxymp (list 150. 559.)) ; (setq rfxyep (list -429. 559.)) ; (command "bogen" rfxyap "e" rfxymp rfxyep "") ;) ; (command "_ai_selall") (command "varia" 0. 0. $Ms) ; Ab hier beginnt das Skript "Perspektivenfluchtpunkte" ; set $Fx = 0 set $Fy = 0 set $Mx = 0 set $My = 0 ( defun c:Fp ( / Fx Fy Mx My) (while(not (setq $Fx(getpoint "\nFx")))) (while(not (setq $Fy(getpoint "\nFy")))) (while(not (setq $Mx(getpoint "\nMx")))) (while(not (setq $My(getpoint "\nMy")))) ) ( defun c:Lx ( / p1) (while(not (setq p1(getpoint "\Startpunkt")))) (command "_line" $Fx p1 "") ) ( defun c:Ly ( / p2) (while(not (setq p2(getpoint "\Startpunkt")))) (command "_line" $Fy p2 "") ) ( defun c:Mx ( / p3) (while(not (setq p3(getpoint "\Startpunkt")))) (command "_line" $Mx p3 "") ) ( defun c:My ( / p4) (while(not (setq p4(getpoint "\Startpunkt")))) (command "_line" $My p4 "") )