Ouça uma das minhas músicas preferidas: , ou o canto de um passarinho: /spam>>

  ♩ ♪ ♫ Música do Dia  ♩  ♪♫

quarta-feira, 15 de agosto de 2012

Autolisp para criar vistas (viewports no layout) em escala



; Rotina para criar vistas (viewports no layout) em escala
; Iniciar no "Model"
; p1 e p2 -> vértices do retângulo que inclui o desenho a ser representado
; model em metros e layout em milímetros

(defun c:cv ()
  (setq escala (getreal "Escala da Vista que será criada no Layout: "))
  (setq fs (/ 1000 escala))
  (setq p1 (getpoint "Ponto Inferior esquerdo..."))
  (setq p2 (getpoint "Ponto Superior Direito..."))
  (setvar "tilemode" 0)
  (setq x1 (nth 0 p1))
  (setq y1 (nth 1 p1))
  (setq x2 (nth 0 p2))
  (setq y2 (nth 1 p2))

  (setq p3 (getpoint "Ponto Inferior Esquerdo da Vista que será criada..."))

  (setq x3 (nth 0 p3))
  (setq y3 (nth 1 p3))

  (setq dx (- x2 x1))
  (setq dy (- y2 y1))

  (setq p4 (list (+ x3 (* fs dx)) (+ y3 (* fs dy))))


  (setq p5 (list (+ x3 (* fs dx) 30) (+ y3 (* fs dy) 30)))
  (command "zoom" p3 p5)

  (command "mview" p3 p4)

  (prompt "Dê um duplo vista que foi criada e digite 0 ")

)
(defun c:0()
(command "zoom" p1 p2)
(setq p1 nil p2 nil)
(command "mview" "lock" "on" "l" "")
)



Nenhum comentário: