성심 성의껏 질문을 작성하여 주세요, 대충하시면 답변도 대충작성합니다.^^
① CAD 종류 :2014메카니컬
② VERSION :
③ 운영 체제 :WIN7
④ 질문내용 및 스크린샷(이미지 및동영상)
2010에서는 잘사용했는데 2014에서 에러나면서 사용이 않되네요..
(defun rtd (a) (/ (* a 180.) pi))
(defun env_start()
(setvar "cmdecho" 0)
(setq old_oth (getvar "orthomode")) (setq old_snap (getvar "snapmode"))
(setq old_lay (getvar "clayer")) (setq old_osnap (getvar "osmode"))
)
(defun env_end()
(command "layer" "s" old_lay "" ) (setvar "cmdecho" 1 )
(setvar "orthomode" old_oth) (setvar "osmode" old_osnap)
(setvar "snapmode" old_snap)
)
(defun c:lo()
(env_start)
(setvar "orthomode" 0)
(setq ds (getvar "dimscale"))
(setq em (getvar "limmax"))
(setq emx (/ (car em) ds))
(cond ((and (>= emx 836) (< emx 846)) (setq size "1"))
((and (>= emx 589) (< emx 599)) (setq size "2"))
((and (>= emx 415) (< emx 425)) (setq size "3"))
((and (>= emx 205) (< emx 215)) (setq size "4"))
( T NIL))
(cond ((= size "1") (setq cr 9.))
((= size "2") (setq cr 9))
((= size "3") (setq cr 9.))
((= size "4") (setq cr 9))
(t nil)
)
(setq dlil (* (/ cr 2) ds)) (command "snap" dlil)(command "snap" "off")
(command "osnap" "none")
(setq sp (getpoint "\n First point:"))
(command "snap" "on")
(setq cp (getpoint sp "\n Second point:"))
(command "snap" "off")
(setq tx1 (getstring "\n Enter Circle String:"))
(setq tx2 (getstring T "\n Enter Line String:"))
(setq red (* ds cr))
(setq dr (* ds 1.2))
(setq th (* ds 4.5))
(setq ang (angle sp cp)) (setq ang1 (rtd ang))
(setq angm (angle cp sp)) (setq ang2 (rtd angm))
(setq p1 (polar cp angm red))
(setq p2 (polar cp angm (* red 1.5)))
(command "layer" "s" "ct" "")
(command "line" sp p1 "")
(command "circle" cp red)
(command "layer" "s" "ct" "")
(if (>= (strlen tx1) 2)
(progn (setq px1 (- (car cp) (* 0.6011 ds cr)))
(setq px2 (+ (car cp) (* 0.6011 ds cr)))
(setq py (- (cadr cp) (* 0.5 ds cr)))
(setq pt1 (list px1 py))
(setq pt2 (list px2 py))
(command "text" "f" pt1 pt2 red tx1))
(command "text" "m" cp red "0" tx1)
)
(command "layer" "s" "ct" "")
(if (and (> ang (/ pi 2.)) (<= ang (/ (* pi 3) 2)))
(progn
(setq tp (polar p2 (- ang (/ pi 2)) (* ds 1.)))
(command "text" tp th ang2 tx2 ))
(progn
(setq tp (polar p2 (+ ang (/ pi 2)) (* ds 1.)))
(command "text" "r" tp th ang1 tx2 ))
)
(env_end)
)
⑤ 파일첨부 (LISP/DWG) - DWG 첨부시 보다 정확한 답변을 얻을수 있습니다.
※ 유의사항
- ①말머리 : 말머리를 달아야 구분이 쉽겠죠^^(필수 선택)
- ②Screenshot : 이해를 돕기위해 삽입요망.
- ③파일 첨부 : 상위버전에서 테스트할 파일이 아니면 가급적 하위버전으로 저장후 첨부.
해당리습/해당파일(DWG) 도 같이 첨부하여 주세요.
- ④제 목 : 질문 내용 반영(개략적인 내용), 예) 해치를 만들고 싶어요, pline을 연결할려면?
금지어(만들어주세요? 해주세요? 안되는데 이렇게 변경해주세요? 등등)
- ⑤질문글 삭제금지 : 질문후 댓글이 달린글은 삭제금지.
여러 리플러들이 소중한 시간을 내어서 고민한후 댓글을 작성한 이상 "강력조치" 토록 하겠음.
※ 정답만이 댓글은 아닙니다. 그 답이 맞던 틀리던 그건 그 댓글로서 존중되어야 합니다.
회원님들이 글을 읽었다는것과 댓글을 달았다는건 그만큼 관심을 가지고 있고 또 그 답을 해주기 위해
검색도 해보고 도움말도 보고 고민도 하는 일련의 과정을 거치면서 나오기 때문이죠.
이에 대한 고마움과 감사함을 모르는 테러행위(?)는 없었으면 합니다.
첫댓글 에러 메세지가 어떤지 모르겠는데 우선 2014 에서 작동에는 문제 없습니다..~!
다만.,... size가 정해지는 cond문에서 emx값이 범위에 없다면 "error: 잘못된 인수 유형: numberp: nil"이라는 에레가 발생 되네요,,~! 참고해 보세요..~!