현재 유용하게 잘 사용하고 있는데요
이 리습을 사용하고 나면 오스냅이 다 꺼집니다.
오스냅을 살리고 쓰는 방법좀 알려주세요.
(DEFUN C:ss()
(command “-layer” “m” “법면” “”)
(setvar “clayer” “법면”)
(SETVAR “OSMODE” 512) (terpri)
(SETQ A (GETPOINT “1POINT :”)) (terpri)
(setvar “osmode” 128)
(SETQ A1 (gETpoint a “2POINT :”)) (terpri)
(SETQ D (DISTANCE A1 A)
AN (ANGLE A A1)
AN1 (ANGLE A1 A)
P1 (POLAR A1 AN1 (/ D 3))
P2 (POLAR P1 (- an1 (/ PI 2)) (/ D 10))
P3 (POLAR P1 (+ AN1 (/ PI 2)) (/ D 10))
d1 (distance a1 p1)
d2 (distance P2 p1)
p4 (polar p1 AN (/ D1 5))
p5 (polar p4 (- AN1 (/ PI 2)) (+ D2 (/ d2 1)))
P6 (POLAR p4 (+ AN1 (/ PI 2)) (+ D2 (/ D2 1)))
d3 (distance P5 p4)
p7 (polar p4 AN (/ D1 5))
p8 (polar p7 (- AN1 (/ PI 2)) (+ D3 (/ d3 1)))
P9 (POLAR p7 (+ AN1 (/ PI 2)) (+ D3 (/ D3 1)))
d4 (distance P8 p7)
p10 (polar p7 AN (/ D1 5))
p11 (polar p10 (- AN1 (/ PI 2)) (+ D4 (/ d3 1)))
P12 (POLAR p10 (+ AN1 (/ PI 2)) (+ D4 (/ D3 1)))
d5 (distance P11 p10)
p13 (polar p10 AN (/ D1 5))
p14 (polar p13 (- AN1 (/ PI 2)) (+ D4 (/ d4 1)))
P15 (POLAR p13 (+ AN1 (/ PI 2)) (+ D4 (/ d4 1)))
)
(SETVAR “OSMODE” 0)
(COMMAND “PLINE” A P1 “” “PLINE” P2 P3 “” “PLINE” P5 P6 “” “PLINE” P8 P9 “” “PLINE” P11 P12 “” “PLINE” P14 P15 “”)
)
넵… 먼저 저는 리습전문가가 아닙니다…
위리습중 끝에서 4번째줄 (SETVAR “OSMODE” 0) 이부분에서
명령후 오스냅을 끄는기능입니다…
이부분을 129로 변경하면 끝점 , 수직 이렇게 켜집니다..
물론 리엑터함수 를 사용해서 명령전 스냅값을 돌리는게 중요하며
또한 명령중에 에러나거나, 취소할경우등 에 적절한 코드를 넣어야합니다
우선은 (SETVAR “OSMODE” 129)로 하면 명령후
수직과 끝점이 오스냅설정 됩니다
자세한건 위 LISP/VBA방에 Kr.Storm 님께 부탁해보셔요
(이분야에 황약사정도의 고수십니다…)
볼록2