CN112580120A - 一种设计意图自动感知的cad模型高效修改方法 - Google Patents
一种设计意图自动感知的cad模型高效修改方法 Download PDFInfo
- Publication number
- CN112580120A CN112580120A CN202011530235.3A CN202011530235A CN112580120A CN 112580120 A CN112580120 A CN 112580120A CN 202011530235 A CN202011530235 A CN 202011530235A CN 112580120 A CN112580120 A CN 112580120A
- Authority
- CN
- China
- Prior art keywords
- layout
- cad model
- plane
- model
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/12—Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种设计意图自动感知的CAD模型高效修改方法。本发明步骤:步骤(1)自动提取CAD模型中体现设计意图的双层次面布局;步骤(2)基于面布局矩阵量化描述CAD模型中的双层次面布局;步骤(3)基于面布局矩阵高效适应性维持CAD模型的设计意图。本发明对于任意拟重用的CAD模型,基于半空间理论,自动识别和量化表示CAD模型的设计意图,并在用户采用直接建模操作修改CAD模型的过程中,能自动适应性地维持模型的设计意图,而且可充分利用设计意图在模型一个或多个面上自动适应性地传递修改操作,极大地减少用户的交互操作工作量和复杂度,提升CAD模型采用直接建模技术进行适应性重用的用户体。
Description
技术领域
本发明属于产品数字化设计领域,具体涉及一种设计意图自动感知的CAD模型高效修改方法。
背景技术
基于案例的设计是产品快速创新设计的有效方法。然而,对于其中拟重用的CAD模型如何开展高效修改以满足新需求的相关工作还不多见,严重制约了上述创新设计方法的实施效果和效率。上述情况对于从公共渠道获取的主流CAD模型尤为严峻——它们通常仅有边界表示信息,无法利用参数驱动机制进行高效修改。近些年快速发展的直接建模技术(亦称同步建模技术)有望解决上述问题。该技术直接针对CAD模型的边界表示信息,主要通过用户交互选定并操作(移动、旋转或更改半径)模型中的一个或一组面来实现模型修改。这种直观的模型修改方式,进一步提升了CAD模型的可重用性,已逐步成为主流三维CAD系统不可缺少的组成部分。
尽管如此,现有的直接建模技术还不够成熟,难以取代传统的参数化建模技术,其中在修改CAD模型过程中如何维持模型的设计意图是该技术进一步发展需要解决的一个关键问题。CAD模型的设计意图主要通过几何形状体现,如具备的功能(如传递何种机构运动),符合的设计需求(如孔位位置居中对称)和加工需求(如阵列特征间距满足排钻加工要求)等。在基于案例的产品设计中,为了提升效率且保证质量,需要检索设计意图与当前需求尽量(功能、设计或加工)一致的CAD模型进行修改。因此,对模型的几何修改往往是在维持原有设计意图的基础是进行适应性修改,如更改模型整体或局部区域的几何尺寸、调整局部区域的位置或朝向、阵列特征形状或分布距离等——需要同时调整CAD模型中相关修改涉及的一个或多个面(不一定相邻)在模型中的相对位置或相对朝向。实现上述维持设计意图的修改,对于参数化模型而言,用户只需要更改少量的参数即可实现(模型会基于参数约束自动重建)。然而,采用现有的直接建模技术完成上述修改,则需要用户交互地选择和操作相应的一个或多个面。对于有一定复杂度的模型而言,直接建模方式修改模型不仅工作量大,操作过程枯燥乏味,而且修改结果的有效性依赖于用户自身的知识储备以及对模型设计意图的理解。
为改善上述情况,近些年陆续出现了一些基于边界表示开展维持设计意图的直接建模研究工作,如维持设计特征开展直接建模的方法。该类工作在对CAD模型实施修改之前,先识别模型中的一些设计特征(对称特征、阵列特征、圆角特征、薄壁特征等)。之后,人工交互修改模型的过程,设计算法维持上述识别特征,或者维持特征之间根据依赖关系建立的特征树。考虑到设计特征的内容具有很强的主观性和灵活性,缺乏标准,因此,特征识别的准确性,直接影响CAD模型修改的正确性。同时,大部分设计特征往往需要人工大量和谨慎的交互选择才能确认,这无疑提高了用户的工作量和操作门槛,也影响了直接建模的便捷和用户体验。
发明内容
为了克服现有直接建模技术及其相关研究的不足,对于任意拟重用的CAD模型(底层为主流的边界表示结构),基于半空间理论,本发明提出一种设计意图自动感知的CAD模型高效修改方法。本发明对于任意给定的CAD模型,能够自动识别和量化表示CAD模型的设计意图,并在用户采用直接建模操作修改CAD模型的过程中,不仅能自动适应性地维持模型的设计意图,而且可充分利用设计意图在模型一个或多个面上自动适应性地传递修改操作,极大地减少用户的交互操作工作量和复杂度,提升CAD模型采用直接建模技术进行适应性重用的用户体验
本发明解决其技术问题所采用的技术方案包含如下步骤:
步骤(1)自动提取CAD模型中体现设计意图的双层次面布局
根据半空间理论,CAD模型几何形状是由构成模型的所有面在空间中布局相交而形成,因此模型形状中的设计意图实际上是通过模型中所有面之间的(相对)布局来体现。本发明将上述信息命名为双层次面布局——面之间不考虑规律的布局信息和面之间有规律的布局信息。本发明中有规律的面布局,特指共面布局、同轴布局和对称布局(包括线性阵列布局、环形阵列布局和镜像布局)。上述布局信息的具体提取过程如下:
1-1.第一层:自动提取面之间不考虑规律的布局信息
采用并行的方式将每个面与CAD模型中的其余面进行比对:面类型是否相同、几何方程是否相同、提出由粗到细的优化方法快速判断边界是否可重合。同时,在该过程中,完成面之间相对位置和相对朝向的计算。
1-2.第二层:自动提取面之间有规律的布局信息
在第一层面布局信息提取的过程中,确定所有共面的面组、同轴的面组、边界可重合的面组。对于每一组边界可重合的面,根据它们内部彼此之间的平移、旋转或镜像变换,确定该组面内部彼此存在的对称布局的最大面组,即线性阵列布局面组、环形阵列布局面组或镜像布局面组。同时,对于每一组存在对称布局的面,基于OBB包围中心位置,确定其在与所有组内面存在公共边的面上是否居中。
步骤(2)基于面布局矩阵量化描述CAD模型中的双层次面布局
为了能够形式化描述每个CAD模型中的设计意图,以及在用户直接建模过程中,模型设计意图能够自动维护,本发明提出一种面布局矩阵来描述模型的双层次面布局——NxN维,其中N表示输入CAD模型的面数量,任意[i,j]∈NxN表示从面i到面j之间的双层次面布局,具有如下表1所示的结构化内容。本发明提出一种统一的映射机制(见具体实施步骤),将上述结构化内容统一转化为一个21维向量,以便于设计布局信息能够被量化计算和高效维持。
表1面布局矩阵中每一元素的结构化内容形式
相对位置 | 相对朝向 | 共面 | 同轴 | 对称变换矩阵 | 公共面上居中 |
每个模型对应一个面布局矩阵,该矩阵在提取模型双层次面布局的过程中建立,并随着直接建模过程快速动态更新,以适应CAD模型中设计意图的更新。
步骤(3)基于面布局矩阵高效适应性维持CAD模型的设计意图
在用户采用直接建模操作对CAD模型实施一次修改(通过对选中的面实施移动、旋转或更改半径操作)的同时,本发明自动根据面布局矩阵记录的信息,将上述修改适应性传递到与当前操作面存在布局规律的其余面上,并且维持每个对称布局面组在其公共面上的居中位置。在此过程中,模型对应的面布局矩阵内容局部实施更新,以匹配修改后的模型的设计意图。这不仅实现模型设计意图维持,而且减少了用户的工作量和操作门槛,加速了CAD模型修改的效率和效果。
考虑到用户可能实施希望修改模型本身的设计意图;自动维持设计意图的修改尺度可能超过了模型相应局部区域可支持的范围等,都会引起模型的拓扑结构被改变(新增或删除了面)。在此情况下,若用户接受修改,则模型对应的面布局矩阵需要重新生成,以便于后续修改时维持新的设计意图,否则撤销相应操作,回退到上一步用户修改操作后的模型修改状态。
本发明有益效果如下:
为解决现有技术的不足,本发明提供了一种设计意图自动感知的CAD模型高效修改方法。本发明开发了体现模型设计意图的新概念,对应的量化描述子(形式化结构)和设计意图自动适应性维持方法。本发明无需通过事先识别CAD模型中的设计特征来实现修改过程中模型设计意图得到维持,同时可充分利用设计意图减少用户的交互操作工作量和复杂度,提升CAD模型采用直接建模技术进行适应性重用的用户体验。本发明可与主流CAD系统中的直接建模功能相结合,可有效支持产品基于案例设计的效率和效果,广泛适用于产品三维辅助设计、智能制造等领域。
附图说明
图1设计意图自动感知的CAD模型高效修改步骤流程示意图;
图2CAD模型的双层次面布局的矩阵表示及其内容解析;
图3、图4、图5是CAD模型实施设计意图自动感知的直接建模操作修改示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图1所示,本发明设计意图自动感知的CAD模型高效修改方法,包含如下步骤:
步骤(1)自动提取CAD模型中体现设计意图的双层次面布局
1-1.自动提取面之间不考虑规律的布局信息,包括面之间类型是否一致、几何方程是否相同、是否同轴、边界是否可重合、相对位置和相对朝向,具体来说:
1-1-1.对于输入的边界表示CAD模型M,包含n个面(n≥1)采用并行的方式将M中的每个面F1与其余n-1个面比对,目的在于从M中寻找与F1面类型相同的所有面、边界可重合的所有面、几何方程相同的所有面、转动轴重合的所有面。
1-1-2.在具体实施步骤1-1-1的过程中,为了确定F1和任意其余面F2的相对位置,首先在F1面内均匀采样k(k≥10)个点。之后,若有50%以上的采样点与它们各自在F2面几何方程上的垂直投影点相连形成的向量,分别与各自对应的投影点所在的面法向夹角>90°,则表示这些采样点都坐落在F2面的外侧,此时称F1在F2的外侧;若有50%以上的点与它们各自在F2面几何方程上垂直投影点形成的向量,分别与各自对应的投影点所在的法向夹角<90°,则表示这些采样点都坐落在F2面的内侧,此时称F1在F2的内侧;否则,称F1与F2存在区域重合。
1-1-3.在具体实施步骤1-1-1的过程中,为了确定F1和任意其余面F2的相对朝向,需要提取F1和F2的面朝向向量,通过计算朝向向量之间的夹角∈[0°,180°]来确定F1和F2之间的相对朝向。这里平面的朝向向量为其面法向,旋转面(如圆柱面、圆锥面、圆环等)的朝向向量为其旋转轴的轴向向量,球面及其它类型面的朝向向量为其参数域中心点所在的面法向。
1-1-4.在具体实施步骤1-1-1的过程中,为了高效判断任意两个面F1和F2的边界是否可重合,本发明采用以下由粗到细的优化方法确定:
1-1-4-1.粗判断边界是否可重合——面类型是否相同;若是球面、锥面、柱面和圆环面,则面几何方程的正向是否都指向模型内部或模型外部,且半径或半角是否相同;边界环的数量是否相同(包括内环数量和外环数量);具有相同的顶点数量和边数量。若粗判断满足全部条件,则表示有可能边界重合。如图2中a和b中的面5和11(都是矩形平面),以及面12和13(都是缺一角的圆柱面局部)。
1-1-4-2.基于优化算法细判断边界面是否可重合——将F1和F2的质心重合,若它们是平面则面法向相同,若是其它二次曲面,则轴重合;之后,固定F1,逆时针旋转F2(平面绕过质心所在的法向旋转;其余面绕轴旋转)。采用粒子群优化算法,计算公式(1)最小的旋转角度θ。
当minf(F1,F2)取值为0时,表示这两个面通过平移和旋转边界可重合,如果此结果是在F2边界做了变换后得到的,则表示这两个面通过平移、镜像变换、旋转边界可重合。如图2中的a和b中,面12和13的边界是镜像可重合,面20、22、24和26相互之间经过平移可实现边界重合。
此处vi(F1)和ej(F1)代表F1的第i个顶点和第j条边。Ref(F2)表示对面F2边界沿过其质心的任意平面做镜像变换,该操作在优化计算过程中随机发生。Rθ(Ref(F2))表示对面F2(或其镜像)逆时针旋转θ。D(vi(F1)-vi(Rθ(Ref(F2))))表示F1的第i个顶点与F2(或其镜像)逆时针旋转θ后在其上距离最近的顶点之间的距离。I(ei(F1)-ei(Rθ(Ref(F2))))表示F1的第i条边与F2(或其镜像)逆时针旋转θ后在其上边中心点距离最近的边之间的夹角。
1-2.自动提取面之间有规律的布局信息,包括共面布局、同轴布局、对称布局及其居中信息,具体来说:
1-2-1.在完成第一层面布局信息提取后,对于每一组面类型和面几何方程相同的面,组内面之间建立设置共面布局,如图2中a部分的面7、8、9和10,作为4个圆柱状凸台上的4个顶面,它们之间存在共面布局;对于每一组面类型相同和旋转轴重合的面,组内面之间建立同轴布局,如图2中b部分的面3、18和19存在同轴布局。
1-2-2.根据公式(1)计算产生的平移向量、旋转角度和镜像等信息,对于每一组类型相同且边界可重合的面FG,以及具体实施步骤1-1-1的输出,采用以下方法将FG聚类为一组或多组具有对称布局的面组:
1-2-2-1.在FG中,从其某一面F1出发,使用同一平移变换矩阵(记录了移动向量)的正整数指数次变换,边界可重合的所有面,与F1共同构成了该平移变换下的线性阵列布局面(数量不少于3个)。如图2中b部分的面14、15和16构成一组线性阵列布局面。
1-2-2-2.在FG中,从其某一面F1出发,使用同一复合变换矩阵(记录了旋转轴和旋转角度)的正整数指数次变换,边界可重合的所有面,与F1共同构成了该复合变换下的环形阵列布局面(数量不少于3个)。如图2中b部分的面20、22、24和26构成一组环形阵列面。
1-2-2-3.在FG中,从其某一面F1出发,使用一复合变换矩阵(平移或旋转,一定有镜像),边界与之可重合的面,与F1共同构成了该复合变换下的镜像布局面(每组为2个面)。图2中部分和b部分中的面12和13构成一组镜像布局面。
1-2-3.对于任一存在对称布局的组面,本发明首先找到与这些面都有公共边的面,称为公共面(通常是平面)。之后,计算这组面的OBB包围盒中心P1在该公共面上的投影点P1’,与该公共面的OBB包围盒(平面的OBB厚度忽略不计)的位置关系,判断该组面在该公共面上的布局位置:
1-2-3-1.如果P1’落在公共面包围盒两短边中点相连的线段(距离小于给定的阈值0.001),则该组面在该公共面中依照短边居中放置。
1-2-3-2.如果P1’落在公共面包围盒两长边中点相连的线段附近(距离小于给定的阈值0.001),则该组面在该公共面中依照长边居中放置。如图2的b部分中面20、22、24和26构成的环形阵列布局面组,它们在面6上沿着垂直面31和32方向上居中。
1-2-3-3.如果P1’同时满足具体实施步骤1-2-3-1和1-2-3-1的要求,则该组面在该公共面中居中放置。如图2的b部分中面14、15和16所构成的线性阵列面,它们的包围盒中心在面30上的投影与面30的包围盒中心重合,即该组面在面30各个方向上居中放置。
步骤(2)基于面布局矩阵量化描述CAD模型中的双层次面布局
本发明提出的面布局矩阵是一个NxN维矩阵,其中N表示输入模型的面数量,面布局矩阵任意[i,j]位置上的数据表示从面i到面j之间的双层次面布局。为使得表1所示的结构化形式便于计算,如图2的c部分所示,本发明将其统一映射为一个21维行向量,映射步骤如下:
2-1.表1中的第1维,即图2的c部分中的I1,对应具体实施步骤1-1-2计算面与面之间的相对位置,这里如果是外侧则取-1,内侧则取1,有重合取0。如图2的b部分所示,面1所有采样点落在面2的内侧,因此面1相对面2的位置为内侧。
2-2.表1中的第2维,即图2的c部分中的I2,对应具体实施步骤1-1-3获得的面与面之间的相对朝向。如图2的b部分所示,面1的轴向和面2的法向朝向相同,因此,它们之间的相对朝向是0°。
2-3.表1中的第3维,即图2的c部分中的I3,对应具体实施步骤1-2-1中是否共面的判断,共面取1,否则取0。如图2的b部分所示,面1和2几何方程不同,因此它们在该维的取值为0,而面3和19具有相同的几何方程,因此它们在该维的取值为1。
2-4.表1中的第4维,即图2的c部分中的I4,对应具体实施步骤1-2-1中是否同轴的判断,同轴取1,否则取0。如图2的b部分所示,面1和2在该维的取值为1。
2-5.表1中的第5-20维,即图2的c部分中的I5-I20,对应具体实施步骤1-1-4和1-2-2的输出,判断存在对称布局的面之间的变化矩阵——线性阵列布局对应平移矩阵、环形阵列布局对应复合矩阵和镜像布局对应复合矩阵。特别地,若两个面之间不在对称布局,则它们对应的变化矩阵为0矩阵。如图2的b部分所示,面1和2不存在对称布局,因此在图2的c部分中,d12和d21是一个16维的0向量(对应4x4的0矩阵按行展开)。
2-6.表1中的第21维,即图2的c部分中的I21,对应具体实施步骤1-2-3的输出,判断面i所在的存在对称布局的面组FG在公共面j上的位置。如果FG相对于面j满足具体实施步骤1-2-3-1的要求,则面i在该维中相对于面j的取值为1;如果FG相对于面j满足具体实施步骤1-2-3-2的要求,则面i在该维中相对于面j的取值为2;如果FG相对于面j满足具体实施步骤1-2-3-3的要求,则面i在该维中相对于面j的取值为3。若FG相对于面j不满足上述情况,又或者,面i不属于某个对称布局面组,则i相对于j在该维上的值取0。如图2的b部分所示,面14、15和16所构成的线性阵列面在面30各个方向上居中放置,因此,它们各自相对于面30在该维上的值均为3。
特别地,不考虑每个面相对于自身的布局——面布局矩阵中相应位置取“-”。每个模型的面布局矩阵,在实施步骤(1)的过程中建立,并随着直接建模过程快速动态更新,如面之间的相对位置、相对朝向、新增或者删除了某些面,以适应CAD模型中设计意图的更新。
步骤(3)基于面布局矩阵高效适应性维持CAD模型的设计意图
用户往往使用一系列直接建模操作对拟重用的CAD模型逐步实施修改。在此过程中,每一步修改操作均是包含首先选中一个或多个待操作的面,接下来对其实施平移、旋转或更改半径操作。本发明对于用户的上述每一步修改操作都自动实施检测且同步将适应性的修改操作传递到模型一个或多个面上,以适应性维持模型的设计意图同时加速模型修改,具体来说:
3-1.若当前修改操作是移动或旋转,则对于当前选中的每一个待操作的面F1,首先从面布局矩阵中读取F1所在的行向量,以找出与F1存在布局规律的所有面FG,之后,根据不同的情况实施以下操作:
3-1-1.若FG为空,则只操作F1来修改模型。如图3的a部分中,此时用户要沿着箭头L1方向移动面4来拉伸圆柱凸台。由于面4与模型中其余面不存在布局规律,因此,上述操作仅移动面4修改了模型M。
3-1-2.若FG不为空,根据布局规律类型,对FG中的所有面实施自动操作,具体来说:
3-1-2-1.对于FG中与F1存在同轴或共面布局的所有面,自动与F1同步接受用户的修改操作。如图3的b部分中,此时用户沿L2方向移动面3,本发明自动沿L2方向对与面3同轴且共面的面18和19实施相同的移动。
3-1-2-2.对于FG中与F1存在线性阵列布局的所有面,当用户旋转F1时,阵列中的所有面同时与F1沿着同一轴同步旋转。当用户沿某方向L移动F1,本发明规定:若F1是阵列两端的面,则表示沿L方向修改阵列中所有面之间的间距——若L朝向阵列外侧,则间距变大,否则变小;若F1是阵列中间的面,则默认为缩小阵列中所有面之间的间距。
如图3的c部分中,若F1为面14,且沿着L3方向移动(靠向阵列中的其它面),则离14最近的面15不动,而16往反方向移动相同的距离。若F1为面15,且沿着L3方向移动,则离15最近的面16不动,14沿L3方向移动,使得三者之间保持相同的间隔距离,如图4的a部分所示。
3-1-2-3.对于FG中与F1存在环形阵列布局或镜像布局的所有面CFG,本发明将面布局矩阵中记录的F1到CFG中其它面的变换矩阵,分别作用到F1承受的平移方向或旋转轴上,从而得到CFG中每个面各自对应的平移方向或旋转轴。从而使得F1在被操作的过程中,CGF中的其余面沿着各自的平移方向或旋转轴,做同步的平移或旋转。
如图4的b部分所示,用户沿L4方向移动面21,对于与21同在一个环形阵列布局中的面23、25和27,分别从面布局矩阵单元[21,23]、[21,25]和[21,27]中提取面21到23、25和27的复合变换矩阵,并分别乘以L4(采用齐次表示,即4维向量),分别得到面23、25和27的移动方向L5、L6和L7,移动量与面21的移动量相同,并分别作用到面23、25和27。在此过程中,面20、22、24和26,因为分别与面21、23、25和27存在同轴布局,因此也一并同步做相应的移动。
同理,如图4的c部分所示,用户沿L8方向移动面12,与面12以不同镜像变换对称的面有13、58和59。通过从面布局矩阵获得相应的变换矩阵,得到面12与58均沿L8方向移动,而面13和59沿着与L8方向相反的L9移动,所有面的移动量相同。
3-2.若当前修改操作是更改选中面的半径(针对圆柱面),则对于当前选中的每一个待操作的面F1,首先从面布局矩阵中读取F1所在的行向量以找出与F1存在布局规律的所有面FG,之后根据不同的情况实施以下操作:
3-2-1.若FG为空,则直接修改F1的半径实现模型的当前修改。
3-2-2.若FG不为空,根据布局规律类型,对FG中的所有面实施同步操作。具体来说:对于与F1存在共面布局的所有面以及对称布局的所有面,对它们的半径做等值修改,如图5的a所示,用户增大面14的半径,线性阵列布局中的另外两个面15和16自动修改到与面14相同的半径;对于与F1存在同轴布局的所有面(半径不同),保持等半径差的半径调整,如图5的b所示,用户缩小了面3的半径,面18和19自动缩小了相同的半径值,以维持它们之间的半径差。
3-3.在具体实施步骤3-1或3-2修改,本发明自动基于面布局矩阵,检测每一对称布局面组在模型更改前后,它们在各自的公共面上居中情况是否被修改。若存在被修改的面组,首先,若公共面被旋转或平移过,则将公共面的上述变换作用到这组面中的每一个面上。其次,若是公共面自身形状发生变化导致上述情况发生,则以公共面形状变换前后的包围盒中心之间的向量作为平移向量,作用到该组面的每一个面上;反之,则以该组面在更改前后的包围盒中心之间向量的反向向量作为平移向量,作用到该组面的每一个面上。如图5的c所示,在发生了如图4的a所示的线性阵列不再在面30上居中放置后,采用上述方法,自动将间隔距离修改过的全体阵列面调整回到居中位置,即面15的转动轴过面30的几何中心点。
3-4.在具体实施步骤3-1或3-2或3-3,若并未造成模型原拓扑结构改变,则默认用户接受当前模型修改结果,如图1所示,本发明自动更新面布局矩阵中每个单元的局部内容:相对位置、相对朝向和对称变换矩阵。
3-5.在具体实施步骤3-1或3-2或3-3,若造成模型原拓扑结构改变,则咨询用户是否接受修改,若用户选择接受,则当前修改操作执行完毕,重新计算新模型对应的面布局矩阵(如图1所示)。若用户拒绝,则回退刚才的所有操作(用户当前的操作以及该操作引发的本发明自动完成的操作),不更新面布局矩阵,转而等待用户新的修改操作。
按照上述具体实施步骤3-1、3-2、3-3、3-4和3-5,对用户的每一步修改操作自动实施适应性维持模型设计意图的修改操作传递,加速CAD模型修改。如图1所示,最终根据用户的结束指令,输出修改后的CAD模型。
虽然通过具体实施方式描绘了本发明,本领域普通技术人员都知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (9)
1.一种设计意图自动感知的CAD模型高效修改方法,其特征在于对于任意拟重用的CAD模型,基于半空间理论,自动识别和量化表示CAD模型的设计意图,并在用户采用直接建模操作修改CAD模型的过程中,能自动适应性地维持模型的设计意图,而且可充分利用设计意图在模型一个或多个面上自动适应性地传递修改操作,极大地减少用户的交互操作工作量和复杂度,提升CAD模型采用直接建模技术进行适应性重用的用户体验,具体包含如下步骤:
步骤(1)自动提取CAD模型中体现设计意图的双层次面布局;
步骤(2)基于面布局矩阵量化描述CAD模型中的双层次面布局;
步骤(3)基于面布局矩阵高效适应性维持CAD模型的设计意图。
2.根据权利要求1所述的设计意图自动感知的CAD模型高效修改方法,其特征在于首先从半空间角度定义体现CAD模型设计意图的新概念——双层次面布局,具体说明如下:
根据半空间理论,CAD模型几何形状是由构成模型的所有面在空间中布局相交而形成,因此模型形状中的设计意图实际上是通过模型中所有面之间的相对布局来体现;将根据半空间理论得出的信息命名为双层次面布局,包括面之间不考虑规律的面布局和面之间有规律的面布局;所述的有规律的面布局包括共面布局、同轴布局和对称布局,对称布局又包括线性阵列布局、环形阵列布局和镜像布局。
3.根据权利要求1或2所述的设计意图自动感知的CAD模型高效修改方法,其特征在于步骤(1)具体实现如下:
1-1.自动提取面之间不考虑规律的布局信息
采用并行的方式将每个面与CAD模型中的其余面进行比对,自动提取面之间不考虑规律的布局信息,包括面之间类型是否一致、几何方程是否相同、是否同轴、边界是否可重合、相对位置和相对朝向;
1-2.自动提取面之间有规律的布局信息
有规律的布局信息包括共面布局、同轴布局、对称布局及其居中信息;在第一层面布局信息提取的过程中,确定所有共面的面组、同轴的面组、边界可重合的面组;对于每一组边界可重合的面,根据它们内部彼此之间的平移、旋转或镜像变换,确定该组面内部彼此存在的对称布局的最大面组,即线性阵列布局面组、环形阵列布局面组或镜像布局面组;同时,对于每一组存在对称布局的面,基于OBB包围中心位置,确定其在与所有组内面存在公共边的面上是否居中。
4.根据权利要求3所述的设计意图自动感知的CAD模型高效修改方法,其特征在于步骤1-1具体实现如下:
1-1-1.对于输入的边界表示CAD模型M,包含n个面采用并行的方式将M中的每个面F1与其余n-1个面比对,目的在于从M中寻找与F1面类型相同的所有面、边界可重合的所有面、几何方程相同的所有面、转动轴重合的所有面;
1-1-2.在实施步骤1-1-1的过程中,为了确定F1和任意其余面F2的相对位置,首先在F1面内均匀采样k个点,k≥10;之后若有50%以上的采样点与它们各自在F2面几何方程上的垂直投影点相连形成的向量,分别与各自对应的投影点所在的面法向夹角>90°,则表示这些采样点都坐落在F2面的外侧,此时称F1在F2的外侧;若有50%以上的点与它们各自在F2面几何方程上垂直投影点形成的向量,分别与各自对应的投影点所在的法向夹角<90°,则表示这些采样点都坐落在F2面的内侧,此时称F1在F2的内侧;否则,称F1与F2存在区域重合;
1-1-3.在实施步骤1-1-1的过程中,为了确定F1和任意其余面F2的相对朝向,需要提取F1和F2的面朝向向量,通过计算朝向向量之间的夹角∈[0°,180°]来确定F1和F2之间的相对朝向;这里平面的朝向向量为其面法向,旋转面的朝向向量为其旋转轴的轴向向量,球面及其它类型面的朝向向量为其参数域中心点所在的面法向。
5.根据权利要求3所述的设计意图自动感知的CAD模型高效修改方法,其特征在于在实施步骤1-1-1的过程中,为了高效判断任意两个面F1和F2的边界是否可重合,采用以下由粗到细的优化方法确定:
1-1-4-1.粗判断边界是否可重合——面类型是否相同;若是球面、锥面、柱面和圆环面,则面几何方程的正向是否都指向模型内部或模型外部,且半径或半角是否相同;边界环的数量是否相同,其中边界环的数量包括内环数量和外环数量;具有相同的顶点数量和边数量;若粗判断满足全部条件,则表示有可能边界重合;
1-1-4-2.基于优化算法细判断边界面是否可重合——将F1和F2的质心重合,若它们是平面则面法向相同,若是其它二次曲面,则轴重合;之后,固定F1,逆时针旋转F2即平面绕过质心所在的法向旋转,其余面绕轴旋转;采用粒子群优化算法,计算公式(1)最小的旋转角度θ;
当minf(F1,F2)取值为0时,表示这两个面通过平移和旋转边界可重合,如果此结果是在F2边界做了变换后得到的,则表示这两个面通过平移、镜像变换、旋转边界可重合;
此处vi(F1)和ej(F1)代表F1的第i个顶点和第j条边;Ref(F2)表示对面F2边界沿过其质心的任意平面做镜像变换,该操作在优化计算过程中,随机发生;Rθ(Ref(F2))表示对面F2或F2的镜像逆时针旋转θ;D(vi(F1)-vi(Rθ(Ref(F2))))表示F1的第i个顶点与F2或F2的镜像逆时针旋转θ后在其上距离最近的顶点之间的距离;I(ei(F1)-ei(Rθ(Ref(F2))))表示F1的第i条边与F2或F2的镜像逆时针旋转θ后在其上边中心点距离最近的边之间的夹角。
6.根据权利要求3或4或5所述的设计意图自动感知的CAD模型高效修改方法,其特征在于步骤1-2具体实现如下:
1-2-1.在完成第一层面布局信息提取后,对于每一组面类型和面几何方程相同的面,组内面之间建立设置共面布局;对于每一组面类型相同和旋转轴重合的面,组内面之间建立同轴布局;
1-2-2.根据公式(1)计算产生的平移向量、旋转角度和镜像等信息,对于每一组类型相同且边界可重合的面FG,以及步骤1-1-1的输出,采用以下方法将FG聚类为一组或多组具有对称布局的面组:
1-2-2-1.在FG中,从其某一面F1出发,使用同一平移变换矩阵的正整数指数次变换,边界可重合的所有面,与F1共同构成了该平移变换下的线性阵列布局面;所述的平移变换矩阵记录了移动向量;所述的线性阵列布局面其数量不少于3个;
1-2-2-2.在FG中,从其某一面F1出发,使用同一复合变换矩阵的正整数指数次变换,边界可重合的所有面,与F1共同构成了该复合变换下的环形阵列布局面;所述的复合变换矩阵记录了旋转轴和旋转角度;所述的环形阵列布局面其数量不少于3个;
1-2-2-3.在FG中,从其某一面F1出发,使用一复合变换矩阵I,边界与之可重合的面,与F1共同构成了该复合变换下的镜像布局面;所述的复合变换矩阵I包括平移或旋转,且一定有镜像;所述的镜像布局面每组为2个面;
1-2-3.对于任一存在对称布局的面组,首先找到与这些面都有公共边的面,称为公共面即平面;之后计算这组面的OBB包围盒中心P1在该公共面上的投影点P1’,与该公共面的OBB包围盒的位置关系,判断改组面在该公共面上的布局位置:
1-2-3-1.如果P1’落在公共面包围盒两短边中点相连的线段,则该组面在该公共面中依照短边居中放置;
1-2-3-2.如果P1’落在公共面包围盒两长边中点相连的线段附近,则该组面在该公共面中依照长边居中放置;
1-2-3-3.如果P1’同时满足步骤1-2-3-1和1-2-3-1的要求,则该组面在该公共面中居中放置。
7.根据权利要求1所述的设计意图自动感知的CAD模型高效修改方法,其特征在于步骤(2)具体实现如下:
为了能够形式化描述每个CAD模型中的设计意图,以及在用户直接建模过程中,模型设计意图能够自动维护,提出一种面布局矩阵来描述模型的双层次面布局——NxN维,其中N表示输入CAD模型的面数量,任意[i,j]∈NxN表示从面i到面j之间的双层次面布局,具有如下表1所示的结构化内容;
表1面布局矩阵中每一元素的结构化内容
。
8.根据权利要求7所述的设计意图自动感知的CAD模型高效修改方法,其特征在于步骤(2)具体实现如下:
2-1.表1中的第1维,对应步骤1-1-2计算面与面之间的相对位置,这里如果是外侧则取-1,内侧则取1,有重合取0;
2-2.表1中的第2维,对应步骤1-1-3获得的面与面之间的相对朝向;
2-3.表1中的第3维,对应步骤1-2-1中是否共面的判断,共面取1,否则取0;
2-4.表1中的第4维,对应步骤1-2-1中是否同轴的判断,同轴取1,否则取0;
2-5.表1中的第5-20维,对应步骤1-1-4和1-2-2的输出,判断存在对称布局的面之间的变化矩阵——线性阵列布局对应平移矩阵、环形阵列布局对应复合矩阵和镜像布局对应复合矩阵;特别地,若两个面之间不在对称布局,则它们对应的变化矩阵为0矩阵;
2-6.表1中的第21维,对应步骤1-2-3的输出,判断面i所在的存在对称布局的面组FG在公共面j上的位置;如果FG相对于面j满足步骤1-2-3-1的要求,则面i在该维中相对于面j的取值为1;如果FG相对于面j满足步骤1-2-3-2的要求,则面i在该维中相对于面j的取值为2;如果FG相对于面j满足步骤1-2-3-3的要求,则面i在该维中相对于面j的取值为3;若FG相对于面j不满足上述情况,又或者,面i不属于某个对称布局面组,则i相对于j在该维上的值取0。
9.根据权利要求8所述的设计意图自动感知的CAD模型高效修改方法,其特征在于步骤(3)具体实现如下:
3-1.若当前修改操作是移动或旋转,则对于当前选中的每一个待操作的面F1,首先从面布局矩阵中读取F1所在的行向量,以找出与F1存在布局规律的所有面FG,之后,根据不同的情况实施以下操作:
3-1-1.若FG为空,则只操作F1来实现模型的当前修改;
3-1-2.若FG不为空,根据布局规律类型,对FG中的所有面实施自动操作;具体来说:
3-1-2-1.对于FG中与F1存在同轴或共面布局的所有面,自动与F1同步接受用户的修改操作;
3-1-2-2.对于FG中与F1存在线性阵列布局的所有面,当用户旋转F1时,阵列中的所有面同时与F1沿着同一轴同步旋转;当用户沿某方向L移动F1,规定:若F1是阵列两端的面,则表示沿L方向修改阵列中所有面之间的间距——若L朝向阵列外侧,则间距变大,否则变小;若F1是阵列中间的面,则默认为缩小阵列中所有面之间的间距;
3-1-2-3.对于FG中与F1存在环形阵列布局或镜像布局的所有面CFG,将面布局矩阵中记录的F1到CFG中其它面的变换矩阵分别作用到F1承受的平移方向或旋转轴上,从而得到CFG中每个面各自对应的平移方向或旋转轴;从而使得F1在被操作的过程中,CGF中的其余面沿着各自的平移方向或旋转轴,做同步的平移或旋转;
3-2.若当前修改操作是更改选中圆柱面的半径,则对于当前选中的每一个待操作的面F1,首先从面布局矩阵中读取F1所在的行向量以找出与F1存在布局规律的所有面FG,之后根据不同的情况实施以下操作:
3-2-1.若FG为空,则直接修改F1的半径实现模型的当前修改;
3-2-2.若FG不为空,根据布局规律类型,对FG中的所有面实施同步操作,即对与F1存在共面布局的所有面以及与F1存在对称布局的所有面的半径做等值修改;对于与F1存在同轴布局的所有半径不同的面,保持等半径差的半径调整;
3-3.在实施步骤3-1或3-2修改时,自动基于面布局矩阵,检测每一对称布局面组在模型更改前后,它们在各自的公共面上居中情况是否被修改;若存在被修改的面组,首先,若公共面被旋转或平移过,则将公共面的上述变换作用到这组面中的每一个面上;其次,若是公共面自身形状发生变化导致上述情况发生,则以公共面形状变换前后的包围盒中心之间的向量作为平移向量,作用到该组面的每一个面上;反之,则以该组面在更改前后的包围盒中心之间向量的反向向量作为平移向量,作用到该组面的每一个面上;
3-4.在实施步骤3-1或3-2或3-3时,若并未造成模型原拓扑结构改变,则默认用户接受当前模型修改结果,自动更新面布局矩阵中每个单元的局部内容:相对位置、相对朝向和对称变换矩阵;
3-5.在实施步骤3-1或3-2或3-3时,若造成模型原拓扑结构改变,则咨询用户是否接受修改,若用户选择接受,则当前修改操作执行完毕,重新计算新模型对应的面布局矩阵;若用户拒绝,则回退刚才的所有操作,不更新面布局矩阵,转而等待用户新的修改操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011530235.3A CN112580120A (zh) | 2020-12-22 | 2020-12-22 | 一种设计意图自动感知的cad模型高效修改方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011530235.3A CN112580120A (zh) | 2020-12-22 | 2020-12-22 | 一种设计意图自动感知的cad模型高效修改方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112580120A true CN112580120A (zh) | 2021-03-30 |
Family
ID=75139002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011530235.3A Pending CN112580120A (zh) | 2020-12-22 | 2020-12-22 | 一种设计意图自动感知的cad模型高效修改方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112580120A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113182764A (zh) * | 2021-03-31 | 2021-07-30 | 成都飞机工业(集团)有限责任公司 | 一种基于catia面向导管焊接夹具的法兰盘定位方法 |
CN113706675A (zh) * | 2021-08-17 | 2021-11-26 | 网易(杭州)网络有限公司 | 镜像处理方法、装置、存储介质和电子装置 |
-
2020
- 2020-12-22 CN CN202011530235.3A patent/CN112580120A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113182764A (zh) * | 2021-03-31 | 2021-07-30 | 成都飞机工业(集团)有限责任公司 | 一种基于catia面向导管焊接夹具的法兰盘定位方法 |
CN113706675A (zh) * | 2021-08-17 | 2021-11-26 | 网易(杭州)网络有限公司 | 镜像处理方法、装置、存储介质和电子装置 |
CN113706675B (zh) * | 2021-08-17 | 2023-07-21 | 网易(杭州)网络有限公司 | 镜像处理方法、装置、存储介质和电子装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sunil et al. | Automatic recognition of features from freeform surface CAD models | |
CN112580120A (zh) | 一种设计意图自动感知的cad模型高效修改方法 | |
CN107680168B (zh) | 三维重建中基于平面拟合的网格简化方法 | |
CN106599515B (zh) | 基于stl网格特征识别的汽车覆盖件板料冲压工艺优选方法 | |
CN112036025B (zh) | 一种仿星器线圈结构的优化方法 | |
CN110349247A (zh) | 一种基于语义理解的室内场景cad三维重建方法 | |
CN116402866A (zh) | 基于点云的零件数字孪生几何建模与误差评定方法及系统 | |
CN116126809B (zh) | 一种基于国标的建筑信息模型数据存储转换方法 | |
CN105426628A (zh) | 一种复杂产品异构模型融合方法 | |
CN117475170B (zh) | 基于fpp的由局部到全局结构引导的高精度点云配准方法 | |
Zhao et al. | STEP-NC feature-oriented high-efficient CNC machining simulation | |
CN108121886A (zh) | 一种基于加工特征的工艺知识推送方法 | |
CN115423854B (zh) | 一种基于多尺度特征提取的多视角点云配准及点云融合方法 | |
JP2023143870A (ja) | スケッチ加工 | |
Nuvoli et al. | Automatic Surface Segmentation for Seamless Fabrication Using 4‐axis Milling Machines | |
Shen et al. | A framework from point clouds to workpieces | |
CN114186603B (zh) | 多源模型单体化融合方法及系统、存储介质及终端 | |
CN111462123B (zh) | 一种基于谱聚类的点云数据分割方法 | |
Wang et al. | A slicing algorithm to guarantee non-negative error of additive manufactured parts | |
Lee et al. | Automatic detection of injection and press mold parts on 2d drawing using deep neural network | |
Urick et al. | Reconstruction of gap-free intersections for trimmed NURBS surfaces | |
Gauthier et al. | CAD-driven analysis and beautification of reverse engineered geometric models | |
Korosec et al. | Improved surface roughness as a result of free-form surface machining using self-organized neural network | |
Tang et al. | A non-supporting printing algorithm for fused filament fabrication of multi-branch structure | |
CN117152446B (zh) | 一种基于高斯曲率和局部凹凸性的改进lccp点云分割方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |