zhhunicorn 发表于 2014-4-8 15:07:43

如何选择通过2点的直线

已知直线端点p1 p2,如何获取到这条直线?(setq ss (ssget "x" '( (-4 . "<and" )
      (-4 . "<or" ) (list '(0 . "LINE") (cons 10 p1) ) (list '(0 . "LINE") (cons 10 p2) )(-4 . "or>" )
      (-4 . "<or" ) (list '(0 . "LINE") (cons 11 p1) ) (list '(0 . "LINE") (cons 11 p2) )(-4 . "or>" )
      (-4 . "and>" ) )))这个运行提示“错误: ssget 列表错误”
请求指点,谢谢。

Andyhon 发表于 2014-4-8 15:15:52

背景另有干扰项吗?
先这样试...
(ssget "F" (list p1 p2) '((0 . "LINE")))

zhhunicorn 发表于 2014-4-8 15:33:59

本帖最后由 zhhunicorn 于 2014-4-8 15:37 编辑

试了下,选择的情况比较糟糕,有时候只通过一个点的也选择了,有时候通过2个点的也没选上。

Andyhon 发表于 2014-4-8 15:46:50

请上传所指述的 Dwg 文件...

ll_j 发表于 2014-4-8 15:52:58

(setq ss (ssget (list'(0 . "LINE") '(-4 . "<and" )
                     '(-4 . "<or" ) (cons 10 p1) (cons 10 p2) '(-4 . "or>" )
                     '(-4 . "<or" ) (cons 11 p1) (cons 11 p2) '(-4 . "or>" )
                     '(-4 . "and>" ))))
问题出在列表中有“求值”项时,应该把list函数放在最前面。

zhhunicorn 发表于 2014-4-8 17:03:41

ok,非常感谢各位的帮助。已搞定。

lsjj 发表于 2014-4-8 17:14:58

(setq ss (ssget (list (cons 10 p1) (cons 11 p2) (cons 0 "LINE"))))

cable2004 发表于 2014-4-8 17:25:30

本帖最后由 cable2004 于 2014-4-8 17:39 编辑

通过2点的所有直线,dxf10 dxf11不一定一样吧!
应该还是要循环吧!

cable2004 发表于 2014-4-8 20:51:45

题目不是如何选择通过2点的直线吗,看看你的方法试试!

逗亦斗霸 发表于 2024-12-5 17:09:31

Andyhon 发表于 2014-4-8 15:15
背景另有干扰项吗?
先这样试...
(ssget "F" (list p1 p2) '((0 . "LINE")))

正愁不知道怎么把代码完善,这下找到了答案~非常感谢!
页: [1]
查看完整版本: 如何选择通过2点的直线