You are on page 1of 2

(defun c:c3d ()

(princ "Comando de activaci�n:a3d")

(command "_ucs" "_w" )

(command "_ucs" "_z" "-90" )

(SETQ pt1 ( GETPOINT "Introducir punto 1:") )

(command "_ucs" "_o" pt1 )

(setq pt12 (list 0.0 0.0 0.0))

(setq pt2 ( GETPOINT "Introducir punto 2:") )

(setq a 0)

(defun f_p12 ()

(command "_ucs" "_x" "" )

(setq pt22 (list (car pt2) (caddr pt2) (- 0.0 (cadr pt2)) ))

(setq a 1)
)

(if (> (abs (- (caddr pt12) (caddr pt2))) (+ (abs (- (car pt12) (car pt2))) (abs
(- (cadr pt12) (cadr pt2)) )))
(f_p12) (setq pt22 pt2)

(SETQ pt3 (GETPOINT "direcci�n de cota") )

(defun f_girosy ()

(command "_ucs" "_x" "" )


(command "_ucs" "_y" "" )

(setq pt22 (list (cadr pt22) (caddr pt22) (car pt22)))


(setq pt32 (list (cadr pt32) (caddr pt32) (car pt32)))
)

(defun f_girosx ()

(command "_ucs" "_x" "" )

(setq pt22 (list (car pt22) (caddr pt22) (- 0.0 (cadr pt22)) ))
(setq pt32 (list (car pt32) (caddr pt32) (- 0.0 (cadr pt32)) ))

(defun f_vertical ()
(setq pt32 pt3 )

(if (< (abs (- (car pt12) (car pt22))) (abs (- (cadr pt12) (cadr pt22))))

(f_girosy) (f_girosx)
)

(defun f_p3 ()

(command "_ucs" "_y" "" )

(setq pt32 (list (- 0.0 (caddr pt3)) (cadr pt3) (car pt3)) )

(setq uno (abs (car pt3)))

(setq dos (abs (caddr pt3)))

(setq tres (abs (cadr pt3)))

(if (= a 1)
(if (< uno dos)
(f_p3)
(setq pt32 pt3 )
)
(if (> dos (+ uno tres))(f_vertical) (setq pt32 pt3 ))
)

(command "_dimlinear" pt12 pt22 pause)

;(command "_ucs" "_w" )

(princ pt12)
(princ "\n")
(princ pt22)
(princ "\n")
(princ pt32)
(princ)
)

You might also like