计算机实施的用于设计用二叉树来建模的工业产品的方法技术

技术编号:11187090 阅读:90 留言:0更新日期:2015-03-25 16:00
一种计算机实施的用于设计用二叉树来建模的工业产品的方法,所述二叉树具有代表基本体积的叶子节点、代表将体积进行组合的二元可交换操作的非叶子节点,所述方法包括以下步骤:执行触发添加或移除叶子节点的设计操作;并且理想化所述二叉树,即,通过将弱叶子节点的数量最小化来修改所述二叉树而同时保持该树的最优性,弱叶子节点是这样节点:当其被移除后,所得到的二叉树不再是最优的。

【技术实现步骤摘要】

本专利技术涉及计算机程序和系统领域,并且更具体地涉及例如在缩写为CAD的计算机辅助设计中由计算机实施的用于设计用二叉树来建模的工业产品的方法
技术介绍
本专利技术涉及计算机辅助设计CAD,并且更确切地,涉及声明性建模(也叫功能性建模)。声明性建模CAD系统包括预定义的历史树以及声明性特征。在CAD系统用户将声明性特征实例化之后,支持所得到的实体的数据结构为历史树,该历史树包括通过可交换操作(比如并集或交集)而将基本体积(basic volume)进行组合的许多子树。本专利技术利用这种特定情况以在用户要求改变之后提高实体更新性能。给定声明性建模系统的预定义历史树(如图1的左图所示),并且给定该预定义历史树的输入桶(input bucket),声明性特征在被实例化时,将基本体积分布在于输入桶中。因此,在实例化了一些特征之后,每个输入桶通过可交换操作(主要是被记为“+”的布尔并集),将多个基本体积进行组合。目前,如图1的右图所示,基本体积的每个组合都是通过有序表来实施的,其中,在所述有序表中,根据创建顺序来存储体积。在附图中,根节点被记为RN,叶子节点被记为LN,以及内部节点被记为IN,并且弧段或边连接了节点。应该注意到声明性实体的更新包括两步。第一步是更新输入桶(基本体积的并集的表)而第二步是更新预定义历史树,在该预定义历史树中存储有可交换和不可交换操作。根据工业测试,声明性建模技术的首个实施显示出总体计算时间主要花费在预定义历史树的更新上(相对于输入桶更新时间)。但是,在本领域中的近期性能改进(通过正在进行的Dassault Systèmes专利EP2474928、EP2474929和EP2474930)减少了预定义历史树的更新时间,使得:现在基本体积的更新时间是显著的,并因此值得优化。如将在下文中所详述的,本专利技术对“最优二叉树”的概念进行了深入的利用。这个概念在对在字典中的有序数据(被称为“记录”)进行排序和搜索的领域内是众所周知的。根据排序和搜索技术,在每次向字典中添加新纪录时都要更新所谓的“二叉搜索树”,并且其结构被设计以便于搜索给定的记录。搜索效率基于二叉树的平衡。为了这个目的,存在详尽的算法以在每次向字典中添加新纪录时保持该平衡。搜索技术用于数据库管理以及计算几何。经典的参考书目是D.Knuth所著的书籍:《排序和搜索》。如前所述,预定义历史树的每个输入桶都通过有序表将其基本体积进行组合。当用户修改该部分的声明性特征时,执行基本体积的修改(删除、尺寸变化、位置变化…)并且输入桶需要被更新。这导致了大量的更新时间,这是因为更新每个列表与所修改的体积的年龄成正比。在实体建模领域中,从更新时间的角度来看,有序表并不是最优的数据结构这一点是众所周知的。
技术介绍
的另一个问题如下。声明性建模技术被设计为独立于特征创建顺序而进行。Dassault Systèmes专利EP1501026保证了所得到的实体的形状独立于特征创建顺序。但是,输入桶的列表实施使得对较早特征的更新长于对较晚特征的更新,这显然与用户对声明性行为所应当的样子的认知相违背。搜索技术是要保持二叉搜索树的平衡。二叉搜索树的拓扑展示了一种结构,所述结构与叶子节点是有序记录这个事实密切相关。例如,典型的要求是左子树的所有节点比右子树的所有节点低(根据记录排序)。这是平衡算法复杂度的来源。
技术实现思路
本专利技术的目的是要提供一种计算机实现的方法和系统以克服上述问题。根据本专利技术的一个方面,提出一种计算机实施的用于设计用二叉树来建模的工业产品的方法,所述二叉树具有代表基本体积的叶子节点、代表将体积进行组合的二元可交换操作的非叶子节点以及连接节点的弧段,所述方法包括以下步骤:执行触发添加或移除叶子节点的设计操作;并且理想化所述二叉树,即,通过将弱叶子节点的数量最小化来修改二叉树同时保持该树的最优性,其中,弱叶子节点是这样的叶子节点:当其被移除时,所得到的二叉树不再是最优的,最优二叉树的任意两个叶子节点(LN)之间的深度差的绝对值为0或1。保持这样的理想树,这允许缩短声明性CAD系统所需要的用于在用户要求改变之后计算实体的新形状所需的时间。此外,所述声明性CAD系统的响应时间是更加平滑的,这意味着特征的更新时间并不依赖于其创建日期。也就是说,任意特征的更新时间是基本相同的,并且,平均来说,比现有技术的状况更短。在CAD行业中,由于相对于通过从零开始创建新模型而花费的20%的设计时间,80%的设计时间是通过修改而花费的,因此,更快的更新是有价值的改进。通过性能提升所节约的时间能够缩短新产品的上市时间或者能够被用来研究替代设计。通过缩短总体更新时间以及通过使特征之间的更新时间不均衡变得平滑,本专利技术使得声明性CAD系统更适于使用。本专利技术在比在字典中搜索有序记录更简便的情况下利用了最优二叉树。确实,二叉树的所有非叶子节点都是相同的可交换操作(主要是布尔并集)并且所有叶子节点都是基本体积。这大大简化了状况并且本专利技术算法的效率是这些算法的直接性的结果。因此,更易于设计、测试和维护计算机程序,并且这些计算机程序也更为可靠。应该注意的是,涉及二叉树的用于搜索目的的算法在本专利技术的上下文中不能重复使用。根据一个实施例,当所述设计操作为添加新叶子节点时,所述计算机实施的方法包括以下步骤:-通过从根节点到现有叶子节点遍历所述二叉树来确定节点路径,其中,通过迭代地选择定义了具有最小叶子节点数量的子树的下一个节点来遍历所述二叉树;并且-在结束路径的现有叶子节点处添加所述新叶子节点。从而以与该树的深度成正比的计算开销,添加新叶子节点保存了或增强了树的结构。根据另一个实施例,当所述设计操作为移除叶子节点时,所述计算机实施的方法包括以下步骤:-确定具有最小深度的叶子节点以作为已经不再是最优二叉树的所述二叉树上的非最优叶子节点;-在从非最优叶子节点到根节点的路径中,确定枢轴节点,所述枢轴节点是其子树非最优的第一个节点;-在所述枢轴节点的所述非最优子树中,确定V子树,所述V子树是有最深深度的、具有两个叶子节点的子树;并且-将所述非最优叶子节点与所述V子树进行交换。从而以与该树的深度成正比的计算开销,来执行在节点移除之后恢复最优性。根据一个实施例,所述计算机实施的方法进一步包括以下步骤:提供预定义树以用于输入适本文档来自技高网
...

【技术保护点】
一种计算机实施的用于设计用二叉树来建模的工业产品的方法,所述二叉树具有代表基本体积的叶子节点(LN)、代表将体积进行组合的二元可交换操作的非叶子节点,所述方法包括以下步骤:执行触发添加或移除叶子节点(LN)的设计操作;并且理想化所述二叉树,即,通过将弱叶子节点(WLN)的数量最小化来修改所述二叉树而同时保持该树的最优性(OBT),弱叶子节点(WLN)是这样的叶子节点(LN):当其被移除后,所得到的二叉树不再是最优的,最优二叉树的任意两个叶子节点(LN)之间的深度差的绝对值为零或一。

【技术特征摘要】
2013.09.11 EP 13306244.81.一种计算机实施的用于设计用二叉树来建模的工业产品的方法,所
述二叉树具有代表基本体积的叶子节点(LN)、代表将体积进行组合的二元
可交换操作的非叶子节点,所述方法包括以下步骤:
执行触发添加或移除叶子节点(LN)的设计操作;并且
理想化所述二叉树,即,通过将弱叶子节点(WLN)的数量最小化来
修改所述二叉树而同时保持该树的最优性(OBT),弱叶子节点(WLN)是
这样的叶子节点(LN):当其被移除后,所得到的二叉树不再是最优的,最
优二叉树的任意两个叶子节点(LN)之间的深度差的绝对值为零或一。
2.根据权利要求1所述的计算机实施的方法,当所述设计操作为添加
新的叶子节点(LN)时,所述方法包括以下步骤:
通过从根节点(RN)到现有叶子节点(LN)遍历所述二叉树来确定节
点路径,其中,通过迭代地选择定义了具有最少叶子节点(LN)数量的子
树的下一个节点来遍历所述二叉树;并且
在结束路径的所述现有叶子节点(LN)处添加所述新的叶子节点(LN)。
3.根据权利要求1所述的计算机实施的方法,当所述设计操作为移除
叶子节点(LN)时,所述方法包括以下步骤:
确定具有最小深度的叶子节点(LN)以作为已经不再是最优二叉树的
所述二叉树上的非最优叶子节点(LN);
在从所述非最优叶子节点(LN)到根节点(RN)的路径中,确定枢轴
节点(PN),所述枢轴节点是其子树非最优的第一个节点;
在所述枢轴(PN)节点的该非最优子树中,确定具有最深深度的V子
树,V子树是具有两个叶子节点(LN)的子树;并且
将所述非最优叶子节点(LN)与所述V子树进行交换。
4.根据权利要求1-3中的一项所述的计算机实施的方法,其中,所述
方法进一步包括以下步骤:提供预定义树以用于输入适用于设计特定工业

\t产品的二叉树。
5.根据权利要求1-4中的一项所述的计算机实施的方法,其中,对于
所述...

【专利技术属性】
技术研发人员:JF·拉莫
申请(专利权)人:达索系统公司
类型:发明
国别省市:法国;FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1