프로그램
캐드 분류

리습 수정 부탁드립니다 ㅜ-ㅜ

컨텐츠 정보

  • 214 조회
  • 2 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

리습 고수님들 도와주세요~ㅠ.ㅠ
리습 초보입니다.. 아래 리습실행중..구하는점을 클릭하게 되면 다중지시선이 직각방향위로만 출력이 되는데…

첫번째 구하는점을 클릭후 두번째 클릭을 어느 위치나 방향으로 해도  다중지시선이 표시 될수 있도록 수정부탁드리겠습니다.(ps.좌표구하는 리습 처럼 지시선을 어느방향으로나 자유롭게 표시하고 싶네요)




(defun draw_txt()
  (setvar "osmode" 0)
  (setq txt_len (strlen (rtos next_elev 2 2)))
  (setq txt (strcat "EL:" (rtos next_elev 2 2)))
  (setq drw1_len (* text_size 4))
  (setq drw2_len (* text_size 5))
  (setq drw1_point (polar pick (* pi 0.5) drw1_len))
  (setq drw2_point (polar drw1_point (* pi 2) drw2_len))
  (setq txt_point (polar drw1_point (* pi 0.25) (/ text_size 3)))
  (setq arrow (polar pick (* pi 0.5) text_size))
  (setq arrow1 (polar arrow (* pi 2) (* text_size 0.25)))
  (setq arrow2 (polar arrow (* pi 1) (* text_size 0.25)))


(command "pline" pick drw1_point drw2_point "")
  (command "solid" pick arrow1 arrow2 "" "")
  (command "text" txt_point text_size "" txt)


(defun run_FH()
  (setq base_y (cadr pick))
  (setvar "osmode" old_osm)
  (setq pick (getpoint "nPick Next point :"))
  (while pick
    (setq next_y (cadr pick))
    (cond
      ((> base_y next_y)
       (setq ch_y (- base_y next_y))
       (setq next_elev (- base_elev ch_y))
       (draw_txt)
       (setq base_elev next_elev)
      )
      ((< base_y next_y)
       (setq ch_y (- next_y base_y))
       (setq next_elev (+ base_elev ch_y))
       (draw_txt)
       (setq base_elev next_elev)
      )
      ((= base_y next_y)
       (setq next_elev base_elev)
       (draw_txt)
       (setq base_elev next_elev)
      )
    )
    (setq base_y (cadr pick))
    (setvar "osmode" old_osm)
    (setq pick (getpoint "nPick Next point :"))
  )
)   
(defun c:FH(/ base_elev ch_y drw1_point drw2_point base_y next_y)
  (setvar "cmdecho" 1)
  (setq old_osm (getvar "osmode"))
  (setq height (getvar "textsize"))
  (setq msg (strcat "Text size <" (rtos height 2 1) "> : "))
  (princ "n") (princ msg)
  (setq text_size (getreal))
  (if text_size
    (setvar "textsize" text_size)
    (setq text_size height)
  )
  (setq pick (getpoint "nPick Base point : "))
  (if pick
    (progn
      (setq base_elev (car (entsel "nSelect Base elevation Text : ")))
      (if base_elev
        (progn
          (setq base_elev (atof (cdr (assoc 1 (entget base_elev)))))
        (run_FH))))))




izen815@naver.com


부탁드립니다. .

관련자료

댓글 2 / 1 페이지
전체 6,913 / 1 페이지
번호
제목
이름
알림 0