sexta-feira, 12 de junho de 2015

Ferramenta Oblongo (Slot) - AutoCAD (AutoLISP)

Atualmente não temos uma ferramenta no AutoCAD que cria oblongo, portanto, utilizando- se do conhecimento em AutoLISP podemos criar essa ferramenta.
Segue abaixo o código da ferramenta Oblongo:

(Defun c:oblongo (/ dimX dimY raio_x raio_y pos_x pos_y status_usuario)
    (setq status_usuario (getvar "cmdecho")
    (Setvar "cmdecho" 0)
    (Setq center_slot (getpoint "\nEspecifique o ponto central do Oblongo...: ")
                dimX            (getreal "\nEntre com a dimensão em X :")
                dimY            (getreal "\nEntre com a dimensão em Y :")
                raio_x           (/ dimX 2)
                raio_y           (/ dimY 2)
                posY             (polar center_slot (* pi 1.5) raio_y)
                posX             (polar posY pi raio_x)
)
                (if (> dimX dimY)
                           (command "_.rectang" "f" raio_y "_non" posX "d" dimX dimY "@1, 1")
                           (command "_.rectang" "f" raio_X "_non" posX "d" dimX dimY "@1, 1")
                 )
                           (command "_.rectang" "f" 0)
                           (command)
(setvar "cmdecho" status_usuario)
(princ)
)

2 comentários :

(Defun c:oblongo (/ dimX dimY raio_x raio_y pos_x pos_y status_usuario)
(setq status_usuario (getvar "cmdecho"))
(Setvar "cmdecho" 0)
(Setq center_slot (getpoint "\nEspecifique o ponto central do Oblongo...: ")
dimX (getreal "\nEntre com a dimensão em X :")
dimY (getreal "\nEntre com a dimensão em Y :")
raio_x (/ dimX 2)
raio_y (/ dimY 2)
posY (polar center_slot (* pi 1.5) raio_y)
posX (polar posY pi raio_x)
)
(if (> dimX dimY)
(command "_.rectang" "f" raio_y "_non" posX "d" dimX dimY "@1, 1")
(command "_.rectang" "f" raio_X "_non" posX "d" dimX dimY "@1, 1")
)
(command "_.rectang" "f" 0)
(command)
(setvar "cmdecho" status_usuario)
(princ)
)

Agregue un ")" en
(setq status_usuario (getvar "cmdecho"))

Obrigado pela observação... ficou faltando fechar o parêntese no setq mesmo...

Postar um comentário