AULA 07 - 30/03/2023
Exercício 04
Programação de um código autolisp que construa uma cadeira tridimensional no autocad, que cumpra os seguintes requisitos:
- Indicar o ponto inicial da cadeira
- Indicar o comprimento da cadeira na coordenada X
- indicar a largura da cadeira na coordenada Y
- Indicar a altura da cadeira (altura do assento) em coordenada Z
- Indicar a espessura do assento
- Indicar a altura das costas
- Indicar a espessura das costas
CÓDIGO FORNECIDO
(defun c:cadeira ()
(setq pontos2d (getvar "osmode"))
(setq pontos3d (getvar "3dosmode"))
(setvar "osmode" 0) (setvar "3dosmode" 0)
(setq pt1 (getpoint "indique o ponto de inserção da cadeira: "))
(If (= nil (setq comprimento (getreal " indique o comprimento da cadeira (em x): ")))
(setq comprimento 0.50))
(If (= nil (setq largura (getreal "indique a largura da cadeira(em y): ")))
(setq largura 0.50))
(If (= nil (setq altura (getreal "indique a altura da cadeira : (em z): ")))
(setq altura 0.60))
(If (= nil (setq esp1 (getreal "indique a espessura do assento: ")))
(setq esp1 0.02))
(If (= nil (setq esp2 (getreal "indique a espessura dos pés: ")))
(setq esp2 0.02))
(If (= nil (setq costas (getreal "indique a altura das costas: ")))
(setq costas 0.5))
(If (= nil (setq esp3 (getreal "indique a espessura das costas: ")))
(setq esp3 0.05))
(modelar)
(modelar2)
(setvar "osmode" pontos2d)
(setvar "3dosmode" pontos3d)
(command "ucs" "") )
(defun modelar ()
(command "ucs" pt1 "")
(command "box" (list 0 0 (- altura esp1))
(list comprimento largura (+ altura esp1)))
(setq e1 (entlast)) (command "box" (list 0 0 0)
(list esp2 esp2 (- altura esp1)))
(command "array" (entlast) "" "r" 2 2 (- largura esp2)
(- comprimento esp2)) )
(defun modelar2 () (command "box" (list 0 0 (+ altura esp1))
(list comprimento esp3 (+ altura esp1 costas))) )
CODIGO ALTERADO
Comentários
Enviar um comentário