基于反应器的制图作业批改CAI系统研究
2010-07-07沈培玉周洪军
沈培玉, 周洪军
(江南大学机械工程学院,江苏 无锡 214122)
工程制图是一门具有较强实践性的技术基础课程,其中读图与绘图练习是教学过程中不可缺少的重要环节,学生需要完成较大量的绘图作业。作业的流程一般可分为:做作业、改作业、订正错误三个过程,其中存在三个问题:一是教师批改制图作业的工作量很大,效率低周期长;二是学生在做作业和订正错误的过程中,疑惑不能得到教师的及时指导与解答,影响此环节的学习效果;三是做作业和订正错误两个过程间隔的时间较长,影响此环节的学习效率。
近年来,工程制图课程与计算机绘图的结合已成为课程教学的一大特点,且在计算机自动批改制图作业的研究和应用方面也取得了很大进展。作业自动批改系统可提取学生作业图形文件和答案图形文件中的图形数据,采用图元数据比较法进行作业批改[1]。借助网络功能,还可进行远程提交作业、批改作业,缩短了学生与教师间的信息反馈周期[2]。这些研究成果,虽然使教师得以解脱批改作业的繁重工作,但在批改作业时都直接给出了答案结果,缺少订正作业错误这一过程,影响了学生作业练习过程中自主学习的效果。笔者利用AutoCAD的开发接口ObjectARX中的数据库反应器机制[3],监视 AutoCAD图形数据库中各种图线的增减与变化,并将作业练习中三个相互孤立的过程整合在一起,以提高作业练习的学习效果和效率。
1 作图过程监视的原理
1.1 反应器
ObjectARX是开发AutoCAD应用程序的编程环境,而反应器是图形编辑系统与 AutoCAD之间交互的媒介,用以处理AutoCAD事件。常见的ObjectARX反应器有编辑反应器、实体反应器、对象反应器、图形数据库反应器、文档管理反应器等[4],其中,编辑反应器用于监视AutoCAD各种命令及AutoLISP的运行情况;数据库反应器用于监视AutoCAD图形数据库中对象的创建、删除、编辑等事件。
学生在AutoCAD环境下做作业过程中,每开始执行一个命令时,就会触发 commandWillStart事件,而命令结束时又会触发commandEnded事件。如果在图形中增添一条图线,或是对已有的一条图线进行了编辑操作,就会触发一次objectAppended事件。若是删除了一条图线,将触发一次objectErased事件。如果使用复制操作一次增添了多条图线,将会触发相应次数的objectAppended事件,删除操作也同样如此。
1.2 事件处理函数
以数据库反应器为例,在ObjectARX应用程序中,只要从数据库反应器AcDbDatabaseReactor类派生出一自定义的 DataChange类,并重载objectAppended()和objectErased()两个处理函数,就能在处理函数中得到学生在做作业的过程中所增改的图线对象ID,并将其按图线的类别分别记录到相应的对象 ID数组中,从而实现程序对学生作图过程的实时监视。
2 程序系统设计
系统的开发使用了AutoCAD的二次开发技术ObjectARX 2008,用Visual Studio.NET 2005编程。系统的总流程如图1 所示。
系统由选题与初始化模块、监视模块和作业批改模块构成,并为AutoCAD新增两个命令:“selt”选题命令和“refer”批改命令。
2.1 选题与初始化模块
通过交互界面,由学生指定练习题目后,对图形数据库及有关数组和变量进行初始化设置。插入题目图形,并从答案数据文件中读取答案图元的有关数据。然后创建数据库反应器对象,进入学生解题状态。
答案数据文件是事先由程序根据答案图形文件按规定格式转换生成。这样做的目的,是为了避免学生在作业时查看答案图形,影响作业的练习效果。
图1 系统流程图
2.2 作业批改模块
根据由监视模块生成的学生所绘图线的对象ID数组记录,逐一提取每个ID所对应图线的有关数据,与答案图元数据进行比较、判别和记录。然后,分别统计出画对图线数、画错图线数和漏画图线数,在命令窗口中给出相应的提示,并在绘图区使用指定的颜色标示出画错的图线。
3 应用及其效果
3.1 应用实例
为便于程序的操作执行,系统在 AutoCAD中增添一个下拉菜单项“读图练习”,如图2所示。启动AutoCAD后,在做作业练习前,可点选下拉菜单中的“加载程序”项,加载本应用程序。在结束作业练习时,可点选下拉菜单中的“卸载程序”项,将本应用程序从内存中卸载。
图2 增添的下拉菜单
点选下拉菜单中的“选题”项,将打开选题对话框。学生选定题目后进入解题状态,如图3所示。
图3 解题状态
解题时,可以不受限制地使用各种绘图与编辑命令进行作图。解题完成后,不需保存图形文件,点选下拉菜单中的“批改作业”项,对所做作业进行自动批改。如果作业中存在错误,本程序将给出提示和标示,如图4所示。
学生可根据所给提示,对错误之处进行改正和完善。之后,可再次点选下拉菜单中的“批改作业”项,对订正后的作业进行自动批改。如果订正后的作业还有错误存在,可再次重复上述订正过程,直至解题正确为止。
在解题过程中,如遇到有自己不能解决的错误,还可将此题目与解答存盘保留下来,以便以后向他人请教。
图4 作业批改结果
3.2 应用效果
本“交互式”作业自动批改系统不只是对学生作业进行静态批改,还对学生利用 AutoCAD做练习的绘图操作过程进行动态监控,对错误之处给出提示,学生如同能始终得到教师的及时引导,对作业练习起到了促进作用。本系统经过一学期两个班的教学应用,运行稳定可靠,利用AutoCAD 2008作为练习平台,交互界面友好,操作简便。通过系统应用的反馈信息表明,本系统在图学类课程的教学中,一方面避免教师批改作业的重复劳动,减轻了教师的负担;另一方面学生在计算机上做作业,得到了计算机绘图方面的大量训练,不再觉得作业的枯燥,激发了作业练习的兴趣,提高了学习的积极性和自觉性。使用该系统的班级与平行班相比,由于学生得到了系统给予的及时引导,能主动从系统习题库中选择更多的题目加以练习,对于错误的问题不再等待教师的解答,而是主动分析、思考,充分发挥了学习的主观能动性,提高了学习效率。由于学生在作业时,不断地想象、构思,及时纠正错误,很好地培养了空间想象能力和逻辑思维能力,同时也加强了计算机绘图的能力,使课程的教学效果得到提高。
4 结 论
本系统运用ObjectARX反应器机制,实时监视作业练习的解题过程,对作业练习的三个过程进行整合,解决了目前工程制图CAI系统设计中普遍存在的一些问题。学生在使用本系统中,可有效地培养分析问题、解决问题的能力,以及自主学习、独立思考的能力。在好胜心理的驱使下,学生的学习积极性和热情大增,提高了作业练习的学习效率和课程教学效果。
[1]覃 群, 陈光霞. AutoCAD 环境下机械矢量图形比较的实现方法[J]. 工程图学学报, 2003, 24(4):133-137.
[2]李哲林, 陈锦昌, 刘就女, 等. 工程制图网络习题集及智能批改系统的研究[J]. 工程图学学报, 2004,25(4): 154-158.
[3]陈 衫, 王 宁, 郭剑峰. 用 ObjectARX 开发AutoCAD 2000应用程序[M]. 北京: 人民邮电出版社,2000.278-281.
[4]秦洪现, 崔惠岚, 孙 剑, 等. Autodesk系列产品开发培训教程[M]. 北京: 化学工业出版社, 2007.98-103.