《企业产品图纸一致性校对软件开发.doc》由会员分享,可在线阅读,更多相关《企业产品图纸一致性校对软件开发.doc(40页珍藏版)》请在三一办公上搜索。
1、南 阳 理 工 学 院 本科生毕业设计(论文) 学院(系): 机电工程系 专 业: 机械设计制造及其自动化 学 生: 代 斌 指导教师: 陈 永 辉 完成日期 2011 年 5 月xxxxx企业产品图纸一致性校对软件开发 Software Development of Product Drawings Proofreading for Enterprise 总 计 : 35 页表 格 : 2 个插 图 : 25 幅南 阳 理 工 学 院 本 科 毕 业 设 计(论文)xxxxxSoftware Development of Product DrawingsProofreading for En
2、terprise 学 院(系): xxxx 专 业: xxx 学 生 姓 名: xxxxx 学 号: xxxx 指 导 教 师(职称): xxxxx) 评 阅 教 师: 完 成 日 期: 2011-5 南阳理工学院 Nanyang Institute of Technology企业产品图纸一致性校对软件开发xxxxxx摘 要 本课题结合计算机编程技术、数据库技术、AutoCAD的ActiveX Automation技术和Office VBA技术,采用基于三层结构的C/S开发模式,实现了构建产品BOM、图纸一致性校对、BOM打印输出的自动化管理。软件实现自动提取产品图纸文字信息,参照系统内的企业
3、标准件库、材料库和通用件库等基础信息库,完成对产品各级标题栏、明细栏信息校对的信息化和自动化管理;速度快,准确度高。图纸校对完成后可导出符合企业格式要求的产品综合明细及分类明细,能为后续的定额编制、采购计划和成本核算等环节提供基础数据。关键词 图纸校对;AutoCAD;ActiveX Automation技术;BOMSoftware Development of Product DrawingsProofreading for EnterpriseMechanical Design, Manufacturing and Automation Major DAI BinAbstract: Thi
4、s subject software has been developed combining computer programming, Database, ActiveX Automation of AutoCAD and Office VBA technologies,adapting the C/S model of three layer structure. It can realize the automatic management of generating product BOM, proofreading drawings and exporting BOM report
5、.This software can read product drawings BOM, complete the proofreading of title bar and part-list information automatically referencing to the standard part library, materials library and general parts library, and the process has high speed and perfect precision. After the proofreading of drawing,
6、 the software can export the BOM and classified BOM which satisfies enterprises required format, providing basic data for the norm making, purchase planning, cost accounting and other links in future. Key words: drawings proofreading; AutoCAD; ActiveX automation; BOM目 录1 绪论11.1 本课题的目的和意义11.2 本课题的主要研
7、究内容11.3 图纸校对的现状分析12 产品图纸校对相关开发技术32.1 采用OLE DB 数据库引擎32.2 数据库技术32.2.1 在VB中使用ADO访问数据库的机制52.2.2 使用ADO技术访问数据库的基本流程52.3 AutoCAD的ActiveX Automation技术72.3.1在VB中操纵AutoCAD对象的方法82.4 Excel VBA技术102.4.1在VB中操纵Excel对象的方法103 提取AutoCAD图纸明细表133.1自动提取CAD明细表的意义133.1.1 选点法143.1.2 遍历法143.3利用VB提取CAD图纸明细表的核心程序154 软件的设计与实现1
8、84.1 系统软硬件需求184.1.1 硬件需求184.1.2 软件需求184.2 系统功能的模块化设计及实现184.3 软件操作流程194.4 操作流程简介204.4.1 图纸整理204.4.2 查看整理错误234.4.3 生成BOM244.4.4 图纸信息的自动校对26结束语32参考文献33致谢341 绪论1.1 本课题的目的和意义随着CADCAM技术的不断深入和发展,企业基本实现了计算机绘图,每个工程设计或产品设计生成大量的CAD绘图文件,企业为了有效地组织物流,需要将输入CAD图纸的标题栏和明细栏信息自动提取出来,存放在数据库中,实现对产品图样各种BOM表自动汇总管理及校对,从而提高企
9、业自动化管理水平,提高工作效率,为企业全速发展奠定基础。1.2 本课题的主要研究内容主要内容及技术要求:本软件采用C/S开发模式和ADO数据库访问技术,利用Visual Basic编程语言实现对产品图纸标题栏和明细栏信息的自动一致性校对,并根据产品明细类别进行分类汇总和导出,实现了企业产品图纸校对的信息化和自动化管理。软件实现功能如下:1材料库、标准件库、通用件库和外购件库管理;2标题栏信息自动校对;3明细栏信息自动校对;4校对错误信息的检索和导出;5产品明细的分类汇总和导出;6软件使用说明书。1.3 图纸校对的现状分析通过文献检索,发现有如何读取AutoCAD图纸信息的文章,但仅阐述了一种普
10、通思路,多数以遍历全部图纸图形元素的方法检索图纸文字信息,此类方法不仅效率低下,而且容易出错。本课题综合分析了企业图纸的一般特点,通过对企业图纸图幅大小、绘图比例的概率分析,结合框选的优化算法,得出适合企业的框选方法,能够快速的找到所有图纸信息,根据测试,对90%的图纸可一次性选定所要信息,如此可极大的提高软件的读图效率。通过网上检索,也存在极少数的自动读图构建产品BOM软件,但其通用性不强,无法真正应用到企业,读取速度慢,容易出错,不能按照企业的个性需求导出产品BOM。本作品软件提供了两种读取产品图纸信息的方案,一种适用于企业图纸标题栏和明细表为带有属性的图块,另一种适用于企业图纸标题栏和明
11、细表均为普通线段和文字的情况。系统提供了简单的读图参数配置,只要企业产品图纸采用AutoCAD绘图软件绘制,即可使用本软件。 通过对目前市面上的企业软件进行分析,发现少部分的企业已经具有图纸自动校对软件,但通常比较简单,无法进行具体功能定制。根据实际调查,发现内地80%的中小企业还没有实施自动校对,也预示着此类企业的图纸校对仍处于手工处理阶段。本作品软件能够实现对图纸信息的自动校对校对,并将校对结果以报表的形式提交给用户,同时根据企业实际需求进行定制,提高工作效率效果颇优。2 产品图纸校对相关开发技术本课题利用计算机编程技术、数据库技术、AutoCAD的ActiveX Automation技术
12、和Office VBA编程技术,结合企业实际需求进行开发。因目前市场内最流行、应用最广泛的绘图设计软件是AutoCAD系统,而AutoCAD绘图系统内嵌有功能强大的VBA开发语言,能够与Visual Basic开发平台进行紧密集成,故本软件系统前台开发语言采用Visual Basic。2.1 采用OLE DB 数据库引擎OLE DB 是新的低层接口,它介绍了一种“通用的”数据访问范例。也就是说,OLE DB 并不局限于 ISAM、Jet 甚至关系数据源,但是它能够处理任何类型的数据,而不考虑它们的格式和存储方法。在实际应用中,这种多样性意味着可以访问驻留在 Excel 电子数据表、文本文件甚至
13、邮件服务器,诸如 Microsoft Exchange 中的数据。在 Visual Basic 6.0 中,可以通过 ADO,OLE DB 的程序员接口,调整 OLE DB 的灵活性。甚至可以在 Visual Basic 中创建自己的 OLE DB 提供程序。由于接口比较复杂,不能在 Visual Basic 中直接访问 OLE DB。ActiveX 数据对象(ADO) 封装并且实际上实现了 OLE DB 的所有功能。2.2 数据库技术VB作为一种强大的开发工具,可以很方便地访问数据库。VB可用的数据访问接口有3种,即ADO(ActiveXDataObjects)、RDO(Remote Dat
14、a Objects)和DAO(DataAccess Objects)。而ADO则是DAO和RDO的后继产物,正在逐渐代替其他数据访问接口,它是由美国Microsoft公司新推出的一种独立于开发工具和开发语言的简单而且容易使用的高效的数据访问接口,在这种接口中,提供了两种数据库访问方式:一种是使用ADO数据控件,通过对数据控件的绑定来访问数据库中数据;另一种则是使用ADO对象模型,通过对Connection、Command、Parameter、Error、Recordset、Field和Property等7个对象的定义和编写代码来实现对数据的访问。这些技术各有特点,它们提供了简单、灵活、访问速度
15、快、可扩展性好的开发技术。数据访问接口是一个对象模型,它代表了访问数据的全过程。使用Visual Basic,可以在任何应用程序中通过编程控制连接、语句生成器和供使用的返回数据1。本软件开发所用的部分数据库表格如表2-1,2-2所示。表2-1 构建BOM表(CADBOM)字段名字段类型大小备注ID自动编号长整型主键排序数字5代号文本50名称文本50单位文本5数量文本20材料文本50单重文本50总重文本50备注文本50装配序号文本250父图号文本50总数数字整型部装是/否表2-2 图纸信息表(DWGInfo)字段名字段类型大小备注ID自动编号长整型主键图纸代号文本100图名文本100材料文本10
16、0数量文本50重量文本50比例文本50设计文本50日期文本10文件名文本250部装是/否总装是/否2.2.1 在VB中使用ADO访问数据库的机制在VB中可以使用ADO Data控件来快速建立数据绑定控件和数据提供者之间的连接。数据绑定控件是任何具有”数据源”属性的控件,数据提供者则是任何符合OLEDB规范的数据源。在实现数据访问机制时,我们一般只需设定好ADO数据控件与数据相关的属性、方法和事件,无需编写任何程序代码就可以实现数据访问操作。通常先将Connec-tionString属性设置为一个有效的连接字符串,然后将RecordSource属性设置为一个适合于数据库管理者的语句来创建一个连接
17、。也可以将ConnectionString属性设置为定义连接的文件名。该文件是由“数据链接”对话框产生的,该对话框可以通过单击“属性”窗口中的Connection-String,然后单击“生成”或者选择时打开。再将数据绑定控件如DataGrid、DataCombo或DataList控件的Data-Source属性设置的ADOData控件,把ADOData控件连接到该数据绑定控件2。2.2.2 使用ADO技术访问数据库的基本流程首先利用Access建立数据库data.mdb,并分别建立DWGInfo(图纸信息表),BOMInfo(BOM表),Material(材料表)等数据表。1通过ADO Da
18、ta控件编程来访问数据库(1) 在工具箱中添加ADO Data控件。操作为:“工程”“部件” “Microsoft ADO Data Control”。如图2-1所示。图2-1 在工程中引用ADO控件(2) 在窗体上放置一个ADO Data控件,名称默认为Adodc1。(3) 设置Adodc1.ConnectionString属性值为“DSN=datadsn”。其中“datadsn”为指向data.mdb数据库的数据源名称,可通过控制面版预先设定。(4) 设置Adodc1.RecordSource项,选择命令类型为“2-adCmdTable”,并在表名项中选择“BOM”。(5) 将ADO Da
19、ta控件与Text文本框绑定。放置文本框控件于窗体,将其DataSource属性值设置Adodc1,DataField属性值设为表中一字段,如gh。运行程序,可用ADO Data控件的方向箭头来浏览。2. 用ADO对象库进行编程访问(1)引用ADO对象库。操作为:“工程” “引用” “Microsoft ActiveX Data Objects 2.1 Library”。如图2-2所示。图2-2 在工程中引用ActiveX控件(2)用代码打开数据源,建立记录集,将记录集中的记录内容打印出来。Dim conn As Connection conn为连接Dim rs As Recordset rs
20、为记录集Dim sql As StringSet conn = CreateObject(adodb.connection)conn.Open provider=msdasql;database=jxgl;data source=jxgldsn 打开数据源sql = select * from BOMInfoSet rs = conn.Execute(sql) 建立记录集Do While Not rs.EOFFor i = 0 To rs.Fields.Count - 1Print rs.Fields(i) 输出BOM表中各字段 Next irs.MoveNextPrintLoop2.3 Au
21、toCAD的ActiveX Automation技术随着Microsoft公司在AutoCAD 2000以上版本中将ActivcX技术融入开发工具中,利用AutoCAD ActiveX技术可直接实现对AutoCAD绘图软件的控制、及自动计算、校核程序与绘图程序的紧密结合,不必再经过中间数据文件进行连接。使用ActiveX技术的连接模式。这种方式不但运行速度快,使用方便,而且自动化程度较高。AutoCAD ActiveX是ActiveX技术在AutoCAD中的应用,它不但可提供在AutoCAD内部进行控制编程的机制,而且通过将AutoCAD对象开放到外部世界,也可实现在AutoCAD 外部进行控
22、制编程。AutoCAD作为一种具有高度开放结构的CAD平台软件,它提供了强大的二次开发环境。从AutoCAD R14版开始,AutoCAD引入了ActiveX Automation技术。由于ActiveX技术是一种完全面向对象的技术,所以许多面向对象化编程的语言和应用程序,可以通过ActiveX与AutoCAD进行通信,并操纵AutoCAD的许多功能。AutoCAD ActiveX技术提供了一种机制,该机制可使编程者通过编程手段从AutoCAD的内部或外部来操纵AutoCAD。ActiveX是由一系列的对象,按一定的层次组成的一种对象结构,每一个对象代表了AutoCAD中一个明确的功能,如绘制
23、图形对象、定义块和属性等等。ActiveX所具备的绝大多数AutoCAD功能,均以方法和属性的方式被封装在ActiveX对象中,只要使用某种方式,使ActiveX对象得以“暴露”,那么就可以使用各种面向对象编程的语言对其中的方法、属性进行引用,从而达到对AutoCAD实现编程的目的3。2.3.1在VB中操纵AutoCAD对象的方法使用ActiveX控件提供的对象与操作其它对象的方法相似,即首先将一个对象引用赋值给变量,然后编写使用对象的方法、属性和事件的代码。AutoCAD对象在AutoCAD ActiveX中是开放的,在VB中可以直接操纵,具体方法如下: 在VB工程中引用AutoCAD类型库
24、:在工程(Project)菜单中选择引用(References)选项,打开引用对话框,然后从中选择“AutoCAD 2007 Type Library”类型库。如图2-4所示。 图2-3 在工程中引用AutoCAD类型库在程序代码中设置AutoCAD程序对象和文档对象。 通过AutoCAD ActiveX对象、属性和方法,在AutoCAD图形文件中对对象进行处理。在Visual Basic内新建一个模块,在模块窗口插入如下代码:Public acadApp As AcadApplicationPublic Function ConCAD() As Boolean 用于打开AutoCADOn E
25、rror Resume NextConCAD = False:Err.Clear如果目前系统中已经打开AutoCAD绘图软件,则直接获取控制句柄Set acadApp2k = GetObject(, AutoCAD.Application)If Err Then Err.Clear Set acadApp = CreateObject(AutoCAD.Application)End IfIf acadApp Is Nothing Then MsgBox 启动AutoCAD失败。, vbOKOnly, 错误提示 ConCAD = FalseElse acadApp.Visible = True
26、请务必将物件Visible属性设为true ConCAD = TrueEnd IfEnd Function通过调用ConCAD函数可获得AutoCAD绘图软件的控制句柄4。2.4 Excel VBA技术本课题研究软件利用Excel VBA技术将各类产品BOM数据按照企业规范标准进行导出,为后续的文件分发和打印提供给出数据。微软为了让开发出来的应用程序共享一种通用的自动化语言Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言Visual Basic的子集。实际上VBA是寄生于VB应用程序的版本。VBA和VB的区别包括如下几个方面: 1.
27、 VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化。2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序。3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的父应用程序,例如EXCEL5。 2.4.1在VB中操纵Excel对象的方法使用ActiveX控件提供的对象与操作其它对象的方法相似,即首先将Excel对象引用赋值给变量,然后编写使用对象的方法、属性和事件的代码。具体方法如下: 首先在VB工程中引用Excel类型库:在VB的“工程”菜单中选择“引用”选项,打开引用对
28、话框,然后从中选择“Microsoft Excel 11.0 Object Library”类型库,如图2-4所示。 图2-4 在工程中引用Excel类型库在Visual Basic内打开公共模块,在程序代码中设置Excel程序对象,在模块窗口插入如下代码:Public excelApp As Excel.ApplicationPublic Function ConExcel() As BooleanOn Error Resume NextIf excelApp Is Nothing ThenSet excelApp = GetObject(, ConExcelStr)If Err ThenE
29、rr.ClearSet excelApp = New Excel.ApplicationIf Err ThenMsgBox Err.DescriptionExit FunctionEnd IfEnd IfEnd IfIf excelApp Is Nothing ThenConExcel = FalseMsgBox 连接Excel失败。, vbOKOnly, 错误提示ElseexcelApp.WindowState = 2excelApp.Visible = FalseConExcel = TrueEnd IfEnd Function通过调用ConExcel函数可获得Excel软件的控制句柄。3
30、 提取AutoCAD图纸明细表3.1自动提取CAD明细表的意义制造企业工程技术人员在利用CAD进行产品设计时产生大量的DWG文件,每一个DWG文件中包含一张或数张图纸,设计的基础资料如:工程项目、图号、设备(物料)名称、型号规格、材质、数量、重量、备注等等文本信息都记录在图纸标题栏明细表中。设计工作完成后,工艺编制、成本预算、物料消耗、物流采购、计划调度、车间生产等项管理业务都将依据图纸进行操作。在通常的管理中,各业务部门往往通过人工的方式从CAD图纸或纸质图纸明细表中获取技术文件数据,再利用WORD或EXCEL进行手工二次录入,编制各自需要的明细表、经过汇总,生成相应的报表,并在此基础上产生
31、工艺技术文件通俗简称为(工单),按不同的用途也有的称之为物料消耗单、物料清单BOM等。这种单页面的文本制作方式虽然使用了电脑操作,但并未能摆脱繁重的手工录入和编辑工作,不能进行数据的自动处理,存在图纸与制表数据不一致、差错率高、工作量大、编制周期长、效率低下、查询繁琐、数据不能共享等多种弊端。因此,采用自动提取CAD明细表与进行数据库管理的方法是克服以上弊端提高企业设计、技术、管理效率和工作质量的有效途径。AutoCAD是AutoDesk公司开发的通用CAD工作平台,在机械、造船、电子、汽车、测绘、建筑等许多行业中得到广泛的应用,其完善的图形绘制和编辑功能,多种接口文件,较强的数据交换能力,特
32、别是开放的二次开发功能给用户提供了有力的技术支撑。Microsoft Visual Basic 是一个面向对象的可视化编程环境,具有丰富的开发能力。AutoCAD从R14版开始增加了作为ActiveX Automation服务器应用程序的功能,这是一个功能强大的接口,它提供了一系列开放的对象,通过这些对象,VB应用程序便可以对AutoCAD进行编程控制。AutoCAD2000及以后版本其功能进一步扩充,强化了AutoCAD与数据库的通讯能力,能够使AutoCAD与其它应用程序(例如Microsoft Excel、Word、Access)直接共享数据。它是对AutoCAD进行二次开发的一种强有力
33、的手段6。3.2自动提取CAD明细表的方法工程技术图纸的右下角区域一般都布置着标题明细栏,记载着图形总体和明细的特征信息和基本技术要数,它是所有派生技术文件的信息源头和依据,CAD图纸继承了这个惯例。我国国家技术标准GB/T10609.12-1989对图纸标题明细栏的形式、内容、尺寸都作了具体规定。虽然各企业图纸标题明细栏样式不尽相同,但大同小异,基本结构一致。标题栏记载着图形的外部信息,明细栏记载着图形内在的详细要素和彼此的关联。如图3-1所示。图3-1 CAD图纸明细栏明细栏由若干明细行组成,明细行则由各栏目组合。自动提取AUTOCAD图纸明细表的信息其实质就是针对明细行对各栏目进行提取数
34、据的操作。提取明细行数据的方法概括起来,通常有选点法和遍历法两种:3.1.1 选点法即先点选起始明细行左下角坐标与末尾明细行右上角坐标所在的位置,确定提取数据的区域范围,对该区域范围内的所有实体对象进行逐一扫描,读出文字对象(TEXT、MTEXT)的(X、Y)坐标属性和字符串属性。通过文字对应坐标值的分析确定该文字在明细表中的位置,实现自动提取数据的操作。这种方法对单图的DWG文件效果较好,但对多图的DWG文件和不规则的标题明细栏操作起来就很复杂且取数的精度也较难控制,实用效果不够理想,这种方法对以往标题栏未作规范要求的老图纸其作用显而易见。3.1.2 遍历法即利用AutoCAD块行属性特征来
35、提取明细栏的信息。在AutoCAD内部对象模型(AutoCAD Object Model)以层次结构组织起来,顶层可编程的Application对象启动AutoCAD应用程序的一个实例,通过Application对象定位到其它对象;第2层是Document和Preference对象,Document对象代表当前在AutoCAD应用程序窗口中打开并操作的一个AutoCAD图形文件,Preference对象对应于Preference对话框包含AutoCAD当前的配置信息;第3层是Document的集合对象,如ModelSpace,PaperSpace,Blocks对象等等,通过集合对象我们就可以访
36、问当前图形中的所有实体。块行取值法主要使用集合中Attribute和Block两个对象。具体设计明细行时,没有格式限制,唯一要求就是必须使一个Attribute对象对应明细行中的一个栏目项,将对应明细行中所有栏目的Attribute对象组合在一起放入Block对象中,该Block对象就是用户定义的块行(明细行)。将定义好的块行依次插入(复制)到图纸标题栏上方,组成图纸明细栏。在AutoCAD中自动提取明细表数据解决方案思路如图3-2所示。图3-2 AutoCAD自动提取明细表数据思路框图3.3利用VB提取CAD图纸明细表的核心程序本例采用遍历法提取明细表信息,核心程序如下:获取当前图形信息,利
37、用遍历法,针对机械图Public Function GetCurrDwgInfoBLF(FileName As String) As Boolean 0表示整理失败,1表示整理成功On Error GoTo Err_GetCurrDwgInfoBLFDim elem As ObjectDim sql As StringDim FondBTL As BooleanDim FondMXL As BooleanDim count As IntegerDim TagStr As StringDim Array1() As ObjectDim KeyStr As StringDim BTLName As
38、 StringDim BTLCode As StringDim XuHao As StringDim MXLCode As StringDim MXLName As StringForm1.Text2 = For Each elem In acadApp.ActiveDocument.ModelSpaceWith elemIf .EntityType = acBlockReference Then 是图块If .Name = 河南ROADY人名-王宏义 Then 是标题栏块If .HasAttributes Then 判断该BlockRef对象中是否包含AttributeRef对象Array1
39、 = .GetAttributes 获得该BlockRef对象中AttributeRef对象的列表If UBound(Array1) 3 ThenFondBTL = TrueFor count = LBound(Array1) To UBound(Array1)TagStr = Trim(Array1(count).TagString)Select Case TagStrCase GEN-TITLE-DES17.10 图名BTLName = Trim(Array1(count).TextString)Case GEN-TITLE-NR9.15 图纸代号BTLCode = Trim(Array1
40、(count).TextString)End SelectNext countForm1.Text1 = 图纸代号: & BTLCode & 图纸名称: & BTLNameEnd If 属性大于3End If 含属性ElseIf .Name = GBPL1 Then 找到明细表图块If .HasAttributes Then 判断该BlockRef对象中是否包含AttributeRef对象 ,含属性信息Array1 = .GetAttributes 获得该BlockRef对象中AttributeRef对象的列表If UBound(Array1) 3 Then 属性个数大于3FondMXL =
41、True 遍历该BlockRef对象中的所有AttributeRef对象For count = LBound(Array1) To UBound(Array1)TagStr = Array1(count).TagStringSelect Case TagStrCase 1GENST 序号XuHao = Trim(Array1(count).TextString)Case 5GENST8.5 代号MXLCode = Trim(Array1(count).TextString)Case 7GENST7.2 名称MXLName = Trim(Array1(count).TextString)End
42、SelectNext count4 软件的设计与实现软件实现了自动读取产品图纸并构建产品BOM,自动校对产品图纸信息,自动汇总各类BOM并为ERP提供数据接口。解决了企业产品研发中存在的半自动化现状,提高了新产品的研发效率。软件可应用于制造业等与CAD图纸有关的企业使用。4.1 系统软硬件需求4.1.1 硬件需求 (1)PIII以上处理器(2)256MB(至少128MB)RAM(3)50MB以上可用硬盘空间4.1.2 软件需求 (1)Windows XP,vista及以上操作系统(2)Microsoft Excel 2003或以上版本(3)AutoCAD R14或以上版本4.2 系统功能的模块
43、化设计及实现本作品充分利用计算机编程技术、数据库技术、AutoCAD的ActiveX Automation技术和Office VBA技术,实现了对产品图纸信息的整理和收集,读取产品总装图及各级部装图明细自动形成产品结构树,根据各类参照库对产品进行自动校对校对,自动导出产品综合明细和分类明细等。产品图纸自动校对软件主要实现自动读取企业图纸信息,构建产品结构树(BOM),通过企业材料库、标准件库、外购件库和通用件库实现对产品图纸文字信息的自动校对校对,同时提供便捷的查图功能。根据图纸各零部件分类,可将产品全部零部件安不同分类进行导出,同时导出产品综合明细,稍加修改即可为下游的ERP系统提供基础数据
44、。软件功能框图如图4-1所示。图4-1 软件功能结构图4.3 软件操作流程首先对产品图纸进行文件整理,读取图纸标题栏信息和图纸图幅大小及绘图方向、绘图比例等基本信息,并将其存入数据库。然后根据产品总装图及各级部装图自动构建产品结构树(BOM),如果在读取产品BOM过程中发现有借用件,则根据借用件图纸代号自动到借用件库内进行查找,并将借用件库内相应子BOM关联入当前产品相应零部件。第三,对产品图纸进行自动校对,如果发现错误则及时提醒用户进行图纸修改。第四,导出产品综合明细,根据产品零部件分类情况,分别导出产品综合明细和各分类明细。另外软件还提供了系统参数配置和参照库管理功能,通过简单的系统参数配
45、置和参照库管理,可将该软件移植到其他企业进行使用。软件操作流程图如图4-2所示:图4-2 软件操作流程4.4 操作流程简介4.4.1 图纸整理打开软件,输入默认的用户名称密码(均为admin),进入软件主界面。单击主菜单的“构建BOM(B)”“读取图纸(A)”菜单项,或单击标准工具栏内的“读取图纸”按钮调出“批量读取图纸信息”对话框,如图4-3所示。图4-3 产品图纸信息整理窗口单击图4-3中的“浏览(S)”按钮,打开“AutoCAD(*.dwg)文件打开”对话框,选择需要进行整理的文件夹内的任意一个DWG图形文件,然后单击“打开”按钮返回到图4-3,单击“批整理(B)”按钮系统自动打开本机上的AutoCAD绘图软件或获取本机已打开的AutoCAD系统句