AutoCAD二次开发的方法与实例 刘保华 ,邢胜旺。 (1.河北建工学院数理系,河北张家口075024;2.张家口机械工业学校,河北张家口075000) 摘 要:介绍了利用VBA对AutoCAD进行二次开发的技术基础,对基于Active X技术和应用面向 对象方法开发AutoCAD的有关问题进行了分析研究,并以常用函数几何曲线的精确绘制为例,阐明了 AutoCAD二次开发的基本思路、主要步骤和具体方法。 关键词:VBA;AutoCAD;二次开发;Active X 中图分类号:TP 39 文献标志码:A 、 AutoCAD以其强大的交互功能和图形处理能 一起,提供了一个非常强大的接口。它不仅控制 力而成为工程技术人员最为喜爱的绘图软件,但其 本身计算功能不强,无法解决一些设计计算和数据 处理等问题。传统的计算机辅助机械设计通常是采 用高级语言进行设计计算,将结果存储为标准结构 的数据文件(如*.DXF),再由AutoCAD调用该 文件形成图形,其编程和调用过程复杂而效率低下。 AutoCAD的对象,也能向其它应用程序发送数据 或从中提取数据。 2 ActiveX Automation技术 ActiveX Automation也称为ActiveX自动化服 务功能,以前也称为对象链接和嵌入(OLE)。它允 许Windows中应用程序之间进行相互的对话、沟通 值得庆幸的是,Autodesk从AutoCAD14开始提供 了更为有效的二次开发工具——VBA(Visual Basic for Application),它是内嵌于AutoCAD中的完全 面向对象体系结构的一种二次开发编程语言,与 和控制。ActiveX将应用程序模块化,把有关的数 据和操作封装起来,以对象的形式提供给另一个应 用程序,而用户不必了解其详细的内部实现过程。 ActiveX Automation过程以动态链接库的形式提 供,实现了代码的共享。 VB有着几乎一样的开发环境和语法,具有功能强 大和易于掌握的特点。它驻留在主程序内部,使其 结构精简,故代码运行效率非常高。它的出现弥补 了AutoCAD计算功能不足的缺陷,使开发机械 CAD一体化系统成为可能。本文以绘制常用函数 几何曲线为例,详细介绍利用VBA进行AutoCAD 二次开发的方法。 3应用VBA开发AutoCAD的程序实例 利用AutoCAD VBA语言实现常用函数几何 曲线的精确绘制。 程序的运行界面如 图1所示,能在图形 1 二次开发工具——VBA VBA(ViSual Basic for Application)是一种嵌 入AutoCAD内部基于对象的集成编程环境。在 VBA中,AutoCAD通过AetiveX提供了一个沟通 中创建4种常用三 角函数的曲线。 1)利用Auto- CAD VBA语言编程 的基本思路 首先绘制坐标 外部世界的机制,使得AutoCAD通过不同的编程 语言和环境进行二次开发。从语言结构上来讲, VBA是VB(Visual Basic)的一个子集,它们的语言 结构是相同的,VBA依附于主应用程序AutoCAD, 与主应用程序的通信简单而高效。由于共享内存空 轴的箭头,在图形中 创建了一个多段线, 图1程序运行界面 然后使用SetWidth方法设置起点和端点的宽度,起 点宽度设置为1.5,终点宽度为0,获得箭头的效果。 间,使它具有更快的执行速度,且语法结构简洁,便 于用户快速高效地开发出适用的应用软件,因此得 到了广泛的应用。 AutoCAD VBA允许其Visual Basic环境与 AutoCAD同时运行,并通过ActiveX Automation 使用图像框来显示WMF文件,可以先由程序代码 在图形窗口中创建,然后对图形对象进行适当的修 改。在AutoCAD主应用程序中,选择【文件/输出】 菜单项,就可以导出一个WMF文件。 然后绘制三角函数曲线,其方法与创建其他曲 线的方法一致,计算出曲线中多个点的坐标,创建一 ・25・ 接口提供对AutoCAD的编程控制。这样就把Au— toCAD、ActiveX Automation和VBA紧密结合在 《新技术新工艺》・数字技术与机械加工工艺装备 2008年 第2期 维普资讯 http://www.cqvip.com
条轻量多段线来模拟函数曲线。 .Listlndex一0 最后利用AutoCAD软件将当前图形窗口中的 End W ith 几何曲线输出为BMP文件,可供其他的图像编辑 imgPreview.AutoSize—False 无论图像大小如何,图 软件使用。 像控件大小不变 bPick—False 2)程序开发的基本步骤 End Sub a.在AutoCAD2004中,打开[VBA管理器】对 话框,创建一个新工程,保存在适当的位置,进入 f.窗体中【拾取】按钮的单击事件,用来拾取坐 VBA集成开发环境。 标系的原点位置,其实现代码为: Private Sub cmdPick_Click() b.选择【插入/ Dim PtPick As Variant 用户窗体】菜单项, Form.Hide 向程序中添加一个 PtPick—ThisDrawing.Utility.GetPoint(,”请输入 用户窗体,并在窗体 坐标系的原点:”) 中放置控件。窗体 ptCenter(0)一PtPick(O) 的名称修改为 ptCenter(1)一PtPiek(1) Form,图像控件的名 ptCenter(2)一PtPick(2) 称为imgPreview,组 bPick—True 已经拾取原点 Form.Show 合框的名称修改为 End Sub cboType,其它命令 按钮的名称为cmd- 图2添加窗体控件 g.在组合框的改变选项事件中,需要在图像控 件中显示与函数相对应的曲线图像,其实现代码为: Pick、emdOk和cmdCancel。如图2所示。 Private Sub cboType_Change() e.在【工程资源管理器】窗口中双击This— 使用相对路径 Drawing,在此代码窗口中添加宏的启动代码: Select Case cboType.Value Sub CreateCurve() Case 0 Form.Show imgPreview.Picture—LoadPicture(Left(str— End Sub Path,Len(strPath)一8)&”PICUTRE\01.wmf”) d.在窗体模块的通用代码区,添加公有变量的 Case 1 声明,其相关代码为: imgPreview.Picture—LoadPicture(Left(str— Const PI AS Double一3.141 592 653 Path,Len(strPath)一8)&”PICUTRE\02.wmf“) Dim ptCenter(2)As Double Case 2 Dim strPath As String‘工程文件的路径 imgPreview.Picture—LoadPicture(Left(str— Dim bPick As Boolean‘用户是否已经拾取原点 Path,Len(strPath)一8)&”PICUTRE\O3.wmf”) e.窗体的初始化事件中,获得工程文件的路 Case 3 径,向组合框中添加元素,并且设置控件的初始状 imgPreview.Picture=LoadPicture(Left(str_ Path,Len(strPath)一8)&”PICUTRE\O4.wmf”) 态,其相关代码为: End Select Private Sub UserForm—Initialize() End Sub 获得工程文件的路径 h.窗体【确定】按钮的单击事件,用来在图形中 strPath=ThisDrawing.Application.VBE.ActiveVB— 绘制指定的曲线(其实现代码略)。 Project.FileName ’With cboType 3)运行程序,绘 Y .Addltem“ 一Sin.z“ 制并输出图形 Addltem“ =Cosx“ 在 集成开 八、 .发环境中,运行程序, .Addltem” =Sinx+Cosx” \ / O .Addltem” =Sinx--Cosx” 系统会弹出【函数曲 使用下拉列表 线】对话框。从组合 ownList 框中分别选择一种曲 图3绘镧的函数曲线 .Style—fmStyleDropD.BoundColumn一0 线,在图像框中就会自动显示出该曲线的略图,单击 设置默认的显示项目 【确定】按钮,在图形窗口中所得结果如图3所示。 ・26・ 《新技术新工艺》・数字技术与机械加工工艺装备2008年 第2期 维普资讯 http://www.cqvip.com
蓝宝石衬底纳米级超光滑表面加工工艺研究 赵之雯 (福建工程学院电子信息与电气工程系,福建福州350014) 摘 要:通过对蓝宝石衬底片的化学机械抛光工艺的研究,系统地分析了蓝宝石抛光工艺过程的性能 参数,并经过大量试验,总结出影响因素,提出优化方案。得到的结果是:采用粒径为40 rim、低分散度的 SiO 溶胶磨料并配以适当参数进行抛光,能够有效地提高加工效率和被加工的蓝宝石表面性能。 关键词:蓝宝石;化学机械抛光;纳米硅溶胶 中图分类号:TG 580.692 文献标志码:A 不断拓展,蓝宝石已经成为最重要的衬底材料之一, 蓝宝石单晶(a—Al O。)具有很好的热特性,极 好的电气特性和介电特性,并且惰性强,光透性能 好,有很好的耐磨性,是一种集优良光学性能、物理 具有极大的国内外市场需求。但是由于蓝宝石元件 在航天、军事等方面具有十分重要的用途,因此蓝宝 性能、机械性能和化学性能于一体的多功能氧化物 晶体 ],是具有广泛用途的重要的晶体材料。蓝宝 石单晶是制造GaN基发光二极管LED的首选衬底 片材料,是性能优越的激光介质材料;它还可制作Y 石晶片加工技术在西方国家都极为保密。目前,国 内蓝宝石晶片生产产生裂痕和崩边的一般占总数的 5 ---8 ,抛光速率也很低,加工常需数小时,且加 工后有约2O 的晶片表面有较深痕迹,导致返工, 系、La系等高温超导薄膜、用来生长新型实用MgB 高温超导薄膜_8 ;在国防领域,蓝宝石单晶是红外军 用装置、导弹、潜艇、卫星空问技术、高能探测和高功 率强激光的重要窗口材料瞳 ]。 无论是在光电子领域还是光通讯领域都对蓝宝 甚至报废,从而大大提高了其加工成本。为了改善 这种状况,本文针对大尺寸蓝宝石晶片的纳米级化 学机械抛光技术进行了研究,以原子力显微镜 AFM为主要检测工具,通过分析在蓝宝石晶片化 学机械抛光(CMP)工艺中的抛光液配置及其他影 响因素,并对其进行优化,从而实现能够稳定地制备 无损伤层的超光滑蓝宝石晶片。 石晶片的加工质量有着非常高的要求。譬如作为 GaN基LED衬底片的蓝宝石晶片,要求其表面是无 损伤的超光滑表面。由于蓝宝石硬度高(莫氏9.5,仅 次于莫氏10.0的金刚石)、脆性大,对其机械加工十 分困难,无损伤超光滑表面制备技术更加复杂凹]。因 此产业化制备满足各领域需求的高品质蓝宝石晶体 元件技术是相当复杂的系统工程,它涉及晶体结构、 超精密加工、物理、化学、机械制造等相关学科[1引。 随着光电技术的飞速发展,光电产品对蓝宝石 1试验 1.1 抛光盘 将陶瓷抛光盘置于烘箱加热至一定温度后恒温 一段时问后取出,平放于操作台,取抛光蜡均匀分区 涂抹于抛光盘上(涂抹抛光蜡的区域最好对称,以便 抛光时蓝宝石晶片受力均匀),将蓝宝石晶片分别置 于抛光蜡上轻揉至晶片与抛光蜡间没有气泡,然后 学出版社,2006. [2]佟士懋.AutoCAD ActiveX/VBA二次开发技术基础及 应用实例[M].北京:国防工业出版社,2006. [3]肖刚.机械CAD原理与实践[M].北京:清华大学出版 社,1999. 衬底材料需求量的日益增加,同时随着LED元件的 4 结语 基于ActiveX技术,使用VBA或VB等面向 对象的开发工具对AutoCAD进行二次开发,为应 用程序的编写带来了很大的灵活性,充分利用面向 对象的开发技术和AutoCAD及Windows的资源, 可以进一步增强程序的功能和代码重用性。实践证 明,应用上述技术开发产品,CAD系统是一种行之 作者简介:刘保华(1970一),男,讲师,现从事CAD二次开发 及力学的教学与研究工作。 收稿日期:2007年7月13日 有效、方便实用的设计方法。 责任编辑吕菁 [参考文献] [1]张帆.AutoCAD VBA二次开发教程[M].北京:清华大 新技术新工艺》・数字技术与机械加工工艺装备2008年 第2期 ・27・
因篇幅问题不能全部显示,请点此查看更多更全内容