基于VB的AutoCAD明细表自动生成软件设计
为了提高装配图中明细表信息输入的准确性和高效性,采用VB 和ActiveX 作为开发工具对AutoCAD 进行二次开发。分析了以逐行方式、多行方式和读取数据库BOM 方式生成明细表的实现原理。论述了获取明细表插入基点坐标、明细表表头绘制和明细表表格绘制等关键技术。在此基础上,运用VB 和SQL Server 设计并开发了AutoCAD 明细表自动生成软件。通过实例演示表明,该软件能够驱动AutoCAD 快速准确的绘制出用户所要求的明细表,实现了软件对明细表的自动填写和修改,从而消除了手工输入带来的高出错率,使设计更加高效准确。
1、引言
AutoCAD 是目前应用最为广泛的通用交互式二维绘图软件。采用AutoCAD 绘制机械产品装配图时,绘制明细表表格并填写文本内容是必不可少的工作之一。当产品结构较复杂、零部件较多时,绘制明细表的工作量非常大。目前国内绝大多数用户仍采用手工绘制方式,非常繁琐且容易出错,灵活适应性相对较差,而且汉字输入占有很大比重,汉字的输入定位,单调繁琐,极易出错。国内广大学者对此进行了大量的研究与应用,取得了一些成果。AutoCAD 在2010 版本之后也增加了生产明细表的功能模块,但是使用起来非常不方便。在VB 环境下利用ActiveX 技术开发了明细表自动生成软件,设计人员可以利用该软件实现明细表表格的自动绘制和单元格文本内容的自动填充,也可以从数据库BOM 中将所需的数据添加到AutoCAD 图纸中,既提高了图纸的绘制速度,又保证了图纸文本数据的规范性。
2、明细表自动生成原理
2.1、逐行方式生成明细表
2.1.1、原理概述
逐行绘制是一种最基本的生成明细表方式,在该模式下,用户每次只能输入一行明细数据,并在图纸中相应的绘制一行表格内容。如此反复多次,便可绘制出完整的明细表。其技术路线分为五个步骤:
(1)VB 环境下启动AutoCAD;
(2)绘制明细表表头;
(3)输入明细表单元格文本内容;
(4) 绘制明细表边框线条并填充内容;
(5)存储到数据库。
2.1.2、获取明细表插入基点坐标
根据我国国标规定,明细表的位置应该在标题栏的上方(必要时可以放置在左侧),所以,明细表表头的插入点位置可以选取为标题栏的左上角点(记作P 点,如图2 所示),称为明细表基点。但是,运用AutoCAD 绘制图纸时,对于坐标系原点与图纸幅面的位置关系并没有统一标准,所以在实际绘制的图纸中,基点P 的坐标(xp,yp)因图纸不同而异。因此,在插入明细表表头时,必须先获取基点P 的实际坐标。
4、结论
软件应用VB 与ActiveX 技术对AutoCAD 进行了二次开发,实现了基于AutoCAD 的明细表自动绘制与填充。软件运行平稳,连接可靠,用户界面良好,使用快捷方便,达到了预期目的。软件特点:
(1)提供了三种不同方法用于生成明细表,方便用户根据需求进行选择;
(2)提供了明细表内容的查询修改功能,可方便的实现明细表的编辑;
(3)实现了绘图基点坐标的自动推算,简化了操作。