안녕하세요, fillet에 관한여 질문드립니다.
현재 2005버전에서는 문제없이 되면 기능인데요,,
2010버전에서 명령 실행을 하면 FILLET 부분에서
“; 오류: *오류* 함수 내에 오류가 발생했습니다.잘못된 인수 유형: stringp nil”
위와 같은 메시지가 출력되네요;;
소스는요..
(defun c:test()
(setq smode(getvar “osmode”))
(setvar “osmode” 36)
(setq pm1 (getpoint “npick Gate point…:”))
(setq ang (getangle pm1 “nPick Rotation point..:”))
(setq base ‘(0 0))
(setq pm1_ex (polar base (angle base pm1) (* (distance pm1 base) 0.9976)))
(setq pb1 (polar (polar pm1 (+ ang (dtr 180)) 30) (+ ang (dtr 90)) 34))
(setq pb2 (polar (polar pm1 (+ ang (dtr 0)) 30) (+ ang (dtr -90)) 34))
(setq pm2 (polar pm1 ang 80))
(setq pm3 (polar pm2 (+ ang (dtr 90)) 35))
(setq pm4 (polar pm3 (+ ang (dtr 180)) 45))
(setq pm5 (polar pm1 (+ ang (dtr 80)) 40))
(setq pm6 (polar pm1 (+ ang (dtr 100)) 40))
(setq pm7 (polar pb1 (+ ang (dtr 55)) 10))
(setq pm8 (polar pb1 (+ ang (dtr 180)) 10))
(setq pm9 (polar pm1 (+ ang (dtr -140)) 40))
(setq pm10 (polar pm1 (+ ang (dtr -80)) 40))
(setq pm11 (polar pb2 (+ ang (dtr -120)) 10))
(setq pm12 (polar pb2 (+ ang (dtr -35)) 10))
(setq pm14 (polar pm2 (+ ang (dtr -90)) 35))
(setq pm13 (polar pm14 (+ ang (dtr 180)) 20))
(setq pm15 (polar pm1_ex (+ ang (dtr -180)) 50))
(setq pm16 (polar pm15 (+ ang (dtr 90)) 12))
(setq pm17 (polar pm15 (+ ang (dtr -90)) 12))
(setq pm18 (polar pm16 (+ ang (dtr 0)) 2.5))
(setq pm19 (polar pm18 (+ ang (dtr 90)) 2.5))
(setq pm20 (polar pm17 (+ ang (dtr 0)) 2.5))
(setq pm21 (polar pm20 (+ ang (dtr -90)) 2.5))
(setvar “osmode” 0)
(command “zoom” “c” pm1 200)
(command “line” pm3 pm4 “”)
(command “arc” “c” pm1 pm5 pm6)
(command “arc” “c” pb1 pm7 pm8)
(command “arc” “c” pm1 pm9 pm10)
(command “arc” “c” pb2 pm11 pm12)
(command “line” pm13 pm14 “”)
(command “line” pm16 pm17 “”)
(command “arc” “c” pm18 pm19 pm16)
(command “arc” “c” pm20 pm17 pm21)
(setvar “trimmode” 1)
(setvar “filletrad” 19)
(command “fillet” pm4 pm5)
(command “fillet” pm6 pm7)
(command “fillet” pm8 pm19)
(command “fillet” pm21 pm9)
(command “fillet” pm10 pm11)
(command “fillet” pm12 pm13)
(command “line” pm1 pm2 “”)
(setvar “clayer” “0”)
(command “insert” (strcat comblockpath “bolt/manibolt”) pb1 “” “” (rtd ang))
(command “insert” (strcat comblockpath “bolt/manibolt”) pb2 “” “” (rtd ang))
(command “zoom” “p”)
)
참고로 테스트 결과 “getangle”부분을 오스냅이 없이 선택하면 드로윙이 잘됩니다만, 오스냅을 잡고 드로윙하면 오류가 발생하네요,,
답변 부탁드립니다.
ssgetLv.0
lisp으로 Draw 시 Fillet이 안됩니다..댓글 좀 달아주세요;;
공유