乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 120|回复: 7

使用VBA添加/删除样式覆盖

[复制链接]

55

主题

197

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
416
发表于 2008-3-18 16:42:27 | 显示全部楼层 |阅读模式
我正在尝试将一些旧的ABS/MEP图纸更新为新的office标准,并希望使用VBA进行大量的自动更新……但……我似乎不知道如何访问信息以应用或删除对特定系统的覆盖。我想扩展词典在这方面起到了一定的作用,但我在这方面没有太多经验,所以我正在寻求帮助。有人能给我指出正确的方向吗
我认为墙、门和窗基本上是一样的(只是名称不同),所以如果您有关于如何更改AEC对象的任何片段,如果您愿意分享,我想看看它们
以下是我到目前为止得到的信息。
  1. Public Sub PipeSystemDefinitions()
  2.     Dim oPlumbingSysDef As AecbPlumbingSystemDef
  3.     Dim oPlumbingSysDefs As AecbPlumbingSystemDefs
  4.     Dim oDB As New AecbPlumbingDatabase
  5.     Dim oDictionary As AcadDictionary
  6.    
  7.     oDB.Init ThisDrawing.Database
  8.     Set oPlumbingSysDefs = oDB.PlumbingSystemDefs
  9.    
  10.     For Each oPlumbingSysDef In oPlumbingSysDefs
  11.         If oPlumbingSysDef.Name  "Standard" Then
  12.             Debug.Print oPlumbingSysDef.Name
  13.             Set oDictionary = oPlumbingSysDef.GetExtensionDictionary
  14.         End If
  15.     Next oPlumbingSysDef
  16. End Sub

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

55

主题

197

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
416
发表于 2008-3-18 17:01:14 | 显示全部楼层
本不再经常来这里了,但我会打电话给他,看看如果没有人插话,他是否会看看这个帖子。很确定他做过类似的事情。
回复

使用道具 举报

55

主题

197

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
416
发表于 2008-3-18 20:28:26 | 显示全部楼层
*环顾四周*
哪个本??!?
回复

使用道具 举报

55

主题

197

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
416
发表于 2008-3-18 21:06:01 | 显示全部楼层
Ben又名Bashworth又名CSO又名CorpSellOut。我把他指向了我能做的最多的线程。我知道他在ADT对象上做了一些挣扎。
回复

使用道具 举报

55

主题

197

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
416
发表于 2008-3-18 21:08:20 | 显示全部楼层
谢谢!
回复

使用道具 举报

55

主题

197

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
416
发表于 2008-3-19 11:50:30 | 显示全部楼层
Matt,
我们使用ADT,现在是AutoCAD Architecture。你们用项目导航器吗?它有一个漂亮的项目标准功能,可以在整个项目中更新样式
如果没有,您可以通过编程更改内容,甚至可以使用ObjectDBX。请注意以下几点:
  1. (setq wallobj(vlax-ename->vla-object(car(entsel))))
  2. (setq  wallstyle(vlax-get wallobj 'style))
  3. (vlax-dump-Object wallobj t)
  4. (vlax-dump-Object wallstyle)
  5. (vlax-put wallobj 'stylename "MyStyle")

你只需要知道每个集合支持的方法….
哎呀-我刚刚在VBA论坛上发布了VLISP代码-抱歉。(无论如何,lisp更好:丑陋:)
回复

使用道具 举报

55

主题

197

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
416
发表于 2008-3-19 15:55:53 | 显示全部楼层

我们不使用项目导航器。 我们仅使用图纸集管理器来打印绘图。
回复

使用道具 举报

55

主题

197

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
416
发表于 2008-3-19 17:28:15 | 显示全部楼层
伙计-项目领航员是上帝。这是自mirrtext sysvar以来AutoDesk最好的发明!
我强烈建议您花点时间看看它能做些什么。如果你有任何问题,就问我,我会尽力回答。。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-5 02:41 , Processed in 0.959765 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表