669423907 发表于 2018-2-24 15:26:33

请问如何删除同时落在在p1和p2两点上的直线

请问如何删除同时落在在p1和p2两点上的直线,谢谢了(defun c:13()

(setq p1 (getpoint "\n请指定第一点"))
(setq p2 (getpoint p1 "\n请指定第二点"))


(command "erase",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
(princ))

Andyhon 发表于 2018-2-24 15:26:34

本帖最后由 Andyhon 于 2018-2-25 11:17 编辑

(ssget "x"
(list
   '(0 . "LINE")
   '(-4 . "<OR")
       '(-4 . "<AND")
          '(-4 . "=,=,*") (cons 10 p1)
          '(-4 . "=,=,*") (cons 11 p2)
       '(-4 . "AND>")
       '(-4 . "<AND")
          '(-4 . "=,=,*") (cons 10 p2)
          '(-4 . "=,=,*") (cons 11 p1)
       '(-4 . "AND>")
   '(-4 . "OR>")
))
sorry! Copy后忘了订正
已改如上

Andyhon 发表于 2018-2-24 18:25:19

是指 单一线段 吗?

kwok 发表于 2018-2-24 19:16:35

(defun c:tt()
(setq p1 (getpoint "\n请指定第一点"))
(setq p2 (getpoint p1 "\n请指定第二点"))
(command "erase" "f" p1 p2 "" "")
)

669423907 发表于 2018-2-24 20:15:46

Andyhon 发表于 2018-2-24 18:25
是指 单一线段 吗?

是的,其它的图元不处理

669423907 发表于 2018-2-24 20:16:30

kwok 发表于 2018-2-24 19:16
(defun c:tt()
(setq p1 (getpoint "\n请指定第一点"))
(setq p2 (getpoint p1 "\n请指定第二点"))


这样会删除很多东西了

669423907 发表于 2018-2-24 20:17:50

如图,只删除红色的那根直线

Andyhon 发表于 2018-2-24 21:20:56

若四方框是 'LINE' 单纯些
若非是 请给出足够的样本(*.Dwg)供调试

669423907 发表于 2018-2-24 21:43:51

Andyhon 发表于 2018-2-24 21:20
若四方框是 'LINE' 单纯些
若非是 请给出足够的样本(*.Dwg)供调试

有劳大师了

669423907 发表于 2018-2-24 22:58:10

Andyhon 发表于 2018-2-24 22:34
(ssget "x"
(list
   '(0 . "LINE")


非常感谢Andyhon长老热情帮忙,从左上到右下,左下到右上可以,其它方向的不行。
方便方便再帮整合一下吗?
(defun c:13()
(setq p1 (getpoint "\n请指定第一点"))
(setq p2 (getpoint p1 "\n请指定第二点"))
(setq ss1 (ssget "x"
(list
   '(0 . "LINE")
   '(-4 . "<OR")
       '(-4 . "<AND")
          '(-4 . "=,=,*") (cons 10 p1)
          '(-4 . "=,=,*") (cons 11 p2)
       '(-4 . "AND>")
       '(-4 . "<AND")
          '(-4 . "=,=,*") (cons 11 p2)
          '(-4 . "=,=,*") (cons 10 p1)
       '(-4 . "AND>")
   '(-4 . "OR>")
))
)
(setq ss2 (ssget "x"
(list
   '(0 . "LINE")
   '(-4 . "<OR")
       '(-4 . "<AND")
          '(-4 . "=,=,*") (cons 10 p2)
          '(-4 . "=,=,*") (cons 11 p1)
       '(-4 . "AND>")
       '(-4 . "<AND")
          '(-4 . "=,=,*") (cons 11 p1)
          '(-4 . "=,=,*") (cons 10 p2)
       '(-4 . "AND>")
   '(-4 . "OR>")
))
)
(command "erase" ss1 "")
(command "erase" ss2 "")
(princ))
页: [1] 2
查看完整版本: 请问如何删除同时落在在p1和p2两点上的直线