没有合适的资源?快使用搜索试试~ 我知道了~
计算设计与工程学报。号12014年第3期第161~172页www.jcde.org在大型数据库Robin Roj1,*1伍珀塔尔大学(FB D机械工程,机械工程信息学,D 42097伍珀塔尔,德国)(2014年1月26日接收;2014年4月24日修订;2014年4月24日接受摘要本文介绍了三种不同的搜索引擎检测CAD零件在大型数据库。通过导出存储在CAD模型的结构树中的数据来执行对所包含信息的分析准备程序为每个模型生成一个XML文件,除了包括结构树的数据外,还拥有每个部件的某些物理属性第一个搜索引擎专门用于发现标准零件,如螺钉或垫圈。第二个程序使用某些用户输入作为搜索参数,因此具有执行个性化查询的能力第三种方法将一个给定的参照零件与数据库中的所有零件进行比较,并定位与参照零件相同或相似的文件所有的方法都是自动运行的,并且具有共同的结构树分析使用CATIA V5构建的文件和使用Python编写的搜索引擎已用于实现。本文还包括每个程序的优点和缺点的简短比较,以及性能测试。关键词:CAD; CATIA V5;分类;数据库;数据挖掘;设计树;特征识别;知识发现; Python;搜索引擎1. 介绍计算机辅助新产品虚拟设计和整个项目管理的方法对现代工程部件的施工技术产生了重大影响适当的软件可用于不同的需求,例如,单个零件的概念和技术草案,或其他几项工程任务的管理和协调,可以分别概括为计算机辅助设计(CAD)和计算机辅助工程(CAE)。在新部件的开发阶段,从手工绘制草图和复杂的原型制造到由模拟或计算支持的虚拟产品开发(VPD)的转变在成本效益和质量改进方面产生了许多优势但随着计算机辅助技术的发展,新的挑战和任务也随之而来。一个主要的困难是处理大量的数据,这些数据是在使用属于产品生命周期管理(PLM)的软件时产生的仅举几个例子是用于虚拟模型、技术图纸、FEM计算和装配的专用文件,或附加数据,如表格,*通讯作者。联系电话:+49-202-439-2090,传真:+49-202-439-2091电子邮件地址:r. uni-wuppertal.de© CAD/CAM工程师协会Techno-Press doi:10.7315/JCDE. 2014. 016图片,演示,甚至视频。汽车制造商等大公司的一个常见策略是将大量上述信息存储在大型数据库中,供公司范围内访问。一个重要的问题是根据预期目标建立这样一个数据库并确定其结构这些意图可以是例如,完成的工作的良好文档,或者甚至可能包括对存储的信息进行舒适的重新访问的所有可能性。由于数据库中数据仓库的许多不可想象的样式,如字母顺序或时间顺序,以及根据公司的不同部门或分支进行排序,因此重新获得曾经存储的信息可能是一项具有挑战性的任务。针对这一研究领域,介绍了数据库中的知识发现(KDD)和数据挖掘(Data Mining)两个关键词根据Fayyad,Piatetsky-Shapiro和Smyth的定义,KDD可以定义为一个过程[1]:“KDD是识别数据中有效的,新颖的,潜在有用的,最终可理解的模式的非平凡过程。“同一作者描述了KDD的方法,如下[2]:162R. 计算设计与工程学报。号12014年第3期第161~172页有效地进行建模和支持。“Frawley,Piatetsky-Shapiro和Matheus认为KDD的三个最重要的目标是总结、区分和比较,指的是对提取的数据的属性进行清晰的区分和分类[3]。数据挖掘描述了一种类似的策略和词源学,根据Petersohn从口语中开发或提取稀有材料,与大量数据中的有价值信息相比[4]。Gorunescu [5]提供了一个很好的概述Hilderman和Hamilton描述了对所提取的信息的评估,以用于兴趣度的测量他们认为分类、关联、聚类和相关是数据提取的四种最重要的技术[6]。本出版物介绍了一个数据提取的具体案例为了实现算法,选择了CAD程序CATIA V5和编程语言Python由于Python可通过COM接口与CATIA连接,因此两个程序都预定用于创建宏,这些宏能够自动执行通常手动完成的某些步骤对用CATIA构建的大型工程零件数据库进行了如前所述,目标是对随机成分进行某种分类,尽可能自动和独立地工作在这一点上,对大多数CAD系统以及CATIA生成的CAD模型的构成作一简要说明。通常,构造器通过使用几个功能来构建工程部件的虚拟模型,例如,拉伸、旋转、钻孔、倒角或倒角,以获得所需的形状。每个零件的这些属性称为特征。根据Vajna等人[7],特征不仅可以标记为几何元素,还可以标记为相关的信息元素,如关系和约束。所有特征的集合,以及模型所包含的每个特征的明确确定,形成了零件的精确定义;两者的结合导致了某种奇异性。所有常见的CAD系统都将这些特征保存在创建的文件中,并且还保存在所谓的构造树或设计树中,其中用户能够理解所包含的规范。根据Kornprobst的说法,结构树说明了所有的构造步骤,这些步骤按照时间顺序导致显式几何或规则[8]。在第3节和第4节中,介绍了三种搜索算法,它们检查给定CAD模型的结构树结构树中包含的信息从CATIA外包,并以XML文件的形式存储,以便于访问和后续分类。第五节比较了这三种搜索算法的优缺点,并确定了它们适用的场合2. 现有技术对于第1节中描述的环境,许多科学和工业概念已经存在。在这里,它应该专注于工程应用程序,因此数据库中分别充满了CAD和CAE文件。处理这种信息的一般结构的方法由Ester等人提出。[9],他们专注于空间数据库;以及Haffey和Duffy [10],他们将该主题与设计问题联系起来。Angkasith的论文集中在模块化设计[11]。特别是,由多个供应商制造并仅由委托人安装的工程产品的管理,在生成数据的管理和每个工作步骤的协调方面是非常雄心勃勃的在这种情况下,将最终产品分成模块可能会减少时间和成本。知识的表示以及单个元素彼此之间的交互有向图此外,上面提到的CATIA结构树被认为是一个图形,因此外包成XML格式,这是能够说明层次结构。Kizu等人[12]给出了一个使用图来描述复杂情况的例子他们展示了CAD数据挖掘的方法,以及二维物体的检测。对于工程应用,不仅新产品的虚拟演示是重要的,而且精心制定的生产计划也因此,CAD特征和制造特征的严格分离发生,并且在自动特征识别期间必须Harding等人对制造业中的数据挖掘进行了全面的回顾[13]第10段。Babic , Nesic 和 Miljkovic 列 出 了 自 动 特 征 识 别(AFR)的三个主要问题从CAD模型中提取几何图元,2。为形状特征识别定义合适的零件表示; 3.特征模式匹配/识别[14]。在Iyer等人的另一篇综述中。[15],以下用于检测形状的技术分为六类:1.基于全局特征的技术,2。基于特征识别的制造技术; 3.基于图形的技术,4。基于组织图的技术,5。产品信息化技术; 6.基于3D物体轮廓的技术。Min和Bowyer [16]以及Cucchiara等人[17]提出了三维物体自动识别的两个生动示例,他们通过图像分割检测边缘并重建表面Flynn和Jain也使用了关系图[18]。他们将他们的主题与在数据库中存储所获得的信息联系起来,这些信息以后可能被用作制造的基础虽然他们的出版物涉及专有CAD文件库,但Cybenko,Bhasin和Cohen计划一个全球系统来表示,特别是重新使用曾经检测到的形状[19]。通过在设计阶段应用检查技术,以及体素的使用,R. 计算设计与工程学报。号12014年第3期第161~172页163表1.所有方案的概述。程序描述输入输出tree.py将CATIA的结构树外包为XML文件带有CATPart文件的带有XML文件的norm.py给定数据库带有XML文件和CATPart文件的数据库,标准零件与所选规范零件相似的已定位文件的名称category.py为给定数据库中符合参数带有XML文件和CATPart文件的数据库,搜索参数符合给定参数match.py查找给定数据库中与引用带有XML文件和CATPart文件的数据库,引用XML文件和CATPart文件输入部分三个类别中的文件名称(完美,非常好,好)基于近似,当前部件与数据库中的所有相关文件进行比较,以识别相似性,并将新对象集成到该库中。当然,所有这些技术都应该降低成本,并提高设计和制造过程的效率Ip和Regli [20]特别关注制造特征的识别通过这种特征的自动识别以及生产步骤的分离,可以在没有任何人工辅助的情况下生成机器应用的Horváth和Rudas [21]描述了这种跨学科合作的必要性。一旦分别提取特征和任何其他信息,就可以在数据库中进行系统和自动搜索以下出版物涉及搜索引擎,它使用用户的输入作为搜索参数,在数据库中查找某些模型。Min等人的策略。[22]可以分为三个步骤:(1)获取:必须从网络收集3D模型,(2)分析:必须分析它们以用于以后的匹配,以及(3)查询处理和匹配:在线系统必须将用户查询与所收集的3D模型相匹配。Wei和Yuanjun [23]提出了与搜索引擎相关的数据挖掘技术的另一种方法。为了在大型数据库中检索零件,他们使用基于体素的技术;而Ansary、Daoudi和Vandeborre专注于二维视图,以实现他们称为自适应视图聚类的方法[24]。通过该程序,他们能够从数据库中检索三维模型在这一点上,应该参考普林斯顿形状检索和分析组[25],其中有几个示例,例如,Min的论文[26]和Funkhouser等人的期刊论文。[27],处理三个话题-数据库中的形状的尺寸检测的细节。处理从数据库中收集的信息或单个零件的特征参数的另一种策略是分类。特别是对于工程零件,将CAD模型按顺序分为不同类型是可行的。如果考虑汽车制造商的数据库,可以想象将所有组件分离到各个汽车单元是公司中不同部门的常见做法,以及来自不同供应商的订单。对于这个任务,一个叫做K-手段是一种常用的工具。Michalik、Štofa和Zolotová在数据挖掘应用中测试了K-means算法的特性[28]。Wang和Chang [29]给出了通过表面特征识别对对称旋转零件进行分类的一个简洁的例子他们提出了一种方法,使任何人力援助多余。所有上述要求是必要的用户友好的软件操作性是实现以下三个程序,这是专为工业应用。首先介绍了西门子的Geolus搜索程序[30]。基本上,它可以被认为是一个三维搜索引擎的镶嵌CAD模型。用户预先确定一个参考零件,并提供数据库,应检查.进一步的选项可以通过细化搜索相同、非常相似或相似的部分来选择图形用户界面显示存储在存储器中的所有匹配文件,并允许选择定位的模型以进行可能的更新或继续构建。其目的是分别减少和消除存储器中已经可用的冗余模型因此,可以减少创建新组件的时间,从而减少劳动力成本。第二个处理零件自动分类的程序被Lino称为simusclassmate [31]。它专门用于CAD模型的自动分析和排序,以获得感兴趣的信息,例如最大尺寸,钻孔数量,材料或每个元素的不同螺纹参数利用这些提取的信息,只需点击几下鼠标,就可以将其分类为车削零件或钣金零件另一个优点是该程序完全集成到不同出版商的既定CAD程序最后一个相当大的程序被分成几个包,由CADENAS公司编程[32]。软件称为PARTSolutions是专为管理和影响已经在创建阶段的建筑部件,以限制所有的行动,只有必要的步骤。另一个软件包称为PURESEESTAL,用于处理购买所需结构时产生的零件.总之,可以说,许多不同的方法164R. 计算设计与工程学报。号12014年第3期第161~172页图1.在CATIA中建立O形密封圈的CAD模型和设计树由于CAD管理的困难已经存在,而专用软件的开发取决于特定应用情况3. 方法如第1节所述,这里介绍的方法可以分为三个Python程序(norm.py、cate-gory.py和match.py),它们使用不同的策略在给定的数据库中搜索CAD零件表1在深灰色 部 分 中 显 示 了 浅 灰 色 的 部 分 包 括 准 备 程 序(tree.py),它是创建XML文件的初始化步骤所必需的3.1 外包结构树为了解释第一个准备程序tree.py的含义,应该重申第1节中提到的情况如果大公司的数据库,例如,考虑到汽车一种常见的方法是用一个关键数字作为每个部分的文件名,乍一看并不重要,但如果解码的话可能会非常重要另一个可以想象的仓储策略是一个直接系统,它可以分为几个类别,如部门、机器单元或施工日期。但同样在这种情况下,CAD模型的文件名可能不会提供关于每个零件的形状,尺寸或功能的信息。通常,构造器必须手动打开每个文件,以获得有关它的一些详细信息特别是,只使用可见文件名搜索特定组件可能非常复杂和密集。程序tree.py提供了从自动不可读的CAD文件到容易检查的XML文件的转换。如前所述,CATIA的结构树由划分为层次顺序的许多条目组成所有用户操作以及一些附加信息都包含在其中。因此,相关的模型可以用已知的结构树来复制XML文件格式适合于提取的基于文本的结构树的要求。每个文件都是由所谓的标签构建的,这些标签被安排在几个级别中,并且除了有意义的名称之外还可以包含有了这些先决条件,CAD模型所包含的所有数据都可以方便地存储到上述XML文件中。这种层次的一个很好的例子是点,它有三个坐标参数,是几何图元,是草图的一部分。在该草图中,还包括了一些约束,它为三维元素奠定了基础。该元素也可能是构建CAD模型的整个主体的许多其他元素有了这个简短的例子,每个文件的连续体系结构就可以被概括出来.图1显示了一个简单的O形圈和CATIA中的相关结构树这里,用户已经进行的构造步骤是可识别的。只有一个小的圆(圆1,半径2),中心点(点1),在一定的距离(偏移3),从旋转轴,是必要的,以创建这个形状。已选择命令轴(Shaft.1)以使草图绕选定轴旋转还可以观察到,此文件仅由一个主体(PartBody)组成。在更复杂的文件中,例如,使用布尔运算,需要几个实体在这一点上,程序tree.py的内部过程仅以摘要形式进行解释。在程序处理过程中,Python访问正在运行的CATIA接口,打开给定目录中包含的每个文件程序的控制对用户来说非常容易在外包开始之前,他或她只需要指定一个输入文件夹,其中保存一个或多个CAD文件(数据库),以及一个输出文件夹,其中应该存储创建的XML文件为了生成基于文本的XML文件,Python包Beautiful Soup被实现到源代码中。它可以被标记为解析器,并且能够简化XML结构的处理。在图2中,描述了O形环的XML文件除了已经解释过的结构之外,开头的紫色规格这里,应该强调的是,XML文件包含的信息比结构树包含的信息更多。文件的开头还列出了文件名、x、y和z方向的最大测量值(单位:mm)、体积(单位:mm³)、表面(单位:mm²)、零件距绝对零点的质心(单位:mm)以及惯性矩矩阵(单位:kg*m²),其中包含9个在中间部分,点的坐标(未定义z坐标,因为草图是二维的)、圆的半径和R. 计算设计与工程学报。号12014年第3期第161~172页165指定从旋转轴开始的圆通过为数据库中的每个CATPart创建一个XML文件,有几个优点一方面,程序运行完全独立和自动化。如果大量的文件需要外包,整个过程可能需要很长时间;但除了在开始时提供输入信息外,不再需要人工交互。另一个很大的优点是在生成XML文件后,昂贵的CAD程序然后,每个文本编辑器都可以访问这些信息这三个搜索程序只专注于分析和评估这些XML文件。正因为如此,tree.py可以被标记为实际搜索的准备程序3.2.1 搜索标准零件在本节中,详细介绍了程序norm.py其目的是在大型数据库的良好解释的情况下检索标准化部件标准件是小而简单的部件,通常用于装配。它们通常符合标准体系,如ISO(国际标准化组织)、DIN(德国标准化研究所)或EN(欧洲标准)标准。到目前为止,在程序的源代码中包括以下八个标准零件:(1)六角螺钉,(2)气缸盖螺钉,(3) 方键、(4)六角螺母、(5)圆顶螺母、(6)垫圈、(7)O形密封圈和(8)碟形弹簧。搜索算法相当简单。要使用CATIA创建这些小的标准零件,总是只有几种方法来实现形状。对于列表中的第一部分,即六角螺钉,应演示该方法。如图3所示,六角螺钉可能具有不同的尺寸,以及或多或少不同的结构树。在左手边的螺丝上,添加了一些细节,如轴上的倒角和顶部的凹槽但对于一个胡-图2.O形环的外包XML文件(a)(b)第(1)款图3.两种标准六角螺钉的比较。166R. 计算设计与工程学报。号12014年第3期第161~172页对于一个观察者来说,这两个部件一眼就可以清楚地识别为螺钉,因为它们都有一个共同的六角螺钉头、一个轴和一个螺纹(在CATIA中不可见)。在用户选择了他或她想要搜索的标准部件之后,程序分析数据库中的每个XML文件然后检查保存在结构树中的特征通常,每个三维特征至少包含一个二维草图。该程序不是写出几何图元的值或位置,而是识别组成部分的数量,如点、线或圆,以及它们的约束,如重合、平行或不重合。此外,对三维特征(如垫、螺纹、轴或螺纹)的数量进行计数(参见图1)第3.2.2节)。为了生产例如,螺钉的轴,基本上仅存在图3中所示的它是由一个圆生成的,该圆沿螺钉的轴挤出(图3,右手侧,Pad.2);或者是一个矩形,该矩形与轴一样长,绕其轴旋转(图3,左手侧,Shaft.1)。程序norm.py考虑了这两种可能性。同样的原理也适用于螺钉头。构造者可以使用CATIA命令在基本草图中创建多边形,也可以自己创建由六条线组成的同样,这两种方式都被搜索算法识别如果数据库中的零件应被检测为六角螺钉,则必须隐含以下三个先决条件:(1)零件必须具有通过一次挤压和一个草图实现的螺钉头。要获得草图的六边形形状,可以使用多边形的CATIA命令(2)零件必须拥有由“轴”(Shaft)命令或“垫”(Pad)命令创建的轴。(3)零件必须恰好有一个螺纹。图3中的零件都被程序识别为六角在这种策略下,尺寸和其他细节,如倒角或倒角并不重要,可以忽略不计。用于发现上面列出的其他标准部分的算法以类似的方式工作,并且不需要详细解释。但也有更简单的部件,如方形键或O形圈(参见图1),它们只能以一种固定的方式生成。程序norm.py利用了这样一个事实,即对于CAD软件的用户来说,没有太多的方法来检索标准零件的简单形状为了获得特定形状的三维特征,通常使用命令Pad,这相当于将形状挤出到第三维中。使用此命令,许多标准零件,例如,已经可以生成这里呈现的垫圈和方形键。CATIA的另一个重要命令是Shaft。它主要用于生产通过围绕轴旋转轮廓事实上,上述形状的一个普通的垫圈可以获得的命令垫,或命令轴。如果使用Pad命令,设计者必须将两个同心圆绘制成一个草图,并将其拉伸到第三维空间。使用“轴”命令,必须将一个小矩形绘制到一个草图中,并围绕与该矩形有一定距离的轴旋转所有其他的方法来恢复一个垫圈的简单形状需要一个以上的三维命令,因此不被程序norm.py考虑只考虑这两种可能性一方面,该算法与其他方法的分析是不是很灵活,但另一方面,重新发现这样的标准件的过程是大大简化。程序所要做的就是寻找命令Pad的模式,它在XML文件中的一个草图中包括两个同心圆,或者命令Shaft的模式,它包括矩形,它由一个草图中的四个点和四条线组成如果一个标准零件有其他的细节,例如,印记或手指,创建该细节所需的所有几何图元都被忽略。这种算法只适用于由标准零件实现的简单形状。软件中包含的每个标准部件都需要自己的源代码和考虑因素。如果将来要实现对更多标准零件的自动搜索,必须首先分析每种可能的构造如果考虑更复杂的工程部件,则设计者可能会有太多的创建方式,并且仅通过其特征数量来检测这些类型的部件将是推测性3.2.2 个性化用户查询这第二小节涉及程序category.py,它主要关注用户输入的搜索参数。在内部,分别检查数据库中所有部件的结构树和XML文件,并且再次特别确定创建部件所需的命令的数量为了自动决定部件是否与用户输入匹配,它与某些值范围相匹配。这些可以在程序启动时输入首先,用户必须决定在搜索过程中应该考虑多少类别在下一步中,它必须被选择,在哪些类别中应该被标注。最后,每个类别的范围在其适当的单位是必要的,以完成输入信息。如果当前部件的相应参数在这些用户定义的限制范围内,则查询计为匹配。如果用户为多个类别定义了参数,则所有选中的类别都必须有效,才能在shell中找到显示的总体匹配。为了获得正确的结果,输入必须适应每个类别的物理单位以下列表显示了所有56个类别及其相关单位:R. 计算设计与工程学报。号12014年第3期第161~172页1671. x方向尺寸(mm)2. y方向尺寸(mm)3. z方向尺寸(mm)4. 惯性矩xx,单位:kg*m²5. 惯性矩xy,单位kg*m²6. 惯性矩xz(单位:kg*m²)7. 惯性矩yx(单位:kg*m²)8. 惯性矩yy,单位:kg*m²9. 惯性矩yz,单位kg*m²10. 惯性矩zx(单位:kg*m²)11. 惯性矩zy(单位:kg*m²)12. 惯性矩zz(单位:kg*m²)13. 最小/最大到最小/中间的形状14. 最小尺寸(mm)15. 最大尺寸(mm)16. 体积(mm³)17. 表面(mm²)18. 体积/表面(mm)19. 草图数量20. 数量点21. 数量行数22. 数量中的圈数23. 样条数量24. 数量中的椭圆数25. 焊盘数量26. 数量轴数27. 数量中的槽数28. 数量中的口袋数29. 数量中的肋骨数量30. 数量中的插槽数31. 孔数量32. 螺纹数量33. 倒角数量34. 数量中的边缘圆角数35. 几何集合的数量36. 尸体数量37. 数量上的重合次数38. 固定数量39. 数量上的同心数40. 数量中的切线数41. 数量上的平行数42. 数量上的相似性数43. 数量中的对称数(约束)44. 数量中的角度数45. 长度数量46. 距离数量47. 数量中的半径数48. 数量上等距点的数量49. 翻译数量50. 数量中的旋转次数51. 加厚面数量52. 数量上的对称数(设计)53. 多段曲面数量54. 自动鱼片数量55. 数量限制的数量56. 数量中的几何元素数为了获得有意义的结果,程序的用户应该知道他正在寻找哪种零件一种简单的分离策略是,按最小(类别14)或最大(类别15)大小搜索。一个示范性的例子是钣金零件,它可能有一个大的最大尺寸,但一个非常小的最小尺寸。一个零件的点、线和圆的数量对于草图的复杂性可能非常重要。如果一个模型只有一个基于一个草图的拉伸,但有许多点和线,这可能表明形状相对复杂。另一个有用的搜索参数是类别中的形状13. 为了计算范围,从XML文件中提取最小、中等和最大尺寸,并计算所提到的参数。尺寸以mm为单位保存,因此参数没有物理单位。在此,简要说明图1所示的O形圈检测的一个小示例即使用户不知道O形环的结构树,他或她也可以猜测,仅需要具有恰好一个圆的一个草图来产生具有命令轴的形状。因此,用户可以选择四个类别(19。素描的数量,20。分数,22。圈数,26。轴的数量)用于他或她的搜索。每个类别的范围都选择为一个,因为只需要一个具有一个点和一个圆的草图当然,并非所有检测到的零件都是O形环的概率是一定的;但即使只有四个搜索参数,对O形环的近似也相当好。在这一点上,还应该演示一个更复杂的示例。在图4中,描绘了某种曲柄,其在这一点上被称为稳定器。的建设图4.稳定器的前视图和侧视图168R. 计算设计与工程学报。号12014年第3期第161~172页像这样的零件比上面提到的标准零件复杂得多,但是搜索引擎可以从这些零件属性中获益在这个例子中,25个草图(cf.第19章必须要有最终的结果由于该零件是对称的,因此只创建了一侧的细节,然后在中间镜像虽然边界框(cf.类别13和18)是相当大的各个方向,它是不充满了太多的材料。因此,与边界框的体积相比,该组件非常轻,并且体积非常小(参见图1)。第16类)。一些很少使用的命令,如Rib(参见。类别29),包括在结构,树以及在各自的XML文件。如果用户对所有提到的属性都有一定的了解,那么应该很容易定义程序category.py以独特的方式使用的搜索参数如果有包含类似特征的组件,当然查询可能会提供额外的结果,但具有类似属性的所有稳定器和工程部件肯定会显示在输出中。该程序的使用及其准确性变得更加困难,寻找的零件越复杂;但是在搜索过程之前对所需结果有一个精确的想法,许多参数应该可用于检测任何种类的零件。计算完成后,在shell中显示找到的文件的名称。3.2.3 相似零件的检测第三个程序match.py可与Linghao等人的程序[33]相比较他们提出了一种方法,分析两个类似的CAD文件,并指出所有的差异给用户。这样,例如,建筑更新中的所有变化都是第一眼就能识别的程序match.py可用于检测数据库中与参考文件相同或相似的文件这个引用的名称当搜索过程开始时,源代码分析引用的XML文件,在第3.2.2节中列出的所有类别中。然后,数据库中每个部分的XML文件也会发生同样的情况匹配零件的等级分为三类:(1)完全匹配,(2)非常好的匹配,和(3)很好的比赛。特别是,第一节课很容易找到。如果在数据库中检测到与参考零件的XML文件相同的XML文件,则定位完全匹配。更复杂的问题是如何识别相似性和差异性。下面的场景应该可以澄清这个问题。图5展示了三个简单的CAD模型。左侧显示了参考部件对于中间和右侧的其他两个部分,仅添加了一个特征(中间:一个小矩形口袋,右侧:一个大矩形垫)。但尽管如此,与参考部分相比,中间的部分可以被识别为非常相似的匹配尽管右侧的模型也只添加了一个功能,但这一功能严重改变了零件的外观,因此不能将其解释为非常好,或更好的匹配。因此,程序match.py的目的是定位这种差异,并且只找到与引用完美、非常好或良好的匹配跳过所有其他部分,并且不向用户显示。如果考虑图5所示的零件结构树,则可以在不同类别之间进行简单的数学区分当然,两个更新部分的特征物理值都已改变,例如,体积(类别16)和表面(类别17)。此外,与原始零件相比,图形元素(如草图(类别19)、点(类别20)、线(类别21)和约束(类别55))的数量非常好的匹配(中间部分)和不好的匹配(右侧部分)之间唯一明显的差异可能是大小的巨大差异(类别1,2,3,13,14和15)。虽然中间部分的尺寸与参考尺寸完全相同,但与原始尺寸相比,右侧模型的尺寸要大得多程序match.py利用了这一事实。通过对两个值的分析来测量每个类别的偏差。如果发散非常小,则内部计数器的值增加1。如果检查部件的所有类别与参考部件相同,则该部件被归类为完全匹配。如果除三个或更少类别外的所有类别都相同,则该零件属于具有非常好匹配的类别。所有类别在3到5之间的相似部件仅算作良好匹配。同样,类似类别的问题也不容易解决。图5. 具有两个相似匹配项的参照零件。R. 计算设计与工程学报。号12014年第3期第161~172页169图6. tree.py的性能例如,如果考虑最大测量值,则在5mm范围内的变化被识别为相似匹配,并且计数器增加1。因此,非常好的匹配的潜在候选者可能在每个方向上小于或大于5mm,以算作相似性。同样的原则也适用于处理几何图元的类别。点的数量可以相差三个,而线的数量可能相差不超过两个,以算作类似的如果再次将图4中所示的稳定器视为参考部件,并且在数据库中包含具有相同尺寸和外部形状的另一个部件,其仅具有不存在通孔钻孔的区别源代码的内部方法与简单部分完全相同。当然,体积和表面是有点不同的,但是,与相同大小和大尺寸相比,变化非常小。由于mir-mills,草图的数量也将只增加一个,以及圆的数量。尽管如此,这不会改变两个零件之间的总体相似性相当大的事实,并且程序将识别具有填充孔的稳定器作为良好的匹配。通过这种方法,CAD模型在形状和其他物理特性上的变化已经被转移到数学分析系统中,该系统允许技术部件的自动化此外,该程序在用户输入后独立运行,无需任何进一步的人工帮助。4. 性能在本节中,讨论了程序的性能。对于具有大量数据的工业中的预期应用,运行时间、必要的计算能力和处理人力是重要的。准确的结果,经过精心测试的每一个程序,许多CAD模型,由Vadlamani提出[34]。在这篇文章中,只提到了一些关键词第一个重要特征是独立处理每个程序的能力这意味着对于软件的控制,不需要人机交互唯一必要的操作是开始准备,在实际的检查过程发生之前。当然,CAD模型的路径和数据库的文件夹必须分别输入程序。然后,无论有多少部分必须加工下来,四个程序中的每一个都运行,没有任何进一步的阻力。到目前为止,最复杂的操作是由tree.py执行的,因此它是最耗时的程序。如第3.1节所述,每个零件都必须在CATIA中打开,物理特性以及结构树必须外包给XML文件。因此,处理速度取决于CATIA和Python之间的连接以及不同命令的执行时间。一些只有几个零件的测试表明,根据模型的复杂性,外包十个零件大约需要一分钟从这个参数开始,如果只使用一台计算机,将一百万个零件从CATPart文件传输到XML文件将需要大约70天的不间断处理整个并行计算器的性能值,包括并行算法的应用,将是极大的兴趣。在图6中,显示了两个图表,它们可视化了程序tree.py的性能。左边的一个显示,在左纵坐标的帮助下,程序需要为一个部件创建XML文件的处理时间,横坐标上描述了该尺寸蓝色图表显示了软件的行为,取决于增加的内存空间(单位:千字节)。右侧的纵坐标包含创建的XML文件的大小的指示,也取决于输入文件。这里可以认识到,XML文件170R. 计算设计与工程学报。号12014年第3期第161~172页只需要初始CATPart文件所需空间的一小部分。右边的第二个图显示了大型数据库的性能。两个坐标轴上的刻度都是对数的,它显示了以秒为单位的计算时间这三个图形表示三个不同的零件尺寸,对于数据库中的所有零件,这些尺寸被假定为恒定在现实中,通常小部件和大部件的混合被包含在例如,一家公司,而程序的行为确实会在红线和绿线之间在这一点上,还应该考虑到这些结果与一台计算机有关。如果一家公司要将一个包含几百万个零件的数据库转换成XML文件,那么就不应该使用一台而是多台计算机,这样效率可能会更高。其他程序norm.py、category.py和match.py都基于对XML文件的调查这些都是基于文本的,因此很容易搜索。由于许多部分的数量只有几秒钟,处理时间可以忽略不计,并且仅指示和显示可能分别需要数千个结果。快速执行的原因是由XML文件的大小引起的。虽然原始CATPart文件的大小是许多字节,但XML文件只需要这些内存的一小部分。图1中的O形环大小为59KB。相应的XML文件只有2 KB。更大和更复杂的CAD模型可能会达到几兆字节的内存,相应大小的XML文件。图4中描述的稳定器的CATPart文件大小为559 KB,而XML文件只有28 KB。然而,所有三个搜索程序的计算时间不是临界值。由于基于文本的搜索,对于每个程序和一个相关查询,大型数据库中的XML文件的调查仅花费程序tree.py所需时间的一小部分即使用户需要开始几次尝试使用程序category.py来查找产品组,该算法也只需要几秒钟到几分钟,始终取决于XML文件的数量总括而言,建议软件在工业应用方面的可用性可予正面评价即使需要处理大量数据,自动执行也可以独立完成所有程序。5. 比较在这一点上,优点,以及每一个程序的缺点应加以考虑。搜索引擎的最大因此,在该过程之后,不再需要使用相当昂贵的许可证。如第4节所述,处理时间以及因此的工业适用性是类似于每个搜索程序,可以忽略。然而,这三个搜索程序的属性取决于数据的位置目的。第一个程序norm.py的范围是不言自明的。如果用户想从大型数据库中筛选特殊的标准件,这三个程序都可以使用;但为了获得更精确的结果,首选第一个程序。一个很大的障碍是搜索算法,它只检查几何图元、CAD模型的特征和零件的物理属性,而不检查实际形状或数值的质量因此,也可以匹配未有意搜索的部件零件越复杂,这种搜索策略的适用性此外,向标准零件添加更多细节可能会有问题,因为同时结构树会被更多草图填充,特别是约束(参见见图3)。第二个程序category.py的使用也可能或多或少困难。要同时使用多个类别和参数进行搜索,在执行实际查询之前,应该存在所需结果如果例如,首先,某些特征的数量是未知的,搜索参数必须被粗化,这导致较差的过滤,并因此导致太多的结果。当然,数据库的结构也起着关键作用。如果一家公司专门从事某个产品组,许多CAD模型可能看起来非常相似。然后,特征的数量和整个结构树将以相同的特征出现,并且有意义的筛选变得更加复杂。但是程序category.py仍然是一个强大的工具。如果显示的结果太多,则可能需要进行额外的细化第三个程序match.py的应用领域也很广泛。当然,一个很大的缺点是必须有一个参考部分。如果要定位特殊部件,并且只知道零件的形状,而不知道模型,则必须首选程序category.py另一个可疑的因素是识别数据库中参考和当前部分如果用户想要定位不太相似的模型,一个选项可以是手动调整第3.2.3.在下一节中,命名了改进该软件6. 今后工作一个适当的可能性,为扩大本软件的存在,当然是转移到其他流行的CAD系统。之所以选择CATIA,是因为它提供了与Python的方便连接性和自动化尽管如此,Inventor、NX或Pro/E等软件具有类似的功能,而且这些方法的思想也可以用其他程序实现。此外,对于XML标准的使用,存在一些替代方案一个重要的方面应该是提高在工业中的适用性,R. 计算设计与工程学报。号12014年第3期第161~172页171数据量,减少处理时间和存储容量。并行计算的关键词已经提到,代表一种可能的尝试。再次,Vadlamani的文档参考[34],其中分析了所有程序的源代码。此外,每一个程序都可以改进和调整.虽然计算时间的 改 进 应 该 集 中 在 tree.py 上 , 但 是 第 一 搜 索 引 擎norm.py可以通过添加其他标准或更复杂的部分来容易地扩展。特别是对一个部分的几种实现方式进行了详细的分析和考虑,以实现更多的实现方式程序category.py的可扩展性较差,但可以详细开发最复杂的特征和相似性的自动识别各自可以被认为是其本身的研究领域,其中可以考虑许多其他可能性。一种替代方案是通过分析每个部件的总体目标是CAD模型的自动7. 总结在本出版物中,首先介绍了数据挖掘和自动特征识别等研究领域的最新技术此外,本文还介绍了一种由四个综合程序组成的方法,这些程序可以分成一个准备代码和三个不同应用领域的搜索引擎为了实施这些战略,使用了CAD软件CATIA V5和开源编程语言Python通过对每种方案的性能和优缺点的分析,得出结论:从时间、内存容量和必要的人力方面考虑,大数据量的工业应用确实是可以实现的,也是经济的尽管如此,所有的程序都是软件原型,在某些情况下是容易出错和可改进的。引用[1] Fayyad UM,Piatetsky-Shapiro G,Smyth P.知识发现和数据挖掘的进展。第1版。门洛帕克:美国人工智能协会;c1996。第一章,从数据挖掘到知识发现:概述.1-34号。[2] 放大图片作者:Fayyad UM,Piatetsky-Shapiro G,SmythP.从数据挖掘到数据库知识发现军事情报杂志.1996; 17(3):37-54.[3] Frawley WJ,Piatetsky-Shapiro G,Matheus CJ.数据库中的知识发现:综述。人工智能杂志. 1992; 13(3):57-70.[4] 彼得森湾数据挖掘-verfahren,prozesse,建 筑 师 第 1 版 慕 尼 黑 : OldenbourgWissenschaftsverlag GmbH; 2005年。342页[5] 戈鲁内斯库湾数据挖掘-概念、模型和技术。第1版BerlinHeidelberg:Springer
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功