十字交叉打断,如何取消t型交叉的打断
(defun c:3();交叉打断,缺少三通交叉打断的判断(vl-load-com)
(SETQ SS (SSGET))
(setq ss_count 0 ss_total (sslength ss))
(WHILE (< ss_count ss_total )
(setq e1 (ssname ss ss_count))
(setq ss_count1 (+ 1 ss_count ))
(WHILE (< ss_count1 ss_total )
(setq e2 (ssname ss ss_count1))
(setq brkpt(MK_INTERS e1 e2 0))
(ifbrkpt
(progn
(SETQ brk_e e1 dir1_ang E1_dir1_ang)
(setq E1_para (vlax-curve-getParamAtPoint e1 brkpt))
(setq E1_dir1 (vlax-curve-getFirstDeriv e1 E1_para))
(setq E1_dir1_ang (angle '(0 0) E1_dir1))
(setq E2_para (vlax-curve-getParamAtPoint E2 brkpt))
(setq E2_dir1 (vlax-curve-getFirstDeriv E2 E2_para))
(setq E2_dir1_ang (angle '(0 0) E2_dir1))
(if (OR(= E1_dir1_ang (/ pi 2)) (= E1_dir1_ang (* pi 1.5)) )
(SETQ brk_e e1 dir1_ang E1_dir1_ang)
(SETQ brk_e e2 dir1_ang E2_dir1_ang)
)
(command "._break" brk_e"_non" (POLARbrkpt(+ PI dir1_ang) 2) "_non" (POLARbrkptdir1_ang 2))
(sSadd(entlast) ss)
(setq ss_total (+ 1 ss_total))
)
)
(setq ss_count1 (+ 1 ss_count1))
)
(setq ss_count (+ 1 ss_count) )
)
)
页:
[1]