找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 697|回复: 5

[求助]:用ActiveX如何获得DWG文件的是何版本?

[复制链接]
发表于 2003-9-15 10:11:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
因为近期在做一个小程序,用ActiveX(R2000)、VB。打开DWG文件,做一定处理后,然后保存,如果原DWG文件为R14,仍保存为R14,R2000保存为R2000,用Document.Save 只能保存为R2000,.SaveAs 需指定版本,这就要求知道DWG文件的版本(不是Application的版本)

谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 181个

财富等级: 日进斗金

发表于 2003-9-15 22:46:59 | 显示全部楼层
没找到,不过可以借助于文件的操作。
AutoCAD的文件中包含的文件的版本信息,而且位置是固定的,都在文件的前几个字节。比如:AC1015的就代表是R15版本的,可能是R2000或者R2002创建的。
关于文件的操作可以查看相关资料。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-9-16 16:16:28 | 显示全部楼层
我也想知道。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-3 11:51:02 | 显示全部楼层

Re: [求助]:用ActiveX如何获得DWG文件的是何版本?

最初由 zezh 发布
[B]因为近期在做一个小程序,用ActiveX(R2000)、VB。打开DWG文件,做一定处理后,然后保存,如果原DWG文件为R14,仍保存为R14,R2000保存为R2000,用Document.Save 只能保存为R2000,.SaveAs 需指定版本,这就要求知?.. [/B]


Try this code:
Public Function DrawingVersion(fileName As String) As String
    Dim fh  As Integer, version As String
    fh = FreeFile
    Open fileName For Input As #fh
    version = Input(6, #fh)
    Close #fh
    DrawingVersion = version
End Function
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-4 07:22:33 | 显示全部楼层
楼上的代码可行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2003-10-13 23:23:15 | 显示全部楼层
看来看去,就是efan2000 的意思.
我以为有什么好办法.


(setq q(open "e:\\work\\1.dwg" "r"))
(princ(substr (read-line q) 1 6))
(close q)



好了,其实要存成什么版本不要对话框选的.
上面知道了版本,改到要存成的对应版本.再直接document.save

;;;ThisDrawing.Application.preferences.OpenSave.SaveAsType
;;;改SaveAsType.
;;;下面改成14版本.
(setq obj(vla-get-OpenSave(vla-get-Preferences(vlax-get-acad-object))))
  (vla-put-SaveAsType obj acR14_DWG)
  (vla-save(vla-get-activedocument (vlax-get-acad-object)))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-29 13:31 , Processed in 0.403792 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表