muthu123 发表于 2022-7-6 09:01:45

如何仅选择块

亲爱的朋友们:,
 
如果我在ssget函数中使用“all”,如下所示,它将返回所有块,包括模型空间和图纸空间。但是如何使用过滤器仅在当前活动空间中进行选择。
 
(Setq ss (ssget "all"
               (list (cons 0 "INSERT") (cons 2 "A1_TITLE_BLOCK") (cons 66 1))
      )
)

muthu123 发表于 2022-7-6 09:06:28

我们已经找到了通过以下代码解决这个问题的方法

(Setq ss (ssget "all"
               (list (cons 0 "INSERT") (cons 2 "A1_TITLE_BLOCK") (cons 66 1) (cons 410 (getvar "ctab")))
      )
)

Michaels 发表于 2022-7-6 09:13:15

给你。。。。。。
 

(Setq ss (ssget "_x"
               (list (cons 0 "INSERT") (cons 2 "A1_TITLE_BLOCK") (cons 66 1) (cons 410 (getvar "ctab")))
      )

)
 
迈克尔

alanjt 发表于 2022-7-6 09:17:05

尝试:
(cons 410
   (if (eq 1 (getvar 'CVPORT))
       (getvar 'CTAB)
       "Model"
   )
)

cadman6735 发表于 2022-7-6 09:20:23

大家好
 
浏览这篇文章,寻找“如何选择当前布局中的所有对象”
 
(cons 66 1)做什么?
 
我在“数字顺序组码”下的“帮助”菜单中找到了DXF代码
 
(集团代码66“Entities follow”标志(固定))我不确定这意味着什么以及1来自哪里。
 
谢谢

alanjt 发表于 2022-7-6 09:25:25

仅选择具有属性的块。

Lee Mac 发表于 2022-7-6 09:29:30

66=1当与插入一起使用时,属性块的过滤器。
 
编辑:没有看到Alan的帖子

alanjt 发表于 2022-7-6 09:36:00

那家伙看起来有点便秘。

cadman6735 发表于 2022-7-6 09:42:51

谢谢
 
我想我的过程应该是:看看选择了什么(cons 0“INSERT”)
然后,我应该去插入并查看那里的DXF代码来找到我的答案。
 
有时我最难找到自己的路
 
既然我在这里,还有一个问题:
OP使用(cons 410)获取(getvar“ctab”)的字符串
 
这410不是我看到的“插入”DXF代码的一部分,为什么要使用410?我还看到410-419、430-439和470-479
 
区别是什么?我如何知道使用哪一个?

BlackBox 发表于 2022-7-6 09:44:42

 
... 为什么不只是:
 

(cons 410 (getvar 'ctab))

 
...?
 
 
开发者帮助>>DXF参考>>实体>>实体的通用组码>>DXF代码410
页: [1] 2
查看完整版本: 如何仅选择块