겹친 라인 상 하 표시할때 쓰이는 리습입니다
위에 라인 선택후 아래라인 선택한다음 얼마나 끊어줄지
칫수를 기입하면 됩니다
근데 칫수기입을 매번 해야하는데 한번넣어놓고 기억하게 하는수정좀 해주세여 자주쓰는데 칫수기입하는게 힘드네여
(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)
)