删除Selecte中的几何体
大家好。我正在寻找一个例程,可以让我选择一个圆,基本上删除其中的所有几何体。我们使用Inventor设计流形,然后导出面供程序员使用。他们对导出的额外几何体有问题。因此,我现在必须手动选择所有不需要的几何体,并在将其释放给它们之前将其删除。有没有人创造或需要这样一个惯例?我附上了一张图片和一个cad文件供参考。希望这是清楚的,但如果没有请让我知道。非常感谢。
达雷克
测试翻转。图纸 现在试试这个草稿。
(defun c:test (/ s i sn ss lst le di j)
(vl-load-com)
(if (setq s (ssget "_:L" '((0 . "CIRCLE,LINE"))))
(repeat (setq i (sslength s))
(setq sn (ssname s (setq i (1- i))))
(if (eq (cdr (assoc 0 (entget sn))) "CIRCLE")
(progn
(setq le (/ (vlax-curve-getdistatparam sn (vlax-curve-getendparam sn))
50
)
di le
)
(repeat 50
(setq lst (vl-list* (vlax-curve-getpointatdist sn le) lst))
(setq le (+ di le))
)
(if (setq ss (ssget "_WP" lst '((0 . "~CIRCLE"))))
(repeat (setq j (sslength ss))
(entdel (ssname ss (setq j (1- j))))
)
)
(setq lst nil)
)
(entdel sn)
)
)
(princ)
)
(princ)
)
我真的很感谢你对这件事的快速反应。这似乎效果很好,我注意到这删除了所有不是真圆的东西。这正是我想要的,但我现在注意到,有一些由发明家产生的几何图形是不正确的,我可能看起来像它。列出的一些圆显示为组成它的大量线段,这不是一个问题,我只需要在走的时候注意。
再次感谢你的帮助,我在97年参加了一门LISP课程,从那以后就没有使用过,所以如果没有你的帮助,我不会走得很快。目前这一切都很好。
----
在半侧注中,您是否看到所有带有边界框的文本。图纸?边界框也必须手动删除,不幸的是,它们不是以多段线的形式出现的,因此将它们全部删除可能非常繁琐。你有什么解决办法吗?如果我可以向右拖动并选择整个文本字符串和边界框,然后有一个例程来删除边界框,那将是很棒的。
无论如何,再次感谢你的帮助。
达雷克
实际上,它们是行,很容易编写一个简单的lisp或在第一个lisp中包含更多代码来删除所选行。
你怎么认为? 我认为那太棒了,尽管我之前说过;我不是Lisp程序的大师。既然如此,你怎么看?你能帮我写点什么吗?
再次感谢您的帮助。我可以给你买啤酒或苏打水来缓解你的烦恼吗?
达雷克
第一篇文章中更新的代码
一点都不成问题,如果你有学习的意愿并努力学习,总有一天你会成为的。
随时欢迎你Darek。
不用给我买任何东西,你这么说真是太好了。高度赞赏
祝你好运 哇,太棒了,再次感谢你的帮助。
如果你渴了就告诉我,我会照顾你的!
达雷克
不客气,达瑞克。
好的,我可以。
谢谢
页:
[1]