CN112818427A - 用于在建模对象中选择多个边缘和面的方法 - Google Patents
用于在建模对象中选择多个边缘和面的方法 Download PDFInfo
- Publication number
- CN112818427A CN112818427A CN202011283860.2A CN202011283860A CN112818427A CN 112818427 A CN112818427 A CN 112818427A CN 202011283860 A CN202011283860 A CN 202011283860A CN 112818427 A CN112818427 A CN 112818427A
- Authority
- CN
- China
- Prior art keywords
- edge
- edges
- face
- modeled object
- selection
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000011960 computer-aided design Methods 0.000 claims abstract description 24
- 239000013598 vector Substances 0.000 claims description 18
- 239000000284 extract Substances 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000002040 relaxant effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002161 passivation Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/403—Edge-driven scaling; Edge-based scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Mathematics (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种用于在计算机辅助设计(CAD)系统中显示的建模对象中选择多个边缘或面的方法,该方法提取多个特征,每个特征包括建模对象的边缘或面中的一个或更多个边缘或面的可测量的数值属性。缩放特征,并接收对种子边缘或种子面的选择。基于种子边缘或种子面选出建议的边缘或面,并在建模对象上显示建议的边缘或面的图形指示。
Description
相关申请的交叉引用
本申请要求于2019年11月18日提交的、标题为“用于在建模对象中选择多个边缘和面的方法”的、申请号为201941046868的印度专利申请的优先权的权益。该在先申请的公开内容通过引用以其整体并入本文。
技术领域
本发明涉及计算机辅助设计,更具体地,涉及在二维(2D)和三维(3D)产品设计中选择多个几何形状。
背景技术
3D设计软件应用程序(例如CAD(计算机辅助设计)程序)用于构建所设计产品的立体几何形状。通过限定与其他此类表面相交的多个表面来创建立体几何形状。无论两个或更多个几何形状表面在哪里彼此会合,都可能会创建尖锐的边缘,这可能需要钝化这些边缘以实现产品的更好的可用性和美观性,其中包含如圆角和倒角的建模操作。圆角和倒角操作通常包含使用圆角和倒角选择多个边缘并使多个边缘变圆。即使对于中等复杂的模型,这可能导致数百个边缘的选择,从而导致乏味且耗时的任务。
例如,图1示出了具有在虚线框内示出的第一边缘(拐角部)110的3D建模对象100。建模对象100具有类似于第一边缘但相对于第一边缘110移位和/或旋转的多个类似的边缘112。在用户希望对多个边缘或所有边缘110、112实行类似修改的情况下,用户通常必须首先选择第一边缘110,随后选择期望的类似的边缘112中的每一个。在一些实例中,类似于边缘110、112的隐藏边缘114可能从用户正在选择边缘的视图中被隐藏,这进一步使选择过程复杂化。因此,行业中需要解决上述缺点。
发明内容
本发明的实施例提供一种用于在建模对象中选择多个边缘和面的方法。简要地描述,本发明是针对一种用于在计算机辅助设计(CAD)系统中显示的建模对象中选择多个边缘或面的方法。提取多个特征,每个特征包括建模对象的边缘或面中的一个或更多个边缘或面的可测量的数值属性。缩放特征,并接收对种子边缘或种子面的选择。基于种子边缘或种子面选出建议的边缘或面,并在建模对象上显示建议的边缘或面的图形指示。
在研究以下附图和详细描述之后,本发明的其他系统、方法和特征对于本领域普通技术人员将是显而易见的或将变得显而易见。意图是使所有此类附加系统、方法和特征包括在本说明书中,在本发明的范围内并由所附权利要求保护。
附图说明
包括附图以提供对本发明的进一步理解,且附图被并入本说明书中并构成本说明书的一部分。附图示出了本发明的实施例,并与描述一起用于解释本发明的原理。
图1是示出具有多个类似的边缘的3D建模对象的示意图。
图2A是在本发明的第一实施例下的3D建模对象的屏幕抓图。
图2B是图2A的3D建模对象的屏幕抓图的边缘细节,示出了所得的圆角。
图2C是图2A的3D建模对象的屏幕抓图,示出了在3D建模对象的选择的种子边缘附近的选择助手图标。
图2D是图2A的3D建模对象的屏幕抓图,示出了在3D建模对象的两个选择的种子边缘附近的选择助手图标。
图2E是图2A的3D建模对象的屏幕抓图,示出了基于种子边缘的两个选择的种子边缘部分的提出建议。
图2F是图2A的3D建模对象的屏幕抓图,示出了拒绝的建议边缘。
图3A是图2C的3D建模对象的屏幕抓图,示出了基于选择的种子边缘的多个建议边缘和选择助手对话框。
图3B是图3A的压缩的选择助手对话框的示意图。
图3C是展开的选择助手对话框的示意图。
图4是图3的3D建模对象的屏幕抓图,示出了接受的选择。
图5是示出用于执行本发明的功能的系统的示例的示意图。
图6是用于选择3D对象的类似的边缘的示例性方法的第一实施例的流程图。
图7A是示出边缘长度相比于弦长的示例的屏幕截图。
图7B是示出相邻面角度的示例的屏幕截图。
图7C是示出转角的第一示例的屏幕截图。
图7D是示出转角的第二示例的屏幕截图。
图8A是示出现有切线传播边缘/表面选择的示例的屏幕截图。
图8B是示出用于选择共享相同边界的所有边缘/表面的现有方法的示例的屏幕截图。
图8C是示出框中选择的现有边缘/表面选择方法的示例的屏幕截图。
具体实施方式
以下限定对于解释应用于本文所公开的实施例的特征的术语是有用的,并且仅意在限定本公开中的元件。
如本公开中所使用的,“倒角”是指建模对象的倾斜的或成角度的拐角或边缘,而“圆角”是指变圆的拐角或边缘。倒角和/或圆角可以指位于建模对象的内部或外部的边缘。可以圆角或倒角的边缘被认为是C0或G0连续,这意味着这样的边缘在共同顶点处连接,但彼此不相切。
如本公开中所使用的,“特征”是指建模对象的边缘或面的描述符或可测量的数值属性。这种解释源于统计学和机器学习文献中“特征”一词的常见用法,不要与在上下文CAD中使用的短语“拓扑特征”相混淆。
本公开是针对操纵计算机建模对象。在本文中,提及操纵对象,通常将指经由用户界面在显示屏上操纵建模对象的图像。对建模对象的这种操纵的示例包括选择、旋转和缩放等。应当理解,对显示的建模对象的操纵导致由计算机软件对表示建模对象的方面和拓扑特征的数据对象进行操纵。现在将详细参照本发明的实施例,附图中示出了本发明的实施例的示例。在附图和说明书中,尽可能使用相同的附图标记指代相同或相似的部件。尽管实施例的描述通常是指3D建模对象,但是该描述类似地适用于2D建模对象。
如背景技术部分所述,在CAD环境中,当用户对建模3D对象的某些边缘或面进行修改时,用户通常还需要对3D建模对象中所有类似的边缘或面进行相同的修改。为了对建模3D对象的多个边缘或面进行相同的修改,用户必须首先选择所有这些边缘或面,然后命令CAD系统为所有选择的边缘或面创建拓扑特征或编辑拓扑特征。以前,这是一个乏味和/或耗时的过程。本发明所公开的实施例解决了减少一次选择多个边缘中的一个边缘或一次选择几个边缘的背后的繁琐工作,这是3D设计软件中许多建模操作的常见任务。在此处描述的实施例下,无论何时用户在建模对象中选择边缘或面,实施例都提供自动和即时选择该建模对象中与所选择的边缘或面在形状上类似的所有边缘或面,同时使得能够易于使用和灵活。
实施例结合选择助手模块,以使选择边缘的任务容易、快速和更有效。而且,选择助手模块不仅考虑定量因素,还考虑定性因素,来捕获设计意图。如下面进一步描述的,选择助手模块以对用户非常友好、简单而有效的界面向用户提出建议,该界面在选择时可用,而不会造成干扰。
选择助手模块经由一个或更多个用户界面(UI)图形对象向用户表示。图2A示出了3D建模对象100,在该示例中,马达安装座。图2B是示出第一边缘110(由虚线围绕)和第二边缘111以及所得的圆角的细节。当用户例如经由鼠标点击选择第一圆角边缘110时,如图2C所示,圆角/倒角命令对话框220显示在3D建模对象100旁边。在选择之后,第一圆角边缘称为种子边缘110。
如图2C所示,当设计圆角和倒角时,当边缘选择域被激活时,出现选择助手图标210。当用户选择用于圆角或倒角的边缘110时,在鼠标光标(未示出)旁边会出现一个小的不显眼的UI选择器,例如选择助手图标210。用户也可以忽略选择助手图标210,在这种情况下,选择助手模块不会启动;或者用户可以点击选择助手图标210以启动选择助手模块,例如,如图3A所示,以对话框250表示,本文中对话框250称为选择助手建议框250。
一旦启动,选择助手建议框250替代选择助手图标210(图2C)。选择助手建议框250最初以紧凑模式呈现。在图3B中示出了紧凑模式下的选择助手建议框250的细节。在紧凑模式下,选择助手建议框250示出为带有非常小且简单的UI面板,包括抓握区域310、设置图标312、接受建议图标314和拒绝建议图标316。在紧凑模式下,选择助手建议框250对用户隐藏了所有选项设置(如下所述,见图3C)。
在建模过程中,当用户选择种子边缘110时,选择助手模块使用下面进一步描述的最近邻搜索技术来分析建模对象100的各个边缘110、111和112,以给用户提供基于选择的种子边缘110可能想要选择的最有可能的建议112。
如图3A所见,这些选择112在图形区域中用颜色高亮示出(此处以粗线示出)以易于可视化,并且用户可以通过增加新选择或删除任何建议的选择来对选择112进行进一步的修改。颜色边缘建议112将该颜色边缘建议112与用户直接选择的种子边缘110区别开。如图4所示,即使建议的边缘112或面位于3D建模对象100的背面,也会显示建议的边缘112或面,使得不必旋转模型100以显示隐藏的边缘/面。一旦选择助手模块已经提出初始建议112,用户有扩展建议或缩减建议的选项。为了扩展建议,用户点击用户当前未选择的任何边缘,只要选择助手也未建议该边缘,即未用颜色(棕色)高亮示出。例如,返回到图2C,选择单个边缘110,即出现在圆角/倒角命令对话框220的选择框420中的“边缘1(Edge 1)”。在图2D中,通过点击另一边缘,即第二边缘113,种子边缘被展开为包括两个边缘110和113,并且两个边缘出现在圆角/倒角命令对话框220的选择框420中。如图2E所示,选择助手图标210的随后选择会导致选择助手基于种子边缘110、113的两个选择的部分(用颜色(棕色))指示提出建议。再次返回到图2C,如果用户不想要选择的边缘112,则用户可以点击单个边缘以拒绝它,例如,图2F中所示的拒绝的建议212。然后,拒绝的建议212从其他建议的边缘112中以较浅的色调显示,例如较浅的棕色(此处以短虚线轮廓示出)。如果用户错误地点击建议112,则用户随后可以通过再次点击拒绝的选择212来重新接受拒绝的选择212,这将边缘从较浅的色调转变为较深的色调。一旦适当地调整期望的一组建议的边缘112,用户可以在选择助手建议框250中点击复选标记(接受建议图标)314以确认对圆角/倒角命令框220的所有建议的边缘112的选择。如图4所示,在确认之后,从显示器中删除选择助手建议框250,然后在圆角/倒角命令对话框220的选择框420中以字母数字形式出现建议边缘112。
返回到图3A,如果用户不希望使用建议的边缘112,则点击选择助手建议框250的X形状拒绝建议图标316丢弃用颜色(棕色)示出的建议,关闭选择助手对话框,并使用户返回到圆角/倒角命令对话框220,而无需对圆角/倒角命令对话框220的选择框420中显示的原始建议进行任何更改,如图4所示。
如图3C所示,如果用户选择细化建议,则点击设置图标312揭示展开的选择助手对话框350,该选择助手对话框350具有用户可调整的一组选项322、324、326和328。当用户更改各个选项322、324、326和328时,选择助手提出的建议会动态地变化,并迅速地显示给用户。在第一实施例下,这些选项包括“放宽对因素的依附(Relax adherence to factors)”选项322,该选项322使得用户能够指定他是否想要以宽松的公差或严格的公差将种子边缘110与模型100中的其他(未选择的)边缘相比较。这将在下面进一步更详细地描述。长度选项328使选择助手将边缘长度视为在种子边缘110与模型100中的其他边缘相比较时使用的特征,并据此提出建议。取向选项326使选择助手将边缘取向视为在种子边缘110与模型100中的其他边缘相比较时使用的特征,并据此提出建议。边缘取向包括在边缘110的起始点和终止点处的切线的矢量方向。相同的相邻面角度选项324使选择助手将与种子边缘110相邻的面之间的一个或更多个角度视为比较边缘的标准。另外,存在内部几何形状选项(未示出),以基于种子边缘110的几何形状选择边缘,该几何形状选项一直为‘开启(ON)’,且不会在UI中示出。在几何形状选项为开启的情况下,在提出建议时,选择助手会考虑特征,例如在起始点和终止点处切线与种子边缘110所成的角度,以及还有在种子边缘110的起始点和终止点处种子边缘110的曲率。
图6是用于在计算机辅助设计系统中选择建模对象的类似的边缘的示例性方法的第一实施例的流程图600。应当注意,流程图中的任何过程描述或方框应理解为表示模块、片段、代码部分或步骤,这些模块、片段、代码部分或步骤包括用于在过程中实现特定逻辑功能的一个或更多个指令,并且替代实施方式包括在本发明的范围内,在该范围内,如本发明的具有本领域的合理技能的人员所理解的,根据所包含的功能,可以不以示出的或讨论的顺序执行该功能,包括基本上同时地或以相反顺序执行该功能。
如方框610所示,提取建模对象的多个特征,每个特征包括建模对象的一个或更多个边缘或面的可测量的数值属性。如方框620所示,缩放多个特征。优选地,从建模对象中的每个边缘和面提取特征。例如,在用户通过点击建模对象的相应显示部分指示种子边缘或种子面之后,如方框630所示,接收对多个边缘和面中的种子边缘或种子面的选择。用第一颜色在建模对象上指示种子边缘或种子面。如方框640所示,基于种子边缘或种子面选出多个边缘或面中的建议的边缘或面。可以使用下面进一步描述的最近邻搜索技术选出多个边缘或面。如方框650所示,建模对象显示建议的边缘或面的图形指示,例如,通过用第二颜色显示建议的边缘和面。如方框660所示,将种子边缘或面增加到选择列表中,例如,要进行圆角的边缘列表。如方框670所示,接收对建议的边缘或面的接受,例如,响应于用户经由对话框接受建议的边缘或面。如方框680所示,将建议的边缘或面增加到选择列表中,其中可以基于选择列表创建建模对象的新拓扑特征,或者可以基于选择列表修改建模对象的现有拓扑特征。
选择助手模块结合多种技术以实现上述功能。对于特征提取610(图6),选择助手模块从建模对象中的每个边缘或面提取一组特征。选出的特征可以通过选择助手用很少的CPU使用率进行提取,但这些特征具有足够的辨别力。此处,辨别力是指在相同的3D建模对象中的类似和相异的边缘/面之间进行区分的能力,这将在下面更详细地描述。
一旦已经在特定边缘或面上实行特征提取操作,则不需要随后的特征提取操作,直到随后修改该边缘或面为止。例如,在许多情况下,3D建模对象中的大多数边缘和面在修改后保持完整。仅某些边缘和面被修改或删除,或者增加新的边缘和面。为了不重复已实行的计算,仅以增量方式实行特征提取,并且仅对于那些已更改或新增加的边缘和面实行特征提取。这减少了CPU时间的浪费。选择助手模块删除不使用的特征矢量,例如,编辑后不再存在的边缘和面的特征矢量。这减少了占用的计算机存储器的浪费。
对于特征缩放620(图6),选择助手模块实行标准的特征缩放过程,这是数据科学领域的技术人员熟悉的。特征缩放是归一化每个特征的范围的过程。此处,选择助手模块采用最小-最大特征缩放来在0到1的范围内缩放所有提取的特征的范围。然后,选择助手模块将所有缩放的值平整(flatten)为单个一维矢量(称作“特征矢量”)。
为了选择建议的边缘或面(方框640(图6)),选择助手模块在提取的特征矢量上采用最近邻搜索。最近邻搜索是常见的一类考虑任何相异度量/函数而用于查找最类似的元件的方法。选择助手模块使用最近邻搜索的特定变体,称作固定半径近邻,它搜索在特定的半径/公差内与给定元素类似的所有元素。
选择助手模块使用L2范数(又称L2-距离或欧氏距离或欧氏度量)作为在固定半径近邻中使用的相异函数,并且可以使用众所周知的空间划分数据结构(诸如球树或k-d树)用于减少计算时间。半径/公差基于用户是否已将“放宽对参数的依附”设置为开启或关闭(OFF)来决定。例如,当“放宽对参数的依附”开启时,选择助手模块可以使用0.1的公差(即允许10%的相异),或者当“放宽对参数的依附”关闭时,使用0.01的公差(即允许1%的相异)。
替代地,可以使得用户能够直接指定允许的相异的百分比。选择助手模块使用固定半径近邻来查找3D建模对象中类似于种子边缘或种子面的所有边缘或面。由于选择助手模块将查找类似的边缘或面的问题转换为‘最近邻搜索’问题,所以选择助手模块在该问题上利用众所周知的性能优化技术(诸如球树或k-d树),可以帮助将搜索算法的复杂度从O(N2)减少到O(log n)。选择助手模块提取的特征的选出使得非常快速地提取特征(用很少的CPU使用率),但具有足够的辨别力。此处,辨别力意思为在相同的3D建模对象中的类似和相异的边缘/面之间进行区分的能力。
选择助手模块选择从每个边缘中提取以下特征:
·边缘长度710(图7A):[一个实数]沿曲线从边缘的起始到边缘的终止的距离(见图7A),与弦长720(弧的起始和终止之间的直线)区别开。
·相邻面角度725(图7B):[两个实数]在边缘的起始和边缘的终止处在物质侧上测量的与边缘相邻的两个面之间的角度。这些角度的范围可以从0度到360度。如果边缘是凸的,则这些角度小于180度,并且如果边缘是凹的,则这些角度大于180度。该特征传达边缘在边缘的起始和终止处是有多么凸或凹。
·转角730(图7C,图7D):[一个实数]这是边缘的起始方向和边缘的终止方向之间的角度。该角度指示边缘旋转了多少。
·曲率:[两个实数]边缘在边缘的起始和终止处的曲率。该特征指示边缘在边缘的起始和终止处如何急剧地旋转。
·边缘长度710与弦长720的比率:[一个实数]弦长意思为边缘的起始点和边缘的终止点之间的直线距离。该比率是曲线形状的强烈特性。
·三个主惯性矩:[三个实数]通过查找边缘的惯性矩阵的特征值(将边缘视为细实线)来计算这些主惯性矩。主惯性矩取决于边缘的形状,并有助于增加特征的辨别力。
·顶点角度:[四个实数]
ο在当前边缘的起始方向和在左面的前一个边缘的终止方向之间的角度。
ο在当前边缘的起始方向和在右面的前一个边缘的终止方向之间的角度。
ο在当前边缘的终止方向和在左面的下一个边缘的起始方向之间的角度。
ο在当前边缘的终止方向和在右面的下一个边缘的起始方向之间的角度。·取向矢量:[六个实数]如果用户已将“相同取向(Same Orientation)”选项转变为开启,则该特征仅包括在特征矢量中。
ο边缘的起始方向的x、y和z坐标。
ο边缘的终止方向的x、y和z坐标。边缘的终止方向是在边缘的终止处与边缘相切的方向,指向外部(即朝向边缘的外部方向),表示为3D的单位矢量。
这些特征中的每一个可以用相对少的CPU使用率提取。
如在本公开中使用的,边缘的起始方向或终止方向是指分别在边缘的起始点或终止点处与边缘相切的方向。按照该约定,起始方向点和终止方向点都从边缘指向外部。起始方向和终止方向都表示为三维的单位矢量。
计算精确的边缘长度和主惯性矩有时会加强性能,特别是对于具有复杂表示的边缘。然而,大多数CAD系统以近似边缘形状的多义线(线段的链)的形式保留轻量化的边缘表示(用于边缘的视觉渲染)。使用该近似表示可以相对快速地计算出近似边缘长度和近似主惯性矩。通常,CAD系统还保留此类频繁使用的措施的高速缓冲存储器,这些措施使用起来很耗时。如果可用,也可以使用高速缓冲存储器。
在以前的CAD系统中,由于边缘参数化方向导致可能会出现问题:在CAD系统中,边缘以参数形式表示。曲线上任何点处的切线方向都被认为是增加的参数值的方向。根据参数化方向,所得的切线方向可以是单向或相反方向。结果,具有相反的参数化方向的两个相同的边缘的切线方向可能彼此反向,导致这两个边缘的特征矢量不匹配。
为了解决该问题,实施例对于每个边缘不仅计算一个特征矢量,而且计算一对特征矢量。计算第二特征矢量以用于相同边缘的反向参数化(即将边缘的终止视为起始,并将边缘的起始视为终止)。这确保在两个相同的边缘之间,不考虑这两个边缘的参数化方向,这两个边缘的特征矢量中的至少一个将匹配,并确保我们的算法变成独立于参数化方向。
选择助手模块选择从每个面中提取以下特征:
·面的面积:[一个实数]由面的一个或更多个边界环界定的面积。
·面的面积与面的周长的平方的比率:[一个实数]其中周长指示面的所有边界边缘的长度之和。
·三个主惯性矩:[三个实数]选择助手模块通过查找面的惯性矩阵(将面视为薄层)作为特征值来计算这些主惯性矩。主惯性矩取决于面的形状,并有助于增加选择助手模块的辨别力。
·平均取向:[三个实数]如果用户已将“相同取向”选项转变为开启,则该特征仅包括在特征矢量中。为此,选择助手模块计算在面的每个顶点处计算的面法线方向的平均的x、y和z坐标。在面的任何点处的面法线方向表示为3D的单位矢量,指向外部,即远离面的物质侧。
应当注意,计算精确的面的面积和主惯性矩有时会加强性能,特别是对于具有复杂几何形状表示的面。然而,大多数CAD系统以近似面形状的三角形网格(一组相连的三角形)的形式保留轻量化的面表示(用于面的视觉渲染)。该近似表示使得选择助手模块能够相对快速地计算出近似面的面积和近似主惯性矩。如果可用,则CAD系统还可以保留此类频繁使用的耗时措施的高速缓冲存储器。
用于执行上面详细描述的选择助手模块的功能的本系统可以是计算机,其示例在图5的示意图中示出。系统500包含处理器502、存储设备504、存储器506(其中存储有限定上述功能的软件508)、输入和输出(I/O)设备510(或外围设备)以及本地总线或本地接口512(使得能够在系统500中通信)。如本领域已知的,本地接口512可以是例如但不限于一条或更多条总线或其他有线或无线连接。本地接口512可具有为了简单起见而省略的附加元件(诸如控制器、缓冲器(高速缓冲存储器)、驱动器、中继器和接收器)以使得能够通信。进一步地,本地接口512可以包括地址、控制和/或数据连接,以使得能够在前述组件之间适当的通信。
处理器502是用于执行软件,特别是存储在存储器506中的软件的硬件设备。处理器502可以是任何定制的或商用的单核或多核处理器、中央处理单元(CPU)、与本系统500相关联的多个处理器中的辅助处理器、基于半导体的微处理器(以微芯片或芯片组为形式)、宏处理器或通常用于执行软件指令的任何设备。
存储器506可以包括易失性存储元件(例如,随机存取存储器(RAM,诸如DRAM、SRAM、SDRAM等))和非易失性存储元件(例如,ROM、硬盘驱动器、磁带、CDROM等)中的任何一个或组合。而且,存储器506可结合电子的、磁的、光学的和/或其它类型的存储介质。注意,存储器506可以具有分布式体系结构,其中各种组件的位置彼此远离,但可以由处理器502访问。
根据本发明,软件508限定由系统500实行的功能。存储器506中的软件508可以包括一个或更多个单独的程序,这些程序中的每一个包含用于实现系统500的逻辑功能的可执行指令的有序列表,如下所述。存储器506可以包含操作系统(O/S)520。操作系统实质上控制系统500中程序的执行,并提供调度、输入-输出控制、文件和数据管理、存储器管理以及通信控制和相关服务。
I/O设备510可以包括输入设备,例如但不限于键盘、鼠标、扫描仪、麦克风等。此外,I/O设备510还可以包括输出设备,例如但不限于打印机、显示器等。最后,I/O设备510可以进一步包括经由输入和输出两者通信的设备,例如但不限于调制器/解调器(调制解调器;用于访问另一设备、系统或网络)、射频(RF)或其他收发器、电话接口、网桥、路由器或其他设备。
当系统500在操作中时,处理器502被配置为执行存储在存储器506中的软件508,以向存储器506传送数据和从存储器506传送数据,且通常依据软件508控制系统500的操作,如上所解释的。
当系统500的功能在操作中时,处理器502被配置为执行存储在存储器506中的软件508,以向存储器506传送数据和从存储器506传送数据,且通常依据软件508控制系统500的操作。操作系统520由处理器502读取,或许在处理器502中缓冲,然后执行。
当系统500以软件508实现时,应当注意,用于实现系统500的指令可以存储在任何计算机可读介质上,以供任何计算机相关的设备、系统或方法使用或与该设备、系统或方法结合使用。在一些实施例中,这样的计算机可读介质可以对应于存储器506或存储设备504中的任一项或这两者。在本文档的上下文中,计算机可读介质是电子的、磁的、光学的或其他物理设备或装置,其可包含或存储计算机程序以供计算机相关的设备、系统或方法使用或与该设备、系统或方法结合使用。用于实现系统的指令可以体现在任何计算机可读介质中,以供处理器或其他此类指令执行系统、仪器或设备使用或者与处理器或其他此类指令执行系统、仪器或设备结合使用。尽管通过示例的方式提到了处理器502,但是在一些实施例中这样的指令执行系统、仪器或设备可以是任何基于计算机的系统、包含处理器的系统或者可以从该指令执行系统、仪器或设备获取指令并执行指令的其他系统。在本文档的上下文中,“计算机可读介质”可以是可以存储、通信、传播或传输程序的任何装置,该程序供处理器或其他此类指令执行系统、仪器或设备使用或者与处理器或其他此类指令执行系统、仪器或设备使用结合使用。
这样的计算机可读介质可以是例如但不限于电子的、磁的、光学的、电磁的、红外或半导体系统、仪器、设备或传播介质。计算机可读介质的更具体示例(非详尽的列表)包括如下:具有一个或更多个电线的电连接(电子的)、便携式计算机磁盘(磁的)、随机存取存储器(RAM)(电子的)、只读存储器(ROM)(电子的)、可擦除可编程只读存储器(EPROM、EEPROM或闪存)(电子的)、光纤(光学的)和便携式光盘只读存储器(CDROM)(光学的)。注意,计算机可读介质甚至可以是纸或其上打印有程序的另一合适的介质,因为程序可以例如经由光学扫描纸或其他介质来电子捕获,然后编译、解释或者如果需要以合适的方式进行处理,然后存储在计算机存储器中。
在替代实施例中,在系统500以硬件实现时,系统500可以用以下技术中的任何一种或组合来实现,这些技术在本领域中都是众所周知的:具有用于对数据信号实现逻辑功能的逻辑门的离散逻辑电路、具有适当组合逻辑门的专用集成电路(ASIC)、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
与在3D建模对象中选择边缘的数种以前的方法相比,上述实施例具有优势,这些方法的示例如下所述。图8A示出了切线传播的示例。当用户选择要进行圆角或倒角的边缘时,CAD系统会自动选择相切连接的边缘的链,选择的边缘是其一部分。然而,仅可以选择相切连接到所选择的边缘的边缘。不可以选择3D建模对象中的其他类似的边缘。
图8B示出了选择共享相同边界的所有边缘的示例。当用户选择边缘时,CAD系统使得用户能够将选择范围扩展到与用户选择的边缘共享相同面边界(也称作环)的所有边缘。然而,此处仅可以选择与所选择的边缘共享相同面边界的边缘。不能选择3D建模对象中的其他类似的边缘。
图8C示出了框中选择的示例。此处,用户在计算机屏幕上指定封闭区域(经常是矩形,但可以是任何形状),并选择恰好(部分或全部)在该区域内部的所有边缘或面。然而,该选择技术不是基于边缘/面的形状或大小是否类似。如图8C所示,取决于所显示模型的视角,围绕两个类似的边缘的框可能导致类似的边缘的相异选择。
另一种以前的选择技术在CAD系统中搜索具有相同的数据结构表示的边缘或面。然而,该技术可能会失败,因为形状相同的边缘或面在CAD系统中不一定具有相同的数据结构表示。例如,线性边缘或圆形边缘可以直接由其数学方程式表示,但也可以由NURBS(非均匀有理基样条)表示。而且,两个不同的NURBS表示可以表示形状相同的3D曲线。因此,搜索相同的数据结构表示是搜索相同形状的易于出错的技术。
进一步地,典型的现代CAD系统支持曲线和表面的复杂过程表示,其中几何形状可以通过递归评估程序来表示,该程序可取决于来自以前创建的边缘和面的多个曲线和表面限定。确定两个过程表示的曲线或表面的数据结构表示是否相同,可能很复杂且耗时。同样,在给定3D建模对象中为每个边缘和面搜索类似的边缘和面是O(N2)算法,其性能对于大模型无法很好地比例扩展。
点采样是另一种以前已知的边缘/表面选择技术。在不看它们的数据结构表示的情况下,查找两条曲线或表面是否精确地相同是不切实际的,因为这涉及到测试每个曲线/表面的无数个点的重合性。因此,更常用的搜索方法仅试图确定曲线/表面是否近似地类似,而不是精确地类似。这通过使用点采样来完成。从一个曲线或表面上采样数个(有限数量)点,然后对这些点进行合适的转换和测试,以查看它们是否位于其他曲线或表面上。然而,点采样很耗时,因为检查点是否位于曲线/表面上(也称作反演)一般会结合昂贵的迭代数值算法。结果,点采样不适于在实时用户交互期间识别类似的边缘,特别是不适合用于具有数百个边缘的建模对象。再次地,使用点采样在给定3D建模对象中为每个边缘和面搜索类似的边缘和面是O(N2)算法,其性能对于大模型无法很好地扩展。
总之,对于本领域技术人员而言显而易见的是,在不脱离本发明的范围或精神的情况下,可以对本发明的结构进行各种修改和变型。鉴于前述内容,本发明意图是覆盖本发明的修改和变型,只要这些修改和变型落入所附权利要求及其等同物的范围内。
Claims (7)
1.一种用于在计算机辅助设计(CAD)系统中显示的建模对象中选择多个边缘或面的方法,所述方法包括步骤:
提取多个特征,每个特征包括所述建模对象的多个边缘或面中的一个或更多个边缘或面的可测量的数值属性;
缩放所述多个特征;
接收对所述多个边缘和面中的种子边缘或种子面的选择;
基于所述种子边缘或种子面选出所述多个边缘或面中的建议的边缘或面;以及
在所述显示的建模对象上显示所述建议的边缘或面的图形指示。
2.根据权利要求1所述的方法,所述方法进一步包括步骤:
用第一颜色在所述建模对象上指示所述种子边缘或面;以及
用第二颜色在所述建模对象上指示所述建议的边缘或面。
3.根据权利要求1所述的方法,所述方法进一步包括步骤:
将所述种子边缘或面增加到选择列表中;
接收对所述建议的边缘或面的接受;以及
将所述建议的边缘或面增加到所述选择列表中。
4.根据权利要求3所述的方法,所述方法进一步包括步骤:基于所述选择列表创建所述建模对象的新拓扑特征。
5.根据权利要求3所述的方法,进一步包括步骤:基于所述选择列表修改所述建模对象的现有拓扑特征。
6.根据权利要求1所述的方法,其中,选出所述边缘或面进一步包括使用最近邻搜索。
7.根据权利要求1所述的方法,其中,缩放所述多个特征进一步包括将所缩放的特征平整为特征矢量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201941046868 | 2019-11-18 | ||
IN201941046868 | 2019-11-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112818427A true CN112818427A (zh) | 2021-05-18 |
Family
ID=73198093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011283860.2A Pending CN112818427A (zh) | 2019-11-18 | 2020-11-17 | 用于在建模对象中选择多个边缘和面的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11429759B2 (zh) |
EP (1) | EP3825890A1 (zh) |
JP (1) | JP2021099792A (zh) |
CN (1) | CN112818427A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114398691A (zh) * | 2022-03-25 | 2022-04-26 | 山东豪迈机械科技股份有限公司 | 一种轮胎模具二维视图智能设计方法及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6834278B2 (en) * | 2001-04-05 | 2004-12-21 | Thothe Technologies Private Limited | Transformation-based method for indexing high-dimensional data for nearest neighbour queries |
US8015125B2 (en) * | 2006-08-31 | 2011-09-06 | Drexel University | Multi-scale segmentation and partial matching 3D models |
US20150269284A1 (en) | 2014-03-24 | 2015-09-24 | Siemens Product Lifecycle Management Software Inc. | Intelligent chamfer recognition in cad models |
US10664628B2 (en) | 2014-12-08 | 2020-05-26 | Dassault Systemes Solidworks Corporation | Interactive surface alignment |
US10437938B2 (en) | 2015-02-25 | 2019-10-08 | Onshape Inc. | Multi-user cloud parametric feature-based 3D CAD system |
US11288411B2 (en) * | 2019-01-04 | 2022-03-29 | Ptc Inc. | B-rep matching for maintaining associativity across CAD interoperation |
-
2020
- 2020-10-30 US US17/084,959 patent/US11429759B2/en active Active
- 2020-11-06 EP EP20206192.5A patent/EP3825890A1/en active Pending
- 2020-11-16 JP JP2020190028A patent/JP2021099792A/ja active Pending
- 2020-11-17 CN CN202011283860.2A patent/CN112818427A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114398691A (zh) * | 2022-03-25 | 2022-04-26 | 山东豪迈机械科技股份有限公司 | 一种轮胎模具二维视图智能设计方法及设备 |
CN114398691B (zh) * | 2022-03-25 | 2022-06-10 | 山东豪迈机械科技股份有限公司 | 一种轮胎模具二维视图智能设计方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210150079A1 (en) | 2021-05-20 |
JP2021099792A (ja) | 2021-07-01 |
US11429759B2 (en) | 2022-08-30 |
EP3825890A1 (en) | 2021-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7613539B2 (en) | System and method for mesh and body hybrid modeling using 3D scan data | |
KR101741402B1 (ko) | 평행 지오데식 곡선들에 의해 모델링되는 부품의 설계 | |
Seong et al. | Trimming local and global self-intersections in offset curves/surfaces using distance maps | |
EP0248919A1 (en) | Method for generating representations of 3-dimensional objects and system performing this method | |
US20090160852A1 (en) | System and method for measuring a three-dimensional object | |
US20060267980A1 (en) | CAD method, CAD system and program storage medium storing CAD program thereof | |
JP2008305372A (ja) | 3次元スキャンデータを用いてロフトサーフィスを計算するためのシステム及び方法 | |
CN109615702B (zh) | 网格补洞方法、图像处理设备及具有存储功能的装置 | |
US5701404A (en) | Method and system for efficiently trimming a nurbs surface with a projected curve | |
He et al. | Creation of user-defined freeform feature from surface models based on characteristic curves | |
Cruz et al. | A sketch on sketch-based interfaces and modeling | |
US7218330B1 (en) | Method and system for selecting elements in a graphical user interface | |
CN112818427A (zh) | 用于在建模对象中选择多个边缘和面的方法 | |
US8334869B1 (en) | Method and apparatus for modeling 3-D shapes from a user drawn curve | |
US20080143708A1 (en) | System and method for auto-dimensioning boundary representation model | |
Cui et al. | Adaptive extension fitting scheme: An effective curve approximation method using piecewise bézier technology | |
US20080100615A1 (en) | Sweep with guide surface | |
US20140136156A1 (en) | Circular Staggered Pattern Of Objects | |
Lefebvre et al. | STL model segmentation for multi-axis machining operations planning | |
US7653518B2 (en) | System and method for generating matched contour profiles | |
EP2751723A1 (en) | Notch blends in brep models | |
Dhondt | Unstructured 20-node brick element meshing | |
CN112184893B (zh) | 线面体一体化的绘制方法、装置、设备和存储介质 | |
Lu et al. | Pen-based user interface for geometric decomposition for hexahedral mesh generation | |
US20230037000A1 (en) | Self-intersecting lattice incarnation |
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 |