0、基本概念
CAD
CAD 是计算机辅助设计(Computer-Aided Design)的缩写,指的是使用计算机技术和软件工具来辅助进行设计和绘图的过程。
CAD 广泛应用于各种工程和设计领域,如建筑设计、机械工程、电子设计、航空航天、汽车设计等。它取代了传统的手工绘图方式,提供了更高效、精确和灵活的设计方法。
CAD 软件
目前市面上有许多 CAD 软件,下面介绍几个比较流行的 CAD 软件:
图标 | 软件名称 | 出品商 | 性质 | 介绍 | 主要应用领域 |
---|---|---|---|---|---|
AutoCAD | Autodesk | 商业付费软件 | AutoCAD是由Autodesk开发的最著名和广泛使用的CAD软件之一。它提供了广泛的设计工具和功能,可用于2D和3D设计、建模、绘图和注释等。 | 建筑设计和土木工程领域 | |
SolidWorks | 达索系统 | 商业付费软件 | SolidWorks是一款专业的三维CAD软件,适用于机械设计、工程和制造。它提供了强大的建模工具、装配模拟、工程分析和绘图功能。 | 机械设计和制造领域 | |
CATIA | 达索系统 | 商业付费软件 | CATIA是由达索系统公司开发的综合性CAD/CAM/CAE软件。它广泛应用于航空航天、汽车、工程和其他行业,提供了全面的设计和分析工具。 | 航空航天、汽车和工程领域 | |
… |
eDrawings
eDrawings 是一款由 SolidWorks 开发的用于查看和共享 CAD 文件的文件查看器。通过 eDrawings,您可以审查 2D 和 3D 设计。该工具使任何人都可以使用3D设计数据进行沟通和协作,以最大限度地减少错误并更快地将设计推向市场。
eDrawings Viewer/Professional/Publisher
这三款软件都属于 eDrawings 系列产品。eDrawings Viewer 提供了基本的查看功能;eDrawings Professional 提供了更多的高级功能;eDrawings Publisher 则可以用来从其他 CAD 软件中创建 eDrawings 文件
eDrawings Viewer | eDrawings Professional | eDrawings Publisher |
---|---|---|
免费软件,用于查看和打印多种格式的 CAD 模型文件,还提供了基本的测量功能。通过 eDrawings Viewer 我们可以很容易地使用 3D 产品设计数据进行沟通和协作 | 付费软件,在 eDrawings Viewer 的基础上提供了更多的功能。例如:支持在模型文件中添加批注和标注,支持查看模型文件的质量分析结果,支持使用增强现实(AR)和虚拟现实(VR)查看模型文件 | 一个插件,可以用来从其他 CAD 软件中创建 eDrawings 文件。例如:Autodesk Inventor®、CATIA® V5、Pro/Engineer®、PTC Creo®、Simens NX®、SketchUp®、Solid Edge® |
Win IOS|Android | Win|Mac IOS|Android | Win|Mac 不支持移动端 |
eDrawings 支持的文件类型
文件类型(版本) | 描述 |
---|---|
ACIS(截止到 2018.1(R28)) |
|
AutoCAD®(截止到 AutoCAD 2018) |
|
Autodesk® Inventor®(截止到 2018) |
|
CATIA V5(截止到 V5-6 R2018(R28)) |
|
CATIA V5 [3DXML](截止到 V5-6 R2018(R28)) | .3DXML |
eDrawings(截止到 eDrawings 2019) |
|
JT(截止到 v10.0) |
|
Parasolid(截止到 v30.1) |
|
Solid Edge(V19-20,ST - ST10) |
|
SOLIDWORKS(截止到 SOLIDWORKS 2019) |
|
Unigraphics-NX(11.0 到 12.0) | .prt |
ActiveX 控件
ActiveX控件是一种可重用的软件组件,用于在Microsoft Windows操作系统上创建交互式应用程序。它们是基于微软的ActiveX技术,是一种面向对象的软件组件模型。
ActiveX控件可以包含一系列功能和用户界面元素,例如按钮、文本框、图像显示、多媒体播放器等。这些控件可以被其他应用程序调用和使用,以实现各种功能。
通过使用ActiveX控件,开发人员可以利用预先编写好的控件来扩展和增强应用程序的功能,而不必从头开始编写代码。这样可以节省时间和资源,并提高开发效率。
ActiveX控件通常以DLL(动态链接库)文件的形式存在,可以通过注册在系统中进行部署。一旦安装和注册,其他应用程序就可以通过调用控件的接口来使用其功能。
需要注意的是,ActiveX控件在过去主要用于Internet Explorer浏览器上的网页应用程序。然而,随着技术的发展和安全性的考虑,现代浏览器对ActiveX的支持已经减少。因此,现在更常见的是使用其他技术和标准,如HTML5和JavaScript来创建交互式Web应用程序。
1、引言
想要在 Winform 中展示三维模型,通常可以 嵌入 eDrawings 窗口 或者 嵌入 Unity 场景。本文主要探讨如何通过 eDrawings 提供的 API 向 Winform 中添加 EModelView ActiveX 控件以显示 CAD 三维模型。
2、本文使用到的相关软件或产品
- Windows 10 专业版 22H2
- Visual Studio Community 2022 - 17.6.2
- Microsoft .NET Framework 版本 4.8.04084
- 「.NET 桌面开发」工作负荷
- eDrawings2023 sp02 31.2.0.0035
3、下载并安装 eDrawings Viewer
-
要使用 eDrawings 提供的 API ,需要先下载 eDrawings 软件。首先前往下载页面,笔者使用的是 Windows 操作系统,点击 Win Users 下载 Windows 版本的 eDrawings Viewer:
-
找到 eDrawings (64-bit),点击左侧的下载按钮:
-
下载完成后双击运行安装向导程序,点击下一步:
-
来到注册页面,如果有许可证可以输入许可证;但笔者没有,就直接点击下一步了:
-
点击“安装”以开始安装:
-
完成页面,点击“完成”:
-
由于勾选了“启动 eDrawings”所以关闭安装向导后会自动启动 eDrawings,第一次启动会进入产品注册页面,正常填写您的注册信息即可:
🌐 这一步如果无法在线注册的话可能会要求发送电子邮件到swk.edrw-registration@3ds.com,同样正常填写您的注册信息并生成 xml 文件,然后将生成的 xml 文件添加到邮件附件发送给官方,几分钟后就可以收到注册成功的回复了!
-
提交注册信息后官方会发送验证码到注册邮箱:
-
验证成功后,即可进入软件,我们可以尝试先用 eDrawings 打开一个 solidworks 模型。
如果您还没有任何 CAD 三维模型,可以前往这里下载笔者演示使用的这个轴承模型。
-
第一次打开 CAD 模型文件会提示安装 SOLIDWORKS 文档管理程序,点击“下载并安装”即可:
-
下载完成后双击运行安装向导程序,点击下一步:
-
点击“安装”:
-
安装完成后,点击“结束”以退出安装向导:
-
回到 eDrawings,点击警告对话框的“好的,我现在已安装。”按钮:
-
然后 solidworks 模型就顺利打开啦,可以看到没有任何问题:
eDrawings 默认使用的“选择”工具;在切换为“平移”工具后,可以通过鼠标左键平移画面以及通过鼠标中键旋转画面。
第四、五、六章主要参考:https://help.solidworks.com/2023/english/api/emodelapi/GettingStarted-emodelapi.html
4、手动生成 eDrawings x64 主互操作程序集DLL
您必须手动生成 Microsoft Visual Studio C# Windows 窗体应用所需要的64位主互操作程序集DLL,因为 Microsoft Visual Studio 是一个32位应用。
💬 值得一提的是,在 Visual Studio 2022 之前,Microsoft Visual Studio 的确是一个32位应用;但是最新的 Visual Studio 2022 已经全面转换为64位应用程序了(了解更多…)。所以如果您使用的是最新的 Visual Studio 2022,那您可以直接跳过第四章。
-
如果您还没有安装 eDrawings,请先前往安装 eDrawings 20nn x64 版本。
-
在您的计算机上定位到 tlbimp.exe:
- .NET Framework 4 及以后,使用 CLR 4.0,路径为:
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools
- .NET Framework 3.5 及之前,使用 CLR 2.0,路径为:
C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\Bin
笔者 tlbimp.exe 所在目录为:
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools
- .NET Framework 4 及以后,使用 CLR 4.0,路径为:
-
在 tlbimp.exe 所在文件夹中打开命令提示符窗口:
Windows10 在当前文件夹下清除文件路径并输入 cmd 即可打开命令提示符窗口。
-
输入:
tlbimp.exe "C:\Program Files\Common Files\eDrawings2023\EModelView.dll"
⚠️ 如果 eDrawings 20nn x64 版本安装在您的计算机上别的位置,请指定您的 EModelView.dll 路径。
-
检查命令提示符窗口以确认是否返回了 Type 库导入到 EModelView.dll 中的信息:
-
输入
exit
退出命令提示符窗口。
5、创建一个 C# eDrawings x64 项目
-
首先创建 eDrawings x64 EModelView.dll,详见第四章。
-
打开 Visual Studio,点击“创建新项目”:
-
按如图所示筛选后,选中“Windows 窗体应用(.NET Framework)”,点击下一步:
-
项目名称自行命名即可,笔者就命名为 “eDrawings” 了;项目路径与自己一般项目所在路径一致即可。点击“创建”:
-
完成之后进入到设计页面,前往 “项目”==>“eDrawings 属性” 打开项目的属性页面:
a. 在“生成”选项卡中将“目标平台”更改为 x64:
💬 或者“目标平台”保持为“Any CPU”,仅仅取消下方“首选 32 位”项的勾选也可。
b. 如果您是使用 .NET Framework 4 或者以后创建的 EModelView.dll,确保“应用程序”选项卡中“目标框架”为 .NET Framework 4.n:
-
属性设置完成后,
ctrl+S
保存一下就可以关闭属性页面了。
6、向 Visual Studio 添加 EModelView ActiveX 控件
-
在完成第五章的内容后,回到设计页面;这个时候我们主要关注右边的“工具箱”停靠窗口:
如果没有“工具箱”窗口,可以前往 “视图”==>“工具箱” 打开。
-
在“工具箱”窗口内部空白处右击鼠标,点击“选择项”:
-
弹出“选择工具箱项”对话框,切换到“COM 组件”选项卡,找到“eDrawings 2023 Control”组件,勾选,然后点击“确定”:
-
随后就可以在“工具箱”窗口找到“eDrawings 2023 Control”控件了:
-
然后就可以向窗口添加该控件了:
成功添加控件后项目也会自动添加对 AxEModelView 和 EModelView 的引用:
-
设置控件的 Dock 属性为 “Fill”,这样就可以填满整个窗口了:
-
在设计页面右击,选择“查看代码”即可跳转到代码编辑页面:
-
使用控件的 OpenDoc() 方法以打开一个 CAD 文件:
//笔者的控件名称为 “axEModelViewControl1”,实际使用时请根据您的 eDrawings 2023 Control 名称调整代码即可。 axEModelViewControl1.OpenDoc(@"D:\Visual Studio\source\repos\eDrawings\BAY6205ZZ.sldprt", false, false, true, "");
函数原型:
void AxEModelView.AxEModelViewControl.OpenDoc(string fileName, bool isTemp, bool promptToSave, bool readOnly, string commandString)
参数 定义 fileName 文件的绝对路径和文件名称(笔者是将 CAD 文件拷贝到了项目所在文件夹) isTemp true 表示在远程非 eDrawings 文件关闭时删除该文件的本地副本,false 表示保留本地副本 promptToSave true 表示在用户退出而不保存文件时显示对话框,false 表示不显示对话框 readOnly true 表示以只读方式打开文件,false 表示不以只读方式打开文件 commandString 命令字符串,通常指定一个空字符串即可;不要指定 Nothing, Empty 或 vbNullString -
运行成功后如下图所示(在控件区域内鼠标右击还可以查看更多可操作选项):