版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、产品设计BOM勺自动生成方法及关键技术研究提出了一种产品设计BOM的自动生成方法,利用OpenDW献盟组织提供的OpenDWGToolk%以下简称ODT技术从DW改件中读取设计BOMff需要的信息,自动生成设计BOMT品结构树及其展开产品结构关系表。讨论了在设计BOM!动生成过程中所遇到的难点及相应的解决办法,实现了一个设计BOW动生成系统并将之应用于企业实际生产管理中。1引言在制造业中,产品物料清单即BOM(BillofMaterial)是企业基础的核心数据,是联系企业设计制造和生产经营管理的桥梁。在整个产品全生命周期的各个阶段,面对不同的生产部门存在多种不同意义的BOM1图:设计BOM工艺
2、BOIM制造BOM质量BOM成本BOM采购BOIM销售BOIM设计BOM1企业产品设计部门用来组织和管理生产某种产品所需的零部件物料清单,它是产品设计工程师在完成产品设计后获得的,它是其它BOMB图的基础,其它的BOMIB是在设计BOM勺基础上,根据自身的需要,将其分解、添加、修改、调整后形成的,所以说设计BOMS整个系统中起着关键性作用。国内针对BOM勺研究很多,但是大部分都是侧重于阐述BOMS企业中如何应用,或者阐述BOM的数据组织结构及其各种BOMfc间的转换,而针对BOMft体如何生成并没有详细的阐述,忽略了一个最为基础且关键的问题:面对现代复杂产品,具BOMt据是如何获得的,在获彳#
3、数据后,最初的设计BOM是如何形成的。如果依然采用手工填写数据、编写BOM勺方法,显然对于复杂的产品是不可取的,不仅费力,费时,繁琐,而且容易出错。本文正是基于以上提到的问题,特别针对设计BOM对其BOkft据的提取以及BOM勺自动生成方法及相关技术做了研究,并将其应用于企业,解决了企业的实际问题。2 设计BOM自动生成系统的整体框架设计BOM本质上是产品在工程设计阶段的产品结构的反映,在设计部门完成产品设计以后,设计BOM已经隐含在产品当中,我们要将这种隐含关系提取出来并且以适当的表现方式将其显式地表现出来。基于目前企业基本都采用了CAD系统来进行产品设计,因此产品结构存在的最原始的状态也就
4、是CAD系统产生的成套电子工程图纸,而设计BOM勺数据也正是来自于这些电子图纸。这些图纸以图形和文本的形式清楚地描述了产品、部件、零件的组成结构及相互关系。本文就是要将这些图纸中已经存在的数据,根据它们之间的相互关系,通过ODT技术提取其中数据,再以产品结构树以及其对应的产品结构关系表的形式表现出来,并将之作为企业产品的重要文档保存到产品数据库中,为企业后续的工作做准备,或者为设计新产品时提供参考。本文将系统分成以下几个功能模块分别完成上述任务。(1)数据准备模块:该模块为设计部门管理人员提供了信息输入的接口,管理人员根据企业产品的分类,将和该产品相关的所有图纸文件,录入到系统中。(2)数据提
5、取模块:该模块将处理管理人员录入的所有图纸。利用ODT技术直接读取CAD电子图纸中设计BOM所需要的零部件信息,并将之存储到相应的数据结构中。(3)建立设计BOV品结构树:该模块根据企业对产品零部件组成结构的描述,将已经得到的产品零部件信息组织生成产品结构树,即设计BOM的产品结构树形式。通过该结构树设计人员可以清楚地查看产品的组成是否正确,如果发现产品结构有问题,那幺,此时即可对产品的设计做出调整,此时设计的BOM视图是以树层次结构展现出来的。(4)设计BOMT品结构树的展开:设计BOMZ产品结构树的形式并不能满足用户的全部需求,很多信息只通过树型结构无法表达出来,因此我们将设计BOMI开成
6、产品结构关系表的形式,该表不仅反映了产品结构的层次关系而且进一步体现了各个层次之间数量、重量以及各个层次零部件的来源(采购、外委、自制)等其它部门所需要的重要信息。2.1 设计BOM数据的准备这个阶段是设计BOMU成的最初阶段,也是关系到设计BOM数据是否准确完整的一个关键部分。设计部门必须要能够准确、完整地输入整套产品图纸文件,然后系统接收该套图纸文件,为下一步做准备。在此系统对输入的图纸不做检查,但是在数据提取阶段和产品数据结构树形成后,系统会给设计人员相应的提示,并且在产品结构树构造完成以后,设计人员可以将树展开检查该产品结构是否正确。如果不正确的话可以回溯,并且检查图纸输入是否正确,重
7、新输入。2.2 设计BOM数据的提取数据提取工作在BOM勺形成过程中具有关键性的作用,如果数据提取出现错误,那幺我们接下来的工作将是毫无意义的。当前我国企业应用CAD系统已经是非常普遍,基本实现了甩图板,正因为如此,设计BOM才具有了自动生成的需求。国内目前应用最广泛的CAD系统是Autodesk公司的Auto-CAD系统,它产生的图纸文件格式是DW格式的文件,这种图纸在我国企业中大量的使用,普遍性很强,但是由于Autodesk公司没有公开该文件的格式,用户无法直接从该文件中提取自己需要的信息。我们虽然可以使用一些二次开发语言如AutoLISP、ObjectARX、VisualLISP、VBA
8、等,根据自己的需要开发一些特殊功能,但是这些语言运行的环境都离不开Auto-CAD系统,Autodesk公司也提供了dxf文件格式作为与其它系统进行数据转换的接口文件,但是这种文件格式有着天然的缺陷,首先它也是必须在AutoCAD系统平台下才可以被操作,其次该文件的格式复杂难懂,普通用户难以正确地读取,而且DWG1过另存转换后得到的DXF文件,其文件的大小是dwg文件的2到3倍,而针对目前最新版的AutoCAD2004的DWG该DXF文件的大小更升为6到7倍,这无疑为企业又带来了一个附加的存储费用。为了不受AutoCAD系统的约束,保持数据提取功能的独立性,本文采取TheOpenDesignA
9、lliance即OpenDW献盟组织提供的ODT技术,ODT是OpenDWGToolkit的简称,它不需要AutoCAD运行环境的支持直接读取DWGKDXF文件,并且可以将之转换为它自己的数据格式,而且由于这种格式是对外开放的,无疑将为企业后续的生产管理提供便利。ODTytWindows和Unix操作系统,针对这两种操作系统的各个版本,ODT又细分了很多版本,用户只需要根据自己的环境,选取不同库文件,将其加入到自己的开发项目中去即可。到目前为止,ODT已经支持到了AutoCAD2004ODT以动态库的方式提供给用户,直接读取DWCH形文件,对其中数据进彳T挖掘整理。通过使用ODT大大地增强了我
10、们应用系统的独立性,缩小了系统的体积,同时必然增强了系统的鲁棒性。本文在对DWGB纸信息提取的实现过程中,没有遇到数据丢失的现象,完整地得到了我们所需要得所有数据。要使用OD磴须先建立ODT得应用环境,根据用户操作系统的版本,将必需的动态库、动态库引出文件、头文件、初始化文件加入到项目工程中,然后为ODT在内存中开辟所需要的空间,接着对ODT进行初始化,加载DWG&式文件,然后调用ODT开发包的功能函数,遍历图纸读取图纸数据,当读取工作完成以后关闭ODT在内存中所开辟的空间,接着卸载DWG&式文件。如图1所示。图1OpenDWGToolKit的工作原理设程在实际当中,我们需要的
11、数据一般都是从图纸的标题栏和明细表中而来,这里详细记录了图纸中组成产品的零部件的信息,如名称、数量、材料等。因此我们主要就是提取标题栏和明细表中的数据。根据实践经验,企业设计部门对图纸一般都有比较严格的规定,譬如对图纸的图幅、标题栏、明细表这些没有涉及到零部件本身形状尺寸的图纸要素,会采用一些标准的格式,将它们的位置、形状尺寸、间距、表中字体等这些属性以确定的方式在图纸中规定下来。这样无形中为我们对图纸数据的挖掘提供了便利,这样就可以通过ODT在图纸中找到一些关键的位置、尺寸(如标题栏的右下角基点),以及由此而上找到明细表并且通过线条之间构成的包围盒准确找出表中的字段及其对应的字段值。这样得到
12、的数据准确,而且大大提高了数据读取的速度。通过ODT技术的使用我们得到了需要的所有数据并将之存入到一个名为dwgfileInfoArray的数组中,该数组中每一个元素代表一张图纸信息,并且该元素分别记录了明细细表和标题栏数据,其数据结构如图2所示。人建文件信息基组图2士件信息存储领据转构2.3 设计BOM产品结构数据模型及产品结构树的建立2.3.1 设计BOM产品结构数据模型数据模型要能充分反映产品结构,能满足用户对数据的处理要求。产品实际的组成往往很复杂,其关系往往是一种网状的关系,如图3所示。产品A用3电瓶的产跖结构产品A,tf'i:零利K字UQ呼(TQL零科Y4转换后的产品结构树
13、实际当中一个产品由十几个甚至上百成千个零部件组成,而一个部件又由一个或多个零部件组成,这些关系可以用表或图的形式表述。最终产品处在最高层,它的直接零部件处在第2层,这些层的每一组件同样又可以连续分解成更低层的零部件直至最基本零件:外购件或原材料,并且存在这样的情况:一个零件被多个零部件引用,这样实际中产品零部件之间就形成了一种除了根节点外的多对多的网状关系。这种结构难以处理,为了清晰地表达产品结构,为了将设计BOW产品的所有部件能按层次关系全部显示出来,使产品及其构成的父子关系一目了然,而且为了便于计算机的处理,我们必须打破这种结构,本文采取将被多次引用的零件或者部件多次复制的方式,将图3转化
14、为图4的形式,这样复杂的图形结构被解构成为计算机容易处理的树状结构,使用了树型结构数据模型,即所谓的产品结构树,它按照产品、部件、零件的相互依赖关系组成的树形结构,可以按层次进行展开,而且这种结构正好符合我们要读取的零部件图纸的标题栏和明细表之间的关系。一般情况下每一张产品图纸都包含有标题栏或者明细表,或者二者皆有。这两个表非常详细地记录了零部件本身的信息。标题栏中记录了零部件的名称、代号以及表达该零部件图纸的图幅、页数等总体情况。而明细表则记录了该部件的详细组成部分如零件名称、数量、材料、加工单位等。2.3.2 建立设计BOMF品结构树在具体实现上,产品结构是一套图纸内部关系的反映。根据企业
15、的不同情况,在产品设计结构中,不论零件还是部件都有一个惟一标识它们的关键属性,如图号。据此我们便可以在产品结构树中惟一确定该零部件,将其插入到结构树中相应层次的节点中。对于复杂的部件它又由子零部件组成,此时在图纸中一般都会有明细表,该表中详细记录了组成该部件的零部件,如零部件的名称、数量、重量、材料技术、采购方式等。这样针对一张图纸,我们完全可以根据标题栏和明细表得到该部件的组成,形成一颗子树,如果我们能进一步将每张图纸通过它们在其它图纸的明细表中的相互引用情况,就可以构造出和我们设计的产品结构数据模型相吻合的整个产品结构树。利用OD俄们已经得到了组成产品的零部件信息,并且将之存储到了相应的几
16、个数据结构中,在此首先我们需通过访问这些信息,找到输入的图纸中的总装图的信息。我们根据总装图是产品结构树的根节点这个属性可以得到这样一个明显的结论;那就是该图的图号(在此我们以图号惟一标识零部件)在其它图纸的明细表中不会出现,否则它就不是总装图纸。据此我们按以下步骤得到总装图。(1) 调入一张图纸标题栏数据中的图号,在所有其它图纸的明细表数据中搜索,如果没有找到和它相同的图号名称,那幺这个图号就是总装图号,转(2);如果该图号在明细表中被找到,那幺终止当前查找过程,转步骤(3);(2) 将其加入到总装图的数组中,转步骤(3);(3) 如果所有图纸的图号都已被调入过,那幺程序终止,否则调入下一张
17、图纸的标题栏图号,在所有其它图纸的明细表数据中搜索,如果没有找到和它相同的图号名称,那幺这个图号就是总装图号,转(2);如果该图号在明细表中被找到,那幺终止当前的查找过程,转步骤(3)。这样我们得到了总装图号的数组,然后接以上步骤就要按照深度优先的策略从总装图号开始自顶向下递归构造产品结构树。将总装图号和根节点位置作为初始值,输入到下面的递归函数中:ConstructProductTree(Codecode,Itemitem)code是图号名称,item是树的节点位置将当前节点插入到树中,并返回当前节点的父点总装图号返回的是根节点本身FatherIem=Insert(code,item);if
18、(HaveChild(code)判断当前节点是否有子节点即是否有明细表数据如果有明细表数据记录,那幺则循环调用递归函数for(k=0;k<ChildNumber;k+)递归调用该函数将每个子节点插入到该父节点下,构造产品结构树ConstructProductTree(childnodek,FatherIem)RETUEN;没有子节点的情况下返回其中HaveChild(Codecode)函数判断是否有子节点的方法是这样的:如果输入的参数,即图号和输入的图纸中的标题栏中的图号有相同的情况,那幺那张图纸所具有的明细表中的每条记录所代表的图号就是其子节点。通过以上过程我们将设计BOMT品结构树构
19、造完成,而且还可以在每个节点上附加和图号对应的DWGC件的详细信息以供后续的调用。2.4 设计BOM产品结构树的展开产品设计结构树的形成,还不能满足用户的需要,用户不仅要看到产品零部件之间的层次结构关系,而且希望得到它们更多的信息,因此我们必须考虑以关系表的形式将结构树展开,并将每个节点对应的零部件信息展现给用户。在构造结构树时,我们可以在每个节点上静态地附加上该节点代表的DW改件详细信息,这为我们展开结构树,建立设计BO旷品结构关系表做了准备。首先我们可以按深度优先的顺序遍历结构树,并将节点的记录写入关系表中,初步构造关系表,这一步是比较简单的,只是一个简单的遍历结构树操作。通过这一步我们可
20、以把产品结构从树状的结构转换为关系表的结构形式,但是用户此时看到的关系表没有可以标志产品层次关系的东西,用户无法知道某个零部件的上下级关系是怎样的。这是因为各个节点之间只是局部的上下级关系,因为明细表中的序号是直接相对它的上级而来的,它们在关系表中反复从一开始到某个序号而停止,而不能反映整个产品结构的顺序关系,如表1左半部分所示。因此我们必须通过某种方式重新体现这种层次关系,我们需要重新构造产品的序号,来表达这种层次关系,最终形成表1的右半部分。本文采用了产品结构树反向映像的方法来重现这种关系。表1设计3口”美系表的也换序号图号箕它序号感号XE12271701.202.1.012271120,11.0?GB5783-S6GB3同J朋32272.7D1-20_2.203“71苒口1GB62-SSGB62.3S2GB7.1.S5<tB57.1-S53GB羽心施班CB5783-S642272.7O1JOJ.8.Q42"加LW2R014:1GB867.SC52272501.202.3,0,242二亡。1,»耳1C£61池第421($61706(1)我们把关系表中的序号,按照产品结构树深
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育心理学通关题库(附带答案)
- 2024年度山西省高校教师资格证之高等教育法规题库练习试卷A卷附答案
- 2024年度年福建省高校教师资格证之高等教育学能力测试试卷B卷附答案
- 2024年企业金融项目投资申请报告代可行性研究报告
- 2024年防雾涂料项目投资申请报告代可行性研究报告
- 山东省临沂一中2024-2025学年高三11月测试语文试题含答案
- 第六章 社区营养管理和营养干预课件
- 五年级数学(小数除法)计算题专项练习及答案
- 2024年期房屋建筑施工协议范例大全
- 2024电力供应与消费合规协议样式
- 《变压器有载分接开关振动声学现场测试方法》
- 管桁架施工方案
- 全国高考物理高考题说题比赛一等奖课件物理说题李焕景
- 华为MA5800配置及调试手册
- 汽车坡道玻璃雨棚施工方案
- 二轮复习微专题湖泊专题
- 2024年德阳发展控股集团有限公司招聘笔试参考题库附带答案详解
- 餐前检查表(标准模版)
- 重大风险管控方案及措施客运站
- 陕西方言的文化价值与保护策略
- (2024年)剪映入门教程课件
评论
0/150
提交评论