使用VBA添加/删除样式替代
本人';我试图将一些旧的ABS/MEP图纸更新为新的办公标准,并希望使用VBA进行大量的自动神奇更新……但……我可以';t似乎不知道如何访问信息以应用或删除对特定系统的覆盖 ;本人';我想扩展字典在其中起了作用,但我不知道;我没有太多的经验,所以我#039;我正在寻求帮助 ;有人能给我指出正确的方向吗我认为墙壁、门和窗户基本上是一样的(只是名字不同),所以如果你';我有任何关于如何更改AEC对象的代码片段,I';如果你愿意,我想看看;我们愿意分享
以下是我';到目前为止
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
本没有#039;我不再经常来这里了,但我';我会打他,看看他是否';如果没有其他人插话,我来看看这条线 ;很肯定他';我们做了一些类似的事情。 *环顾四周*本谁  ; 本,又名巴什沃思,又名CSO,又名僵尸 ;我给他指了指那根线,这几乎是我能做的最多的了 ;我知道他';s与ADT对象进行了一些斗争。 谢谢 Matt,
我们使用ADT,现在是AutoCAD Architecture ;你们用Project Navigator吗 ;它有一个漂亮的项目标准功能,将在整个项目中更新样式
如果没有,您可以通过编程更改内容-甚至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") 你只需要知道每个集合支持的方法….oops-我刚刚在VBA论坛上发布了VLISP代码-抱歉 ;(无论如何,lisp更好:丑陋:)
我们没有';t使用项目导航器 ;我们仅使用图纸集管理器打印图形。 伙计,项目领航员是上帝 ;它是AutoDesk';这是自mirrtext sysvar以来最好的发明 
我强烈建议你花点时间看看它能做什么 ;如果您;有任何问题,只要问我';我试着回答。。
页:
[1]