캐드 사면표시 리습 관련 질문 드립니다.

2018.11.15 12:27

흑룡하늘소 조회 수:351

드림플러스 질문은 아래에 남기는 것이 답변이 빠릅니다.
홈페이지 : http://www.dreamcad.net/support/qna/
메일 : email72@nate.com

지금 현재 사용하고 있는 사면표시 리습입니다.

라인에서만 리습이 적용 되는데요

혹시 폴리라인에서도 적용 될수 있는지요. 가능하면 어떤 부분을 수정 해야 하는지 ?


(DEFUN C:nn ()
  (setq os-mode (getvar "osmode"))
  (setvar "osmode" 0)
  (setq a_0 (entsel "\n Select Object Pick *1*"))
  (setq a_a (car a_0))
  (setq x_po (car (cdr a_0)))
  (setq a_b (entget a_a))
  (setq a_c10 (cdr (assoc 10 a_b)))
  (setq a_c11 (cdr (assoc 11 a_b)))
  (setq a_an (angle a_c10 a_c11))
  (setq g-po (polar x_po (+ a_an (* pi 0.5)) 100))
  (setq po1 (inters g-po x_po a_c10 a_c11 nil))
  (setq b_a (car (entsel "\n Select Object Pick *2*")))
  (setq b_b (entget b_a))
  (setq b_c10 (cdr (assoc 10 b_b)))
  (setq b_c11 (cdr (assoc 11 b_b)))
  (setq po2 (inters x_po g-po b_c10 b_c11 nil))
  (setq an (angle po1 po2))
  (setq di (distance po1 po2))
  (setq mp1 (polar po1 an (* 0.1 di)))
  (setq mp2 (polar po1 an (* 0.2 di)))
  (setq mp3 (polar po1 an (* 0.3 di)))
  (setq mp11 (polar mp1 (+ an (* pi 0.5)) (* 0.700 di)))
  (setq mp21 (polar mp2 (+ an (* pi 0.5)) (* 0.250 di)))
  (setq mp31 (polar mp3 (+ an (* pi 0.5)) (* 0.125 di)))
  (setq mp12 (polar mp1 (- an (* pi 0.5)) (* 0.700 di)))
  (setq mp22 (polar mp2 (- an (* pi 0.5)) (* 0.250 di)))
  (setq mp32 (polar mp3 (- an (* pi 0.5)) (* 0.125 di)))
  (command "line" mp3 po2 "")
  (command "line" mp11 mp12 "")
  (command "line" mp21 mp22 "")
  (command "line" mp31 mp32 "")
  (setvar "osmode" os-mode)
  (prin1)
)