첨부된 사진처럼
삼각형이랑 삼각형 가운데에 글자를 그려주는 리습을 만들고 싶습니다.
삼각형의 크기나 들어갈 글자는 입력받아서 만들고싶은데 순서는
1. 명령어입력
2. 위치지정
3. 삼각형크기 입력(숫자)
4. 들어갈 문자입력(한글자)
이렇게해서
– 3에서 입력받은 숫자만큼의 길이,높이를 가지는 삼각형을 그리고
– 삼각형의 선두께를 0.3mm로 지정하고
– 4에서 입력받은 글자를 굴림체로 3에서 입력받은 숫자X0.4높이에 넣고(사진 참조)
– 2의 위치에 해당 도형이 들어가는 리습이 필요합니다.
리습 공부를 해보려고 했는데
명령어를 입력했을때 선택한 좌표를 읽어오는거, 수치값을 입력받는거, 해당좌표에 수치값만큼 선을그리는방향, 선두께조절, 좌표기준으로 높이방향 입력받는거, 문자입력받는거, 입력받은값에 글자를 넣는거
이렇게 구문을 짜면 될거는데 리습은 명령문,좌표값입력방법,변수 등이 C언어나 자바랑 너무 달라서 만들수가 없네요.
리습 짜는데 필요한 구문들, 함수들이라도 잘 정리된 사이트가 있으면 좋겠지만 찾을수가 없네요.
고수님들 부탁드려요 ㅜㅜ
c랑 자바를 다룰줄 아신다니 일단 리습관련 책 하나 사서 보시고 오토캐드 온라인 도움말을 이용하시면 되실듯 다들 그렇게 시작합니다 그나마 리습은 그리 어려운 편이 아니고 일종의 매크로로 봐도 되는 수준이라
그럼 즐거운 언어 여행 되세요
(defun c:ff(/ ks_Text_Style
ks_Text
ks_Text ks_LWPoly
len hflen txt pt txh txp p1 p2 p3)
(defun ks_Text_Style (nm)
(entmake
(list
'(0 . "STYLE")
'(100 . "AcDbSymbolTableRecord")
'(100 . "AcDbTextStyleTableRecord")
(cons 2 nm) ;;Style name
'(70 . 0) ;;Standard flag values (bit-coded values)
'(40 . 0) ;;text height
'(41 . 1.0) ;;width factor
'(50 . 0.0) ;;oblique angle
'(71 . 0) ;;text generation "0" normal text
'(42 . 0) ;;last height used
(cons 3 "gulim.ttc") ;;font file name 이건 시스템마다 약간씩 폰트명이 다릅니다
'(4 . "") ;;bigfont (blank for no)
);list
)
)
(defun ks_LWPoly (lst)
(entmakex (append (list (cons 0 "LWPOLYLINE")
(cons 100 "AcDbEntity")
(cons 100 "AcDbPolyline")
(cons 90 (length lst))
(cons 70 1))
(mapcar (function (lambda (p)(if (listp p)(cons 10 p)(cons 43 p)))) lst)
)
)
)
(defun ks_Text (pt hgt str)
(entmakex (list (cons 000 "TEXT")
(cons 010 pt)
(cons 011 pt)
(cons 040 hgt)
(cons 001 str)
(cons 7 "Gulim")
'(072 . 1)
'(073 . 2)
)
)
)
(if(not(tblsearch "STYLE" "Gulim"))(ks_Text_Style "Gulim"));텍스트 스타일이 없으면 텍스트 스타일을 만듬.
(setq len(getreal "nSpecify lenth:"))
(setq txt(getstring "nInput text:"))
(setq pt(getpoint "nSpecify point:"))
(setq hflen(* len 0.5))
(setq txh hflen txp(polar pt 1.5708 (* len 0.4)))
(setq p1(polar pt 0.0 hflen)p2(polar pt 1.5708 len)p3(polar pt pi hflen))
(ks_LWPoly (list p1 p2 p3 0.3 0.3 0.3))
(ks_Text txp txh txt)
(princ)
)
와 정말 완벽하게 구현해주셨네요. 정말 감사드립니다.
리습은 함수랑 인자 개념이 좀 달라보여서 모르는 사람으로써 보니까 내용 이해도 힘드네요.
말씀주신대로 책을 사서 공부해봐야겠습니다.