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



Resultado do comando cadeira





Comentários

Mensagens populares