Bobzy20 发表于 2022-7-8 13:09:59

使用选择多个块

我们经常使用MicroStation绘制图形,然后导出到DWG,图形中有数百个块,尽管它们是同一个块,但块名略有不同。
 
块名:“Smart Solid_386”(386末尾的数字发生变化)。
 
在我们的绘图中有数百个这样的块,我想这是一种选择所有这些块并删除它们的方法。
 
我似乎找不到使用“快速选择”的方法,也不确定如何使用“过滤器”?
 
对于某些人来说,这可能是一个简单的问题,因为我相信这之前已经提过了,但我似乎找不到答案。
 
任何帮助都会很好。
 
上下快速移动

tombu 发表于 2022-7-8 13:19:21

口齿不清

(sssetfirst nil (ssget "X" '((0 . "INSERT")(2 . "Smart Solid_*")))应该这样做。
FILTER命令使用“Block Name=Smart Solid_*”也可以很好地实现这一点,其优点是可以保存为命名过滤器,也可以在其他图形中使用。四分之一世纪前,当我开始学习r12时,我经常使用过滤器。
 
没有什么比清理Microstation转换的图形更让我讨厌的了。祝你好运!

Bobzy20 发表于 2022-7-8 13:21:20

谢谢
 
我附上了一个样本绘图,你可以尝试你的脚本,也可以尝试过滤器选项。如果你看CT。附加jpg截图,我已选择要删除的块。虽然我认为它们有一个相似的名字,但它位于主灯座的中间!然而,我想要删除的块中有另一个块,具有不同的名称,也许我们可以使用这个块名称来删除它们?
 
抱歉,这太让人困惑了!
 

tombu 发表于 2022-7-8 13:31:24

对不起,我在上面的代码中去掉了右括号,在连接的CT上测试后进行了更新。图纸。
我附加了一个干净的版本,删除了块,由于其他块引用了块,我不得不清除了两次块。

Bobzy20 发表于 2022-7-8 13:33:42

谢谢,我该如何运行代码?
 
加载后我会键入什么?

tombu 发表于 2022-7-8 13:39:25

将代码复制并粘贴到命令行,然后输入以显示所有选定的块。使用保存的过滤器也可以工作,但选择集不会显示“选定”。只需开始擦除并在“Select objects:”提示下输入L(Last),然后再次输入。

BIGAL 发表于 2022-7-8 13:44:28

可能未经测试。
 

(setq ss (ssget "X" (list (cons 0 "INSERT")(cons 2(getstring "Type block names")))))

you can type solid_mesh*,solid-face*,solid-red* etc so multiple block names in one go

type Erase !ss <enter>

SLW210 发表于 2022-7-8 13:50:18

QSELECT>块参照>名称>*通配符匹配>智能实体*

tombu 发表于 2022-7-8 13:58:34

完全忘记了“*通配符匹配”运算符。
 
那绝对是最简单的方法!

hasanarzuman 发表于 2022-7-8 14:04:35

这是一种很好的方式,但我无法填补价值空间。我看不到“智能固体”
页: [1] 2
查看完整版本: 使用选择多个块