프로그램
캐드 분류

폴리라인(polyline)을 그리면 자동으로 레이어 이름과 치수를 표시해 주는 리습

컨텐츠 정보

  • 176 조회
  • 3 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

제목에 기술한 바와 같이 폴리라인을 그리면 자동으로 레이어 이름과 치수를 표시해 주는 리습을 만들어보고자 합니다.
(defun c:scline()
(prompt "global width :")
(setq w1 (getreal))
(if (= w1 nil)
(setq w1 w2))
(setq w2 w1)
(prompt "nFirst point :")
(setq p1 (getpoint))
(prompt "nSecond point :")
(setq p2 (getpoint p1))
(command "pline" p1 "W" w1 w1 p2 "")
(command "dimaligned" p1 p2 "@500,500″)
(princ))
위의 리습을 실행해 보면 폴리라인을 그리면 자동으로 치수는 표시되지만, 레이어 이름도 함께 표시되는 기능은 구현되지 못했습니다.
"clayer"를 이용해 현재 레이어 이름을 받아올 수는 있는데, 그것을 어떻게 치수와 함께 표시되게 하는 지 궁금합니다.
고캐드 회원님들의 고견 부탁드립니다.

관련자료

댓글 3 / 1 페이지

xcsh님의 댓글

커맨드 명령으로 하시면 대강 이런식입니다.  (command "text"    (mapcar '(lambda (x) (/ x 2.0)) (mapcar '+ p1 p2))  ; 선의 중간지점     (getvar "dimscale") ;글자크기를 치수설정으로     p2 ; 글자방향점    (getvar "clayer") ; 현재 레이어명     ""   )

조용!!님의 댓글

손볼곳은 많지만.. 간단히 수정해 드리자면..

(defun c:scline(/ w2 p1 p2)   (prompt "global width :")   (setq w1 (getreal))   (if (= w1 nil)     (setq w1 w2)     )   (setq w2 w1)     (prompt "nFirst point :")   (setq p1 (getpoint))   (prompt "nSecond point :")   (setq p2 (getpoint p1))     (command "pline" p1 "W" w1 w1 p2 "")   (command "dimaligned" p1 p2 "T" (strcat "<>\X" (getvar "clayer")) "@500,500″)   (princ)   )

이게 더. 좋지 않을까 싶네요..

전체 7,152 / 1 페이지
번호
제목
이름

최근글


새댓글


알림 0