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 :")
(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)
raio_y (/ dimY 2)
posY (polar center_slot (* pi 1.5) raio_y)
posX (polar posY pi raio_x)
)
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)
)
(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