grandhougday 发表于 2022-7-5 20:04:59

分解后检索对象

我需要一个lisp来分解一个圆柱形实体形状。事实上,爆炸了2次。首先它浮出水面,然后在另一次爆炸后变成两个圆。然后我想用这个圆做点什么。
我该怎么做?
在VBA by Explode函数中,默认情况下返回对象:
explodedObjects=BlockObj。爆炸
但是在lisp中是如何实现的呢?

Lee Mac 发表于 2022-7-5 20:23:58

(vlax-invoke 'explode)将返回分解对象的列表(其中是要分解的对象);请注意,此方法将保留原始对象。

pBe 发表于 2022-7-5 20:36:39


 
(defun c:demo (/ qf)
(setq qf (getvar 'Qaflags
   )
)
(setvar 'qaflags 1)
(if (setq ss (ssget "_:L" '((0 . "3DSOLID"))))
   (progn
   (command "_explode" ss "")
   (command "_explode" "_Previous" "")
   (sssetfirst nil (ssget "P" '((0 . "CIRCLE"))))
   (setvar 'qaflags qf)
   )
)
)

vanowm 发表于 2022-7-5 20:52:48

你好
 
我正在规则曲面上尝试pBe的代码:
但它返回
你知道如何在不影响原始曲面的情况下从直纹曲面中检索3dface吗? 
非常感谢。

pBe 发表于 2022-7-5 20:56:06

(defun c:demo (/ qf)
(setq qf (getvar 'Qaflags
   )
)
(setvar 'qaflags 1)
(if (setq ss (ssget '((100 . "Mesh"))))
   (progn
    (command "_copy" ss "" "0,0" "@" "")
   (command "_explode" ss "")
   (sssetfirst nil (ssget "P" '((0 . "3DFACE"))))
   (setvar 'qaflags qf)
   )
)
)

vanowm 发表于 2022-7-5 21:06:58

非常感谢你!
 
问题是
4
 
去掉了那条线,它成功了。
复制对象本身也起作用了,谢谢。
 
附笔。
rulesurf使用创建网格
(100.“AcDbPolygonMesh”)
页: [1]
查看完整版本: 分解后检索对象