jbuzbee 发表于 2008-3-18 16:42:27

使用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

jbuzbee 发表于 2008-3-18 17:01:14

本没有#039;我不再经常来这里了,但我'我会打他,看看他是否'如果没有其他人插话,我来看看这条线 很肯定他'我们做了一些类似的事情。

jbuzbee 发表于 2008-3-18 20:28:26

*环顾四周*本谁&nbsp 

jbuzbee 发表于 2008-3-18 21:06:01

本,又名巴什沃思,又名CSO,又名僵尸 我给他指了指那根线,这几乎是我能做的最多的了 我知道他's与ADT对象进行了一些斗争。

jbuzbee 发表于 2008-3-18 21:08:20

谢谢

jbuzbee 发表于 2008-3-19 11:50:30

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更好:丑陋:)

jbuzbee 发表于 2008-3-19 15:55:53


我们没有't使用项目导航器 我们仅使用图纸集管理器打印图形。

jbuzbee 发表于 2008-3-19 17:28:15

伙计,项目领航员是上帝 它是AutoDesk'这是自mirrtext sysvar以来最好的发明&nbsp
我强烈建议你花点时间看看它能做什么 如果您;有任何问题,只要问我'我试着回答。。
页: [1]
查看完整版本: 使用VBA添加/删除样式替代