daiguafan 发表于 2011-6-10 11:28:15

一个交点打断的程序,有些小问题啊

(defun c:brk()
(setq ss (ssget '((0 . "line"))))
(setq pt_list nil)
(setq i 0)
(repeat (sslength ss)
    (sub_test1 (ssname ss i))
    (setq i (1+ i))
)

(foreach pt pt_list(command "break"pt pt )

)
    (prin1)
)
(defun sub_test1(#en)
(setq endata(entget #en))
(setq pt10(cdr (assoc 10 endata)))
(setq pt11(cdr (assoc 11 endata)))
(setq ssint(ssget "f" (list pt10 pt11)))
(setq ssint(ssdel #en ssint))
(if (> (sslength ssint) 0)
      (progn

(setq j 0)
      (repeat (sslength ssint)
          (setq ena (ssname ssint j))
          (if (ssmemb ena ss)
               (progn
                  (setq pta (cdr (assoc 10 (entget ena))))
                  (setq ptb (cdr (assoc 11 (entget ena))))
                  (setq intpt(inters pt10 pt11 pta ptb))
                  (setq intpt1(osnap intpt "int"))
                  (if (not (member intpt1 pt_list)) (setq pt_list(cons intpt1 pt_list)))
               )
          )

(setq j (1+ j))
      )
      )
)
)

问题在于,他把水平线打断了,而我想要把竖直线打断,请问怎么办

页: [1]
查看完整版本: 一个交点打断的程序,有些小问题啊