目录
- 支持的编程语言
- C++ 支持
- C# 支持
- Java支持
- Python支持
- JavaScript 支持
CAD Exchanger SDK 是一组跨平台库,目前支持下列配置。随着时间的推移,旧版本的编译器、体系结构或依赖的第三方库从主要支持级别变为次要支持级别,然后被弃用。已弃用的配置可以随时删除,无需任何额外的公告。
尽管我们尝试验证所有支持的配置(主要、次要甚至已弃用)的功能,但某些特定配置可能会暴露错误,我们无法通过合理的努力来修复或解决。
总体原则是主要配置包括两个最新版本(编译器、工具链、第三方库等)。旧版本被归类为辅助配置。
视窗 | Linux | 苹果系统 | ||
---|---|---|---|---|
操作系统版本 | Windows 7 (1)、Windows 8-11 或相应的 Windows Server 版本 | RHEL8.x、 Ubuntu 18.04、 Debian 10、 与内核 4.19.0-24-amd64 兼容的其他发行版。 | macOS 12.6.7(蒙特利)或更高版本 | macOS 13.4.1 (Ventura) 或更高版本 |
建筑学 | 英特尔 x86_64 | 英特尔 x86_64 | 英特尔 x86_64 | ARM64 |
C++ 编译器和运行时 | Visual Studio 2019 (vc14.2) 或更高版本 (2)、 Visual Studio 2017 (vc14.1)、 Visual Studio 2015 (vc14) | 海湾合作委员会8.3.0 | 铿锵14.0 | 铿锵14.2 |
C# | .NET 框架 3.5、.NET 6.0 | .NET 6.0 | 不适用 | 不适用 |
爪哇 | 1.8 或更高版本 | 1.8 或更高版本 | 1.8 或更高版本 | 1.8 或更高版本 |
Python | 3.7-3.11 | 3.7-3.11 | 3.7-3.11 | 3.7-3.11 |
笔记
(1) 已弃用的配置;
(2) 为 Visual Studio 2019 构建的 SDK 包的动态库 (*.dll) 可以安全地链接到使用更高版本的 Visual Studio 构建的客户应用程序。
CAD Exchanger具有高度可移植性,还支持Android,并且可以移植到iOS和其他平台。如果您有兴趣使用这些端口,请联系我们。
支持的编程语言
SDK本身是用C++编写的。C#、Java 和 Python 的公共 API 是通过语言绑定实现的,该语言绑定在底层调用 C++ 实现。
Web Toolkit是用 Javascript 编写的。
用户指南提供了 C++ 和 C# API 的文档。Python 和 Java 的用法可以从中派生。Java 和 Python 示例可以用作探索这些语言的 API 的起点。
C++ 支持
开发 C++ 应用程序时,请确保选择与您使用的 C++ 编译器版本相对应的 CAD Exchanger SDK 库。
所有 C++ 类都在cadex命名空间中定义。
每个 C++ API 类都在同名的头文件中定义,并且位于子目录中cadex
。例如,ModelData_Model类的头文件应包含如下:
在 Windows 上,提供了用于发布和调试模式的 C++ 库。调试库的名称中带有后缀“d”(例如 CadExIGESd.lib),位于./bind 和./libd 子目录中。在其他操作系统上,仅提供一组 C++ 库,可在发布和调试版本中使用。
在 Windows 上,当包含相应的头文件时,会自动完成与 C++ 导入库 (.lib) 的链接。例如,包含JT_Reader.hxx
将自动链接到 CadExJT.lib(在发布模式下)或 CadExJTd.lib(在调试模式下)。这可以避免显式链接(例如通过 Visual Studio 项目设置)。
在其他平台上,您可能需要显式链接到 SDK 库。
C# 支持
C# 库位于 ./csharp 子文件夹中。
C# API 大部分与 C++ API 保持一致。此规则的例外情况包括运算符(不能重载)和 setter(它们的名称以 Set 开头,而不是匹配 getter 的名称)。C# 程序集位于具有“Net”后缀的 .dll 中,例如 CadExIGESNet.dll 或 CadExCoreNet.dll。
在 Windows 上,C# 库是使用 .NET Framework 3.5 构建的,这提高了 Windows 和 .NET 版本之间的互操作性。用户的应用程序可以针对 .NET Framework 3.5 或更高版本进行构建。
所有 C# 类都在cadex命名空间中定义。
C# 库(例如 CadExCoreNet.dll)以发布模式链接到 C++ 库。
Java支持
Java 库位于 ./java 子文件夹中。
Java API 大部分与 C++ API 保持一致。异常与 C# API 相同。
开发 Java 应用程序时,除了 Java 库之外,您还必须使用本机 C++ 库。如果您已经在应用程序中使用其他 C++ 库,建议您使用与您的 C++ 编译器一致的 C++ SDK 库(即 vc14、vc12 等)。如果您不使用任何其他 C++ 库,则建议您使用与最新支持的 C++ 编译器版本相对应的 C++ 库(参见上文)。
所有 Java 类都在包中定义cadex
。
Java 库(例如CadExCoreJava.jar)没有到C++ 库的显式链接。必须在 Java 代码中指定依赖的本机 C++ 库才能在运行时加载。加载库的过程如下:
Python支持
可以使用以下命令从私有 pip 存储库安装 CAD Exchanger SDK 的 Python 版本:
要获取下载链接,请请求评估。获得评估后,可以在欢迎电子邮件或客户专区的许可证页面上找到完整的安装命令。
Python API 大部分与 C++ API 保持一致。Python 和 C++ API 之间的差异:
- 不支持嵌套类,因此它们是线性化的,并且将父类名称附加到其名称中,例如“ ModelData_Model::ElementVisitor -> ModelData_Model_ElementVisitor”
- 迭代器和列表类支持 Python 迭代器接口。
- 一些通过函数参数返回值的函数在 Python 中通常返回它们(如果需要多个返回值,则使用元组)。
- 支持迭代器的类现在具有 GetIterator 方法。
所有 Python 类都在其模块的命名空间中定义。
Python 模块(例如 CadExCore.py 和 _CadExCore.pyd)在发布模式下链接到 C++ 库。
JavaScript 支持
Web Toolkit以 Javascript 形式提供,并集成到 Web 应用程序的前端。
Web Toolkit 需要兼容 WebGL 画布的浏览器:
- 铬 58+
- 微软边缘 20+
- Safari 11+
- 火狐浏览器 52+
- 歌剧 45+