一种基于边界表示的非流形CAD软件之间的转换方法

文档序号:26633479发布日期:2021-09-14 23:14阅读:306来源:国知局
一种基于边界表示的非流形CAD软件之间的转换方法
一种基于边界表示的非流形cad软件之间的转换方法
技术领域
1.本技术涉及文件转换技术领域,尤其涉及一种基于边界表示的非流形cad软件之间的转换方法。


背景技术:

2.传统解决cad软件之间信息交流的办法都采用专用文件接口和中性文件接口的方法以及基于brep(boundary representation,边界表示)的接口方法。专用文件接口的办法是指每两个不同的cad软件之间开发一套数据格式相互转换的文件接口。中性文件接口的方法是指通过几种公认的中间文件格式进行信息交流,典型的中性文件有大多数软件支持的iges中性文件,国际标准化组织采纳的step中性文件等。基于brep接口的方式是指以边界表达brep作为数据交换层的接口,从系统中提取产品模型的brep数据,建立系统间brep的映射关系,继而通过重构brep完成接口转换。
3.对于非流形实体模型,专用文件接口以及中性文件接口能够满足转换,但是非流形实体模型基于brep接口的转换方式并不能完成转换。


技术实现要素:

4.本技术提供了一种基于边界表示的非流形cad软件之间的转换方法,通过直接提取open cascade与parasolid几何核心的边界表达brep,然后建立brep间的映射关系,从而完成cad系统间的数据转换,使得软件之间的转换适应性更强,相对稳定性更高。
5.有鉴于此,本技术第一方面提供了一种基于边界表示的非流形cad软件之间的转换方法,所述方法包括:
6.101、将opencascade模型中孤立的点构建成parasolid模型对应的minimum body;
7.102、将opencascade模型中的悬边构建成parasolid模型对应的wire_body;
8.103、将opencascade模型中悬面构建parasolid模型对应的sheet_body,将构建好的sheet_body关联parasolid模型中对应的几何数据与拓扑结构数据;
9.104、将opencascade模型中的几何实体构建成parasolid模型对应的solid_body,将构建好的solid_body关联parasolid模型中对应的几何数据与拓扑结构数据;
10.105、重复步骤101至104,直到所述非流行模型中的所有结构都转换完成。
11.可选的,所述将opencascade模型中悬面构建parasolid模型对应的sheet_body,包括:
12.构建一个空的壳,将opencascade模型中悬面的数据添加至构建好的壳上;
13.从所述壳的顶端向下遍历opencascade中的拓扑实体,提取所述拓扑实体的几何数据;
14.将悬面中的面数据转换完成后,依次遍历面上的边缘,判断每个所述边缘是否连接两个所述面;
15.若一条所述边缘连接两个所述面,则过滤所述边缘;
16.若一条所述边缘在一个所述面上,则将所述边缘保存在列表中,如果列表中保存的所述边缘构成一个环形拓扑,则记录所述边缘的顺序和构成所述环形拓扑的方向,直到所述面上所有的所述边缘都遍历完,删除没有构成所述环形拓扑的所述边缘;
17.在保存的边缘列表中,将所述边缘的顺序和构成所述环形拓扑的方向进行反向,构成一个新的所述环形拓扑,完成对虚面的拓扑构造;
18.自顶向下对虚面的拓扑结构进行转换,从而构造完成parasolid的sheet_body。
19.可选的,所述将opencascade模型中的几何实体构建成parasolid模型对应的solid_body,包括:
20.自顶向下遍历opencascade模型中的拓扑实体,如果所述拓扑实体关联有几何数据,则提取所述拓扑实体的几何数据;
21.根据所述几何数据构建parasolid模型对应的solid_body。
22.可选的,还包括:
23.确定opencascade中的几何数据与parasolid中的几何数据之间的映射关系,所述几何数据包括点、线和面。
24.可选的,还包括:
25.确定opencascade中的拓扑结构数据与parasolid中的拓扑结构数据的映射关系。
26.从以上技术方案可以看出,本技术具有以下优点:
27.本技术实施例中,提供了一种基于边界表示的非流形cad软件之间的转换方法,包括:将opencascade模型中孤立的点构建成parasolid模型对应的minimum body;将opencascade模型中的悬边构建成parasolid模型对应的wire_body;将opencascade模型中悬面构建parasolid模型对应的sheet_body,将构建好的sheet_body关联parasolid模型中对应的几何数据与拓扑结构数据;将opencascade模型中的几何实体构建成parasolid模型对应的solid_body,将构建好的solid_body关联parasolid模型中对应的几何数据与拓扑结构数据;重复上述步骤,直到非流行模型中的所有结构都转换完成。
28.本技术中由于单个面只能构造parasolid的sheet_body,故需要在opencascade中构造一个空的shell,并将face的数据添加到shell上;由于parasolid构造sheet_body时,需要每个边连接两个面,故需要构造一个虚面的拓扑结构来实现sheet_body的构造,本技术的基于边界表示的接口方法具有适用性强、稳定性高的优点。
附图说明
29.图1为本技术一种基于边界表示的非流形cad软件之间的转换方法的一个实施例的方法流程图;
30.图2为本技术实施例中opencascade模型以及parasolid模型的拓扑结构树示意图;
31.图3为本技术实施例中由面数据构建虚面的示意图。
具体实施方式
32.将非流形模型其中的结构分别构造parasolid的body,barasolid中的body分为4种,如下表所示:
33.body描述minimum_body孤立的点wire_body一组连接的边,任何顶点连接不超过2条边sheet_body一组相连的面,其中每条边最多连接两个面solid_body一个实体区域(例如一个立方体)
34.opencascade的拓扑模型树如图2左侧视图所示,其中compound(混合)是compsolid、solid、shell、face、wire、edge和vertex中任意类型的组合;compsolid是一组solid(立体)实体类型的组合,solid拓扑实体表示三维封闭几何实体本身,solid的边界由一个或多个shell(壳)拓扑实体表达,shell的边界由一个或多个face(面)拓扑实体表达,而face的边界又由wire(线)来界定,wire是由一个或多个边edge(边缘)拓扑实体组成,edge拓扑实体的端点用vertex(顶点)列表表示。parasolid的拓扑模型树图2右侧视图所示,一个三维封闭几何实体solid_body由7层拓扑实体来表示,除了shell、face、edge和vertex,还包括一个有向边fin,fin是带方向的边edge,记录边在环中出现的情况,是连接面face和边edge的拓扑实体;loop表示环形拓扑。因此,可以建立opencascade与parasolid几何拓扑实体间的映射关系。
35.对于其他孤立的点、悬边、悬面则对应minimum_body、wire_body和sheet_body。对于每一种的opencascade拓扑实体,映射并创建parasolid的拓扑实体。由于每一种opencascade拓扑实体以及parasolid的拓扑实体都包括vertex、edge、face的拓扑实体,且vertex、edge、face都包含几何数据,其中vertex为几何点的转换,edge有直线、圆、椭圆、b样条曲线几何曲线的转换,face有平面、圆柱面、圆锥面、环面、球面、旋转面、b样条曲面几何面的转换。因此也要建立opencascade与parasolid的几何数据间的映射关系。
36.本技术中一个立方体在parasolid中是solid_body,solid_body由一个shell构成,shell由6个face构成,每个face由一个loop和一个几何面构成,一个loop由一个4条fin构成,每条fin都是一条edge的正向或者反向,一条edge由两个vertex和几何边组成,每个vertex由一个几何点组成。
37.因此当一个从opencascade转换过来的单独face是没法构成拓扑树来建立模型,就好比一张a4纸,没法像一个立方体那样表达模型,因此就虚拟另外一张a4纸(称为虚面),数据还是原来的数据,只不过里面edge的方向要改变,face的法向也要改变,这样原来的face和virtual face合在一起就构成一个shell,就符合parasolid的拓扑构造原则,满足一条edge连接两个face。最后构造sheet_body,构造完成后由于虚拟的face是不存在的,要进行删除。
38.本技术中由于单个面只能构造parasolid的sheet_body,故需要在opencascade中构造一个空的shell,并将face的数据添加到shell上;由于parasolid构造sheet_body时,需要每个边连接两个面,故需要构造一个虚面的拓扑结构来实现sheet_body的构造,本技术的基于边界表示的接口方法具有适用性强、稳定性高的优点。
39.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
40.图1为本技术一种基于边界表示的非流形cad软件之间的转换方法的一个实施例的方法流程图,如图1所示,图1中包括:
41.101、将opencascade模型中孤立的点构建成parasolid模型对应的minimum body;
42.需要说明的是,本技术的非流形模型在opencascade模型下对应的compound,则遍历compound中的每个结构,对每个结构进行转换;首先将opencascade中孤立的点构建成parasolid模型对应的minimum body。
43.102、将opencascade模型中的悬边构建成parasolid模型对应的wire_body;
44.需要说明的是,可以将opencascade模型中的悬边(孤立的边)构建成parasolid模型对应的wire_body。
45.103、将opencascade模型中悬面构建parasolid模型对应的sheet_body,将构建好的sheet_body关联parasolid模型中对应的几何数据与拓扑结构数据;
46.需要说明的是,可以将opencascade模型中悬面构建parasolid模型对应的sheet_body,将构建好的sheet_body关联parasolid模型中对应的几何数据与拓扑结构数据。
47.具体的,首选可以构建一个空的壳(shell),将opencascade模型中悬面(face)的数据添加至构建好的壳上;从壳的顶端向下遍历opencascade中的拓扑实体,提取拓扑实体的几何数据;将悬面中的面数据转换完成后,依次遍历面上的边缘(edge),判断每个边缘是否连接两个面;若一条边缘连接两个面,则过滤边缘;若一条边缘在一个面上,则将边缘保存在列表中,如果列表中保存的边缘构成一个环形拓扑,则记录边缘的顺序和构成环形拓扑的方向,直到面上所有的边缘都遍历完,删除没有构成环形拓扑的边缘,以保证所有的边缘都构成环形拓扑;在保存的边缘列表中,将边缘的顺序和构成环形拓扑的方向进行反向,构成一个新的环形拓扑,完成对虚面(virtual face)的拓扑构造;自顶向下对虚面的拓扑结构进行转换,从而构造完成parasolid的sheet_body,构造成sheet_body后对虚面进行删除。
48.例如,可以参考图3,一个三维空间的曲面s由四个小曲面构成,边缘的方向和曲面s的法向如图3所示,遍历曲面s中的所有边缘,只保留其中一条边缘连接一个面的边缘,构成一个环形拓扑,然后构建虚面,其中边缘方向改变,曲面的法向改变,曲面s和虚面构成一个壳,满足了parasolid中一条边缘(edge)连接两个面(face)的规则,从而壳(shell)就可构造sheet_body。
49.104、将opencascade模型中的几何实体构建成parasolid模型对应的solid_body,将构建好的solid_body关联parasolid模型中对应的几何数据与拓扑结构数据;
50.需要说明的是,本技术可以自顶向下遍历opencascade模型中的拓扑实体,如果拓扑实体关联有几何数据,则提取拓扑实体的几何数据;根据几何数据构建parasolid模型对应的solid_body。
51.105、重复步骤101至104,直到非流行模型中的所有结构都转换完成。
52.本技术中由于单个面只能构造parasolid的sheet_body,故需要在opencascade中构造一个空的shell,并将face的数据添加到shell上;由于parasolid构造sheet_body时,需要每个边连接两个面,故需要构造一个虚面的拓扑结构来实现sheet_body的构造,本技术的基于边界表示的接口方法具有适用性强、稳定性高的优点。
53.本技术还提供了一种基于边界表示的非流形cad软件之间的转换方法的另外一个
实施例,在上述步骤的基础上还包括:
54.201、确定opencascade中的几何数据与parasolid中的几何数据之间的映射关系,所述几何数据包括点、线和面。
55.需要说明的是,本技术可以构建opencascade模型与parasolid模型的集合数据之间的映射关系,包括opencascade模型与parasolid模型共有的vertex、edge、face中的几何数据,从而建立集合数据之间的映射关系。
56.202、确定opencascade中的拓扑结构数据与parasolid中的拓扑结构数据的映射关系。
57.需要说明的是,本技术可以根据opencascade中的拓扑结构树与parasolid的拓扑结构树的对应关系,建立opencascade与parasolid几何拓扑实体间的映射关系。
58.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
59.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
60.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
61.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1