日期:2014-05-16  浏览次数:20479 次

如何移植 Arx/ Dbx 模块为 Crx/DBX 模块来支持 AutoCAD 易(值得一看)

为了支持多平台,AutoCAD实现了大分离,我们两年前已经介绍了这个概念,但是很多人对怎么实现大分离还是不甚了解。我们开发部的吴忠写下了这篇教程,我只是负责发表一下,方便大家阅读。

附带有经典例子Polysamp的移植录像,在本文的最后提供了下载链接。

目录

1 概要

2 开发前提

3 Dbx/Arx 模块移植步骤

4 附录

Bundle 格式和简单说明

概要

AutoCAD 易只支持 Dbx Crx 模块,不支持Arx 模块,第三方应用需要把他们的应用程序先拆分成Dbx/Crx/Arx 模块或者Crx/Arx 模块

Dbx模块中一般是包含 database相关的,比如自定义实体。该模块会链接到 acdb**.dllCrx 模块中一般是包含一些 In-Canvas 相关的 UI,比如command 等等。当然,所有Dbx 中的内容也可以包含在Crx中。该模块会链接到 accore.dll

Arx

模块一般是包含一些 Out-Canvas相关的UI,比如 dialog,菜单等。该模块会链接到acad.exe。 同样的,所有Dbx,Crx中的内容也同样可以包含在 Arx模块中。但是如果第三方应用需要能被AutoCAD易支持,那么第三方应用需要把Out-Canvas UI相关的代码都拆分到 Arx 模块中,因为在 AutoCAD 易中,所有Out-Canvas UI 相关的内容都需要用JavaScript重新来实现。

开发前提

2013 版本的 ObjectArx

Dbx/Arx 模块移植步骤

1.

对于Dbx模块,我们不需要做任何处理。对于Arx