2.3 实例学习:连接到新文件
本实例将讲解如何连接到正在运行的SOLIDWORKS进程及如何使用这个API接口的成员。为了节省时间,已经完成了用户窗体和所有控件的创建。在前面的章节中,已经学习了如何添加窗体和控件来为程序创建用户界面。本节将学习如何使用添加到窗体中的其他控件,例如复选框和单选按钮。
操作步骤
步骤1 打开宏 打开Lesson02文件夹中名为ObjectModelBasics.SWP的宏。
技巧
如果在VBA编辑器中不能看到窗体,请使用<Ctrl>+<R>组合键,打开【工程】窗口,如图2-6所示。双击“窗体”文件夹下的frmNewDocs以在编辑器中显示该窗体。
图2-6 【工程】窗口
扫码看视频
步骤2 查看用户窗体的顶部和控件属性 用户窗体属性已经设置好了。窗体的顶部有一个框架控件,其他控件包含在框架控件内部,如图2-7所示。添加窗体和控件的属性如下:
图2-7 SldWorks的控件属性
步骤3 添加按钮单击事件 双击命令按钮设置按钮单击事件处理程序。
步骤4 连接到SldWorks对象 添加下面的代码到事件程序中。
步骤5 添加SldWorks方法和属性 继续在复选框事件中添加如下代码。
步骤6 向Sub Main添加代码 切换回ObjectModelBasics1模块,建立程序入口点如下。
步骤7 保存并运行宏 分别测试每个复选框,观察SOLIDWORKS如何工作。宏运行结果如下。
1)和的运行结果如图2-8所示。
2)和的运行结果如图2-9所示。
3)和的运行结果如图2-10所示。
步骤8 停止宏
图2-8 运行RevisionNumber
图2-9 运行DisplayStatusBar
图2-10 运行GetCurrentLanguage
下面将测试API对象层次结构中第二高级别的对象ModelDoc2(见表2-2)。
表2-2 ModelDoc2对象
经过多年的发展,随着SOLIDWORKS功能的增强,ModelDoc2的方法已经增长到了容量的上限。因此,产生了一个扩展对象来作为接口以提供新的方法,这个对象叫作ModelDocExten-sion,见表2-3。表2-3 ModelDocExtension对象
下面的步骤演示了如何使用访问器方法SldWorks::NewDocument创建新的ModelDoc2接口指针实例,并调用几个成员方法。
步骤9 回顾创建新文件的控件 如图2-12所示,第二个框架控件包含3个单选按钮、1个命令按钮以及3个复选框。这些控件允许用户创建新的ModelDoc2对象。Model-Doc2对象包括PartDoc对象、AssemblyDoc对象和DrawingDoc对象。
扫码看视频
添加窗体和控件的属性如下:
图2-12 ModelDoc2的控件属性
步骤10 添加按钮单击事件 双击第二个命令按钮以设置事件处理程序。
步骤11 连接SldWorks并创建新文件 添加以下代码行到事件处理程序中。
将以下代码放在代码模块的最前面:
步骤12 添加代码以创建不同类型的文件 为3个单选按钮添加条件语句如下:
步骤13 添加ModelDoc2方法和属性 为每个复选框添加剩余的代码。将以下代码添加到上一步的代码与End Sub语句之间。
步骤14 保存并运行宏
1)测试下列3个单选按钮,结果如图2-13所示。
图2-13 测试单选按钮
2)在零件文件和装配体文件中添加草图,结果如图2-14所示。
3)在零件文件和装配体文件中插入设计表,结果如图2-15所示。
4)在3种文件类型中插入注释,结果如图2-16所示。
注意
并不是所有的ModelDoc2方法在3种文件类型中的使用方法都完全相同。例如,在工程图文件中,必须先插入一个视图,然后才能使用Focus-Locked和InsertFamilyTableNew方法(见步骤16)。
图2-14 添加草图
图2-15 插入设计表
图2-16 插入注释
步骤15 停止宏 单击窗体右上角的关闭图标,停止宏。
步骤16 添加代码,准备工程图文件 在模块底部添加代码,以准备工程图文件。
注意
Visual Basic会自动将ModelDoc2对象类型转换为DrawingDoc对象,这就允许直接从ModelDoc2对象调用CreateDrawViewFromModelView3方法。CreateDrawViewFromModelView3是DrawingDoc接口上的方法。另外还要注意的是,在输入代码时,并不能通过IntelliSense看到这个方法。
步骤17 插入新代码以调用新函数 为FocusLocked和InsertFamilyTableNew插入下面的附加条件语句,使它们从前面的步骤中调用新函数。
步骤18 保存并运行宏 现在,宏在插入草图或设计表之前应该会先创建一个示例工程图,如图2-17所示。
步骤19 停止宏 单击窗体右上角的关闭图标停止宏。
图2-17 绘制准备
现在,来看一下3个具体的Document对象类型:PartDoc、AssemblyDoc和DrawingDoc,见表2-4。
表2-4 PartDoc、AssemblyDoc和DrawingDoc文件
(续)
步骤20 查看特定文件类型的控件 在窗体底部,每个文件类型对应一个框架控件、一个命令按钮和一个复选框,如图2-18所示。这些控件的属性如下:
扫码看视频
图2-18 特定文件类型的控件属性
步骤21 为每个按钮添加单击事件
步骤22 连接SldWorks对象 在每个单击事件中添加下面的代码:
步骤23 连接PartDoc对象并调用特定方法 添加下面的代码:
步骤24 连接AssemblyDoc对象并调用特定方法 添加下面的代码:
步骤25 连接DrawingDoc对象并调用特定方法 添加下面的代码:
保存并运行宏。
步骤26 测试
1)测试,如图2-19所示。
图2-19 测试EditRollback
2),如图2-20所示。
3)测试,如图2-21所示。
步骤27 停止宏 单击窗体右上角的关闭图标停止宏。
图2-20 测试AddComponent
图2-21 测试EditFormat