乐筑天下

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

更改多个文件中的光栅图像路径

[复制链接]

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2012-3-14 10:01:28 | 显示全部楼层 |阅读模式
Hi group
我需要移动数千个dwg文件。我在VB6中编写了一个例程,它遍历目录结构,找到每个文件,并使用objectdbx更改外部参照路径以匹配新位置。
我需要对光栅图像的路径做同样的处理。使用objectdbx我可以定位字典对象' ACAD _图像_字典'。我可以遍历dictionary对象并获得图像的名称、对象ID和句柄,但是不知道如何访问对象的属性。我可以访问的对象是acdbRasterImageDef对象。
这是一次性交易,我只需要使用这个例程一次来移动文件。我喜欢objectdbx接口的速度,但也愿意使用任何编程方法来完成这项工作。
我正在从xp迁移到Win7,从acad 2006迁移到acad 2012,使用vb6和VS2010,因此可以使用提到的任何语言或版本。我的lisp有点生疏,懂一点C++,正在学。net,但VB(a)是我最熟悉的。

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

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

使用道具 举报

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2012-3-14 14:33:27 | 显示全部楼层
好...我编写了另一个例程,它使用常规的Acad VB接口(不是objectdbx ),遍历图形,找到任何图像对象并更改它们的路径。它比使用objectdbx慢(大约需要3到4倍的时间),但它是可行的。
唯一的问题是其中一个图形弹出了一个对话框,提示用户单击“确定”按钮,程序停止等待回复。该对话框为“检测到较新版本的AEC对象”。除此之外,所有要求输入缺失线型的典型对话框都将被跳过。这个程序需要几个小时来运行,我计划在无人值守的情况下运行一整夜。
无论如何都要用程序清除这样的对话框吗?
回复

使用道具 举报

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2012-3-14 17:45:29 | 显示全部楼层
还行。。。现在我有一种感觉,我在自言自语。
有趣的是,我注意到测试了这个应用程序。当我返回并打开图形时,外部参照和图像的所有路径都已更改,但弹出了小气泡,并说外部参照需要重新加载。当我进入外部参照管理器时,所有路径都是正确的,acad已在新位置找到所有外部参照,但他们仍然说需要重新加载。我重新加载所有这些,保存绘图,关闭它并重新打开它,它说他们需要再次重新加载。直到我打开曾经的外部参照绘图并保存它,它才停止提示我重新加载它们。一个小小的烦恼,但仍然...
有人知道为什么吗?
评论?
回复

使用道具 举报

51

主题

341

帖子

5

银币

中流砥柱

Rank: 25

铜币
549
发表于 2012-3-15 08:14:01 | 显示全部楼层

首先,欢迎来到TheSwamp。
这些外部参照...当你打开它们时,他们给你任何警告吗?
我不知道你是否看过这个帖子,但我有自己的图像路径问题......
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2012-3-15 08:23:24 | 显示全部楼层
我们都有“问题”,杜布。
至于AEC消息,一旦您打开“永远不要再向我显示这条奇怪的消息”选项并单击“确定”,您就可以继续使用您的程序了,不应该再看到消息。
回复

使用道具 举报

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2012-3-16 13:08:09 | 显示全部楼层
是仅在该图形文件中,还是永远在具有较新AEC对象的每个图形中?
回复

使用道具 举报

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2012-3-16 13:45:07 | 显示全部楼层
谢谢欢迎。打开xrefs时没有警告,插入后更改图像路径类型也没有解决方案。
回复

使用道具 举报

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2012-3-30 16:11:17 | 显示全部楼层
嗨,伙计们
不知道是否有人会注意到这个,但我有一个问题。我编写了这个应用程序,测试了一段时间,运行良好,然后将一个用户文件移动到新服务器并运行该应用程序。它更改了1500多个绘图上所有xrefs和图像文件的路径,一切正常。对下一个用户文件、同一服务器、同一共享、同一版本做了同样的事情。这一次,我打开autocad,新路径正确插入,看起来正确,但xrefs和图像文件都显示“未找到”。
如果您浏览文件,则会插入相同的确切路径并正常工作。尝试了整个事情几次,各种方式的重新加载和我能想到的一切,但问题仍然存在。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2012-3-30 16:40:38 | 显示全部楼层
愚蠢的问题,我知道...但是为什么不直接使用参考管理器呢???
回复

使用道具 举报

3

主题

11

帖子

2

银币

初来乍到

Rank: 1

铜币
23
发表于 2012-4-2 10:14:24 | 显示全部楼层
还行。。。好吧,我犯了一个愚蠢的错误。正在将两个反斜杠插入到路径中间,而不是一个。有一个同事早些时候看过它,他也没有抓住它。但无论如何,一切都很好,处理了5000多张图纸,更改了所有外部参照和图像中的所有路径。最大的诀窍是捕获所有各种错误,合并图纸,较新版本,锁定图层等。感谢沼泽地里所有伸出援手的人!!!
你知道,我看了参考管理器(acad2006版本),无法弄清楚如何一次做一个绘图。也许我错过了它的工作原理,我需要做很多图纸。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-30 11:00 , Processed in 1.182377 second(s), 73 queries .

© 2020-2025 乐筑天下

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