Lv.0 등록일: 2014-10-282014-10-28T10:34:05+09:00 2014-10-28T10:34:05+09:00카테고리: AutoCAD & CADian 라인 스타일 만들기 안녕하세요 ㅜㅜ새로운 라인스타일을 만드려고 하는데 게시판 글 찾아서 acad.lin 문서에서 편집하는것까진 해봤는데아래와 같은 라인스타일이 잘 안나옵니다도와주세요 흑 공유 Facebook 관련 있는 질문들 직선의 한 지점에서 원의 최대거리 선 그리기 캐드 모깎기 질문 드립니다 블럭깰때 가시성으로 가려진 블럭들 처리 PDF 출력 5 답변 작성 순 최신 순 공감 순 [Deleted User] 2014-10-28T11:55:56+09:00답변 등록 답변 등록 일시 2014-10-28 11:55 am 참고하세요. [Deleted User] 2014-10-28T12:34:14+09:00답변 등록 답변 등록 일시 2014-10-28 12:34 pm (defun c:makelt (/ dashlen exprt file fn ltdef str strw txtgap txthgt txtstyle rjp-txtwdth _rtos) (vl-load-com) (defun rjp-txtwdth (str hgt style / d e pts) ;;Returns textstring width, gap from insertion point to start of text, and height (if (setq e (entmakex (list ‘(0 . “TEXT”) ‘(100 . “AcDbEntity”) ‘(100 . “AcDbText”) ‘(8 . “rjp-tmptxtlayer”) ‘(10 0. 0. 0.) (cons 40 hgt) (cons 1 str) (cons 7 style) ) ) ) (progn (setq pts (textbox (entget e))) (setq d (distance (car pts) (list (caadr pts) (cadar pts)))) (entdel e) ) ) (list d (caar pts) (- (cadadr pts) (abs (cadar pts)))) ) (defun _rtos (real) (rtos real 2 6)) ;;Set these numbers to preference (setq dashlen 0.25) (setq txtgap 0.025) (setq txthgt 0.1) ;;——————————- (setq txtstyle (getvar ‘textstyle)) (if (and (setq str (getstring t “nEnter string to use in linetype: “)) (not (zerop (strlen str))) (setq txthgt (cond ((getreal (strcat “nEnter height of text [<” (rtos txthgt 2 3) “>]: “)) ) (txthgt) ) ) (setq strw (rjp-txtwdth str txthgt txtstyle)) (setq file (strcat (getvar ‘dwgprefix) (vl-filename-base (getvar ‘dwgname)) “_mylt.lin”) ) (setq fn (open file “w”)) (setq exprt (getvar ‘expert)) ) (progn (setq ltdef (strcat “n*” str “, —“ str “—n” “A,” (_rtos dashlen) “,-“ (_rtos (abs (- txtgap (cadr strw)))) “,[”” str “”,” txtstyle “,S=” (_rtos txthgt) “,R=.0,X=-.0,Y=-“ (_rtos (* (caddr strw) 0.5)) “],-“ (_rtos (+ txtgap (car strw) (cadr strw))) ) ) (write-line ltdef fn) (close fn) (setvar ‘expert 5) (cond ((not (tblsearch “ltype” str)) (command “._-linetype” “load” “*” file “”) (princ ltdef) (princ (strcat “nLinetype ” str ” loaded…”)) ) ((and (not (initget 1 “Y N”)) (eq (getkword “nLinetype exists… Reload it? [Y/N]”) “Y”) ) (command “._-linetype” “load” “*” file “”) (vla-regen (vla-get-activedocument (vlax-get-acad-object)) acactiveviewport) (princ ltdef) (princ (strcat “nLinetype ” str ” reloaded…”)) ) ) (setvar ‘expert exprt) (vl-file-delete file) ) ) (princ)) [Deleted User] 2014-10-28T12:35:37+09:00답변 등록 답변 등록 일시 2014-10-28 12:35 pm 실행하시고 원하는 이름 적으시고 엔터>텍스트크기정하시고엔터 [Deleted User] 2014-10-28T12:46:17+09:00답변 등록 답변 등록 일시 2014-10-28 12:46 pm ㅠㅠ 고맙습니다. 급했는데 바로 해결했네요 감사합니다 ^^ [Deleted User] 2014-10-28T12:46:59+09:00답변 등록 답변 등록 일시 2014-10-28 12:46 pm 한번 해보겠습니다 . 감사합니다 흑흑
참고하세요.
(defun c:makelt
(/ dashlen exprt file fn ltdef str strw txtgap txthgt txtstyle rjp-txtwdth _rtos)
(vl-load-com)
(defun rjp-txtwdth (str hgt style / d e pts)
;;Returns textstring width, gap from insertion point to start of text, and height
(if (setq e (entmakex (list ‘(0 . “TEXT”)
‘(100 . “AcDbEntity”)
‘(100 . “AcDbText”)
‘(8 . “rjp-tmptxtlayer”)
‘(10 0. 0. 0.)
(cons 40 hgt)
(cons 1 str)
(cons 7 style)
)
)
)
(progn (setq pts (textbox (entget e)))
(setq d (distance (car pts) (list (caadr pts) (cadar pts))))
(entdel e)
)
)
(list d (caar pts) (- (cadadr pts) (abs (cadar pts))))
)
(defun _rtos (real) (rtos real 2 6))
;;Set these numbers to preference
(setq dashlen 0.25)
(setq txtgap 0.025)
(setq txthgt 0.1)
;;——————————-
(setq txtstyle (getvar ‘textstyle))
(if (and (setq str (getstring t “nEnter string to use in linetype: “))
(not (zerop (strlen str)))
(setq txthgt
(cond
((getreal (strcat “nEnter height of text [<” (rtos txthgt 2 3) “>]: “))
)
(txthgt)
)
)
(setq strw (rjp-txtwdth str txthgt txtstyle))
(setq file
(strcat (getvar ‘dwgprefix) (vl-filename-base (getvar ‘dwgname)) “_mylt.lin”)
)
(setq fn (open file “w”))
(setq exprt (getvar ‘expert))
)
(progn
(setq ltdef (strcat “n*”
str
“, —“
str
“—n”
“A,”
(_rtos dashlen)
“,-“
(_rtos (abs (- txtgap (cadr strw))))
“,[””
str
“”,”
txtstyle
“,S=”
(_rtos txthgt)
“,R=.0,X=-.0,Y=-“
(_rtos (* (caddr strw) 0.5))
“],-“
(_rtos (+ txtgap (car strw) (cadr strw)))
)
)
(write-line ltdef fn)
(close fn)
(setvar ‘expert 5)
(cond ((not (tblsearch “ltype” str))
(command “._-linetype” “load” “*” file “”)
(princ ltdef)
(princ (strcat “nLinetype ” str ” loaded…”))
)
((and (not (initget 1 “Y N”))
(eq (getkword “nLinetype exists… Reload it? [Y/N]”) “Y”)
)
(command “._-linetype” “load” “*” file “”)
(vla-regen (vla-get-activedocument (vlax-get-acad-object)) acactiveviewport)
(princ ltdef)
(princ (strcat “nLinetype ” str ” reloaded…”))
)
)
(setvar ‘expert exprt)
(vl-file-delete file)
)
)
(princ)
)
실행하시고 원하는 이름 적으시고 엔터>텍스트크기정하시고엔터
ㅠㅠ 고맙습니다. 급했는데 바로 해결했네요 감사합니다 ^^
한번 해보겠습니다 . 감사합니다 흑흑