建模方法、装置及电子设备制造方法及图纸

技术编号:37422048 阅读:16 留言:0更新日期:2023-04-30 09:44
本发明专利技术涉及计算机辅助设计技术领域,具体涉及建模方法、装置及电子设备,所述方法包括获取目标模型文档中的特征、约束及获取特征间的依赖关系,所述特征为目标模型中参与约束解算的几何体;基于所述特征间的依赖关系建立所述特征间的依赖关系有向图;基于所述依赖关系有向图对所述约束进行分组,确定带约束的特征序列;根据所述带约束的特征序列的顺序依次进行约束解算确定解算结果,以建立所述目标模型。通过特征间的依赖关系建立依赖关系有向图并对约束进行分组,实现二维和三维约束的混合求解,可以建立目标模型的过程中,既支持二维草图约束,又支持三维刚体约束,从而避免在建模过程中来回切换两种环境,提高了建模效率。提高了建模效率。提高了建模效率。

【技术实现步骤摘要】
建模方法、装置及电子设备


[0001]本专利技术涉及计算机辅助设计
,具体涉及建模方法、装置及电子设备。

技术介绍

[0002]参数化建模及约束解算是现代计算机辅助设计(Computer

Aided Design)软件的重要特征。按照参与约束对象所处的空间维度,可以把约束分为两类:二维约束和三维约束。其中,二维约束是指草图内二维曲线之间的约束,所有二维曲线及约束都在同一个平面内。三维约束是指草图外的三维几何体参与的约束,参与约束的对象及约束可能不在同一个平面内。三维约束包含两层含义:一是约束对象不仅局限在草图内的二维曲线,也支持三维几何体参与约束。例如:草图内二维直线段与草图外三维实体表面的距离约束。二是约束可以施加在三维几何体之间,来驱动三维几何体进行刚体变换,从而可以实现三维实体的装配。例如:可以通过添加实体表面间的对齐约束等,实现门的装配。
[0003]具体地,在机械类建模软件中,通常区分零件环境和装配体环境。在零件环境中使用二维约束,用于草图建模,通过草图的参数化来实现零件的参数化。在装配体环境中使用三维约束,用于零件间的装配。
[0004]在建筑类建模软件Revit中,在草图及各个形体(拉伸体、旋转体、放样体、融合体、放样融合体、组合体)之间,使用二维约束。在嵌套族的场景下,在族实例之间,使用三维约束。
[0005]在上述建模软件中,二维约束和三维约束使用的场景会有明显的区分,当希望模型可变形时,需要切换到使用二维草图约束解算的场景;当希望模型做刚体变换时,需要切换到使用三维刚体约束解算的场景。在复杂产品建模过程中,来回切换两种场景,是比较繁琐的事情,导致建模效率较低。

技术实现思路

[0006]有鉴于此,本专利技术实施例提供了一种建模方法、装置及电子设备,以解决两种约束解算场景的切换所导致的建模效率低的问题。
[0007]根据第一方面,本专利技术实施例提供了一种建模方法,包括:
[0008]获取目标模型文档中的特征、约束及获取特征间的依赖关系,所述特征为目标模型中参与约束解算的几何体;
[0009]基于所述特征间的依赖关系建立所述特征间的依赖关系有向图;
[0010]基于所述依赖关系有向图对所述约束进行分组,确定带约束的特征序列;
[0011]根据所述带约束的特征序列的顺序依次进行约束解算确定解算结果,以建立所述目标模型。
[0012]本专利技术实施例提供的建模方法,通过特征间的依赖关系建立依赖关系有向图并对约束进行分组,即将约束划分到所述的特征组中,实现二维和三维约束的混合求解,可以建立目标模型的过程中,既支持二维草图约束,又支持三维刚体约束,从而避免在建模过程中
来回切换两种环境,提高了建模效率。
[0013]结合第一方面,在第一方面第一实施方式中,所述基于所述依赖关系有向图对所述约束进行分组,确定带约束的特征序列,包括:
[0014]对所述依赖关系有向图进行拓扑排序,确定特征序列;
[0015]基于各个所述约束对应的约束对象将所述约束加入所述特征序列的对应组中,确定带约束的特征序列。
[0016]本专利技术实施例提供的建模方法,由于有向图是个复杂的网状结构,进行拓扑排序后,有向图可以转化为简单的顺序结构,即可保证后续能够高效准确地确定出解算结果。
[0017]结合第一方面第一实施方式,在第一方面第二实施方式中,所述基于各个所述约束对应的约束对象将所述约束加入所述特征序列的对应组中,确定带约束的特征序列,包括:
[0018]判断所述约束中是否存在对应的约束对象分别属于不同的特征的目标约束;
[0019]当存在所述目标约束时,将所述目标约束加入排序在后的约束对象的对应组中,以确定所述带约束的特征序列。
[0020]本专利技术实施例提供的建模方法,如果约束对应的约束对象分别属于不同的特征,则把这个约束放入到下游特征对应的组中,这样使得上游特征能通过约束驱动下游特征,保证了解算的准确性。
[0021]结合第一方面第一实施方式,在第一方面第三实施方式中,所述对所述依赖关系有向图进行拓扑排序,确定特征序列,包括:
[0022]当所述拓扑排序不成功时,提示存在循环依赖关系无法解算;
[0023]当所述拓扑排序成功时,确定所述特征序列。
[0024]本专利技术实施例提供的建模方法,在解算之前通过对其进行拓扑排序分析,可以确定是否存在循环依赖关系而无法解算的情况,可以在解算之前就确定出解算失败的原因,而不必经过解算处理,提高了建模效率。
[0025]结合第一方面,在第一方面第四实施方式中,所述根据所述带约束的特征序列的顺序依次进行约束解算确定解算结果,以建立所述目标模型,包括:
[0026]基于所述带约束的特征序列的顺序,将当前组约束引用的属于其他组的约束对象设置为固定;
[0027]对所述当前组进行约束解算,得到当前组的解算结果,以建立所述目标模型。
[0028]本专利技术实施例提供的建模方法,在对当前组进行约束解算时,其他组的约束对象都认为是固定的,不能变化的。即,在对每一个组进行约束解算时,只有组内对象认为是可以变化的,所有组外对象都认为是固定的,简化了解算问题。即,上游特征决定了本组特征,所以上游特征不能变化;下游特征不必变化,等解算到下游特征组时再变化即可。
[0029]结合第一方面第四实施方式,在第一方面第五实施方式中,所述根据所述带约束的特征序列的顺序依次进行约束解算确定解算结果,以建立所述目标模型,还包括:
[0030]基于所述当前组的解算结果,对其他组进行关联更新;
[0031]基于关联更新后的结果,对下一组进行约束解算。
[0032]本专利技术实施例提供的建模方法,由于特征之间具有依赖关系,在当前组解散完成之后对其他组进行关联更新,可以保证其他组的特征的准确性,提高了解算结果的可靠性。
[0033]结合第一方面,在第一方面第六实施方式中,获取特征间的依赖关系,包括:
[0034]获取特征间的内在依赖关系以及所述约束带来的依赖关系;
[0035]基于所述特征间内在依赖关系以及所述约束带来的依赖关系,确定特征间的依赖关系。
[0036]本专利技术实施例提供的建模方法,对于特征间的依赖关系而言,其包括两个方面,即特征间的内在依赖关系以及约束带来的依赖关系,将这两种依赖关系结合,可以保证建模结果的准确性。
[0037]根据第二方面,本专利技术实施例还提供了一种建模装置,包括:
[0038]获取模块,用于获取目标模型文档中的特征、约束及获取特征间的依赖关系,所述特征为目标模型中参与约束解算的几何体;
[0039]建立模块,用于基于所述特征间的依赖关系建立所述特征间的依赖关系有向图;
[0040]确定模块,用于基于所述依赖关系有向图对所述约束进行分组,确定带约束的特征序列;
[0041]解算模块,用于根据所述带约束的特征序列的顺序依次进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种建模方法,其特征在于,包括:获取目标模型文档中的特征、约束及获取特征间的依赖关系,所述特征为目标模型中参与约束解算的几何体;基于所述特征间的依赖关系建立所述特征间的依赖关系有向图;基于所述依赖关系有向图对所述约束进行分组,确定带约束的特征序列;根据所述带约束的特征序列的顺序依次进行约束解算确定解算结果,以建立所述目标模型。2.根据权利要求1所述的方法,其特征在于,所述基于所述依赖关系有向图对所述约束进行分组,确定带约束的特征序列,包括:对所述依赖关系有向图进行拓扑排序,确定特征序列;基于各个所述约束对应的约束对象将所述约束加入所述特征序列的对应组中,确定带约束的特征序列。3.根据权利要求2所述的方法,其特征在于,所述基于各个所述约束对应的约束对象将所述约束加入所述特征序列的对应组中,确定带约束的特征序列,包括:判断所述约束中是否存在对应的约束对象分别属于不同的特征的目标约束;当存在所述目标约束时,将所述目标约束加入排序在后的约束对象的对应组中,以确定所述带约束的特征序列。4.根据权利要求2所述的方法,其特征在于,所述对所述依赖关系有向图进行拓扑排序,确定特征序列,包括:当所述拓扑排序不成功时,提示存在循环依赖关系无法解算;当所述拓扑排序成功时,确定所述特征序列。5.根据权利要求1所述的方法,其特征在于,所述根据所述带约束的特征序列的顺序依次进行约束解算确定解算结果,以建立所述目标模型,包括:基于所述带约束的特征序列的顺序,将当前组约束引用的属于其他组的约束对象设置为固定;对所述当...

【专利技术属性】
技术研发人员:张宝源张志刚李震霄戎根苗
申请(专利权)人:广联达科技股份有限公司
类型:发明
国别省市:

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

1