APP下载

基于SolidWorks的机械基础课程教学资源库开发

2017-09-03

关键词:铰链二次开发对话框

王 宣

(阜阳职业技术学院工程科技学院, 安徽 阜阳 236031)

基于SolidWorks的机械基础课程教学资源库开发

王 宣

(阜阳职业技术学院工程科技学院, 安徽 阜阳 236031)

针对高职院校机械基础课程内容抽象及教学资源库内容系统化、使用便捷性不足的问题,以SolidWorks软件为开发平台,运用VC++6.0语言进行机械基础教学资源库二次开发。以铰链四杆机构为例详细介绍开发思路,给出主要程序代码, 创建了完备、易用的插件系统。

机械基础; 教学资源库; 二次开发; 人机交互界面; SolidWorks

机械基础(机械设计基础)课程是高职院校机械类专业的重要基础课程,主要包括机械原理与机械零件两部分内容。课程教学的目标是,使学生了解机械原理,掌握常用机构、典型零件的结构及运动特性,培养工程意识。对于无工程实践经验而又知识基础薄、理解能力弱、空间想象力差的学生来说,这是一门抽象难学的课程[1]。目前普遍采用模型、网络视频资源等辅助教学手段增强教学的直观性,在一定程度上提高了教学效果,但缺乏教学资源内容系统化和使用便捷化的管理,不便于学生进行自主学习和交互学习。

SolidWorks是美国SolidWorks公司开发的一款基于 Windows 平台的三维机械CAD软件,具有功能强大、易学易用和技术创新性强的特点,可实现复杂零部件三维建模、虚拟装配、运动仿真等功能,是目前三维CAD主流软件之一。该软件还提供了兼容性强的二次开发接口,有利于二次开发技术的实现,便于用户在已有软件功能的基础上开发新的功能模块,以插件形式加入SolidWorks 的菜单栏里,形成统一的界面[2]。

经过多年的SolidWorks课程教学实践,学院已培养了一支集教学与科研为一体的教研团队。团队具有一定的SolidWorks二次开发经验,而机械专业学生通过SolidWorks课程的学习,也能够在SolidWorks软件环境中熟练地使用其二次开发系统,完成机械基础课程的自主、交互学习。基于SolidWorks二次开发机械基础教学资源库的研究实践是计算机技术推动课程建设的一项有益探索[1],具有较强的现实意义。

1 开发方案

1.1 教学资源库的内容

机械基础课程教学资源库包括机构、零件模型库、动画视频素材库、电子教材及教案、PPT课件、习题试题库、工程案例教学素材库等。课题项目组主要采用2种途径充实资源库内容:一种是优化选用自制的教学资源,如利用SolidWorks建立机构、零件模型库;另一种是查阅精品课程、数字化图书馆等教学网站收集选取优质数字化资源,如优质动画视频素材的选用。通过两种途径结合建立了体系完备、内容丰富、形式多样的课程资源[3]。

1.2 教学资源库的管理

以课程章节的知识点为单元制作、收集、整理相关教学资源[4]。在SolidWorks软件环境中,利用二次开发的交互界面对资源库内容进行系统化管理和使用操作,满足资源使用的便捷性和交互性要求。

1.3 教学资源库开发框架

如图1所示,以SolidWorks为开发平台,使用VC++语言编程,开发教学资源库人机交互界面,通过界面操作,提取资源库资源,包括访问数据库调用机构或零件模型,播放动画视频,浏览教案、课件,完成习题测试。

2 开发实例

以机械基础课程的章节知识点 —— 铰链四杆机构为例,介绍开发过程。

图1 机械基础课程资源库开发框架图

2.1 建立资源库文件夹

将铰链四杆机构的模型、动画视频、教案、课件等教学资源,分别保存在“机械基础课程教学资源库”总文件夹下的“模型”、“动画视频”、“教案”、“课件”等子文件夹里,以便快速调用。

2.2 创建数据库

在Access中,创建机械基础课程教学资源数据库,添加铰链四杆机构数据表,如图2所示。

图2 铰链四杆机构数据表

2.3 二次开发编程

在VC++6.0环境中,使用ATL COM AppWizard对象向导建立DLL工程,在工程中添加新的ATL对象建立程序框架,通过添加代码实现功能开发[5]。

2.3.1 创建人机交互界面

在工程资源的String Table(字串表)中定制系统菜单资源,用对话框资源编辑器分别创建资源库总界面和资源库知识单元界面的对话框模板资源,利用类向导Class Wizard添加相应对话框类,并向对话框类中添加消息处理函数、成员变量等,最后声明对话框类的对象以便激活打开对话框,在对话框类的执行文件和头文件中,分别添加如下主要代码[5]:

this->m_iSldWorks_dlg = Sw; //连接对话框与SldWorks对象

CComPtr m_iSldWorks_dlg; //添加对话框成员变量

创建完成的资源库系统菜单及总界面如图3所示,铰链四杆机构知识单元界面如图4所示。

图3 资源库系统菜单及总界面图

图4 铰链四杆机构界面图

2.3.2 访问数据库调用模型

(1) 使用UDL文件连接数据库获取数据表。在铰链四杆机构对话框类的头文件和执行文件中添加的主要代码是:

_ConnectionPtr m_pConnection; ∥添加数据库连接对象变量

_RecordsetPtr m_pRecordset; ∥添加数据库记录集变量

m_pConnection->ConnectionString=“File Name=E: 机械基础教学资源库数据库 TSH.UDL”;∥连接机械基础教学资源库的数据库

m_pRecordset->Open(“SELECT * FROM JLSG”,∥获取铰链四杆机构数据表

(2) 参数尺寸驱动模型改变,生成不同类型的铰链四杆机构。如图4所示,将铰链四杆机构界面列表框内的一行数据,赋值给编辑框,获得尺寸参数。主要代码是:

void second::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 添加点击列表框响应事件函数

ListView_SetExtendedListViewStyleEx(m_List1.m_hWnd,LVS_EX_FULLROWSELECT,0xFFFFFFFF);∥选择某行

if(nItem>=0 && nItem

CString str =m_List1.GetItemText(nItem,subItem);∥得到某行某列的值

点击铰链四杆机构界面上的“模型”按钮,参数尺寸驱动,生成不同类型的铰链四杆机构。主要代码是:

CComBSTR fileName(_T(“E:机械基础教学资源库模型铰链四杆机构模型铰链四杆机构.SLDASM”));定义文件名

……………………………………………

status=m_iSldWorks_dlg->GetOpenDocument (fileName, &m_iModelDoc);∥得到打开的文档,并且输出的ModelDoc指向该文档

……………………………………………

hres = m_iModelDoc->QueryInterface(IID_IAssemblyDoc, (LPVOID *)&m_iAssemblyDoc);∥得到指向当前零件文档的接口指针

……………………………………………

hres = m_iModelDoc->IParameter(L“L1@草图1@连架杆1.Part”,&retvalDimen);获得零件1的尺寸

hres = retvalDimen->ISetSystemValue3(m_L11000, swSetValue_InThisConfiguration, 1, 0, &retv);

retvalDimen.Release();

hres = m_iModelDoc->IParameter(L“L4@草图1@连杆.Part”,&retvalDimen); 获得零件2的尺寸

……………………………………………

m_iModelDoc->EditRebuild3(&retval);∥重新建模

2.3.3 播放视频等教学资源

点击铰链四杆机构界面的“动画视频”按钮,打开不同类型铰链四杆机构的动画视频资源,分别点击“教案”、“课件”、“习题、试题”按钮,打开铰链四杆机构这一知识单元的相关资源。

主要代码如下:

char buf[1024*13]=“E:机械基础教学资源库动画、视频曲柄摇杆机构.avi”;∥打开视频

char buf[1024*13]=“E:机械基础教学资源库教案铰链四杆机构教案. swf ”;∥打开教案

char buf[1024*13]=“E:机械基础教学资源库课件铰链四杆机构.ppt”;∥打开课件

char buf[1024*13]=“E:机械基础教学资源库习题、试题铰链四杆机构习题、试题.doc”;∥打开习题、试题文档

2.4 应用实例

编译程序生成.dll文件,在SolidWorks中加载插件。打开软件菜单栏里“教学资源库”下拉菜单,点击“机械基础资源库”打开资源库总界面,如图3所示。双击总界面树形图中“铰链四杆机构”选项,打开“铰链四杆机构”界面,如图4所示。点击列表框中 “曲柄摇杆机构”的一行数据,赋值于编辑框,也可手动输入尺寸参数,然后单击“模型”按钮,生成曲柄摇杆机构模型,如图5所示。点击“曲柄摇杆机构”下方“动画视频”按钮,打开曲柄摇杆机构视频,如图6所示。分别点击“教案”、“课件”、“习题、试题”按钮,可打开相关教学资源 。

图5 曲柄摇杆机构模型图

图6 曲柄摇杆机构视频图

[1] 刘文伟.信息化条件下基于生源特点的机械设计基础教学实施方案[J].中国管理信息化,2015,18(12):25.

[2] 董玉德,赵韩.CAD二次开发理论与技术[M].合肥:合肥工业大学出版社,2009:7-11.

[3] 张翼飞,许宝,才苏珊.“机械制造基础”课程教学资源库的建设及研究[J].中国电力教育,2012(18):63-64.

[4] 范建蓓,单岩,蔡娥,等.CADCAMCAE软件教学立体词典系统的开发[J].现代教育技术,2010(9):95-96.

[5] 王文波,涂海宁,熊君星.SolidWorks2008二次开发基础与实例(VC++)[M].北京:清华大学出版社,2009:142-148.

Research on the Development of Teaching Resource Database for the Mechanical Basic Courses Based on SolidWorks

WANGXuan

(School of Engineering and Technology, Fuyang Vocational and Technical College, Fuyang Anhui 236031, China)

Mechanical basic courses in higher vocational colleges are too abstract, and the content of teaching resource database is not systematic and convenient. Therefore, this paper proposes the research practice of secondary development for the teaching resource database based on VC++ language, taking SolidWorks as a development platform. Meanwhile, the paper describes the developing process in details, taking the case of hinge four-bar linkage. The primary code is also given, and a complete and easy-to-use plug-in system is created.

mechanical foundation; teaching resource database; secondary development; man-machine interface; SolidWorks

2017-04-29

安徽省自然科学项目“基于 SolidWorks 的机械设计基础课程教学资源二次开发的研究”(KJ2015B001)

王宣 (1971 — ),女,回族,山西山阴人,硕士,副教授,高级工程师,研究方向为机械设计、计算机技术。

TP391

A

1673-1980(2017)04-0100-04

猜你喜欢

铰链二次开发对话框
浅谈基于Revit平台的二次开发
正常恢复虚拟机
基于虚拟铰链打开机构的舱门提升机构研究
浅谈Mastercam后处理器的二次开发
球铰链防尘罩抱紧力优化
Bootlace Worms’Secret etc.
What Is Beauty?
汽车连接器带铰链护壳产品的塑料模具设计改进
西门子Easy Screen对倒棱机床界面二次开发
浅谈VB的通用对话框《CommonDialog》控件的使用