quarta-feira, 21 de julho de 2010

Lisp para colocar rumos em alinhamentos

Segue abaixo uma rotina em AutoLisp que insere rumos em alinhamentos,da seguinte forma:
Ex: 292m - 36º 25' 42" SW.
Para usar este comando, basta copiar o código abaixo em um arquivo txt e salvá-lo com a extensão .lsp.
Depois, no AutoCAD, carrega a rotina através do comando APPLOAD, selecione o arquivo .lsp e confirme.
A partir daí, o AutoCAD passará a contar com este comando.

;;RODRIGO AUGUSTO DOURADO NEVES
;;SÃO JOSÉ DO RIO PRETO - SP
;;SETEMBRO DE 2003
;;radneves@gmail.com


(defun c:rumo ()

(setvar "cmdecho" 0)
(setvar "angdir" 0)
(setvar "luprec" 2)
(setq escala (/ (getreal "Entre com a escala: 1:") 1000))
(setq ttext (getreal "Entre com o tamanho do texto: "))
(setq pa (getpoint "\nClique no ponto: "))
(setq pb (list 0 0 0))

(while (/= pb nil)

(setq pb (getpoint "\nClique no próximo ponto: " pa))
(setq ds (* (distance pa pb) escala))
(setq an (angle pa pb))
(setq gr (/ (* an 360) (* 2 pi)))

(if (< gr 90)
(list (princ ds) (princ "\t") (setq angulo (princ (- 90 gr))) (princ "\t") (setq rumo (princ "NE")))

(if (and (< gr 180) (>= gr 90))
(list (princ ds) (princ "\t") (setq angulo (princ (- gr 90))) (princ "\t") (setq rumo (princ "NW")))

(if (and (< gr 270) (>= gr 180))
(list (princ ds) (princ "\t") (setq angulo (princ (- 270 gr))) (princ "\t") (setq rumo (princ "SW")))

(if (and (< gr 360) (>= gr 270))
(list (princ ds) (princ "\t") (setq angulo (princ (- gr 270))) (princ "\t") (setq rumo (princ "SE")))

)
)
)
)


(setq ang1 (fix angulo))
(setq fra_ang1 (- angulo ang1))
(setq minuto1 (fix (* fra_ang1 60)))
(setq fra_min (- (* fra_ang1 60) (fix minuto1)))
(setq segundo1 (* 60 fra_min))
(setq segundo2 (fix segundo1))
(setq texto (strcat (rtos ds) "m - " (rtos ang1) "º " (rtos minuto1) "' " (rtos segundo2) "''" rumo ))
(command "text" "j" "c" (list (+ (/ (+ (car pa) (car pb)) 2) 1) (+ (/ (+ (cadr pa) (cadr pb)) 2) 1) 0) ttext gr texto)
(setq pa pb)

)
(setvar "cmdecho" 1)
(setvar "luprec" 4)

)





Utilização:

Digite o comando rumo.
O AutoCAD irá solicitar a escala.
O valor 1 indica que a distância a ser mostrada corresponde a mesma medida pelo AutoCAD.
Caso utilize o valor 0,5, indica que a distância a ser mostrada será metade da medida pelo AutoCAD.
Entre com o tamanho do texto. Indique o tamanho da fonte a ser utilizada.
Clique em 2 pontos.
É isso ai. Espero que gostem.
Até!!!!
Fiquem a vontade para divulgar a rotina, porém lembre-se de citar a fonte.

É necessário que o Gerente de Projetos tenha conhecimento técnico sobre o projeto que irá gerenciar?

Um assunto muito comum que normalmente leva a discussões acaloradas em diversos ambientes, tanto digital quanto presencial, é sobre a ne...