找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1135|回复: 5

[每日一码] 不打开DWG,获取存盘版本的方法

[复制链接]

已领礼包: 13个

财富等级: 恭喜发财

发表于 2017-12-27 18:35:09 | 显示全部楼层 |阅读模式

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

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

×
[C++] 纯文本查看 复制代码
void GetDwgVersion()

{

  CFileDialog fileDlg(TRUE, _T("dwg"), NULL, OFN_HIDEREADONLY,

      _T("AutoCAD Drawing files (*.dwg) |*.dwg||"));

 

  if (IDOK != fileDlg.DoModal())

    return;

 

  AcDbDatabase *pDb = new AcDbDatabase(Adesk::kFalse, Adesk::kTrue);

  Acad::ErrorStatus es = pDb->readDwgFile(fileDlg.GetPathName());

  if (es != Acad::eOk)

  {

    delete pDb;

    acutPrintf("\nCannot read drawing file.\n");

    return;

  }

 

  // Get the DWG version number.

  AcDb::AcDbDwgVersion dwgVer = pDb->originalFileVersion();

 

  switch (dwgVer)

  {

  case AcDb::kDHL_1002:

    acutPrintf("\nAutoCAD 2.5\n");

    break;

  case AcDb::kDHL_1003:

    acutPrintf("\nAutoCAD 2.6\n");

    break;

  case AcDb::kDHL_1004:

  case AcDb::kDHL_1005:

    acutPrintf("\nRelease 9\n");

    break;

  case AcDb::kDHL_1006:

  case AcDb::kDHL_1007:

  case AcDb::kDHL_1008:

    acutPrintf("\nRelease 10\n");

    break;

  case AcDb::kDHL_1009:

  case AcDb::kDHL_1010:

  case AcDb::kDHL_1011:

    acutPrintf("\nR11 and R12\n");

    break;

  case AcDb::kDHL_1012:

    acutPrintf("\nR13\n");

    break;

  case AcDb::kDHL_1013:

    acutPrintf("\nR14 (mid version).\n");

    break;

  case AcDb::kDHL_1014:

    acutPrintf("\nR14 (final version).\n");

    break;

  case AcDb::kDHL_1500:

    acutPrintf("\nR15 development (Tahoe)\n");

    break;

  case AcDb::kDHL_1015:

    acutPrintf("\nR15 final version (AutoCAD 2000 or above).\n");

    break;

  default:

    acutPrintf("\nUnknown version.\n");

  }

 

  delete pDb;

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

已领礼包: 488个

财富等级: 日进斗金

发表于 2017-12-27 23:13:26 | 显示全部楼层

  1. (defun rrrr()
  2.         (setq file "g:\\Drawing2.dwg")
  3.         (setq h(open file "r"))
  4.         (setq line(read-line h))
  5.         (close h)
  6.         (substr line 1 6)
  7. )

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

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2017-12-27 23:50:55 | 显示全部楼层

这着厉害,版主,LISP读入DWG,速度怎么样?
还有,版主,能读出是否是教育版吗? 如果能读出,能写成非教育版不?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 394个

财富等级: 日进斗金

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

使用道具 举报

发表于 2017-12-31 22:11:14 | 显示全部楼层
初看代码应该是二楼的通用,read文件才能知道版本,如果是db读取,是否是高版本读不了。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2019-1-16 22:12:04 | 显示全部楼层
你用文本编辑器打开一个dwg文件,然后查看前六个字符就大概知道了,这个很简单
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-8 04:59 , Processed in 0.176919 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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