[App Sharing] 图纸(.exb,.dwg)版本擦看工具。
Tofloor
default avatar
相信
deepin
2021-07-16 18:57
Author

在CAXA CAD论坛里,回答问题的坛友撸码出来的小工具。相当不错。

已经建议适配UOS、deepin了,但还是希望官方能联系一下,这样让开发者感觉更有份量。

http://www.caxa.com/forum/forum.php?mod=viewthread&tid=141594#lastpost

Reply Favorite View the author
All Replies
司南
deepin
2021-07-16 19:33
#1

dwg文件的版本我刚才用浩臣CAD的输出文件测试了一下,得到如下规律:

不同版本的dwg文件,头部数据不一样,如下所示:

2000:AC1015
2004:AC1018
2007:AC1021
2010:AC1024
2013:AC1027
2018:AC1032
R14:AC1014

可以根据这个规律来判断是哪个版本的,但是你说的.exb的文件,我找不到,所以无法进行测试。当然如果你可以提供这样一个测试的文件给我我帮你找规律也行。

这是测试用的文件:

ps:这是确实是个小程序。

Reply View the author
司南
deepin
2021-07-16 21:12
#2

这是我写的程序(包含源代码),因为我手头没有.ecb文件可供测试,所以这个程序只能判断dwg文件的版本,楼主你可以在你的电脑上试试

https://wwa.lanzoui.com/b0aa13lri
密码:fhna

使用方法,终端执行命令:

./dwg_v -i XXXX.dwg

XXXX.dwg为当前目录下的一个dwg文件

Reply View the author
相信
deepin
2021-07-18 18:12
#3
司南

这是我写的程序(包含源代码),因为我手头没有.ecb文件可供测试,所以这个程序只能判断dwg文件的版本,楼主你可以在你的电脑上试试

https://wwa.lanzoui.com/b0aa13lri
密码:fhna

使用方法,终端执行命令:

./dwg_v -i XXXX.dwg

XXXX.dwg为当前目录下的一个dwg文件

.exb格式是国内CAXA CAD的独家格式,国内制造业中的汽车配件厂用的非常多,因为太符合国内专业制图习惯了。

另外CAXA CAD这个软件在应用商店中可以下载安装,虽说是Wine的,安装目录中有sample文件夹,里面就是样咧样本文件。

另外非常感谢辛苦撸码!我试试看。

Reply View the author
司南
deepin
2021-07-18 18:16
#4
相信

.exb格式是国内CAXA CAD的独家格式,国内制造业中的汽车配件厂用的非常多,因为太符合国内专业制图习惯了。

另外CAXA CAD这个软件在应用商店中可以下载安装,虽说是Wine的,安装目录中有sample文件夹,里面就是样咧样本文件。

另外非常感谢辛苦撸码!我试试看。

好的,我晚上回去试试

Reply View the author
司南
deepin
2021-07-18 19:28
#5
相信

.exb格式是国内CAXA CAD的独家格式,国内制造业中的汽车配件厂用的非常多,因为太符合国内专业制图习惯了。

另外CAXA CAD这个软件在应用商店中可以下载安装,虽说是Wine的,安装目录中有sample文件夹,里面就是样咧样本文件。

另外非常感谢辛苦撸码!我试试看。

sample我也不知道哪个文件对应哪个版本呀。

你使用caxa这个软件吗?可以导出为各个版本的测试文件,标注好版本信息发给我吗?

Reply View the author
司南
deepin
2021-07-18 20:31
#6

我用那个工具查看了一下,Sample文件夹里大部分是2009版本的,只有一两个是不同版本。

其实主要还是,样本太少,我找不到规律导致的。,exb格式没有比较显眼的标注版本的数据,我还得靠猜的

Reply View the author
司南
deepin
2021-07-20 00:57
#7
相信

.exb格式是国内CAXA CAD的独家格式,国内制造业中的汽车配件厂用的非常多,因为太符合国内专业制图习惯了。

另外CAXA CAD这个软件在应用商店中可以下载安装,虽说是Wine的,安装目录中有sample文件夹,里面就是样咧样本文件。

另外非常感谢辛苦撸码!我试试看。

已经更新了一版,花了几个晚上终于弄清楚一点exb文件的版本如何判断了。

还是之前的文件链接,有一个新版的程序和代码,里面还有一些测试文件。现在程序可以判断2013、2015、2018版本的exb文件(因为我安装的caxa只能导出这三个版本的exb文件)

Reply View the author
字甲达宾
deepin
2021-07-20 21:50
#8

$ file *


2013_01.exb:   Composite Document File V2 Document, Little Endian, Os: Windows, Version 10.0, Code page: 1200, Locale ID: 2052, Author: yinx
2013_02.exb:   Composite Document File V2 Document, Little Endian, Os: Windows, Version 10.0, Code page: 1200, Locale ID: 2052, Author: yinx
2015_01.exb:   Composite Document File V2 Document, Little Endian, Os: Windows, Version 10.0, Code page: 1200, Locale ID: 2052, Author: yinx
2015_02.exb:   Composite Document File V2 Document, Little Endian, Os: Windows, Version 10.0, Code page: 1200, Locale ID: 2052, Author: yinx
2018_01.exb:   Composite Document File V2 Document, Little Endian, Os: Windows, Version 10.0, Code page: 1200, Locale ID: 2052, Author: yinx
2018_02.exb:   Composite Document File V2 Document, Little Endian, Os: Windows, Version 10.0, Code page: 1200, Locale ID: 2052, Author: yinx


test_2000.dwg: DWG AutoDesk AutoCAD 2000/2002
test_2004.dwg: DWG AutoDesk AutoCAD 2004/2005/2006
test_2007.dwg: DWG AutoDesk AutoCAD 2007/2008/2009
test_2010.dwg: DWG AutoDesk AutoCAD 2010/2011/2012
test_2013.dwg: DWG AutoDesk AutoCAD 2013/2014
test_2018.dwg: data
test_R14.dwg:  DWG AutoDesk AutoCAD Release 14

Reply View the author
司南
deepin
2021-07-21 22:15
#9

完成了!楼主,我刚上传了最新的cad版本检测程序。完整支持了exb的文件格式。我想应该可以结束咯

https://wwa.lanzoui.com/b0aa13lri
密码:fhna

Reply View the author
字甲达宾
deepin
2021-07-22 23:58
#10
司南

完成了!楼主,我刚上传了最新的cad版本检测程序。完整支持了exb的文件格式。我想应该可以结束咯

https://wwa.lanzoui.com/b0aa13lri
密码:fhna

 EXB 版本 2009-2018的识别码,应是

偏移 0x83a ,10进制的2106 的 版本数值。如:

1.0 = v2009

1.1 = v2011

1.2 = 2013

1.3 = 2015

1.5=  v2018

提示:再回退一点,0x810, 即10进制的 2064,看到 CAXA Draft Document 字样

Reply View the author
司南
deepin
2021-07-23 11:09
#11
字甲达宾

 EXB 版本 2009-2018的识别码,应是

偏移 0x83a ,10进制的2106 的 版本数值。如:

1.0 = v2009

1.1 = v2011

1.2 = 2013

1.3 = 2015

1.5=  v2018

提示:再回退一点,0x810, 即10进制的 2064,看到 CAXA Draft Document 字样

感谢,我今天下班后再改一下代码

有没有更早一点版本的判断方法呢?

Reply View the author
司南
deepin
2021-07-23 20:16
#12

现在版本到了2.1了呢

https://wwa.lanzoui.com/b0aa13lri
密码:fhna

Reply View the author
字甲达宾
deepin
2021-07-23 22:59
#13
司南

现在版本到了2.1了呢

https://wwa.lanzoui.com/b0aa13lri
密码:fhna

# CAXA EXB 电子图板 (CAXA EXB Draft Document) 不同文件版本的文件头识别码

  2021-7-23

## 1. 2007年及更早的版本 (v2/xp/1997/2005/2007)

  * 偏移 (Offset): 0x11 (即10进制数字 17)

  ------+---------------------------------+--------+---------------

  版本  |       (文件头-参考文本)        | Offset | 16进制识别码

  ------+---------------------------------+--------+---------------

  1997  |  VERSION.DESIGN2.0_FILE_FORMAT.   (0)

  v2    |  .CaxaEbForWindows.             (0x11)   \0x06

  xp    |  .CaxaEbForWindows.             (0x11)   \0x1A

  2005  |  .CaxaEbForWindows$             (0x11)   \0x24

  2007  |  .CaxaEbForWindows.             (0x11)   \0x2E

  ------+---------------------------------+--------+---------------

Reply View the author
字甲达宾
deepin
2021-07-23 23:07
#14

顺手写了个 CAXA EXB 的 MimeType 的 XML 和各版本 EXB 的图标。

2021-7-23

--------------

文件名:caxa-mimetypes_2018-1_all.deb

文件大小:60 K

城通网盘:

https://z701.com/d/30646948-44322665-f2f49a
(访问密码:6859)

--------------

 

附效果图

友情提示:

* 注意看最后面的一个 选中的文件——不带扩展名,也能自动识别版本!

* 指向文件时,文件管理器的状态栏,会显示 EXB 格式版本信息。

 

* 技术原理 (自定义 CAXA EXB 各版本文件图标)

  3.1 先编写 MimeType 的 XML 文件(纯文本格式)。
    /usr/share/mime/packages/caxa-exb_2018.xml

     具体语法可参考系统内置的    freedesktop.org.xml ,里面包含了大量文件 MIME
     类型定义。

        /usr/share/mime/packages/freedesktop.org.xml

  3.2 以 root 用户身份,运行命令(或在命令前加 sudo)

    update-mime-database /usr/share/mime

    (命令运行时间可能需要 20-30秒左右,或者更久)。

  3.3 打开文件管理器,查看某个 EXB 文件,即可显示图标效果。

 

Reply View the author
New Thread

Popular Events

More
国际排名
WHLUG