一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

处理机械零件的CAD3D模型的制作方法

2022-12-07 02:46:50 来源:中国专利 TAG:

处理机械零件的cad 3d模型
技术领域
1.本公开涉及计算机程序和系统领域,并且更具体地,涉及用于处理机械零件的计算机辅助设计(cad)3d模型的方法、系统和程序。


背景技术:

2.市场上提供了许多系统和程序用于对象的设计、工程和制造。cad是计算机辅助设计(computer-aided design)的首字母缩写词,例如它涉及用于设计对象的软件解决方案。cae是计算机辅助工程(computer-aided engineering)的首字母缩写词,例如它涉及用于模拟未来产品的物理行为的软件解决方案。cam是计算机辅助制造(computer-aided manufacturing)的首字母缩写词,例如它涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户界面在技术效率方面起着重要作用。这些技术可以嵌入到产品生命周期管理(plm)系统中。plm是指一种业务策略,它帮助公司跨扩展企业的概念共享产品数据、应用通用过程并利用从概念到生命终结开发产品的企业知识。由dassault syst
è
mes(商标为catia、enovia和delmia)提供的plm解决方案提供了用于组织产品工程知识的工程中心,用于管理制造工程知识的制造中心,以及支持企业集成和连接到工程中心和制造中心的企业中心。系统共同提供了开放的对象模型,其将产品、过程、资源链接起来,以支持动态的、基于知识的产品创建和决策支持,这驱动优化的产品定义、制造准备、生产和服务。
3.这些系统和程序中的一些提供了用于处理机械零件的cad模型的功能。
4.wang等人的“a framework for 3d model reconstruction in reverse engineering”,computers&industrial engineering,63(4),2012,1189-1200页,提出了一种用于3d模型重构的框架。该框架由四个主要组件组成,提供了系统的解决方案,以从现有对象的表面网格重构几何模型。首先,对输入网格进行预处理以滤除噪声。其次,将网格划分为段以获得单独的几何特征贴片。然后,利用两种集成解决方案(即,基于实体特征的策略和基于表面特征的策略)以从分割的特征贴片中重构图元特征。最后,执行建模操作(例如,实体布尔和表面修剪操作)以将图元特征组装到最终模型中。
5.pottmann等人的“approximation by profile surfaces”,the mathematics of surfaces viii,a.ball等人(eds),information geometers,1998年,17-36页,公开了表示用于通过旋转表面对给定表面或散点进行近似的算法。它构成了研究与轮廓表面近似的基础。这些是当它的平面在可展开的表面上滚动时由平面曲线描绘的扫描表面。重要的特殊情况包括可展开表面和管道表面,其中移动曲线分别是直线或圆。
6.schnabel等人的“efficient ransac for point-cloud shape detection”,computer graphics forum,26(2),2007,214-226页,提出了一种自动随机样本一致性(ransac)算法,其用于检测无组织点云中的基本形状。该算法将点云分解为固有形状和一组剩余点的简洁的、混合结构。每个检测到的形状都充当一组对应点的代理。该算法基于随机采样并检测平面、球体、圆柱体、圆锥体和环面。
7.geng等人的“a thin-plate cad mesh model splitting approach based on fitting primitives”,eg uk theory and practice of computer graphics,2010,45-50页,公开了一种基于图元拟合的算法,用于将薄板cad网格模型分割为三种不同类型的零件,其中两种是挤压表面,而另一种是侧表面。该方法可用于sdd过程中的实体模型重构,并且涉及两个步骤。首先,基于分层图元拟合框架,提出了一种用于对cad网格进行精确图元拟合的完全自动的方法。在第二步骤中,提出了一种用于通过检测并行挤压表面和侧表面来拆分薄板cad网格模型的过程。
8.在这种上下文内,仍然需要一种改进的解决方案以用于处理机械零件的cad模型。


技术实现要素:

9.因此,提供一种用于处理机械零件的计算机辅助设计(cad)3d模型的计算实现的方法,该机械零件包括具有材料分布的部分。该方法包括:提供3d模型,该3d模型包括3d模型的蒙皮部分,该蒙皮部分表示机械零件的部分的外表面。该方法还包括:基于挤压处理算法来处理蒙皮部分,其中蒙皮部分的变换被输入到算法中。变换表示该部分的材料分布的展开。
10.所述方法可以包括以下各项中的一项或多项:
[0011]-基于挤压处理算法来处理蒙皮部分包括:
[0012]
ο展开蒙皮部分,由此获得变换;
[0013]
ο将变换输入到挤压处理算法中;以及
[0014]
ο运行挤压处理算法;
[0015]-挤压处理算法包括:
[0016]
ο确定蒙皮部分的变换是否表示被布置为挤压的材料分布的外表面;和/或
[0017]
ο计算挤压轮廓。
[0018]-基于挤压处理算法对蒙皮部分的处理包括在机械零件的部分中的材料旋转检测,该材料旋转检测包括通过优化目标函数来确定旋转轴,该目标函数将蒙皮部分的法线与和候选旋转轴正交的旋转方向的非正交性惩罚到与距旋转轴的距离成正比的程度;
[0019]-目标函数具有以下类型:
[0020][0021]
其中u是候选旋转轴的方向,c是候选旋转轴的原点,是蒙皮部分的面积,s是蒙皮部分,p是蒙皮部分上的位置,π
c,u
(p)是p在候选旋转轴上的正交投影,而n是位置p处蒙皮部分的法线;
[0022]-展开包括:
[0023]
ο提供旋转轴;
[0024]
ο确定蒙皮部分的柱面坐标规范,该柱面坐标规范包括第一值,第一值中的每个指定蒙皮部分上相对于具有作为旋转轴的纵轴的柱面坐标系的相应位置;以及
[0025]
ο相对于具有作为纵轴的一个轴的笛卡尔坐标系,确定变换的笛卡尔坐标规范,所述笛卡尔坐标规范包括指定变换上的位置的第二值,该第二值对应于第一值;
[0026]-蒙皮部分由具有离散元素的3d离散几何表示进行表示,并且确定蒙皮部分的柱
面坐标规范包括确定3d离散几何表示的每个离散元素的第一值;
[0027]-对于每个离散元素,柱面坐标规范的第一值由以下值组成:
[0028]
ο径向距离,其是径向向量相对于纵轴的范数,
[0029]
ο蒙皮部分上相对于径向向量和纵轴的角位置,以及
[0030]
ο纵向位置,其指定纵轴上的位置;
[0031]-确定柱面坐标规范包括通过探索3d离散几何表示的离散元素来计算角位置的值,并且对于每个探索的离散元素,计算探索的离散元素的相邻离散元素的角位置;
[0032]-计算探索的离散元素的相邻离散元素的角位置的值包括复制相邻离散元素中的一个或多个,相邻离散元素中的一个或多个与探索的离散元素的角位置的差异大于阈值。
[0033]-角位置的值具有以下类型:
[0034][0035]
cos(θ
i 1-θi)=ei·ei 1
[0036]
sin(θ
i 1-θi)=(ei×ei 1
)
·
u,
[0037]
其中u是纵轴,pi是探索的离散元素i的笛卡尔位置向量,θi是探索的离散元素的角位置的值,θ
i 1
是探索的离散元素i的邻居i 1的角位置的值;和/或
[0038]-所述方法还包括缩放角位置的值。
[0039]
还提供了一种计算机程序,包括用于执行所述方法的指令。
[0040]
还提供了一种其上记录有计算机程序的计算机可读存储介质。
[0041]
还提供了一种系统,包括耦合到存储器的处理器,该存储器上记录有计算机程序。
附图说明
[0042]
现在将参考附图描述非限制性示例,其中:
[0043]-图1至图10示出了方法;
[0044]-图11示出了系统的图形用户界面的示例;以及
[0045]-图12示出了系统的示例。
具体实施方式
[0046]
由此提出了一种用于处理机械零件的计算机辅助设计(cad)3d模型的计算机实现的方法。机械零件包括具有材料分布的部分。该方法包括提供3d模型。3d模型包括3d模型的蒙皮部分。蒙皮部分表示机械零件的该部分的外表面。方法还包括基于挤压处理算法来处理蒙皮部分,其中蒙皮部分的变换被输入到算法中。该变换表示该部分的材料分布的展开。
[0047]
这构成了用于处理机械零件的cad 3d模型的改进解决方案。值得注意的是,该方法通过将蒙皮部分的变换输入到挤压处理算法,以基于挤压处理算法来处理蒙皮部分。蒙皮部分的变换表示该部分的材料分布的展开,即蒙皮部分的变换形成展开的蒙皮部分,该展开的蒙皮部分将材料分布表示为展开的。通过使用蒙皮部分的变换,该方法允许通过将挤压处理算法应用于蒙皮部分(即,一旦变换)来处理蒙皮部分。由此,该方法允许应用挤压处理方法以便处理其它类型的表面(即,不是挤压的蒙皮部分)。例如,可以使用该方法提供的变换将旋转表面展开为挤压表面,然后可以根据该方法通过挤压处理算法对旋转表面进
行处理。因此,该方法可以通过使用已知挤压处理算法来处理旋转表面,该已知挤压处理算法被应用于这些旋转表面的变换。
[0048]
该方法应用于蒙皮部分的变换的挤压处理算法可以输出蒙皮部分的输入的变换(例如,当蒙皮部分是旋转表面时的挤压)的一些特性(即,属性)。根据变换,每个这样的特性对应于蒙皮部分的相应特性(例如,直到变换的逆)。换句话说,挤压处理算法可以输出变换的一个或多个特性,这些一个或多个特性对应于蒙皮部分的一个或多个特性,直到变换的逆。例如,挤压处理算法可以将作为挤压表面的旋转表面的变换作为输入,并且可以输出挤压表面的参数化或者挤压表面的计算的挤压轮廓(profile)。
[0049]
挤压处理算法可以是允许对挤压的检测、挤压的参数化和/或对挤压的编辑的任何算法。例如,挤压处理算法可以包括根据通过引用并入本文的dassault systemes于2021年5月21日提交的欧洲专利申请no.ep21305673.2的挤压检测方法,其用于确定蒙皮部分的变换是否表示被布置为挤压的材料分布的外表面。具体地,挤压处理算法可以包括在蒙皮部分的变换中的材料挤压检测步骤,即,通过将在先前引用的欧洲专利申请no.21305673.2中公开的用于材料挤压检测的计算机实现的方法应用于蒙皮部分的变换(即,蒙皮部分的变换在先前引用的欧洲专利申请no.21305673.2中公开的用于材料挤压检测的方法中起到蒙皮部分的作用),以确定蒙皮部分的变换是否是挤压表面。这使得处理方法能够在展开之前评估由蒙皮部分表示的材料分布的形状。例如,旋转表面的变换为挤压表面,由本方法将挤压处理算法应用于旋转变换,这检测变换是否为挤压表面,这对应于检测蒙皮部分是否表示被布置成旋转的材料分布的外表面。替代地或另外,挤压处理算法可以包括通过优化目标函数来确定蒙皮部分的旋转轴,该目标函数是从变换用于确定挤压方向的目标函数获得的。另外或替代地,挤压处理算法可以包括根据通过引用并入的由dassault systems于2021年5月21日提交的欧洲专利申请no.21305671.6的参数化方法,用于确定在蒙皮部分的变换上的一个或多个相应参数的值的一个或多个第一分布。具体地,挤压处理算法可以包括对蒙皮部分的变换进行参数化的步骤,即,通过将在先前引用的欧洲专利申请no.21305671.6中公开的用于参数化的计算机实现的方法应用于蒙皮部分的变换,确定蒙皮部分的变换的每个相应参数的值的一个或多个第一分布。这允许确定蒙皮部分上的一个或多个相应参数的值的对应的一个或多个第二分布(例如,通过考虑(例如,应用)对值的一个或多个第一分布的变换的逆)。根据变换,值的第二分布中的每个相应值对应于相应的值的第一分布。这使得处理方法能够通过使用挤压处理算法来对蒙皮部分的变换(例如,挤压表面)进行参数化来参数化蒙皮部分(例如,旋转表面)。如在下文中所解释的,该方法能够进行例如表面检测(例如,旋转表面检测)或参数化(例如,旋转表面参数化)的cad模型的这种处理在制造cad领域中特别相关。
[0050]
此外,通过处理蒙皮部分的相应变换来处理3d模型的蒙皮部分,通过使其对噪声更鲁棒来改进处理。换句话说,cad模型可以是有噪声的cad模型(例如,由于异常点而具有噪声,特别是当3d模型是3d点云时,或者由于cad模型的外表面不光滑,特别是当3d模型是3d网格时)。事实上,该方法允许通过应用挤压处理算法来处理蒙皮部分,例如根据先前引用的欧洲专利申请no.21305671.6的参数化方法,或根据先前引用的欧洲专利申请no.21305673.2的挤压检测方法,这两种方法都对噪声特别鲁棒。具体地,该方法可以基于挤压处理算法来处理蒙皮部分,该挤压处理算法包括对蒙皮部分的变换进行材料挤压检测
的步骤,即,通过将先前引用的欧洲专利申请no.21305673.2中公开的用于材料挤压检测的计算机实现的方法应用于蒙皮部分的变换,来确定蒙皮部分的变换是否是挤压表面。另外或替代地,该方法可以基于挤压处理算法来处理蒙皮部分,该挤压处理算法包括对蒙皮部分的变换进行参数化的步骤,即,通过将先前引用的欧洲专利申请no.21305671.6中公开的用于参数化的计算机实现的方法应用于蒙皮部分的变换,以确定蒙皮部分的变换的每个相应参数中的值的一个或多个第一分布。
[0051]
如上所述,处理机械零件的cad 3d模型(例如,用于表面(例如旋转表面)检测或参数化)在制造cad领域尤其相关,即用于辅助设计过程和制造过程的软件解决方案,由此目标是生产与设计的cad 3d模型对应的物理产品。在这种上下文内,cad 3d模型表示制造产品,该制造产品可以在其设计的下游制造。该方法因此可以是这种设计和/或制造过程的一部分。该方法可以例如形成此类设计和/或制造过程中的cad特征获取步骤或成为此类设计和/或制造过程中的cad特征获取步骤的一部分,该cad特征获取步骤包括检测几何形状和利用相应的cad特征对检测到的几何形状进行参数化。例如,cad特征获取步骤可以是特征树构建步骤。在该步骤中,该方法可以通过处理变换来检测cad模型中的一个或多个几何形状(例如,旋转表面)。然后,该方法还可以包括对检测到的几何形状进行参数化(例如,对旋转表面进行参数化)。参数化便于cad模型的操作/编辑。包括该方法的cad特征获取步骤之后可以是进一步的设计和/或制造步骤,其可选地在cad特征获取步骤之后使用参数化的和检测到的几何形状,以及尤其是通过该方法检测到的几何形状。这些进一步的步骤可以包括进一步的设计和/或编辑动作、测试、模拟和/或制造。换句话说,该方法可以包含于制造cad过程中,在cad模型适用于制造cad过程的后续步骤(例如,进一步的设计/编辑动作、测试、模拟和/或制造)的步骤中使用。该方法可以包含于许多其它应用中,这些应用使用通过该方法检测到的cad特征。
[0052]
因此,该方法可以在于通过处理涉及特定几何结构(例如,旋转几何结构)的原始几何结构表示(例如,网格或点云)来获得语义3d模型(即,特征树)的上下文中。原始几何结构可能来自不再可用的原始特征树,例如用于可视化和/或分析目的。能够反转(即,获得)特征树,允许高级版本并支持针对挤压表面制造cad程序提供的全部范围功能。如此检测和拟合这种特定几何结构(例如旋转几何结构)后,就可以经由特定的工业过程(例如,车床加工)来制造对应的零件(例如,轴或凹槽)。
[0053]
因此,该方法改进了cad 3d模型中一个或多个蒙皮部分的处理(例如,检测、编辑、获取、转换成cad特征和/或参数化),这例如允许考虑到制造来进行准备。换言之,该方法提供的经处理的蒙皮部分可以被编辑以用于制造目的。例如,通过该方法处理的蒙皮部分可以根据下游制造过程(例如,模制、机械加工、增材制造)的特性进行编辑。这有助于制造机器(例如,模具、加工工具或3d打印机)的准备和/或装配。因此,该方法改进了由cad模型表示的产品的制造并增加了制造过程的生产率。
[0054]
如前所述,蒙皮部分的处理可以包括几何结构的检测,例如能够对所述检测到的几何结构进行参数化的旋转表面。该方法由此可用于参数化cad模型或其至少一部分,以获得参数化的cad模型或其一部分。“参数化”是指cad模型(或cad模型的至少一部分,例如蒙皮部分)可以恰好与由参数等式或参数函数表示的一个3d几何对象拟合,因此涉及一个或多个参数。该一个或多个参数可以取值,该值中的每个在各自连续范围内。与诸如离散表示
(例如,点云、网格或体素表示)的非参数化3d几何对象不同,3d参数化几何对象允许在存储器中轻松操纵和/或可编辑和/或有效存储。例如,蒙皮部分的几何结构(例如,旋转表面)可以用规范基元(例如,平行六面体、圆柱体或环面)拟合或用其它适合的几何工具参数化,例如用非规范参数化表面,例如nurbs,或用其它参数化方法进行参数化,例如先前引用的欧洲专利申请no.21305671.6之一。具体地,该方法可以基于挤压处理算法来处理蒙皮部分,该挤压处理算法可以包括对蒙皮部分的变换的参数化的步骤,即,通过将先前引用的欧洲专利申请no.21305671.6中公开的用于参数化的计算机实现的方法应用于蒙皮部分的变换,确定蒙皮部分的变换的每个相应参数的值的一个或多个第一分布。在该方法的任何应用中,包括下文讨论的那些,cad 3d模型可以是测量出的cad 3d模型(即,从如下文讨论的机械零件上的物理测量获得的cad模型)。在这种情况下,对cad 3d模型(或其蒙皮部分)执行处理允许处理(原始)测量的cad 3d模型,并允许最终编辑测量出的cad 3d模型(例如,一旦检测到几何结构)。因此,该方法通常可以用于处理机械零件的测量部分,并且然后例如将其编辑成可编辑的数据结构。
[0055]
蒙皮部分(例如,旋转表面)从制造的角度来看具有一致的几何结构。换句话说,在现实世界中,机械零件的对应部分具有相应的几何结构,该相应的几何结构需要或适应相应的制造过程(例如,模制、增材制造或机械加工),例如对应于优选的(例如,相对于制造限制)加工路径或优选的(例如,相对于制造限制)模具特性。
[0056]
在示例中,机械零件可以是模制零件,并且该部分可以通过模制来制造。蒙皮部分可以例如是表示机械零件的模制部分的旋转表面。因此,处理它可以允许基于模制要求对其进行参数化和/或编辑(例如,促进从模具中取出该部分(即,脱模/去模))。该方法因此可以包含于设计和/或制造模制零件的制造cad过程中,包括由该方法执行的处理(例如,表面检测和/或参数化)下游的编辑步骤。编辑步骤可以包括将cad操作符应用到蒙皮部分以满足下游模制过程的对应模具的约束,由此使模制部分的脱模/去模/退出变得容易。在示例中,cad操作符可以包括一个或多个草稿操作符,并且编辑步骤可以包括添加草稿操作符,例如在蒙皮部分的特征树的末端,并且然后将草稿操作符应用到蒙皮部分以使其可模制和/或为模制做好准备。
[0057]
在示例中,机械零件及其部分可以通过增材制造来制造。蒙皮部分的处理例如允许对蒙皮部分的检测或参数化,这允许对蒙皮部分的编辑。编辑可以包括定义沿着蒙皮部分的一个或多个方向的打印路径,例如当蒙皮部分是旋转表面时沿着旋转方向或旋转轴。打印路径的定义可以基于蒙皮部分的参数化,即,一旦处理了蒙皮部分(例如,打印路径可以由cad/cam软件从特征树中的参数几何信息(例如,圆形路径或沿轴的路径,用于旋转表面)生成)。该方法由此可以包含于设计和/或制造通过增材制造而制造的机械零件的制造cad过程中。该过程可以包括沿着蒙皮部分的方向(例如,旋转轴)定义打印路径的步骤。该过程还可以包括根据定义的打印路径来定义一组执行增材制造的3d打印机。
[0058]
在示例中,机械零件可以是机加工零件,并且该部分可以通过机加工(例如,切割)制造。蒙皮部分的处理例如允许对蒙皮部分的检测或参数化,这允许编辑蒙皮部分。该编辑可以包括定义加工工具(例如,切削工具)沿着蒙皮部分的一个或多个方向的路径,例如当蒙皮部分是旋转表面时沿着旋转方向或旋转轴。这样的方向可以被配置为导致更有效的加工,例如沿着这些方向的加工更快和/或更准确。例如,当蒙皮部分是旋转表面时,加工工具
可以被配置为沿着旋转表面的旋转轴切割材料(例如,可以由cad/cam软件从特征数中的参数化几何结构信息生成工具路径(例如,圆形路径或沿轴的路径,用于旋转表面))。该方法由此可以包含于设计和/或制造通过加工制造的机械零件的制造cad过程中。该过程可以包括基于通过该方法获得的蒙皮部分(例如,旋转轴)的一个或多个特性来定义加工工具的路径的步骤。该过程还可以包括根据定义的路径来定义一组执行加工的加工工具。
[0059]
已经讨论了处理方法在制造cad中的应用。现在讨论可以在制造cad上下文中或在其它上下文中的其它应用。
[0060]
在第一应用中,通过该方法处理的蒙皮部分(例如,检测的和/或参数化的旋转表面)可以用于b-rep构造。b-rep构造在以下参考文献中讨论:p.benko等人的“algorithm for reverse engineering boundary representation models”,computer-aided design,33,2001,839-851页;a.tumanin的“polygonal mesh to b-rep solid conversion:algorithm details and c code samples”,于2019年9月4日发布在habr.com网站上;以及b
é
ni
è
re等人的“recovering primitives in 3d cad meshes”,proceedings of spie,2011,全部内容通过引用并入本文。众所周知,b-rep是连接的有界表面元素的集合(例如,公知的step文件格式)。b-rep构造可以包括将表面拟合到由该方法检测和/或参数化的几何结构(例如旋转表面)上,挤压处理算法能够实现如前所述的这种检测和/或参数化,并使用关于蒙皮部分的数据(例如,当蒙皮部分是旋转表面时,旋转轴和/或旋转轮廓)绑定表面(即,确定b-rep的拓扑数据,即“有界”关系)。根据该第一应用,cad模型处理方法可以包含于计算机实现的过程中,用于将表示机械零件的cad 3d模型转换为边界表示。
[0061]
在第二应用中,通过该方法处理的蒙皮部分可用于特征树构造。该第二应用包括使用如先前讨论的由挤压处理算法检测和/或参数化的蒙皮部分的几何结构来构造cad 3d模型的特征树表示。特征树构造实际上可以包括将一个或多个蒙皮部分各自参数化为相应的cad旋转特征,并且然后将每个参数化的蒙皮部分添加到特征树。因此,该处理方法可以包含在计算机实现的过程中,用于从表示机械零件的cad 3d模型构造特征树。特征树构造过程可以包括:
[0062]-该方法的一个或多个应用,每个应用产生相应的处理蒙皮部分(例如,检测到的和/或参数化的旋转);
[0063]-通过方法对由方法处理的每个蒙皮部分参数化;
[0064]-将每个参数化的蒙皮部分包括到机械零件的特征树中。
[0065]
在第三应用中,通过该方法处理的蒙皮部分用于网格重构(例如,如果提供的cad 3d模型是3d网格)或重新采样(例如,如果提供的cad 3d模型是3d点云)。根据第三应用,可以如上所述对蒙皮部分进行参数化,并且这允许对cad 3d模型进行网格重构或重新采样。在cad 3d模型是3d网格或3d点云的示例中,根据该方法处理蒙皮部分能够更精确地对蒙皮部分进行网格重构和/或重新采样,从而获得更精细的网格或点云。这种网格重构/重新采样可用于对cad 3d模型进行去噪(例如,去除异常点,特别是对于3d点云;或平滑cad模型的外表面,特别是对于3d网格)。另外或可替代地,它可用于对3d网格进行有效地曲面细分,即,以使网格面的大小适应于对应表面的曲率,以便最小化面的数量,由此优化网格的权重(即,存储方面),同时确保到精确表面的最佳离散化距离。例如,网格重构/重新采样用于最
小化网格的重量,同时确保到精确表面的距离足够小(例如,在这种情况下,与表面的紧密度被视为约束而不是待优化的事物)。因此,处理方法可以包含在计算机实现的过程中,用于对cad 3d模型进行网格重构(重新采样),该cad 3d模型是表示机械零件的3d网格(或3d点云)。
[0066]
由该方法处理的蒙皮部分(例如,检测和/或参数化的旋转表面)可用于其它应用,例如3d变形、3d渲染(几何/材料属性计算、遮挡剔除、阴影确定)、3d动画和/或形状压缩。这些应用在参考文献kaiser a.等人的“asurvey of simple geometric primitives detection methods for captured 3d data”,computer graphics forum,2018中进行了讨论,该文献通过引用并入本文。一旦已经通过该方法处理了蒙皮部分(例如,一旦检测到和/或参数化旋转表面),就可以更精确和更容易地获得蒙皮部分的变形。在蒙皮部分是旋转表面的示例中,可以通过移动旋转轴和/或使旋转轮廓曲线变形来获得这种变形,从而保持旋转表面方面。此外,与点云或网格相比,根据该方法处理的蒙皮部分可以更容易和更精确地被渲染和/或动画化,并且它在磁盘上占用更少的存储空间。
[0067]
该方法通常操纵建模对象,例如cad 3d模型。建模对象是由存储在例如数据库中的数据定义的任何对象。通过扩展,“建模对象”这一表达指定了数据本身。根据系统的类型,建模对象可以由不同种类的数据定义。该系统实际上可以是cad系统、cae系统、cam系统、pdm系统和/或plm系统的任何组合。在那些不同的系统中,建模对象由对应的数据定义。可以相应地讲到cad对象、plm对象、pdm对象、cae对象、cam对象、cad数据、plm数据、pdm数据、cam数据、cae数据。然而,这些系统并不排斥其它系统,因为建模对象可以由对应于这些系统的任何组合的数据来定义。
[0068]
在cad的上下文中,建模对象通常可以是3d建模对象或3d模型,例如,表示产品,例如零件或零件的组装,或者可能是产品的组装。“3d建模对象”或“3d模型”是指由允许其3d表示的数据建模的任何对象。3d表示允许从所有角度查看零件。例如,当3d表示时,3d建模对象可以被处理并围绕其任何轴或围绕显示该表示的屏幕中的任何轴转动。这尤其不包括不是3d建模的2d图标。3d表示的显示有助于设计(即,提高设计人员统计完成任务的速度)。这加快了行业的制造过程,因为产品的设计是制造过程的一部分。
[0069]
3d建模对象或3d模型可以表示在使用例如cad软件解决方案或cad系统(例如(例如,机械)零件或零件的组装(或等效的零件组装,因为从方法的角度来看,零件的组装可以被视为零件本身,或者该方法可以独立地应用于组装的每个零件)或更一般地任何刚体组件(例如移动机构)完成其虚拟设计之后在现实世界待制造的集合结构。cad软件解决方案允许设计各种无限工业领域的产品,包括:航空航天、建筑、建造、消费品、高科技设备、工业设备、运输、海洋和/或海上石油/天然气生产或运输。3d建模对象因此可以表示可以是任何机械零件的工业产品,例如陆地车辆(包括例如汽车和轻型卡车设备、赛车、摩托车、卡车和机动设备、卡车和公共汽车、火车)的零件,飞行器(包括例如机身设备、航空航天设备、推进设备、国防产品、航空设备、航天设备)的零件,舰艇(包括例如海军设备、商船、海上设备、游艇和工作船、船舶设备)的零件,通用机械零件(包括例如工业制造机械、重型移动机械或设备、安装设备、工业设备产品、金属制品、轮胎制造产品),机电或电子零件(包括例如消费者电子产品、安全和/或控制和/或仪器产品、计算和通信设备、半导体、医疗设备和装备),消费品(包括例如家具、家居和园艺产品、休闲用品、时尚产品、硬商品零售商的产品、软商品
零售商的产品)、包装(包括例如食品和饮料和烟草、美容和个人护理、家居产品包装)。
[0070]
3d模型可以形成3d现实世界对象的离散几何表示,例如,表示来自现实世界的对象,例如机械零件。离散几何表示是一种包括数据的离散集合的数据结构。每条数据可以等效地称为离散元素。每条数据表示位于3d空间中的相应几何实体。每个几何实体表示3d对象的相应位置(换句话说,构成由3d对象表示的实体的材料的相应部分)。几何实体的聚合(即,联合或并列)共同表示3d对象。在示例中,离散几何表示可以包括多于100、1000或10000条的此类数据。
[0071]
离散几何表示例如可以是3d点云,每个几何实体是点。离散几何表示可以替代地是3d网格,每个几何实体是网格瓦片或面。3d网格可以是规则的或不规则的(即,由相同类型的面组成或不由其组成)。3d网格可以是多边形网格,例如三角形网格。可以从3d点云获得3d网格,例如通过对3d点云进行三角剖分(例如,使用delaunay三角剖分)。
[0072]
3d点云或3d网格可以从对真实对象的物理测量中确定,例如在重构过程中。3d重构过程可以包括提供真实对象,提供一个或多个物理传感器,每个物理传感器被配置用于获取相应的物理信号,以及通过在真实对象上操作一个或多个物理传感器(即,用每个传感器扫描真实对象)来获取一个或多个相应的物理信号。然后,3d重构可以根据任何已知技术基于测量来自动确定3d点云和/或3d网格。一个或多个传感器可以包括多个(例如,rgb和/或图像或视频)相机,并且确定可以包括从运动恢复结构(structure-from-motion)分析。一个或多个传感器可替代地或另外包括一个或多个深度传感器(例如,在rgb深度相机上),并且该确定可以包括根据深度数据的3d重构。一个或多个深度传感器可以例如包括激光器(例如激光雷达)或超声波发射器-接收器。
[0073]
3d点云或3d网格可替代地从表示实体或机械零件的皮肤(即,外表面)的3d建模对象获得,例如通过在3d建模对象上的射线投射或对3d建模对象曲面细分。可以根据任何3d建模对象渲染过程来执行曲面细分。这种渲染过程可以在任何cad系统上进行编码,以便显示3d建模对象的图形表示。3d建模对象可以由具有cad系统的用户设计或已经设计。
[0074]
cad系统可以是基于历史的。在这种情况下,建模对象由包括几何特征历史的数据进一步定义。建模对象实际上可以由物理人(即,设计者/用户)使用标准建模特征(例如,挤压、旋转、切割和/或环绕)和/或标准表面特征(例如,扫掠、混合、放样、填充、变形和/或平滑)进行设计。支持这种建模功能的许多cad系统都是基于历史的系统。这意味着设计特征的创建历史通常通过非循环数据流保存,该非循环数据流通过输入和输出链接将所述几何特征链接在一起。零件的历史是设计意图。基本上,历史收集有关建模对象所经历的操作的信息,从而能够根据设计意图对零件进行设计更改。基于历史的建模范例可以根据本领域中的任何已知方法来实现。
[0075]
通过plm系统,它还意味着适于管理表示物理制造产品(或待制造产品)的建模对象的任何系统。因此,在plm系统中,建模对象由适合于制造物理对象的数据定义。这些通常可以是尺寸值和/或公差值。为了正确制造物体,拥有这样的值确实更好。例如,plm系统可以管理制造公差,例如,在与cad模型中提供的挤出特征有关的加工或模制中。
[0076]
通过cam解决方案,它还意味着适用于管理产品的制造数据的任何解决方案、硬件软件。制造数据通常包括与要制造的产品、制造过程和所需资源有关的数据。cam解决方案用于规划和优化产品的整个制造过程。例如,它可以向cam用户提供关于可行性、制造过程
的持续时间或可以在制造过程的特定步骤中使用的资源(诸如,特定机器人)的数量的信息;并且因此,允许决定管理或所需的投资。cam是cad过程和潜在cae过程之后的后续过程。例如,cam解决方案可以提供有关加工参数的信息,或与cad模型中的提供的挤压特征相关的成型参数。这种cam解决方案由dassault syst
è
mes以商标提供。
[0077]
通过cae解决方案,它还意味着适用于分析建模对象的物理行为的任何解决方案、硬件的软件。一种众所周知且广泛使用的cae技术是有限元方法(fem),其通常涉及将建模的对象划分为可以通过方程计算和模拟物理行为的元素。此类cae解决方案由dassault syst
è
mes以商标提供。另一种不断增长的cae技术涉及复杂系统的建模和分析,复杂系统由来自不同物理领域的多个组件组成而没有cad几何数据。cae解决方案允许模拟,从而优化、改进和验证要制造的产品。此类cae解决方案由dassault syst
è
mes以商标提供。
[0078]
pdm表示产品数据管理。pdm解决方案是指适用于管理与特定产品相关的所有类型数据的任何解决方案、硬件的软件。pdm解决方案可供参与产品的生命周期的所有参与者使用:主要是工程师,但也包括项目经理、财务人员、销售人员和买家。pdm解决方案通常基于面向产品的数据库。它允许参与者共享其产品的一致数据,并且因此防止参与者使用不同的数据。此类pdm解决方案由dassault syst
è
mes以商标提供。
[0079]
该方法包括提供机械零件的cad 3d模型。cad 3d模型包括表示机械零件的该部分的外表面的蒙皮部分。机械零件的部分可以是机械零件的严格部分,其包括其它部分。该方法基于挤压处理算法处理蒙皮部分。该方法还可以被迭代,即,应用于机械零件的一个或多个其它部分,该方法对相应其它部分的每次应用都基于挤压处理算法来处理相应蒙皮部分。替代地,机械零件的部分可以是机械零件本身。机械零件的该部分可以通过加工过程、增材制造过程和/或模制来制造。在示例中,机械零件的该部分可以是轴或凹槽,其具有布置成旋转的材料分布。
[0080]“外表面”是指与机械部件以外的介质接触的表面,例如另一机械部件或空气。换言之,外表面在该部分处形成机械部件的外侧和机械部件的内侧之间的界线。“蒙皮部分”是指机械部件的该部分的外表面(或“蒙皮”)的任何表面表示(开放表面或闭合表面)。蒙皮部分可以表示相应3d模型的边界(即表面)的至少一部分,所述边界的至少一部分表示外表面。换言之,蒙皮部分是提供的机械部件的3d模型的一部分,对应于机械部件的外表面。又换句话说,虽然cad 3d模型共同表示机械部件,但蒙皮部分是cad 3d模型的一部分,它表示机械部件的该部分的外表面。在该部分是机械部件的严格部分的情况下,蒙皮部分可以是所提供的cad 3d模型的边界的严格部分。在这种情况下,3d模型包括其他部分,每个其他部分表示机械部件的另一个相应部分。可替代地,在该部分是机械部件本身的情况下,蒙皮部分可以是cad 3d模型的外边界。
[0081]
该方法可以包括在提供cad 3d模型之前,执行分割方法。分割方法可以提供cad 3d模型的一个或多个片段。蒙皮部分可以包括在分割过程中获得的cad 3d模型的一个或多个片段或由其组成。
[0082]
如上所述,提供cad 3d模型可以包括测量或获取cad 3d模型,例如通过提供物理传感器并在机械部件上操作它们(例如,这可以包括扫描机械部件),以及然后执行3d重构过程以获得3d模型。可替代地,提供3d模型可以包括创建3d模型,例如,通过绘制它。在又一
个替代方案中,3d模型的提供可以包括从(例如,遥远的)数据库中检索3d模型,3d模型在其创建或获取之前已经存储在该数据库上。
[0083]
该方法还包括基于挤压处理算法来处理蒙皮部分。如上所述,蒙皮部分的处理可以包括蒙皮部分的几何结构检测、编辑或参数化中的一项或多项。表示该部分的材料分布的展开的蒙皮部分的变换被输入到挤压处理算法。“表示该部分的材料分布的展开的变换”是指该部分的变换的相应材料分布是该部分的材料分布的展开。“该部分的材料分布的展开”是指该部分的材料分布在一个方向上基本上变平。在示例中,其中,蒙皮部分是旋转表面,即通过使轮廓围绕旋转轴旋转而形成的,展开可以被表示为沿着轮廓的旋转路径使蒙皮部分变平。换句话说,变平的方向是蒙皮部分变换的挤压方向(注意,旋转的变换是挤压)。在示例中,蒙皮部分的展开可以是平坦表面,例如当(且仅当)旋转表面的轮廓是线;展开会产生扁平的表面(即,平面)。
[0084]
图1、图2和图4示出了这种变换。如图1所示,具有蒙皮部分1010和1020的部分1000的展开分别导致蒙皮部分1010和1020的变换1030和1040,它们基本上是扁平的。类似地,如图2所示,具有蒙皮部分2010的部分2000的展开导致变换2020。如图4所示,蒙皮部分4010沿旋转路径(在x-y平面中)变平以获得变换4020。
[0085]
该方法可以包括计算部分的材料分布的展开的步骤,即,在处理蒙皮部分之前计算其蒙皮部分的变换。替代地,算法可能不需要任何有效的变换计算,而是可以通过集成在蒙皮部分的处理中的展开来执行,例如通过在对应于变换的应用的坐标系中处理蒙皮部分。“基于挤压处理算法来处理蒙皮部分”是指使用挤压处理算法来处理蒙皮部分。挤压处理算法可以是用于处理算法的输入的挤压相关特性的任何算法,例如用于检测输入的挤压表面的算法和/或用于参数化输入的(例如检测到的)挤压表面的算法。因此,该方法通过处理其各自的变换来处理蒙皮部分,例如,该方法通过处理作为旋转表面的变换的挤压表面来处理旋转表面。
[0086]
在示例中,挤压处理算法可以包括用于根据先前引用的欧洲专利申请ep21305673.2检测挤压表面的算法。具体地,挤压处理算法可以包括对蒙皮部分的变换进行材料挤压检测的步骤,即,通过将先前引用的欧洲专利申请no.21305673.2中公开的用于材料挤压检测的计算机实现的方法应用于蒙皮部分的变换,来确定蒙皮部分的变换是否是挤压表面。替代地或另外,挤压处理算法可以包括用于根据先前引用的欧洲专利申请no.21305671.6对挤压表面参数化的算法。具体地,挤压处理算法可以包括对蒙皮部分的变换进行参数化的步骤,即,通过将先前引用的欧洲专利申请no.21305671.6中公开的用于参数化的计算机实现的方法应用于蒙皮部分的变换,来确定蒙皮部分的变换的每个相应参数的值的一个或多个第一分布。
[0087]
基于挤压处理算法而对蒙皮部分的处理可以包括展开蒙皮部分。蒙皮部分的展开获得蒙皮部分的变换(即,展开将蒙皮部分作为输入并将变换作为输出),因此准备将其输入到挤压处理算法中。该处理还可以包括将变换输入到挤压处理算法中,并且然后运行挤压处理算法。可以通过将变换输入到算法中来启动挤压处理算法的运行。
[0088]
根据第一方面,挤压处理算法可以包括确定蒙皮部分的变换是否表示被布置为挤压的材料分布的外表面。确定蒙皮部分的变换是否被布置为挤压可以等效地称为挤压检测。挤压检测可以包括为蒙皮部分的变换确定挤压方向。替代地,挤压检测可以包括例如由
用户提供潜在挤压方向,该方法沿该方向验证材料分布是否被布置为挤压。挤压检测可以根据先前引用的欧洲专利申请ep21305673.2。具体地,挤压处理算法可以包括对蒙皮部分的变换进行材料挤压检测的步骤,即,通过将先前引用的欧洲专利申请no.21305673.2中公开的用于材料挤压检测的计算机实现的方法应用于蒙皮部分的变换,来确定蒙皮部分的变换是否是挤压表面。
[0089]
这种对蒙皮部分的变换的挤压检测可以检测蒙皮部分的相应属性。在材料分布被布置为旋转的示例中,蒙皮部分的变形的挤压检测可以确定蒙皮部分是否表示被布置为旋转的材料分布的外表面,即,旋转表面。在这样的示例中,当蒙皮部分的变换被确定为挤压表面时,通过该方法将蒙皮部分确定为旋转表面。可选地,挤压检测可以包括确定所确定的旋转表面的旋转轴。替代地,挤压检测可以包括例如由用户提供潜在的旋转轴,该方法沿着该旋转轴验证材料分布是否被布置为旋转。如果蒙皮部分是旋转,则蒙皮部分的变换是具有与围绕旋转轴的旋转方向对应的挤压方向的挤压,即沿着围绕旋转轴的圆或等效地对应于正交于旋转轴(与圆相切)的向量族。挤压方向可以正交于蒙皮部分的旋转轴。
[0090]
挤压处理算法还可以包括计算挤压轮廓。挤压轮廓可以是蒙皮部分的变形的挤压轮廓。在材料分布为旋转的示例中,对挤压轮廓的计算计算了旋转表面的轮廓。对挤压轮廓的计算可以基于确定的挤压方向或基于提供的挤压方向。挤压处理算法可以根据用于计算具有相应给定挤压方向的挤压轮廓的任何已知方法来计算挤压轮廓,例如根据已经引用的欧洲专利申请no.21305673.2或no.21305671.6。具体地,挤压处理算法可以包括对蒙皮部分的变换参数化的步骤,即,通过将先前引用的欧洲专利申请no.21305671.6中公开的用于参数化的计算机实现的方法应用于蒙皮部分的变换,来确定蒙皮部分的变换的每个相应参数的值的一个或多个第一分布。该参数化方法的应用可以包括计算轮廓的步骤,该步骤可以包括基于如先前引用的欧洲专利申请no.21305671.6中所公开的每个确定的值分布来拟合一条或多条曲线。另外或替代地,挤压处理算法可以包括对蒙皮部分的变换进行材料挤压检测的步骤,即,通过将先前引用的欧洲专利申请no.21305673.2中公开的用于材料挤压检测的计算机实现的方法应用于蒙皮部分的变换,来确定蒙皮部分的变换是否是挤压表面。该材料挤压检测方法的应用可以包括计算轮廓的步骤,该步骤可以包括基于如先前引用的欧洲专利申请no.21305673.2中所公开的提供或确定的挤压方向来拟合一条或多条曲线。
[0091]
根据可与第一方面结合的第二方面,基于挤压处理算法的蒙皮部分的处理可以包括在机械零件的部分中的材料旋转检测。材料旋转检测可以包括通过优化目标函数来确定旋转轴,该目标函数将蒙皮部分的法线与和候选旋转轴正交的旋转方向的非正交性惩罚到与距旋转轴的距离成正比的程度。根据第二方面,对目标函数的优化可以直接应用于蒙皮部分,而不使用蒙皮部分的变换。
[0092]
换句话说,并且根据第二方面,该方法是在机械零件的一部分中进行旋转检测的方法,该机械零件包括具有材料分布的部分,并且挤压处理算法的应用形成确定材料分布是否被布置为旋转的步骤。换句话说,并且根据第二方面,进一步提出了一种用于在具有材料分布的机械零件的一部分中进行旋转检测的计算机实现的方法,该方法包括:
[0093]-提供机械零件的cad 3d模型,该3d模型包括3d模型的蒙皮部分,该蒙皮部分表示机械零件的部分的外表面;以及
[0094]-确定材料的分布是否被布置为旋转,包括通过优化目标函数来确定旋转轴,该目标函数将蒙皮部分的法线与和候选旋转轴正交的旋转方向的非正交性惩罚到与到旋转轴的距离成正比的程度。
[0095]
在根据第一和第二方面的组合的示例中,蒙皮部分的处理基于根据第二方面的第一挤压处理算法并且进一步基于根据第一方面的另一(即,第二)挤压处理算法。在这样的示例中,该方法首先基于第一挤压处理算法来处理蒙皮部分,并且然后基于第二挤压处理算法来处理蒙皮部分。在这种情况下,该方法首先应用第一挤压处理算法(即,根据第二方面),其输出蒙皮部分的旋转轴。然后,该方法基于旋转轴计算蒙皮部分的变换,这导致挤压方向对应于围绕旋转轴的旋转方向的挤压,即沿着围绕旋转轴的圆或等效地对应于正交于旋转轴(并与圆相切)的向量族。挤压方向可以与旋转轴正交。然后,该方法将第二挤压处理算法(即,根据第一方面)应用于计算出的变换。换句话说,这样的示例允许检测旋转轴以便定义变换,然后应用第二算法,这相当于准备蒙皮部分以应用第二算法。另外或替代地,由于第一算法确定旋转轴,所以第一算法已经提供了对皮肤表面是否为旋转的检测。在这种情况下,第二算法可以是挤压检测算法,其确定变换是否是挤压,由此对蒙皮部分执行间接旋转检测,如前所述的。换句话说,第一和第二方面的组合的这种情况提供了双旋转检测,即,蒙皮部分是旋转的双重检查。
[0096]
如上所述,目标函数惩罚蒙皮部分的法线与和候选旋转轴正交的旋转方向的非正交性(即,优化的自由变量)。由此,优化目标函数就是使目标函数最小化。旋转方向是表示围绕候选旋转轴的旋转的方向。旋转方向定义在与旋转轴正交的平面中。惩罚的程度是目标函数与到旋转轴的距离成比例。该目标函数可以对应于由变换产生的在另一坐标系中表达的用于挤压检测的目标函数,使得旋转的变换是挤压,目标函数的优化导致确定蒙皮部分的旋转轴。特别地,对于被布置为旋转的蒙皮部分,蒙皮部分的法线正交于旋转方向,即,旋转表面的轮廓围绕旋转轴进行旋转的方向。因此,使蒙皮部分的法线与旋转方向的非正交性最小化导致获取旋转轴。惩罚包括每个位置的恒定权重,而不管其与轴的距离如何。这改进了用于以下示例的方法:其中关于3d模型中相同级别的噪声(即,在点云的点或网格的顶点之间),3d模型是3d网格或具有一般点密度的3d点云(即,网格的顶点或点云的点不一定均匀分布在3d空间中),惩罚会全部平等地惩罚,并且不利于远离轴的点。当3d模型是通用cad软件的结果时,这尤其改进了处理,其中点的数量在距轴的任何距离处大致相同,但点之间的距离(以及因此网格面的大小和面积,例如三角形或四边形)随距离成比例增长。
[0097]
目标函数可以具有以下类型:
[0098][0099]
其中u是候选旋转轴的方向,c是候选旋转轴的原点,是蒙皮部分的面积,s是蒙皮部分,p是蒙皮部分上的位置,π
c,u
(p)是p在候选旋转轴上的正交投影,而n是位置p处蒙皮部分的法线。目标函数的优化是非线性优化问题。该方法可以通过首先将权重固定到常数值(例如,1),并经由最小二乘法解决问题,以便获得u和c的初始解,来解决这个非线性优化问题。然后,该方法可以将该初始解(例如,作为初始猜测)注入非线性优化求解器,例如使用levenberg-marquardt算法来解决非线性优化问题。通过在优化求解器中使用
良好的初始解,这改进了目标函数的优化,以对其进行更有效地计算求解,并且无需获得目标函数的局部最小值(即,作为优化的结果)。
[0100]
参考图3和图4,展开可以包括提供旋转轴。在根据上述第二方面(或第一和第二方面的组合)的示例中,所提供的旋转轴可以是通过优化上述目标函数而确定的旋转轴。旋转轴可以由用户独立提供。展开还可以包括确定蒙皮部分的柱面坐标规范。柱面坐标规范可以包括第一值。该第一值可以形成一组三元坐标值。三元坐标值中的每一个指定蒙皮部分上相对于柱面坐标系的相应位置。柱面坐标系可以具有作为所提供的旋转轴的纵轴。例如,柱面坐标系可以是笛卡尔坐标系3010的圆柱表示,其中纵轴z是蒙皮部分4010的旋转轴。展开还可以包括确定相对于具有作为纵轴的一个轴的笛卡尔坐标系的变换的笛卡尔坐标规范。例如,图3和图4的展开确定了相对于具有作为纵轴z的一个轴的笛卡尔坐标系3010的变换的笛卡尔坐标规范3020。笛卡尔坐标规范可以包括指定变换上的位置的第二值。第二值可以对应于(例如,可以等于)第一值。换句话说,笛卡尔坐标规范3020表示将笛卡尔坐标系3010表示为笛卡尔坐标系的柱面坐标系的值。在示例中,确定蒙皮部分的柱面坐标规范基于参考(全局)笛卡尔坐标系。这构成了在旋转表面和挤压表面之间的等价性,由此使处理方法能够采用本领域已知的挤压处理技术。参考图3,第二值可以是相对于笛卡尔坐标系3020的(r,θ,z)的三元组。第二值表示径向距离、角位置和纵向位置。r的值可以被设置为参考值,例如,一(unity)。θ的值可以在区间内(例如,[0,2π]或[-π,π])。z的值可能属于区间,例如[0,l]。图4示出了在旋转表面4010和挤压表面4020之间关于展开变换φr及其逆φ
r-1
的等价性。
[0101]
在示例中,蒙皮部分可以由具有离散元素的3d离散几何表示来表示。在这样的示例中,确定蒙皮部分的柱面坐标规范包括确定3d离散几何表示的每个离散元素的第一值。对于每个离散元素,柱面坐标规范的第一值可以由以下各项构成:作为径向向量相对于纵轴的范数的径向距离的值、蒙皮部分上相对于径向向量和纵轴的角位置以及纵向位置。径向向量可以是将笛卡尔坐标系的中心(即,原点)连接到离散元素的位置的向量。纵向位置可以指定纵轴上的位置。纵向位置可以是到纵轴的投影。到纵轴的投影可以是到轴正交的投影。径向距离可以等效地称为半径。角位置可以等效地称为方位角。半径、方位角和纵向位置可以定义为在标准柱面坐标系中已知。
[0102]
对柱面坐标规范的确定可以包括通过探索3d离散几何表示的离散元素来计算角位置的值。对于每个探索的离散元素,该方法可以计算探索的离散元素的相邻离散元素的角位置。换句话说,该方法可以通过从一个或多个离散元素开始并探索相应的邻居来探索离散元素。“离散元素的相邻离散元素”是指在几何上定位在离散元素附近(在3d空间中)(例如,在预定半径的球体中)的一组离散元素。在离散几何表示是网格的示例中,离散元素的相邻离散元素(即,网格的顶点)可以是相邻顶点,即,通过网格的边连接到顶点的顶点。在示例中,角位置的计算可以通过随机选择几何上不定位在旋转轴上的离散元素来开始。该计算可以通过计算离散元素的每个相邻元素的角位置来继续。该计算还可以通过计算具有已经计算出的角位置的离散元素的每个邻居的角位置来继续,直到计算所有离散元素的角位置。这种探索可以等效地称为传播。使用传播改进了对柱面坐标规范的确定,因为针对每个离散元素独立计算角位置可能导致获得角位置值的两个不相交的区间,从而导致两个不相交的表面,而传播避免了这种情况。
[0103]
在图5至图7中示出通过探索离散元素来确定柱面坐标规范的示例。角位置的独立计算导致图5的不相交的表面。该方法可以使用图6所示的传播,而传播计算图6中从左到右的增长模式中的角位置,得到图7的接合表面。在离散几何表示是网格的情况下,该方法可以探索沿着网格的面/元素(例如三角形)而不是沿着网格的顶点的离散元素,并计算面/元素质心的角度值。在离散几何表示是点云的示例中,该方法可以使用距离接近条件(例如,在如上所述的预先定义半径的球体中)探索从一个点到另一个点的点云的点。这确保了生成的展开网格是连接的。
[0104]
所探索的离散元素的相邻离散元素的角位置的值的计算可以包括复制与所探索的离散元素的角位置的差大于阈值的相邻离散元素中的一个或多个。在示例中,阈值可以等于或大于π。在3d模型是3d网格的示例中,复制包括复制网格的一个或多个边的两个顶点之一。这改进了当蒙皮部分是全旋转表面时的角位置计算。“全旋转表面”是指在旋转方向上闭合的表面。全旋转表面可以等价地称为完全旋转表面或全部旋转表面。换句话说,全旋转表面是通过将轮廓曲线围绕(旋转的)轴旋转一整圆(即360度)而获得的表面。图8示出了在旋转方向上是闭合的但在两端(在轴方向上)是开放的全旋转表面,即,它具有两个圆形边界(每个边界是通过围绕旋转轴使轮廓的端点旋转而生成的)。在这种情况下,当对离散元素的探索探索了具有在探索期间角位置的已计算值的离散元素时,传播可能被中断。复制与探索的离散元素的角位置的差异大于阈值的相邻离散元素中的一个或多个确保角位置值的一致性,即,避免角位置的值由于全旋转而跳转。还避免了获取不相交的表面,因为它们可能是通过仅使用切割而不是在跳跃位置复制面/多边形来发生的。
[0105]
角位置的值可以具有以下类型
[0106][0107]
cos(θ
i 1-θi)=ei·ei 1
[0108]
sin(θ
i 1-θi)=(ei×ei 1
)
·
u,
[0109]
其中u是纵轴,pi是已探索离散元素i的笛卡尔位置向量,θi是已探索离散元素的角位置值,θ
i 1
是探索的离散元素i的邻居i 1的角位置值。
[0110]
该方法还可以包括缩放角位置的值。缩放可以缩放蒙皮部分变换的角位置的值以避免非常短或非常长的挤压,这取决于表面沿r轴和z轴的延伸。
[0111]
这些方法是计算机实现的。这意味着方法的步骤(或基本上所有步骤)由至少一台计算机或任何类似系统执行。因此,方法的步骤由计算机执行,可能是全自动的或半自动的。在示例中,该方法的至少一些步骤的触发可以通过用户-计算机交互来执行。所需的用户-计算机交互水平可能取决于预见的自动化水平,并与实现用户愿望的需要相平衡。在示例中,该水平可以是用户定义的和/或预先定义的。
[0112]
例如,提供机械零件的cad 3d模型的步骤可以在用户的动作时触发。例如,该动作可以包括由用户导入、加载或创建cad 3d模型。
[0113]
一种方法的计算机实现的典型示例是用适用于该目的的系统来执行该方法。该系统可以包括:耦合到存储器和图形用户界面(gui)的处理器,该存储器上记录有包括用于执行该方法的指令的计算机程序。存储器还可以存储数据库。存储器是适用于这种存储的任何硬件,可能包括若干不同的物理部分(例如,一个用于程序,一个可能用于数据库)。
[0114]
图11示出了系统的gui的示例,其中该系统是cad系统。模型2000是提供给该方法的cad 3d模型的示例。gui 2100可以是典型的类似cad的界面,具有标准菜单栏2110、2120以及底部和侧边工具栏2140、2150。这样的菜单和工具栏包含一组用户可选择的图标,每个图标与如本领域已知的一种或多种操作或功能相关联。这些图标中的一些与软件工具相关联,适用于编辑和/或工作于gui 2100中显示的3d建模对象2000。软件工具可以分组到工作台中。每个工作台都包含一个软件工具子集。特别地,其中一个工作台是编辑工作台,适用于编辑被建模产品2000的几何特征。在操作中,设计者可以例如预先选择对象2000的一部分,然后发起操作(例如改变尺寸、颜色等)或通过选择适当的图标来编辑几何约束。例如,典型的cad操作是对屏幕上显示的3d建模对象的冲压或折叠进行建模。gui可以例如显示与显示的产品2000相关的数据2500。在图中的示例中,显示为“特征树”的数据2500及其3d表示2000属于包括制动钳和制动盘的制动组件。gui可以进一步显示各种类型的图形工具2130、2070、2080,例如用于促进对象的3d定向、用于触发对编辑产品的操作的模拟或呈现所显示产品2000的各种属性。光标2060可以由触觉设备控制以允许用户与图形工具交互。
[0115]
图12示出了系统的示例,其中该系统是客户端计算机系统,例如用户的工作站。
[0116]
该示例的客户计算机包括连接至内部通信总线1000的中央处理单元(cpu)1010,也连接至总线的随机存取存储器(ram)1070。客户端计算机还进一步包括图形处理单元(gpu)1110,其与连接到总线的视频随机存取存储器1100相关联。视频ram 1100在本领域中也称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储设备(诸如硬盘驱动器1030)的访问。适于有形地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,包括例如半导体存储器设备(诸如eprom、eeprom和闪存设备);磁盘(诸如内部硬盘和可移动磁盘);磁光盘;和cd-rom盘1040。上述内容中的任何内容都可以通过专门设计的asic(专用集成电路)进行补充或合并。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,诸如光标控制设备、键盘等。在客户端计算机中使用光标控制设备以允许用户将光标选择性地定位在显示器1080上的任何期望位置。此外,光标控制设备允许用户选择各种命令并输入控制信号。光标控制设备包括多个信号生成设备,用于将控制信号输入到系统。通常,光标控制设备可以是鼠标,该鼠标的按钮用于生成信号。替代地或附加地,客户端计算机系统可以包括敏感垫和/或敏感屏幕。
[0117]
该计算机程序可以包括可由计算机执行的指令,该指令包括用于使上述系统执行该方法的单元。该程序能够记录在任何数据存储介质上,包括系统的存储器。该程序可以例如以数字电子电路或计算机硬件、固件、软件或它们的组合来实现。该程序可以被实现为有形地体现在机器可读存储设备中以由可编程处理器执行的装置(例如产品)。方法步骤可以通过执行指令程序的可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行该方法的功能。因此,处理器可以是可编程的并且被耦合以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向数据存储系统、至少一个输入设备和至少一个输出设备传输数据和指令。如果需要,可以以高级过程或面向对象的编程语言或汇编或机器语言来实现应用程序。在任何情况下,该语言都可以是编译语言或解释语言。该程序可以是完整的安装程序或更新程序。在任何情况下,程序在系统结构上的应用都会生成执行该方法的指令。
[0118]
现在讨论方法的实现方式。
[0119]
这些实现方式处于从处理涉及旋转几何结构的原始几何结构表示(例如,网格或点云)中获取语义3d模型(即,特征树)的上下文中。原始几何结构可能来自不再可用的原始特征树,例如用于可视化和/或分析目的。能够反转(即,获得)特征树,允许高级版本并支持由传统cad程序提供的全部范围的特征,并且在这种情况下,所有功能都可用于旋转几何结构作为轴或凹槽。因此,在几何结构上检测和拟合这种旋转特征后,允许经由特定的工业过程(例如车床加工)来制造对应的零件。为了实现这一点,实现方式确定了对网格或点云进行最佳拟合的旋转表面的数学描述。在点云的情况下,对于点云的每个点,实现方式都需要法线向量以及邻域中最近的点(从而提供最小的拓扑信息)。
[0120]
实现方式通过将笛卡尔坐标中的旋转视为柱面坐标系中的挤压表面来检测旋转表面。如图3所示,以下在3d空间中的变换φ将笛卡尔坐标转换为柱面坐标:
[0121][0122]
如图4所示,实现方式可以将具有由点c和向量ur定义的轴的旋转表面变换为使用旋转表面的相同轮廓的挤压表面。该变换将平移(从c到原点)、旋转r(将ur旋转到z轴)和变换φ组合成变换φr(x)=φ(r(x-c))。这相当于将旋转表面展开为挤压表面。轮廓曲线不会被修改或变形,因为转换不会影响位于xz平面(其被转换为rz平面)中的任何点。
[0123]
实现方式利用了在旋转表面和挤压表面之间的等价性,这使得可以重新使用挤压表面的现有解决方案,并且从而简化了问题。实现方式利用了3d cad模型的所有可用几何数据,因此需要少量计算。提供了通用的解决方案(所有可能的旋转表面类型)并支持有噪声的输入。产生的解决方案更适合各种类型的输入,例如非均匀网格。此外,实现方式支持根据先前引用的欧洲专利申请no.21305673.2和no.21305671.6检测和拟合挤压表面的应用方法,即蒙特卡罗阴影估计以避免错误的挤压阳性、自然表面参数化和轮廓计算。具体地,实现方式可以基于挤压处理算法来处理蒙皮部分,该挤压处理算法包括蒙皮部分的变换的材料挤压检测步骤,即,通过将先前引用的欧洲专利申请no.21305673.2中公开的用于材料挤压检测的计算机实现的方法应用于蒙皮部分的变换,来使用蒙特卡洛阴影估计确定蒙皮部分的变换是否是挤压表面以避免错误的挤压阳性。该材料挤压检测方法的应用可以包括计算轮廓的步骤,该步骤可以包括基于如先前引用的欧洲专利申请no.21305673.2中所公开的提供或确定的挤压方向来拟合一条或多条曲线。另外或替代地,该方法可以基于挤压处理算法来处理蒙皮部分,可以包括对蒙皮部分的变换参数化以用于自然表面参数化的步骤,即,通过将先前引用的欧洲专利申请no.21305671.6中公开的用于参数化的计算机实现的方法应用于蒙皮部分的变换,来确定蒙皮部分的变换的每个相应参数值的一个或多个第一分布。该参数化方法的应用可以包括计算轮廓的步骤,该步骤可以包括基于如先前引用的欧洲专利申请no.21305671.6中所公开的每个确定的值分布来拟合一条或多条曲线。实现方式还利用了所有可用的几何输入数据,同时需要少量计算,并为所有可能类型的旋转表面提供通用解决方案。实现方式对有噪声的输入也很鲁棒。
[0124]
提供给实现方式的3d模型特别地可以包括数据点(例如,网格的顶点或点云的点)、法线和每个点(即,相邻点)的邻域信息。因此,实现方式与网格和点云一起工作,例如
预先计算出所提供的法线向量和邻域数据。实现方式可以输出定义旋转表面的旋转轴和平面轮廓曲线。也可以计算旋转表面的极限角。
[0125]
用于旋转检测的能量
[0126]
实现方式通过优化目标函数来计算旋转轴。目标函数将蒙皮部分的法线与和候选旋转轴正交的旋转方向的非正交性惩罚到与到旋转轴的距离成正比的程度。这样的惩罚形成了能量。现在讨论获得这种能量的示例。
[0127]
实现方式可以从挤压检测能量开始计算旋转轴
[0128][0129]
其中u是挤压方向,n是表面s的局部法线,而是表面s的总面积。挤压方向可以通过最小化挤压检测能量的值来获得,其中约束条件是挤压检测能量小于挤压阈值。然后,旋转检测能量可以导出为
[0130][0131]
其中变量u和c分别是旋转轴的方向和原点,p是表面s上的局部点,而π
c,u
(p)是p在轴上的投影。
[0132]
如前所述,实现方式可以包括根据引用的欧洲专利申请no.21305673.2的方法检测挤压表面。这种挤压检测可以使用挤压检测函数为挤压检测能量和旋转检测能量二者分别测量在表面的法线与挤压方向或旋转轴之间的余弦函数(表示角度)的平均值。对于精确的挤压/旋转表面,表面的法线分别与挤压方向或旋转轴正交。因此,理论上能量函数的值在u为挤压方向或(挤压/旋转)表面s的旋转轴时趋于为零。在实践中,挤压检测方法和旋转检测方法在能量函数的值低于阈值时可以确定挤压方向或旋转轴。该阈值可以根据输入的3d cad模型中的噪声水平,使得当3d模型具有较大的噪声时该阈值的值较大。实际上,当3d模型中没有噪声时,阈值可以在[0.0、0.05]的区间内,或者特别是在0.005左右。旋转检测方法的阈值通常可以设置为比挤压检测方法更高的值,因为3d模型中的噪声对旋转能量的影响更大。
[0133]
为了获得表示实现方式定义了柱面坐标图:
[0134][0135]
其中
[0136][0137][0138]
ξ是-微分同胚。实现方式还通过其在图表(m,ξ)中的分量定义了在上的两个度量张量g和
[0139]
[0140]
对于一些常数r0》0以及m上的相关联体积形式:
[0141][0142][0143]
假定是黎曼表面并且i作为包含映射,实现方式定义回拉i
*
t,其中t是m上的(0,s)类型的张量场,如下:
[0144][0145]
其中di可以在符号中删除,因为di(x)可以很容易地用x识别。
[0146]
然后实现方式在s上诱导度量张量σ=i
*
g和以及诱导体积形式:以及诱导体积形式:
[0147]
其中在s的图表(u,x)中。
[0148]
其中int
x
(α)∈ω
k-1
(m)是α∈ωk(m)与向量场x的内积:
[0149]
int
x
(α)(y1,

,y
k-1
)=α(x,y1,

,y
k-1
)
[0150]
并且是s上的两个平滑向量场之一,满足:
[0151]

[0152]

[0153]
这称为s关于的法向量场。实现方式还要求以便使(s,g)和具有一致的方向。
[0154]
对于能量转置,实现方式考虑和为了检查s是否可以是中的挤压表面,实现方式考虑了能量:
[0155][0156]
其中(类似地,)。通过比较f与看起来
[0157]
以及
[0158][0159]
还知道还知道得出:
[0160][0161][0162]
现在,
[0163]
[0164]
为了计算ρ,实现方式考虑p∈s,并定义(x,y)∈t
p
s如下:
[0165][0166][0167]
其中认为:
[0168][0169]gp
(x,y)=0, g
p
(x,x)=1,
[0170]
考虑到事实所以其中:
[0171][0172]
通过注意到认为:
[0173][0174]
这给出:
[0175][0176]
现在假设f足够小并且足够接近1(或者直接假设很小),将ρ替换为它的近似值因此认为:
[0177][0178]
通过注意到
[0179][0180]
其中因此选择得到和:
[0181][0182]
设ξ=(r,θ,z)为相对于某轴的的柱面坐标,|u|=1,并且某中心则可以用上的通常标量积识别g,并且能量可以重写为:
[0183][0184]
由于vols(由在上的lebesgues测量引起的s上的测量)也是与体积形式η相关联
的测量。
[0185]
因此,相对于挤压检测能量导出旋转检测能量
[0186]
在来自三角形网格的表面上,能量具有以下(精确)离散表达式:
[0187][0188]
其中p
τ
,n
τ
和分别是三角形τ的中心、法向量和面积。
[0189]
根据上面讨论的方法的第二方面,实现方式可以通过首先将权重固定为常数值(例如,1)并经由最小二乘法求解问题以获得u和c的初始解,来解决最小化的这个非线性优化问题。然后,实现方式可以将该初始解决方案注入非线性优化求解器,例如使用levenberg-marquardt算法。
[0190]
注意,|u
×
(p-c)|=|p-π
c,u
(p)|,其中π
c,u
(p)是曲面点p在由u和c定义的轴上的投影。也就是,|p-π
c,u
(p)|是p到轴的距离,很明显与使用归一化项不同。使用这样的归一化项会导致的变化为以下能量函数:
[0191][0192]
这与的不同之处在于权重将问题视为挤压,并且展开表面,使用权重项从而相对于远离轴的点有效地减少了靠近轴的点的影响。
[0193]
通常可能存在两种类型的输入网格:
[0194]
1.具有均匀密度的网格:均匀密度的结果是远离轴的点比靠近轴的点更多,以及
[0195]
2.用3d软件生成的网格:点的数量在距轴的任何距离处大致相同,但点之间的距离(以及因此三角形(或四边形)的大小和面积)随距离成比例增长。
[0196]
特别是在第二种情况下,更容易看出中使用的权重显示出优势。现在参考图10讨论这点,考虑使用线段τ而不是三角形面的2d示例。图10显示了线段τ的示例,其极端顶点为p(r(p),θ(p))并且p

(r(p

),λ(p

))满足δ=r(p)-r(p

)<<1的情况。δ通常表示噪声对半径坐标的影响,但它与该半径的值不成比例(它与点的干净位置无关)。假设θ(p)-θ(p

)足够小(否则近似太粗糙),则δ≈r(p)sin(θ(p)-θ(p

))sin(β)(β为下图所示的角度)。τ的大小是但假设它应该与r成正比,这意味着sin(θ(p)-θ(p

))可以被认为是常数a。通过注意到sin(β)=n
τ
·eθ
,在这个“面”上根据的集成能量将是:
[0197][0198]
换句话说,在这种情况下,对于相同级别的噪声,根据的能量有利于远离中心的面,而根据的能量(在这种情况下,τ的能量将是)则不是这样。在一般情况下,当曲率水平较高时,估计法向量上的误差较大,这为使用提供了理由,该通过将的局部能量乘以r来补偿这种影响。
[0199]
展开
[0200]
一旦检测到轴,实现方式就定义变换φr并将几何结构(即,蒙皮部分)展开为挤压表面。如上所述,并且根据上面讨论的方法的第一方面,实现方式可以应用在引用的欧洲专利申请no.21305673.2和no.21305671.6中针对挤压表面提出的解决方案。为了执行展开,在平移表面和对齐表面与坐标系之后(使得z轴成为旋转轴),实现方式可以计算每个笛卡尔点p=(x,y,z)的柱面坐标(r,θ,z)。柱面坐标由下式定义
[0201]
r=|u
×
p|
[0202][0203]
cosθ=e
·ex
[0204]
sinθ=(e
x
×
e)
·u[0205]
其中e
x
是x轴的方向向量。然而,在实践中,为每个点独立计算角度θ,使得计算表面实际覆盖的角度区间变得困难。例如,使用这样的独立计算,可以计算由单个表面覆盖的两个不相交的区间,如图5所示。为了避免这种情况,并且参考图6,实现方式利用拓扑通过下式从随机选择的初始点p0(不得位于轴上)向其邻居(只要它们也不位于轴上)传播(即,探索)计算:
[0206][0207]
cos(θ
i 1-θi)=ei·ei 1
[0208]
sin(θ
i 1-θi)=(ei×ei 1
)
·
u.
[0209]
使用这样的想法使得实现方式能够获得如图7所示的连接表面。
[0210]
在网格上,顶点的邻居是其相邻顶点(即,由边连接),而在点云中,点的邻居可能是云中最近的k个点。在后一种情况下,接近度是使用所有可用信息定义的,例如点坐标,但如果可用,则还使用法线向量和/或曲率值。位于轴上的所有点都应该在表面边界上并且与角度值0相关联。由于ei和e
i 1
是相邻的,因此区间[θi,θ
i 1
]完全被表面覆盖,并且维持网格或点云上的角度值场的连续性。
[0211]
为了生成大致反映表面比例的对象,如果它以这种方式展开(并因此确保后续计算在数值上有效),则实现方式还可以沿θ方向缩放展开的表面,以便避免非常短或非常长的挤压,这取决于表面沿r轴和z轴的延伸。
[0212]
对于全旋转表面,如图8到图9所示,实现方式可以在遇到已经处理(即,探索)的顶点(即,探索)时中断传播。只要两个相邻点之间的角距离太高,例如大于π,实现方式就可以移除连接边及其相邻三角形(在网格的情况)。当展开表面时,实现方式可以从网格中移除边8010及其三角形。移除这些边会导致数据丢失,在一般情况下,密集网格很少会成为问题,但在粗略的、不均匀的网格中,可能会出现问题,如图9所示。在一些变体中,实现方式可以复制边的两个顶点之一(通过从其角度添加或移除2π),以便将边及其三角形保持在展开结果中。
[0213]
为了避免生成不相交的展开网格,并且在网格的情况下,实现方式沿三角形而不是沿顶点执行传播,并计算三角形质心的角度值。这确保了得到的展开网格是连接的。
[0214]
应用
[0215]
由于旋转表面已展开为挤压表面(在rz平面中使用完全相同的轮廓曲线),因此实
现方式现在可以应用用于挤压表面的现有技术解决方案,并根据方法的第一方面利用其结果用于解决方案的表面。这些可以包括但不限于,根据已引用的欧洲专利申请ds2020-29经由蒙特卡罗阴影估计对假阳性进行后验挤压检测,和/或根据已引用的欧洲专利申请ds2020-23进行自然表面参数化,其结果然后可用于稳健地计算轮廓曲线(避免在将曲线拟合到平面点云时可能出现的过度拟合问题)。使用这些方法是可能的,因为实现方式将拓扑信息转置到挤压表面,即,旋转表面上的相邻顶点仍然是挤压表面上的邻居。
[0216]
使用上面讨论的蒙特卡罗阴影估计可以使挤压检测(以及一般的cad处理)更加稳健。特别地,知道候选的挤压表面和潜在的挤压方向,使用这种方法可以提供额外的条件来确保表面在更强的意义上近似挤压,并且它不仅是恰好具有良好法线向量的表面。这种种类的算法使得检测在存在噪声的情况下表现得更好。这种蒙特卡罗阴影估计方法可以在展开后的潜在旋转表面上使用,其中潜在的挤压方向为e
θ

[0217]
在检测到挤压表面并计算相应的轴和中心之后,这些实现方式可以用基本三角法计算整个表面上的角度参数化。特别地,实现方式可以根据已经引用的欧洲专利申请no.21305671.6的技术直接在旋转表面网格上计算遵循轮廓的参数化(即,朝向在与角度方向e
θ
正交的切线方向上)。替代地,实现方式可以使用与展开后获得的挤压网格相同的技术,它是平面的近似值(无固有曲率),这意味着要求解的pde具有更简单的形式。
[0218]
此外,由于变换在r,z坐标中是等距的,因此为了找到旋转表面的轮廓,只需计算展开后的挤压表面的轮廓即可,例如可以使用上面介绍的参数化、顶点沿着挤压方向的投影以及在平面上参数化点云上拟合的曲线。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献