Herewegoagain 发表于 2022-7-6 11:53:17

 
对不起,可能是我的描述,我想我的意思是-我有一个属性集合作为一个块,我想添加另一个属性。然后我需要在350张图纸上应用这个。
 
我有一点阅读要做,我可以看到,但当我想我知道我在说什么的时候,我会看看ScriptPro和你的编剧李Mac。
 
再次感谢大家的帮助
 
安迪

alanjt 发表于 2022-7-6 11:55:16

哦,我知道,我只是想说明一下这些信息。根本不反对编剧。

dbroada 发表于 2022-7-6 11:59:52

我认为向现有块添加属性可能超出了脚本程序的能力(李知道我有多喜欢脚本)。
 
然而,你的350个街区都一样吗?如果它们牢固地回到了脚本领域,如果它们是许多不同的块,每个块都需要添加相同的附加属性,则返回到LISP(或VBA)。

alanjt 发表于 2022-7-6 12:03:04

 
见鬼,如果是同一个块,只需部分插入块的新修改版本,以重新定义旧块并同步旧块。

dbroada 发表于 2022-7-6 12:05:24

这就是我问的原因。如果是同一块,那就简单了。如果每个图形中的块不同,那么在脚本中就不那么容易了。

alanjt 发表于 2022-7-6 12:09:52

 
我知道。我只是补充一下你说的话。

Herewegoagain 发表于 2022-7-6 12:10:37

 
是的,这都是相同的块,图纸是平面图,是房间数据块/属性,包含房间名称、编号、面积等,我想在中添加一个楼层属性。这是否意味着可能有更容易的解决方案?就像我说的那样,通过使用bedit和attsync,我可以轻松地在每个图形中单独完成,但我想知道是否可能有某种全局修复,尽管我不知道自己在说什么!!

Lee Mac 发表于 2022-7-6 12:15:39

Dave(很可能还有Alan)会纠正我的错误,但我认为也许可以根据需要创建块,将此块插入到图形中(它应该与旧块同名),然后attsync更新新属性。
 
可能是这样的:
 
如果上述方法有效,我可以修改它以在脚本中使用。
 

alanjt 发表于 2022-7-6 12:17:52

 
英雄联盟
 
如果块已经存在,vla insertblock不会重新定义它。它将只使用现有的定义。
 
尝试以下操作:
忘记解释:
“=”将告诉AutoCAD重新定义现有定义(如果不存在,则仍将继续),如果在插入块后向命令发送nil,则它将在不插入实际块的情况下结束命令。定义将在图形中,但您不会插入实际的块。

stevesfr 发表于 2022-7-6 12:21:53

 
李,上面的lisp在这里很好用。
1-在新图形中调用具有属性的原始块
2-使用Bedit添加一个或多个附加属性
3-关闭Bedit窗口
4-输入attsync
5-Wblock修改块以覆盖原始块
6-调用带有待更新块的dwg
7-加载和运行ReDef
8-一起拍手!!!!!!!
 
史蒂夫
页: 1 [2]
查看完整版本: 我需要Lisp程序吗?