겹친 선 자르기 입니다
hp누르시고 선택 하시고 자를선 선택또 하시고 한다음에
얼마나 자를껀지 물어봐서 칫수를 기입하면 되는데
자를때마다 칫수를 넣어야 하는 불편함이있습니다
한번 칫수넣엇을때 계속 그 칫수로 기억되게 할수는 없나요??
(defun c:HP (/ kht-intersect s1 as1 ss1
osm jin1 jin2 c1 a1 aa1
centerpoint sss5
)
(defun kht-intersect (en1 en2 / a b x ex ex-app)
(vl-load-com)
(setq En1 (vlax-ename->vla-object En1))
(setq En2 (vlax-ename->vla-object En2))
(setq a (vla-intersectwith en1 en2 acExtendNone))
(setq a (vlax-variant-value a))
(setq b (vlax-safearray-get-u-bound a 1))
(if (/= b -1)
(progn
(setq a (vlax-safearray->list a))
(repeat (/ (length a) 3)
(setq
ex-app (append ex-app
(list (list (car a) (cadr a) (caddr a)))
)
)
(setq a (cdr (cdr (cdr a))))
)
ex-app
)
nil
)
)
(command “ucs” “”)
(PRINC “Select Pline :”)
(setq s1 (ssget))
(terpri)
(setq as1 (ssname s1 0))
(princ “Select intersection Targets :”)
(setq ss1 (ssget))
(setq osm (getvar “osmode”))
(setvar “osmode” 0)
(setq jin1 (getdist “ngab distance is :”))
(setq jin2 0.4)
(setq c1 0)
(repeat (sslength ss1)
;(setq a1 (entget (ssname ss1 c1)))
(setq aa1 (ssname ss1 c1))
(setq JIN111 (kht-intersect as1 aa1))
;(SETQ centerpoint (CAR JIN111))
(mapcar ‘(lambda (centerpoint)
(progn
(command “circle” centerpoint jin1 “”)
(setq sss5 (ssget “L”)) ;circle
(command “trim”
sss5
“”
(list (ssname ss1 c1) centerpoint)
“”
)
(command “erase” sss5 “”)
) ;end progn
) ;end lambda
JIN111
) ;end mapcar
(setq c1 (1+ c1))
)
(setvar “osmode” osm)
(princ)
)