1.一种面向公差技术的装配体几何要素误差传递关系图表示和构建方法,其特征是按如下步骤进行:
(1)获取装配体CAD模型中的装配组件结构树和装配配合关系集合;
(2)根据目标零件到机架零件的顺序,自动构建装配体零件之间几何要素误差传递关系图GAsm=(V,E),并根据装配接触副的装配配合关系,细化装配体零件之间几何要素误差传递关系图中边的数据域信息;
本步骤(2)中,装配体零件之间几何误差传递关系图是一张双向图,其顶点存储的数据为:1)零件文件对象指针;2)对应的零件内部几何要素误差传递关系图GPart;3)零件全局坐标系相对于第一定位零件的全局坐标系的变换矩阵;该装配体零件之间几何误差传递关系图的边采用两个单链表的方式表示,分别称之为正邻接表和逆邻接表;规定从定位零件出发,指向装配零件的边为正向边,用当前顶点的正邻接表记录,称为正向搜索;从装配零件出发,指向定位零件的边为逆向边,用当前顶点的逆邻接表记录,称为逆向搜索;
本步骤(2)中,根据获取到的当前装配模型中的所有组件集合Components_Set和装配配合关系集合Mates_Set,以及装配关系图顶点、边的定义,自动建立算法按如下步骤:
1)从目标组件Ci发出,通过Components_Set装配体组件集合节点中的映射关系获取目标零件,建立装配体几何要素误差传递关系图的第一个顶点Vi_Asm;
2)在Mates_Set装配配合关系集合中查找出所有包含装配组件为Ci的节点,将查找到的所有节点中的定位组件Cj~Cj+n,入栈Stack或队列Queue暂存;
3)将查找到的所有节点中的定位组件Cj~Cj+n,通过映射关系获取对应的零件后,查询图中是否存在这些零件的顶点,如果不存在,则插入顶点Vj_Asm~Vj+n_Asm;
4)创建顶点Vi_Asm的逆向邻接表,添加元素分别为顶点Vj_Asm~Vj+n_Asm的指针;
5)创建顶点Vj_Asm~Vj+n_Asm的正向邻接表,添加元素就是顶点Vi_Asm的指针,如果图中已存在顶点Vj_Asm,则直接在其正向邻接表中后续添加顶点Vi_Asm的指针;
6)将步骤2)中查找到的所有节点中的装配关系类型、装配零件上的定位要素指针、定位零件上的装配要素指针,添加到对应的边上;即在Vi_Asm的逆向邻接表中元素Vj_Asm~Vj+n_Asm节点属性域中添加装配关系类型,Vi_Asm零件与Vj_Asm~Vj+n_Asm零件装配配合时,Vi_Asm零件上参与这个配合的装配基准要素,Vj_Asm~Vj+n_Asm零件上参与这个配合的定位基准要素;在Vj_Asm~Vj+n_Asm的正向邻接表中元素Vi_Asm节点属性域中添加装配关系类型,Vj_Asm~Vj+n_Asm零件与Vi_Asm零件装配配合时,Vj_Asm~Vj+n_Asm零件上参与这个配合的定位基准要素,Vi_Asm零件上参与这个配合的装配基准要素;
7)将步骤2)中的栈Stack或队列Queue弹出一个元素,重复步骤2)~步骤7),直至栈或队列中元素为空,结束;
(3)获取装配体中零件三维CAD模型和公差标注信息;
(4)将获取到的公差标注信息转化为基准--目标关联形式的数据;
(5)从装配体零件之间几何要素误差传递关系图中获取零件内部几何误差传递关系图建立所需的装配定位要素信息;
(6)利用装配定位要素信息和零件内部基准--目标关联数据,自动构建属于装配体零件之间几何误差传递关系图对应顶点的零件内部几何要素误差传递图GPart=(V’,E’),完成装配体几何误差传递关系图的建立;
本步骤(6)中,零件内部几何误差传递关系图是一个双向图,其顶点存储的数据为:1)几何要素对象;2)几何公差、尺寸公差;3)几何要素控制点参数、变动规律和实际位置数据;
4)该要素的坐标体系及其变换矩阵;零件内部目标要素的定位需要1~3个基准要素,采用两个单链表表示零件内部几何误差传递关系图中边,并且规定从基准要素出发,指向目标要素的边为正向边,用当前顶点的正邻接表记录,称为正向搜索;从目标要素出发,指向基准要素的边为逆向边,用当前顶点的逆邻接表记录,称为逆向搜索;
本步骤(6)中,根据当前零件顶点的定位基准要素集合L_MateEntities_Set、装配基准要素集合A_MateEntities_Set、Set1={(Entity,GDT)}、Set2={(Datum,Entity)}建立递归算法,自动完成当前零件内部几何误差传递关系图的建立;具体算法步骤如下:
1)将当前零件顶点的定位基准要素集合L_MateEntities_Set中,所有元素Entity_i~Entity_i+n入栈Stack;
2)从栈Stack中弹出一个元素Entity_i,建立零件图顶点Vi_Part;
3)遍历Set1集合,找出所有该几何要素的“要素-标注”对(Entity_i,GDT_j~GDT_j+n);
4)遍历这些“要素-标注”对,获取每个GDT_j公差特征框中的基准代号Datum_k,其中,k=1,2,3,分别表示第一、二、三基准;
5)遍历Set2集合,找出对应Datum_k(k=1,2,3)的几何要素Entity_k(k=1,2,3),查询零件图中是否已经存在Entity_k(k=1,2,3)顶点,如果不存在,则建立零件图顶点Vk_Part(k=1,2,3),并入栈Stack;
6)创建顶点Vi_Part的逆向邻接表,添加元素分别为顶点Vk_Part(k=1,2,3)的指针;如果图中已存在顶点Vi_Part,则直接在其正向邻接表中后续添加顶点Vk_Part的指针;
7)创建顶点Vk_Part(k=1,2,3)的正向邻接表,添加元素就是顶点Vi_Part的指针;如果图中已存在顶点Vk_Part,则直接在其正向邻接表中后续添加顶点Vi_Part的指针;
8)将Entity_i的“要素-标注”对(Entity_i,GDT_j~GDT_j+n)中的GDT公差信息分别存入顶点Vi_Part的数据域中;
9)从栈Stack弹出下一个元素,并查询零件图中是否已经存在该顶点,如果不存在,则建立零件图顶点,然后重复步骤3)~步骤9),直至栈中元素为空;
10)将当前零件顶点的装配基准要素集合A_MateEntities_Set中的所有元素Entity_l~Entity_l+n入栈Stack,转入步骤8),直至栈中元素为空。
2.如权利要求1所述面向公差技术的装配体几何要素误差传递关系图表示和构建方法,其特征在于:装配体零件之间几何误差关系图的边的数据为:1)当前顶点所指向的顶点;2)当前顶点和所指向顶点之间的装配关系类型;3)当前顶点与所指向顶点之间的所有装配接触关系中的装配基准面及其定位基准面、以及这些装配定位基准面对的顺序。
3.如权利要求1所述的面向公差技术的装配体几何要素误差传递关系图表示和构建方法,其特征在于:步骤(4),零件内部定位尺寸要素的尺寸公差所涉及的两个几何要素能分解为目标要素和基准要素,尺寸要素的定形尺寸公差则直接将公称尺寸及公差数据存放到顶点数据域中;几何公差则需要通过公差特征框中的基准代号与基准标注代号字符比对来建立联系;则将数据对(Annotation,Entity)整理分解为两个集合:1)几何要素和标注在这个要素上的公差,Set1={(Entity,GDT)};2)基准代号和它所标注的几何要素,Set2={(Datum,Entity)}。
4.如权利要求1所述面向公差技术的装配体几何要素误差传递关系图表示和构建方法,其特征在于:步骤(5),通过建立当前零件顶点Vi_Asm与定位它的全部定位零件顶点Vj_Asm~Vj+n_Asm之间边的集合ESet={