表面粗糙度的计算机辅助自动查询与标注

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

表面粗糙度的计算机辅助自动查询与标注
曹宏;王伯平;袁文旭;张复旺;刘娜
【摘要】采用Visual 开发工具,结合ACCESS数据库,以AutoCAD为图形支撑软件,进行AutoCAD中表面粗糙度的自动查询及标注设计;克服了设计人员反复查表、繁杂操作的不足,提高了绘图、设计的效率和准确性.
【期刊名称】《机械管理开发》
【年(卷),期】2011(000)004
【总页数】2页(P19-20)
【关键词】表面粗糙度;查询;标注;计算机辅助设计
【作者】曹宏;王伯平;袁文旭;张复旺;刘娜
【作者单位】太原科技大学机电工程学院,山西太原030024;太原科技大学机电工程学院,山西太原030024;太原科技大学机电工程学院,山西太原030024;太原科技大学机电工程学院,山西太原030024;太原科技大学机电工程学院,山西太原030024
【正文语种】中文
【中图分类】TB92
0 引言
表面粗糙度在零件几何精度设计中是必不可少的,作为零件质量评定指标是十分重要的[1]。

在一张复杂的零件图中,要标注几个到几十个表面粗糙度代号,这是一
项很烦琐的工作。

用户自行解决表面粗糙度的标注问题.需要依次画出粗糙度符号,并要查阅设计手册选择粗糙度值,因而给人们绘制机械工程图样带来了不便。

本文采用Visual 、Access2003作为开发工具,建立表面粗糙度标注查询系统,实现表面粗糙度自动查询及快速标注。

1 本文的系统设计
本系统采用ACCESS2003数据库,用于常用表面粗糙度的参数值信息存储;通过Visual 进行程序编写;以AutoCAD2004为图形支撑软件。

2 常用表面粗糙度的参数值信息存储
本系统采用ACCESS2003建立数据库,用Visual 软件、结合
技术访问数据库[2]。

ADO(ActiveX Data Objects)是Microsoft最
新的数据访问技术,主要优点在于易用性、高速度、低内存,可重复使用,而且程序本身只占用很少的磁盘空间;是DAO、RDO数据访问接口技术的替代,不依
赖于对象间的相互层次作用,比DAO和RDO更加灵活,是在.NET编程环境中优先使用的数据访问接口,使用范围更加广泛;它的对象模型是所有数据接口对象模型中最简单的一种,图1为常用表面粗糙度的参数值。

图1 常用表面粗糙度的参数值
3 通过编程调用AutoCAD
采用Visual 作为AutoCAD二次开发的工具,是一种新的ActiveX自
动化界面技术(ActiveX Automation Interface)。

用此技术可通过AutoCAD
显示出来的信息,用Visual 编程,从AutoCAD内部或外部控制操纵AutoCAD。

我们可将AutoCAD作为Visual 程序中的一个窗体,对其进行打开、绘图、编辑、打印、关闭等操作。

首先我们要在编程环境中引用AutoCAD对象库,然后创建AutoCAD对象变量,最后启动运行AutoCAD[3]。

调用AutoCAD部分代码程序如下:
Dim AcadApp As AutoCAD.AcadApplication
Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button1.Click
Call连接autocad()
End sub
4 表面粗糙度的查询设计
Visual 中创建一个新项目,在新项目中添加引用,同时选择AutoCAD2004Type Library,引用AutoCAD2004对象库,选择Microsoft DAO 3.6 Object Library,引用DAO对象库。

在窗体中添加五个命令按钮、三个标签、一个组合框、两个文本框和、一个分组框等控件;然后给各个控件赋初值。

表面粗糙度的查询与标注界面设计,见图2。

图2 查询界面
控件赋初值的部分代码如下:
box1.Items.Add(“1.6”)
box1.Items.Add(“3.2”)
box1.It ems.Add(“6.3”)
box1.Items.Add(“12.5”)
box1.Items.Add(“25”)
box1.Text=“3.2”
Me.Textbox1.Text=“20”
Me.Textbox2.Text=“0”
Me.Text=“表面粗糙度标注”
Me.GroupBox1.Text=“”
bel1.Text=“粗糙度值”
bel2.Text=“字体高度”
bel3.Text=“旋转角度”
Me.Button5.Text=“退出”
5 表面粗糙度的自动标注
在Visual 最终设计出的窗体,通过组合框选择粗糙度的参数值,在文本框输入文字字体的高度及旋转角度,分别通过三个按钮实现任何方法,去除材料和不去除材料三种表面粗糙度的自动标注。

实现表面粗糙度自动标注的部分编程代码如下:
Dimplineobj As AutoCAD.AcadLWPolyline
Dimpoints(5)As Double
points(0)=objinsert(0)+Val(Me.TextBox1.Text)*Cos(PI/3):points
(1)=objinsert(1)+Val(Me.TextBox1.Text)*Sin(PI/3)
points(2)=objinsert(0):points(3)=objinsert(1)
points(4)=objinsert(0)-Val(Me.TextBox1.Text)*Cos(PI/3)/2:points
(5)=objinsert(1)+Val(Me.TextBox1.Text)*Sin(PI/3)/2
plineobj=acadapp.ActiveDocument.ModelSpace. AddLightWeightPolyline(points)
Dim circleobj As AutoCAD.AcadCircle
Dim centerpoint(2)As Double
Dim radius As Double
radius=Val(TextBox1.Text)*0.144
centerpoint(0)=objinsert(0):centerpoint(1)=objinsert(1)+Val
(TextBox1.Text)*0.288:centerpoint(2)=0.0#
circleobj=acadapp.ActiveDocument.ModelSpace.AddCircle(centerpoint,rad
ius)
plineobj.Rotate(objinsert,rotate*PI/180)
circleobj.Rotate(objinsert,rotate*PI/180)
……
通过点击标注按钮连接AutoCAD,在AutoCAD中鼠标指示的点为粗糙度符号顶点,根据所需标注的位置就可方便地标注出表面粗糙度。

圆柱面、中心孔、键槽、圆角、倒角等在图样上的表面粗糙度标注举例,见图3。

图3 表面粗糙度标注实例
6 结束语
本文设计的标注系统,操作速度快、整体性强、动态旋转直观灵活,且占存储空间小;方法简单快捷、提高了标注效率,用该方法绘制的粗糙度符号符合国标规定,代号的大小随参数的字高而变化,代号的方向随被标注表面的倾角而变化。

有较好的实际使用价值和推广意义。

参考文献
【相关文献】
[1] 王伯平.互换性与测量技术基础[M].北京:机械工业出版社,2009.
[2]Rick Dobson,Visual 与Access数据库开发 [M].北京:清华大学出版社,2004.
[3] 张晋西.Visual Basic与AutoCAD二次开发[M].北京:清华大学出版社,2002.。

相关文档
最新文档