找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1613|回复: 30

[求助] 关于CAD版本存档问题

[复制链接]
发表于 2018-4-11 21:32:22 | 显示全部楼层 |阅读模式

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

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

×
请教给位大神:
2004cad如何通过程序或者某个指令将图档存成2000版本的dwg。(不要dxf)
                                                               感谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 19个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-4-11 21:56:57 | 显示全部楼层
vla-saveas函数,下面是帮助手册说明


SaveAs Method (ActiveX)

Saves the document to a specified file; no longer supported for menu groups.

Supported platforms: Windows only

Signature - Document
VBA:

object.SaveAs FileName, FileType [, SecurityParams]object
Type: Document

The object this method applies to.

FileName
Access: Input-only

Type: String

The full path and file name, or valid URL address, for the file. The active document takes on the new name.

FileType
Access: Input-only; optional

Type: AcSaveAsType enum

acR12_dxf: AutoCAD R12 DXF (*.dxf)
acR14_dwg: AutoCAD R14 DWG (*.dwg)
ac2000_dwg: AutoCAD 2000 DWG (*.dwg)
ac2000_dxf: AutoCAD 2000 DXF (*.dxf)
ac2000_Template: AutoCAD 2000 Drawing Template File (*.dwt)
ac2004_dwg: AutoCAD 2004 DWG (*.dwg)
ac2004_dxf: AutoCAD 2004 DXF (*.dxf)
ac2004_Template: AutoCAD 2004 Drawing Template File (*.dwt)
ac2007_dwg: AutoCAD 2007 DWG (*.dwg)
ac2007_dxf: AutoCAD 2007 DXF (*.dxf)
ac2007_Template: AutoCAD 2007 Drawing Template File (*.dwt)
ac2010_dwg: AutoCAD 2010 DWG (*.dwg)
ac2010_dxf: AutoCAD 2010 DXF (*.dxf)
ac2010_Template: AutoCAD 2010 Drawing Template File (*.dwt)
ac2013_dwg: AutoCAD 2013 DWG (*.dwg)
ac2013_dxf: AutoCAD 2013 DXF (*.dxf)
ac2013_Template: AutoCAD 2013 Drawing Template File (*.dwt)
acNative: A synonym for the latest drawing release. In this release, this value equals ac2013_dwg.
SecurityParams
Access: Input-only; optional

Type: Variant (a SecurityParams object)

Security settings for an encrypted drawing

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-4-11 21:59:23 | 显示全部楼层
  1. (defun c:Example_SaveAs()
  2.     ;; The following example saves current drawing as "test.dwg"
  3.     (setq acadObj (vlax-get-acad-object))
  4.     (setq doc (vla-get-ActiveDocument acadObj))

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

使用道具 举报

 楼主| 发表于 2018-4-11 23:13:40 来自手机 | 显示全部楼层
newer 发表于 2018-4-11 21:59

非常感谢newer大神的热心帮助,还有2个问题困扰:
1.程序的想法是将当前图档里所有按图框分类存成单个2000版本的dwg,目前好像是整个图档全部另存了,应该有ssget选择的部分代码

2.vla-saveas是另存到新的test.dwg,应该要像save命令一样到存储2000dwg,不能用另存改变了当前图档。

程序类似wlock命令一个一个循环存成单个文件,我写的这个程序目前就是用wblock写的,但是wblock不能改存的文件dwg版本。

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

使用道具 举报

 楼主| 发表于 2018-4-11 23:16:32 来自手机 | 显示全部楼层
Lisphk 发表于 2018-4-11 21:54
代码设置下系统的存档的版本,以后CAD存盘不都可以了。

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

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-4-12 00:38:35 | 显示全部楼层
啵浪 发表于 2018-4-11 23:16
怎么设置,不懂哎

就是修改这个了

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

使用道具 举报

 楼主| 发表于 2018-4-12 00:49:04 来自手机 | 显示全部楼层
Lisphk 发表于 2018-4-12 00:38
就是修改这个了

这个早改了2000版本,qsave和saveas有效,用程序分批存档是无效的

点评

你可以试下,我这里用WBLOCK保存后,打开,是2000的DWG  详情 回复 发表于 2018-4-12 01:32
你一楼贴并没说明是存局部的图形 1、vla-saveas 文件名你给当前图,就是保存的当前图 2、你说的,只能用WBLOCK保存SSGET选择集了,你可以设置当前存盘的格式,像HK贴的图,修改那个。 用 vlax-put-property  详情 回复 发表于 2018-4-12 01:30
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-4-12 01:30:35 | 显示全部楼层
啵浪 发表于 2018-4-12 00:49
这个早改了2000版本,qsave和saveas有效,用程序分批存档是无效的

你一楼贴并没说明是存局部的图形

1、vla-saveas 文件名你给当前图,就是保存的当前图

2、你说的,只能用WBLOCK保存SSGET选择集了,你可以设置当前存盘的格式,像HK贴的图,修改那个。

用 vlax-put-property 或者 直接的 vla-put-saveAsType 都行。

  1. (defun xd::doc:setSaveAsType (version)
  2.   (setq _preference (vla-get-Preferences (vlax-get-acad-object))
  3.         _opensave   (vla-get-opensave _preference)
  4.   )
  5.   (not
  6.     (vl-catch-all-apply (function (lambda nil (vla-put-saveastype _opensave version))))

  7.   )
  8. )


  1. (defun xd::doc:setSaveAsType (version / _preference _opensave)
  2.   (setq _preference (vla-get-Preferences (vlax-get-acad-object))
  3.         _opensave   (vla-get-opensave _preference)
  4.   )
  5.   (not
  6.     (vl-catch-all-apply
  7.       (function (lambda nil (vlax-put-property _opensave "saveastype" version)))
  8.     )
  9.   )
  10. )



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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-4-12 01:32:30 | 显示全部楼层
本帖最后由 newer 于 2018-4-12 01:33 编辑
啵浪 发表于 2018-4-12 00:49
这个早改了2000版本,qsave和saveas有效,用程序分批存档是无效的

你可以试下,我这里用WBLOCK保存后,打开,是2000的DWG

========================================================================

正在打开 AutoCAD 2000 格式的文件。
正在重生成模型。

AutoCAD Express Tools Copyright ?2002-2004 Autodesk, Inc.
晓东通用LISP函数库Build 2018.04.18加载完毕...
晓东工具箱菜单及实用程序加载完毕。
AutoCAD 菜单实用工具 已加载。*取消*
命令:
Autodesk DWG。  此文件上次由 Autodesk 应用程序或 Autodesk 许可的应用程序保存,是可靠的 DWG。



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

使用道具 举报

 楼主| 发表于 2018-4-12 22:18:20 | 显示全部楼层
本帖最后由 啵浪 于 2018-4-12 22:32 编辑

上面的L016.vlx采用的是wlock模式批量单个存档成2000版本的dwg,没有原代码。
命令(C:L016)   这个vlx程序是如何做的呢?

L016.rar

2.29 KB, 下载次数: 4

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

使用道具 举报

 楼主| 发表于 2018-4-12 22:43:48 来自手机 | 显示全部楼层
newer 发表于 2018-4-12 01:32
你可以试下,我这里用WBLOCK保存后,打开,是2000的DWG

=========================================== ...

我的cad2004试过的,wblock自动存的是2004的dwg,这个wblock存在程序运行中是没有提供版本输入的接口

L016.vlx运行后,ssget选择到需要存盘的A3或者A4块,就开始批量存档,每存一个档会显示wlock的实时预览,随便打开一个程序存的图都是显示2000版的dwg

所以我想我这个程序应该是利用wlock来实现的批量存2000版本dwg的

点评

机器没2004, 我用的2008以上的版本,只要系统保存图形版本设置成2000,WBLOCK就是2000版本的。 你可在你机器测试下, 1、确实是设置了保存2000版本, 但WBLOCK不行。 2、使用VLA-SAVEAS 指定版本号,你既然是  详情 回复 发表于 2018-4-12 23:01
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-4-12 23:01:53 | 显示全部楼层
啵浪 发表于 2018-4-12 22:43
我的cad2004试过的,wblock自动存的是2004的dwg,这个wblock存在程序运行中是没有提供版本输入的接口

...

机器没2004,
我用的2008以上的版本,只要系统保存图形版本设置成2000,WBLOCK就是2000版本的。

你可在你机器测试下,
1、确实是设置了保存2000版本, 但WBLOCK不行。
2、使用VLA-SAVEAS 指定版本号,你既然是WBLOCK,肯定是外部的文件,名字肯定和本图不一样。
    先把不是WBLOCK选择集的,临时删除,把需要的VLA-SAVEAS出去,然后在ENTDEL下实体,恢复。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-12 23:38:07 来自手机 | 显示全部楼层
newer 发表于 2018-4-12 23:01
机器没2004,
我用的2008以上的版本,只要系统保存图形版本设置成2000,WBLOCK就是2000版本的。


既然2004可以实现wblock存2000的dwg,你的2008应该是一样的吧,我的2004wblock以后,打开的是2004.dwg

1.确实一直按照楼上的hk一样,options里设置默认存档格式为2000版本,好像这个设置只针对qsave和saveas指令有效

2.不是外部的文件是当前的图档,是一个总图,要将当前图档里面选择到的A3和A4块分类存档,图档名字按照块里面的属性文字存的

你可以下载楼上的vlx试试看,命令(c:L016),选择多个含有A4的图块,运行过程中没有删除当前图档里面的东西再还原什么的,它只是批量一个一个wblock存档,只是格式他能定档到2000版本

点评

回答下你上面 1 的问题 除了2004,我没有, 其他CAD,只要保存设置的是 2000, WBLOCK就一定是2000. 所以,我不确定是2004就是这样,还是你那环境有什么其他不同。 另外,你都2004够低了,为什么保存一定要  详情 回复 发表于 2018-4-12 23:47
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 12:43 , Processed in 0.358234 second(s), 65 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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