Nesta aula demos continuidade aos exercícios da aula anterior e criámos um outro modelo de orientação. Para tal, continuámos a editar o ficheiro norte inicialmente criado.
(defun c:norte ()
(setq pontos (getvar "osmode"))
(setq p1 (getpoint "\nQual é o centro do símbolo? "))
(setq p2 (getpoint "\nQual é a direcção norte? "))
(setvar "osmode" 0)
(command "circle" p1 p2)
(command "solid" p1 (polar p1 (angle p1 p2) (* (distance p1 p2) 1.2))
(polar p1 (angle p2 p1) (* (distance p1 p2) 0.6))
(polar p1 (- (angle p2 p1) (* pi (/ 1 6.0))) (*(distance p1 p2) 1.2))
"")
(command "pline" p1 (polar p1 (angle p1 p2) (* (distance p1 p2) 1.2))
(polar p1 (+ (angle p2 p1) (* pi (/ 1 6.0))) (*(distance p1 p2) 1.2))
(polar p1 (angle p2 p1) (* (distance p1 p2) 0.6))
"")
(command "line" (polar p1 (angle p1 p2) (* (distance p1 p2) 1.2))
(polar p1 (angle p2 p1) (* (distance p1 p2) 1.2)) "")
(command "copy" "last" "" p1 p1 "")
(command "rotate" "last" "" p1 "90")
(setvar "osmode" pontos)
)
(defun c:norte ()
(setq pontos (getvar "osmode"))
(setq p1 (getpoint "\nQual é o centro do símbolo? "))
(setq p2 (getpoint "\nQual é a direcção norte? "))
(setvar "osmode" 0)
(command "circle" p1 p2)
(command "solid" p1 (polar p1 (angle p1 p2) (* (distance p1 p2) 1.2))
(polar p1 (angle p2 p1) (* (distance p1 p2) 0.6))
(polar p1 (- (angle p2 p1) (* pi (/ 1 6.0))) (*(distance p1 p2) 1.2))
"")
(command "pline" p1 (polar p1 (angle p1 p2) (* (distance p1 p2) 1.2))
(polar p1 (+ (angle p2 p1) (* pi (/ 1 6.0))) (*(distance p1 p2) 1.2))
(polar p1 (angle p2 p1) (* (distance p1 p2) 0.6))
"")
(command "line" (polar p1 (angle p1 p2) (* (distance p1 p2) 1.2))
(polar p1 (angle p2 p1) (* (distance p1 p2) 1.2)) "")
(command "copy" "last" "" p1 p1 "")
(command "rotate" "last" "" p1 "90")
(setvar "osmode" pontos)
)
Sem comentários:
Enviar um comentário