HardhatWarrior 发表于 2022-7-6 06:56:59

删除Selecte中的几何体

大家好。我正在寻找一个例程,可以让我选择一个圆,基本上删除其中的所有几何体。我们使用Inventor设计流形,然后导出面供程序员使用。他们对导出的额外几何体有问题。因此,我现在必须手动选择所有不需要的几何体,并在将其释放给它们之前将其删除。有没有人创造或需要这样一个惯例?我附上了一张图片和一个cad文件供参考。希望这是清楚的,但如果没有请让我知道。
 
非常感谢。
 
达雷克
 

 
测试翻转。图纸

Tharwat 发表于 2022-7-6 07:12:56

现在试试这个草稿。
 

(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)
)

HardhatWarrior 发表于 2022-7-6 07:18:11

我真的很感谢你对这件事的快速反应。这似乎效果很好,我注意到这删除了所有不是真圆的东西。这正是我想要的,但我现在注意到,有一些由发明家产生的几何图形是不正确的,我可能看起来像它。列出的一些圆显示为组成它的大量线段,这不是一个问题,我只需要在走的时候注意。
 
再次感谢你的帮助,我在97年参加了一门LISP课程,从那以后就没有使用过,所以如果没有你的帮助,我不会走得很快。目前这一切都很好。
 
----
 
在半侧注中,您是否看到所有带有边界框的文本。图纸?边界框也必须手动删除,不幸的是,它们不是以多段线的形式出现的,因此将它们全部删除可能非常繁琐。你有什么解决办法吗?如果我可以向右拖动并选择整个文本字符串和边界框,然后有一个例程来删除边界框,那将是很棒的。
 
无论如何,再次感谢你的帮助。
 
达雷克

Tharwat 发表于 2022-7-6 07:27:44

 
实际上,它们是行,很容易编写一个简单的lisp或在第一个lisp中包含更多代码来删除所选行。
 
你怎么认为?

HardhatWarrior 发表于 2022-7-6 07:37:55

我认为那太棒了,尽管我之前说过;我不是Lisp程序的大师。既然如此,你怎么看?你能帮我写点什么吗?
 
再次感谢您的帮助。我可以给你买啤酒或苏打水来缓解你的烦恼吗?
 
达雷克

Tharwat 发表于 2022-7-6 07:46:39

 
第一篇文章中更新的代码
 
一点都不成问题,如果你有学习的意愿并努力学习,总有一天你会成为的。
 
 
随时欢迎你Darek。
 
不用给我买任何东西,你这么说真是太好了。高度赞赏
 
祝你好运

HardhatWarrior 发表于 2022-7-6 07:49:56

哇,太棒了,再次感谢你的帮助。
 
如果你渴了就告诉我,我会照顾你的!
 
达雷克

Tharwat 发表于 2022-7-6 08:01:56

 
不客气,达瑞克。
 
 
 
好的,我可以。
 
谢谢
页: [1]
查看完整版本: 删除Selecte中的几何体