Aftertouch 发表于 2022-7-5 16:34:28

@阿门特,欢迎你,也看看塔尔瓦茨的评论。他对红色部分的看法完全正确。
 
@Tharwat,谢谢你的添加,我有点“又快又脏”。:-)

Tharwat 发表于 2022-7-5 16:38:51

 
别担心,继续做好工作。

Ament 发表于 2022-7-5 16:42:32

嗨,罗伊,如果我使用命令:
(setq mod(ssget“_X”'((8。“131144154204,家具,水”)))
 
它返回零。至少在AutoCAD2016中对我来说是这样。当然,图层仍然是包含在图形中的图层,它应该可以找到大约20.000个对象
这就是为什么我认为它可能会在一个名为131144154204的层(家具,水)上搜索对象,而不会搜索6层。
 
你的想法是我最喜欢的,因为它可以在一个选择中完成所有事情。现在我得到了每层一圈的结果,但至少这是正确的结果。

Roy_043 发表于 2022-7-5 16:46:20

@Ament:
该代码也应该在AC2016中起作用。一定是出了什么问题。也许Aftertouch或Tharwat可以介入澄清。我使用BricsCAD而不是AutoCAD。

Aftertouch 发表于 2022-7-5 16:49:07

当我使用下面的代码时,当。。。
该层上的模型空间中有一些对象。
当层“隐藏”在块中时,下面的代码找不到线。

(setq mod (ssget "_X" '((8 . "131,144,154,204,Furniture,Water"))))

 
我认为Ament具有块内元素?

Tharwat 发表于 2022-7-5 16:50:59

@Ament,你能上传你正在运行代码的图形吗?

Ament 发表于 2022-7-5 16:54:41

大家好,
元素不在块内。我确信这一点,因为我运行了代码,将所有块设置为可分解的,并在之前将其分解
不幸的是,我不能分享这幅画,因为它们是机密的。
我又试了一次,在命令栏上手动输入。它给了我一个选择集!
但如果我把它放在一个简单的代码中,它会给我零。。奇怪的
 

(defun c:dellay (/ mod)
(setq mod (ssget "_X" '((8 . "131,133,134,SomeMore"))))
(command "._Erase" mod "")
)

Roy_043 发表于 2022-7-5 16:56:59

命令函数始终返回nil。

Ament 发表于 2022-7-5 17:00:06

当然,但它不会删除之前的对象。

Roy_043 发表于 2022-7-5 17:03:58

确认对象位于未锁定的层上,并且位于当前空间中。
页: 1 [2]
查看完整版本: Lisp来排序我们不存在的