system: [SYSTEM]

user: 3. 特征识别 本文研究STEP格式钣金模型特征识别，方法流程如图5所示 图5. 特征识别流程图 3.1. 拓扑信息的分类和组合 对B_rep表示法描述的三维钣金模型进行特征识别之前，需要对其中的拓扑信息进行提取和分类，并组合成面集。 3.1.1. 面的分类 本文针对CAD特征造型软件创建的模型，若两个面在其共有边上的每个点都具有相同的切平面，则它们是G1连续。 从表面积最大的面开始搜索，对面进行分类。对于相邻面，根据共有边上的连续性和邻接特点，采用深度优先算法进行搜索，本文以图6为例，按以下顺序和规则进行面的分类和转化。 (1) 薄板面和修剪面未经修剪的钣金模型的正反面均为薄板面；修剪面则是通过修剪操作生成的表面。相邻薄板面之间是G1连续的，而薄板面与修剪面之间不是G1连续的。本文搜索时从模型中面积最大的薄板面开始，判断与相邻面是否为G1连续，若是则为薄板面，否则为修剪面，如此将所有面分类为薄板面和修剪面。 (2) 腹板面将面积最大的薄板面定义为腹板面(红色)。 图6. 面的示例 (3) 折弯面和内环面与腹板面外环相邻的薄板面称为折弯面(黄色)；而与腹板面非外环相邻的薄板面称为内环面(粉色)，与内环面相邻且非修剪面也为内环面。 (4) 内、外侧面根据已经分类的腹板面、折弯面和内环面，求其正反面的面积之和，面积小的为内侧面，大的为外侧面。本文基于内侧面进行面的分类和特征识别。 (5) 墙面和滞留面对于尚未分类的薄板面，若只与1个折弯面相邻称为墙面；多于1个则称为滞留面。滞留面是一种过渡面，后续会转化为连接面、折弯面或墙面。与腹板面类似，与墙面外环相邻的薄板面称为折弯面；而与墙面非外环相邻的薄板面称为内环面，与内环面相邻且非修剪面也为内环面。如此将所有薄板面分类为腹板面、墙面、滞留面、折弯面和内环面。 (6) 面类型转化由于榫接操作产生一些面的类型，为便于后续集合的创建，需要对某些面的类型进行转化，包括：1) 折弯面(榫接操作产生)转化为连接面；2) 滞留面转化为连接面、折弯面或墙面；3) 墙面(榫接操作产生)转化为折弯面，如图7所示，如此使得多个折弯面间用连接面连接起来，墙面之间以及墙面与腹板面之间由折弯面连接起来。 具体转化规则：1) 对于多个相邻的折弯面，分别从始、末两端开始，若第二个折弯面两侧仍为折弯面，则转化为连接面，形成折弯面–连接面–折弯面的连接方式；2) 折弯面之间的滞留面转化为连接面，与连接面相邻的滞留面转化为折弯面，折弯面相邻的剩余的滞留面转化为墙面；3) 对于多个相邻的墙面，分别从始，末两端开始遍历，若第二个墙面两侧仍为墙面，则转化为折弯面，形成墙面–折弯面–墙面的连接方式。 图7. 类型转化后的面 3.1.2. 面集的创建 (1) 榫接面集是腹板或弯边上子榫接的几何结构，包含两个连接面、三个折弯面和一个墙面，如图8所示(绿色)。其创建规则：对于多个彼此间只以折弯面间隔的连接面，从两端开始，若两端连接面相邻的折弯面和另一个连接面相邻，则构建一个榫接面集，涵盖上述的两个连接面以及它们之间的折弯面；并在该折弯面相邻的墙面中，搜索和上述的两个连接面都不相邻的墙面，其相邻的所有折弯面也包含在榫接面集中。 (2) 腹板面集钣金件模型存在唯一的腹板面集，包括一个腹板面和若干个变形腹板面，是腹板的几何结构，如图8所示(红色)。若腹板面和榫接面集中两个连接面均不相邻，则腹板会因榫接变形，产生变形腹板面。在上述榫接面集中，若存在不与腹板面相邻且只有一个相邻连接面的折弯面，则将其相邻的墙面修改为变形腹板面并加入腹板面集。和腹板面类似，通过搜索得到的变形腹板面，查找其余的变形腹板面。 (3) 弯边面集包含一个墙面和若干与其相邻的折弯面，是弯边或变形弯边的几何结构，如图8所示(黄色)。通过所有不在榫接面集中的墙面，创建弯边面集。对于和墙面相邻的折弯面，若不在榫接面集中且和腹板面或变形腹板面相邻，则加入弯边面集。然后对于未包含折弯面的弯边面集，若其墙面相邻的折弯面和已包含折弯面的弯边面集中的墙面相邻，则加入到该弯边面集。如此，所有的弯边面集都已包含墙面和若干与其相邻的折弯面。 图8. 面集示例 3.1.3. 环和边的分类 (1) 环分为外环、筋状环、内环、孔状环和浅成型环，如图9所示。 1) 外环：从B_rep模型提取的子类型，用于确定面的外部边界； 2) 浅成型环：包围的内环面不和修剪面相邻，搜索深度为3且最内侧面是平面； 3) 筋状环：包围的内环面不和修剪面相邻，且不是浅成型环； 4) 内环：由与可分辨曲线相关联的边组成； 5) 孔状环：由与不可分辨曲线相关联的边组成，是特殊的一种内环。 这里可分辨曲线是指不是由相同的基本几何方程定义的曲线，而不可分辨曲线是由同样的方程定义的曲线。 图9. 环 (2) 边分为修剪直线边、修剪非直线边、非修剪直线边、非修剪非直线边，如图10所示。 1) 修剪直线边：薄板面和修剪面共有，几何类型为直线； 2) 修剪非直线边：薄板面和修剪面共有，几何类型非直线； 3) 非修剪直线边：薄板面之间共有，几何类型为直线； 4) 非修剪非直线边：薄板面之间共有，几何类型非直线。 图10. 边 3.2. 特征识别规则 钣金件模型特征的识别需要寻找符合特征的几何结构，构建特征之间的父子关系，计算得到特征的参数。腹板存在于所有的钣金模型中，是钣金件模型中其余特征的直接或者间接的父特征，且本身没有父特征，因此应首先识别腹板。 3.2.1. 腹板及其子榫接、双侧榫接的识别 腹板面集为腹板的几何结构，其中变形腹板面的存在表明腹板因榫接而变形，因此需要识别出位于腹板的子榫接。根据有无榫接变形，腹板面集可分为三种情况： (1) 若腹板面集中仅存在腹板面，所有的榫接皆位于弯边之上。 (2) 若腹板面集中存在一个变形腹板面，则表明腹板上存在一个子榫接。如图11所示，榫接是腹板上的子特征，腹板面和榫接面集存在下述关系：腹板面与榫接面集的折弯面共享边，但与榫接面集的任何连接面没有共享边。如此找出榫接面集并识别出榫接，并记为腹板的子榫接。榫接面集的折弯面通过共有边分别与腹板面、变形腹板面建立起榫接和腹板之间的父子关系。 图11. 腹板和子榫接 (3) 若腹板面集存在多个变形腹板面，则表明腹板因双侧榫接或多个榫接变形。腹板上多个子榫接可用来构造双侧榫接，如图12所示，识别规则如下：从两端开始，若相邻的两个子榫接具有相同参数，但跳动矢量方向相反。识别出的双侧榫接几何结构由原来的两个榫接的榫接面集组成，其榫接面集中的折弯面通过共有边分别与腹板、变形腹板面建立起双侧榫接和腹板之间的父子关系。 3.2.2. 弯边及其子榫接、变形弯边和组合弯边的识别 榫接只在腹板或者弯边上创建，未在腹板上的榫接都是弯边的子特征，识别方法类似于腹板上的子榫接。弯边面集是弯边和变形弯边的几何结构，可用来创建临时弯边。临时弯边和榫接的父子关系决定临时弯边转化为弯边还是变形弯边，如图13所示，按照以下方法判断。 图12. 双侧榫接 1) 求临时弯边中墙面的法向量与榫接中墙面的法向量的叉积； 2) 判断叉积结果与腹板面或变形腹板面法向量方向是否相同。 若方向相同，则对于榫接的父特征、榫接和子特征，其折弯面和腹板面或变形腹板面的共有边的方向为逆时针；若方向相反，则是顺时针。而位于腹板面或变形腹板面外环上的边，默认方向为顺时针。 图13. 榫接和弯边间的父子关系 若临时弯边是榫接的子特征，应转化为变形弯边；若仅是榫接的父特征，且不是榫接的子特征，则将转化为弯边。榫接面集中的折弯面通过与弯边、变形弯边的墙面的共有边建立和弯边或变形弯边的特征关系。 如果变形弯边有两个父榫接，或者弯边有两个子榫接，需判断这两个榫接是否可以转化为双侧榫接。转化规则和和腹板上的双侧榫接类似：若这两个榫接具有相同参数，但跳动矢量方向相反。识别出的双侧榫接中的折弯面通过共有边与墙面建立起双侧榫接和弯边或变形弯边之间的父子关系。 如图14所示，若存在未包含在弯边面集和榫接面集的折弯面，与两个未转化临时弯边中的墙面相邻，且周围有未在榫接面集的连接面，则识别出组合弯边，其几何结构包含上述的两个临时弯边、折弯面和连接面。至于仍未转化的临时弯边，应转化为弯边。弯边中的折弯面通过共有边建立其与父特征之间的特征关系。 图14. 组合弯边 3.2.3. 纵梁开口、止裂口和倒角的识别 纵梁开口、止裂口和倒角等子特征的识别依赖于弯边和变形弯边。对于纵梁开口，如图15所示，首先寻找满足以下条件的变形弯边对或弯边对： 1) 相同支撑几何结构； 2) 在其相邻腹板面或变形腹板面的外环方向上，至少存在两组连续的修剪非直线边和修剪非直线边集合，且其折弯面都存在边和上述边集合中的至少一组相交。 若存在，则说明存在纵梁开口，其几何结构为上述边集合中，和折弯面中的边相交且长度之和最小的边集合，通过腹板面的外环建立起与其父腹板的特征关系。和这组边相邻的变形弯边对或弯边对，若变形弯边对都有父榫接，弯边对都有子榫接，和腹板上的双侧榫接识别规则类似，识别双侧榫接。 图15. 纵梁开口 对于止裂口，如图16所示，首先寻找符合以下条件的变形弯边对或弯边对： 1) 支撑几何结构不相同； 2) 中间存在一条修剪非直线边，且与弯边面集的折弯面含有的修剪非直线是G1连续。 若存在，则识别出止裂口，其几何结构由这条边组成，通过腹板面外环建立起与腹板的特征关系。 对于倒角，如图16所示，可通过腹板面或墙面外环中的修剪非直线边识别。若上述边和所在的外环上的相邻边之间是G1 连续，且不是其他特征的一部分，则识别出倒角。倒角的几何结构由修剪非直线边组成，通过腹板面或墙面的外环建立起与腹板或弯边的特征关系。 图16. 止裂口和倒角 3.2.4. 孔、开口，冲压开孔，冲压开口和筋等识别 孔、开口，冲压开孔，冲压开口和筋等依赖于腹板面、变形腹板面或弯边面集中的墙面含有的非外环，并通过非外环建立起与父特征之间的关系，具体按照以下规则识别： 1) 孔和冲压开孔孔状环中若包含有内环面，则识别出冲压开孔，其几何部分有由孔状环及其包围的内环面；若不包含内环面，则存在孔，其几何部分包含孔状环包含的边； 2) 浅成型若存在浅成型环，则识别出浅成型，其几何部分包含浅成型环包含的内环面； 3) 开口和冲压开口内环中若包含内环面，则识别出冲压开口，其几何部分有内环和由内环环包围的内环面形成；如果不包含内环面，则存在开口，其几何部分由内环包含的边构成； 4) 筋若存在筋状环，则构建筋，其几何部分包含筋状环与被它包围的内环面。