Rotina para auxiliar o desenho de cortes

Continuando com as Rotinas Lisps (Como usar as Rotinas Lisp?)
Mais um exemplo:

;; Rotina para auxiliar o desenho de cortes. Basta escolher um ponto no espaço onde pretende desenhar o corte e depois ir clicando nos pontos de interseção das linha de corte com as linhas que definem as faces das paredes na planta baixa.

;; Permite dividir a janela em dois “viewports” para que você possa visualizar ao mesmo tempo a planta

(defun c:AuxCortes ()

(setq kv (getstring “Dividir janela? S ou N “))

(if (= kv “s”) (command “vports” “2” “v”))

(setq osmodeIni (getvar “osmode”))

(setvar “osmode” 32)

(setq cecolorIni (getvar “cecolor”))

(command “_cecolor” “4”)

(setq ss (ssadd))

(setq n 0)

(setq p1 (getpoint “P onde será desenhado o corte_______”))

(setq pl1 p1)

(while p1

(command “_osmode” “32”)

(setq apertureIni (getvar “aperture”))

(command “_aperture” “45”)

(setq n (+ n 1))

(if (> n 1) (setq p1 pc1))

(if (> n 1) (if pa2 (setq p1 p1)))

(if (= n 1) (setq pa1 (getpoint “Pa1 __”)) (setq pa1 pa2))

(setq pa2 (getpoint “Pa2 __”))

(if pa2

(progn

(setq z (and (= (nth 0 pa1)(nth 0 pa2)) (= (nth 1 pa1)(nth 1 pa2))))

(while z

(alert “PA1 = PA2”)

(setq pa2 (getpoint “Pa1 e Pa2 coincidendentes__”))

(setq z (and (= (nth 0 pa1)(nth 0 pa2)) (= (nth 1 pa1)(nth 1 pa2))))

)

(command “_cecolor” “2”)

(command “_line” pa1 pa2 “”)

(command “_cecolor” “4”)

(setq e1 (entlast))

(ssadd e1 ss)

(command “_dist” pa1 pa2) (setq a (getvar “distance”))

(if (= n 1) (progn (if b (setq b2 b))

(setq b (getreal “Pe Direito __”))

(if b (setq b b) (setq b b2))

)

)

(command “_osmode” “0”)

(setq x1 (nth 0 p1))

(setq y1 (nth 1 p1))

(setq pc1 (list (+ x1 a) y1 ))

(setq pc2 (list (+ x1 a) (+ y1 b) ))

(setq pc3 (list x1 (+ y1 b) ))

(command “_aperture” “1”)

(command “_line” pc1 pc2 “”)

(command “_line” p1 pc1 pc2 pc3 “”)

)

(

(command “_erase” ss “”)

)

)

)

)

Sobre NilsonRDG

Minha lista de scripts/rotinas em Autolisp, Autohotkey, JavaScript, PHP e VBA. Nilson Rodrigues - Ouro Preto - MG
Esse post foi publicado em Arquitetura, AutoCAD, Autolisp, Desenho, Engenharia Civil. Bookmark o link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s