基于增强动态块功能的表面结构标注的实现

2015-07-07 07:06马学知
制造业自动化 2015年7期
关键词:圆括号符号动态

马学知

(重庆工业职业技术学院,重庆 401120)

0 引言

零件破坏一般总是从表面层开始的,为了保证零件的使用性能,在零件图上必须标注零件的表面结构要求。实践中,常用表面粗糙度参数Ra来评定零件的表面质量。AutoCAD是目前广泛应用于各行业的一种通用CAD软件,它没有提供表面结构标注的命令,标注时常用的方法主要有三种[1~3]:一是以插入带属性块的方式标注;二是利用添加参数与动作的动态块标注;三是使用AutoCAD自带二次开发软件包如AutoLISP编写程序,实现智能化标注。使用前两种方法标注时,需要创建多个块,并且每次需要用键盘输入参数代号及参数值,调整也相对烦琐;第三种方法虽然高效,但仅局限于表面结构要求的标注。针对AutoCAD软件中表面结构要求标注时存在的上述问题,本文介绍了一种使用内嵌的AutoLISP语言扩展动态块的可见性参数功能来实现表面结构标注的方法。

1 多可见性参数集功能的实现

1.1 问题的提出

在“块编辑器”界面中,可见性参数允许用户创建可见性状态并控制对象在块中的可见性。默认情况下,系统只允许创建一个可见性参数,并总是应用于整个块[4]。在图形中单击夹点,从下拉列表中选择选项来控制块中元素的可见性。表面结构要求有3种符号类型、2种标注方式和5个补充要求等,标注时会形成许多不同的标注组合[5]。采用插入块的方法标注时,需要定义多个块。如果能用多个可见性参数集来控制其符号类型和标注方式等,这时只需定义一个块,就能满足要求。

1.2 功能的实现

AutoLISP是一个嵌入AutoCAD内部的LISP编程语言,其语法简单、功能函数强大[6]。AutoLISP应用程序或程序可以实现对AutoCAD当前数据库的直接访问、修改或创建处理,来扩展、定制和开发AutoCAD的功能。块动态参数的重要信息存储在ACAD_EVALUATION_GRAPH字典里。利用AutoLISP语言二次开发时,通过函数获取、修改和存储字典信息以实现所要求的功能:添加可见性参数并激活该参数,使之处于可编辑状态;不同类型可见性状态切换时,其可见性状态互不影响。这两个功能分别由AutoLISP程序定义的vis_add和ele_del命令来实现,图1为ele_del函数的程序流程图。

2 创建表面结构动态块

2.1 创建表面结构内部块

根据GB/T131-2006/ISO1302:2002[5]关于表面结构符号、代号、标注的规定,利用绘图与编辑命令,绘出不同表面结构要求和相同表面结构要求标注组合图形,其中带实心箭头的斜线使用“多重引线”命令绘制;用多行文本命令书写常用的表面粗糙度参数代号及参数值,如Ra 100、Ra 50、Ra 25、Ra 12.5、Ra 6.3……,图2为绘制好的表面结构组合图;然后以表面结构组合图为对象,尖底为基点,定义名为“表面结构”的内部块。

图1 程序流程图

2.2 添加必要的参数与动作

根据国家标准,在表面结构“块编辑器”界面中,添加必要的参数和与之相关的动作,完成后的图如图3所示。

按照命令行提示,以C点为基点、图中水平虚线为对齐方向,添加对齐参数。利用添加的对齐参数来保证标注时尖底始终与标注的零件表面垂直,并从材料外指向零件表面。

按照命令行提示,以B点为基点,A点为端点,选择带实心箭头的斜线为拉伸对象,添加极轴参数和极轴拉伸动作;打开正交模式,以E点为投影线的基点,指定竖直方向上的某一点为投影线的端点,图中竖直虚线即为翻转投影线,选择指引线及极轴参数与极轴拉伸动作和右侧横线为翻转对象,添加翻转参数和翻转动作。通过添加的两个参数与相应动作来保证不同位置表面引出标注时,能实现实时调整指引线的长度和角度。

按照命令行提示,捕捉D点为点参数位置,选择圆括号及圆括号内基本符号为移动对象,添加点参数及移动动作,实现有相同表面结构要求简化标注时,圆括号及圆括号内基本符号位置的调整。

图2 表面结构组合图

图3 添加参数与动作的动态块

2.3 添加可见性参数

由于零件的表面位置和用途不同,再结合表面结构标注的特征,创建的动态块要能实现以下几个功能:表面结构符号类型的选择、表面结构参数代号及参数值的选择、表面结构标注方式的选择和表面结构简化注法的选择,因此需要向动态块中插入四个可见性参数集,其操作过程如图4所示,完成后的图如图5所示。在图形中选中插入的动态块并单击可见性参数夹点,在如图6所示弹出的可见性状态的列表中选择所需选项,动态块便自动改变其显示状态,图7为表面结构标注实例。

图4 操作过程图

图5 表面结构动态块

图6 表面结构可见性状态列表

图7 表面结构标注实例

3 结束语

实际应用证明,应用AutoLISP语言开发的程序,实现了动态块中添加多个可见性参数集的功能,创建的一个表面结构动态块就基本可以满足机械零件表面结构标注的要求,解决了AutoCAD中标注时存在的问题,提高了绘图效率。另外,此程序扩展的功能同样适用于其他如电气、液压与气压等设计领域中类似问题的处理,也可以作为教学中动态块与AutoLISP语言程序设计教学的案例。

[1]黄艺婷.用AutoCAD创建和插入表面结构要求符号图块[J].机械工程与自动化,2011,6(12):191-192,195.

[2]佟以丹.在AutoCAD中创建动态块标注表面结构[J].吉林化工学院学报,2012,29(3):50-53.

[3]李东生.机械CAD中有关表面结构标注功能的开发[J].齐齐哈尔大学学报,2011,27(1):43-44.

[4]AutoCAD2012用户手册:在动态块中使用参数[Z].

[5]中国国家标准化管理委员会.GB/T131-2006产品几何技术规范(GPS)技术产品文件中表面结构的表示法[S].北京:中国标准出版社,2006.

[6]吴永进,林美樱.AutoCAD完全应用指南:AutoLISP+DCL+Visual LISP程序设计篇[M].北京:科学出版社,2011.

猜你喜欢
圆括号符号动态
关于论文中使用缩略语的要求
国内动态
国内动态
国内动态
学符号,比多少
本刊对论文中缩略语使用的要求
本刊对论文中使用缩略语的要求
“+”“-”符号的由来
动态
草绳和奇怪的符号