使用VBA添加/删除样式覆盖
我正在尝试将一些旧的ABS/MEP图纸更新为新的office标准,并希望使用VBA进行大量的自动更新……但……我似乎不知道如何访问信息以应用或删除对特定系统的覆盖。我想扩展词典在这方面起到了一定的作用,但我在这方面没有太多经验,所以我正在寻求帮助。有人能给我指出正确的方向吗我认为墙、门和窗基本上是一样的(只是名称不同),所以如果您有关于如何更改AEC对象的任何片段,如果您愿意分享,我想看看它们
以下是我到目前为止得到的信息。
Public Sub PipeSystemDefinitions()
Dim oPlumbingSysDef As AecbPlumbingSystemDef
Dim oPlumbingSysDefs As AecbPlumbingSystemDefs
Dim oDB As New AecbPlumbingDatabase
Dim oDictionary As AcadDictionary
oDB.Init ThisDrawing.Database
Set oPlumbingSysDefs = oDB.PlumbingSystemDefs
For Each oPlumbingSysDef In oPlumbingSysDefs
If oPlumbingSysDef.Name"Standard" Then
Debug.Print oPlumbingSysDef.Name
Set oDictionary = oPlumbingSysDef.GetExtensionDictionary
End If
Next oPlumbingSysDef
End Sub
**** Hidden Message ***** 本不再经常来这里了,但我会打电话给他,看看如果没有人插话,他是否会看看这个帖子。很确定他做过类似的事情。 *环顾四周*
哪个本??!? Ben又名Bashworth又名CSO又名CorpSellOut。我把他指向了我能做的最多的线程。我知道他在ADT对象上做了一些挣扎。 谢谢! Matt,
我们使用ADT,现在是AutoCAD Architecture。你们用项目导航器吗?它有一个漂亮的项目标准功能,可以在整个项目中更新样式
如果没有,您可以通过编程更改内容,甚至可以使用ObjectDBX。请注意以下几点:
(setq wallobj(vlax-ename->vla-object(car(entsel))))
(setqwallstyle(vlax-get wallobj 'style))
(vlax-dump-Object wallobj t)
(vlax-dump-Object wallstyle)
(vlax-put wallobj 'stylename "MyStyle")
你只需要知道每个集合支持的方法….
哎呀-我刚刚在VBA论坛上发布了VLISP代码-抱歉。(无论如何,lisp更好:丑陋:)
我们不使用项目导航器。 我们仅使用图纸集管理器来打印绘图。 伙计-项目领航员是上帝。这是自mirrtext sysvar以来AutoDesk最好的发明!
我强烈建议您花点时间看看它能做些什么。如果你有任何问题,就问我,我会尽力回答。。
页:
[1]