CN111383327A - 使用弱类型定义进行建模 - Google Patents
使用弱类型定义进行建模 Download PDFInfo
- Publication number
- CN111383327A CN111383327A CN201911393877.0A CN201911393877A CN111383327A CN 111383327 A CN111383327 A CN 111383327A CN 201911393877 A CN201911393877 A CN 201911393877A CN 111383327 A CN111383327 A CN 111383327A
- Authority
- CN
- China
- Prior art keywords
- model
- data object
- topology
- delegated
- delegated data
- 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
- 238000013461 design Methods 0.000 claims abstract description 110
- 238000000034 method Methods 0.000 claims abstract description 90
- 230000004048 modification Effects 0.000 claims description 30
- 238000012986 modification Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 description 26
- 238000013459 approach Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 238000012360 testing method Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 4
- 238000011960 computer-aided design Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 235000015847 Hesperis matronalis Nutrition 0.000 description 1
- 240000004533 Hesperis matronalis Species 0.000 description 1
- 241000208125 Nicotiana Species 0.000 description 1
- 235000002637 Nicotiana tabacum Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000012795 verification 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
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/18—Manufacturability analysis or optimisation for manufacturability
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明尤其涉及一种用于设计三维(3D)模型的计算机实现的方法。该方法包括提供第一3D模型,该第一3D模型通过以下各项来定义:(i)一个委托数据对象,其包括特定于该委托数据对象的类型的输入参数;(ii)输出拓扑,并且该第一3D模型与一几何设计操作序列相关联。该方法还包括:由用户对第一3D模型执行第一几何设计操作,从而获得第二3D模型;确定是否能够从第一3D模型的输出拓扑中获取第二3D模型的输出拓扑;如果无法从第一3D模型的输出拓扑中获取第二3D模型的输出拓扑,则用第二委托数据对象来替换第一委托数据对象,或者保持第一委托数据对象,并且存储第一几何设计操作以及与第一3D模型相关联的几何设计操作序列。
Description
技术领域
概括地说,本发明涉及计算机程序和系统领域,具体地说,本发明涉及用于设计3D模型的数据结构、方法、系统和程序。
背景技术
市场上提供了许多用于对象的设计、工程化和制造的系统和程序。CAD是计算机辅助设计的缩写,例如,它涉及用于设计对象的软件解决方案。CAE是计算机辅助工程的缩写,例如,其涉及用于对未来产品的物理行为进行仿真的软件解决方案。CAM是计算机辅助制造的缩写,例如,其涉及用于定义制造过程和操作的软件解决方案。在这种计算机辅助设计系统中,图形用户界面在技术效率方面起着重要作用。这些技术可以嵌入在产品生命周期管理(PLM)系统中。PLM指代在扩展企业的整个概念中,可以帮助企业共享产品数据、应用通用处理、以及利用企业知识从概念到使用寿命结束来开发产品的业务战略。Dassault Systèmes(达索系统)(商标为CATIA、ENOVIA和DELMIA)提供的PLM解决方案提供了用于组织产品工程知识的工程中心、用于管理制造工程知识的制造中心、以及使企业集成和连接到工程和制造中心的业务战略。该系统共同提供了一个开放的对象模型,该模型将产品、过程、资源链接在一起,以实现基于知识的动态产品创建和决策支持,从而推动优化的产品定义、制造准备、生产和服务。
CAD软件提出了使用一组可分为以下两类的工具来创建称为部件的三维(3D)模型的方法:基于历史的方法(也称为参数化建模)和无历史(History-free)方法(也称为直接建模)。
基于历史的方法被设计为通过使用特征、约束等来存储创建过程的每个步骤,来捕获设计意图。它实际上就像一个部件配方;创建的每个步骤都公开了一组用户可以更改的参数。如果确实更改了一个参数,则将以完全相同的顺序重现整个‘配方’,以重新生成新的部件。通常使用树来表示该方法,该树允许用户快速了解操作的顺序。
无历史方法不依赖于每次修改时都会重现的操作序列。每次修改都是对当前3D模型进行的。也就是说,没有中间步骤,没有“配方”,当用户修改其设计时,该修改将被特征吸收,因此,不会保留导致该修改的参数。因为不保留进行的操作的顺序,因此这种方法使用户可以更快速、更自由地创建3D模型。用户可以专注于他正在创建的几何图形,而不必担心他创建特征的顺序。而且,用户不必担心修改产生的影响。
基于历史的方法的优点也是其缺点。尽管参数化方法几乎可以随时非常方便地更改参数,但它为设计过程带来了刚性。一旦创建了“配方”后,每个特征都是强类型的,你只能使用这些参数。任何其它更改都可能非常复杂,这是因为要获得用户想要的更改,他必须考虑重新生成部件时其将如何影响结果。在用户想要测试不同类型的形状并且想要快速迭代的情况下,这是一个主要缺点。
基于历史的方法中使用的对象是强类型的。为了更改对象的类型,需要创建一个全新的对象,并且用代表操作顺序的树中的新对象来替换原来的对象。与被替换对象没有任何链接的新对象,可能由于拓扑结构的变化而不适合当前的“配方”。如果某个操作由于其所依赖的对象已更改而无法再找到计算其修改所需的元素,则会发生这种情况。在这种情况下,用户将必须明确告诉系统该如何做。这是一个繁琐的任务,历史越复杂,就越繁琐且耗时。
使用无历史方法,用户可以快速迭代形状,因为他正在使用的特征根本没有类型,他正在使用的通用特征不存储创建过程的任何信息。因此,即使用户可以快速迭代其形状,他也只能修改其3D形状的当前状态。他无法访问其先前任何操作的任何参数。
基于历史的方法和无历史方法不是不兼容的,因为从无历史的上下文生成的对象可以集成在基于历史的上下文中。更准确地说,用户可以创建无历史的模型并且对其进行操作,从而从中生成新的3D模型。
但是,这两种方法各自的数据结构不可互操作。实际上,基于历史的方法和无历史方法生成的对象的数据结构有些不同;尤其是因为在基于历史的方法中对象的数据结构是强类型的,而在无历史方法中对象的数据结构是弱类型的。基于历史的上下文中的3D模型的类型是指其特征,它是由一组参数和至少一个将一组参数作为输入并且返回对象拓扑作为输出的操作来定义的。例如,并且参照图1,3D球体是一种类型的3D模型,“球体”类型具有其参数集,即其中心、半径和张开角度。这带来将所有这些参数作为输入并且能够返回球体拓扑的操作。相反,在无历史的上下文中,创建的形状在定义上没有类型,因为对象没有任何参数。应用于对象的每个操作都将应用于该对象的当前定义。在图3的例子中,用户将仅访问球体的拓扑(即,由所有顶点、边线组成的线框),并且根据该信息可以制作面。
总之,基于历史的方法的数据结构包括特定于类型的输入参数、特定于类型的至少一个操作以及由先前操作生成的输出拓扑。无历史方法的数据结构包括由应用于对象的最后一个外部操作生成的当前拓扑。
由于这两种方法之间的这些根本区别,当前的无历史方法不允许获取用户在3D模型上(相当于在网格上)执行的修改的“配方”。尤其是,不可能自动获取和应用对新网格上的第一3D模型执行的相同或相似的设计操作。例如,已经修改了第一汽车模型的门的设计的设计者不能自动将相同的修改应用于第二汽车模型的门。这意味着几乎不可能以无历史的CAD方法来重用设计意图;设计者必须直观地对第二汽车模型的网格进行修改,以期重现他/她的最初设计意图。
在这种情况下,仍然需要一种用于设计三维模型的方法。
发明内容
因此,提供了一种用于设计三维(3D)模型的计算机实现的方法。该方法包括:
-提供第一3D模型,所述第一3D模型通过以下各项来定义:
(i)一个委托数据对象,其包括特定于所述委托数据对象的类型的输入参数;以及
(ii)输出拓扑;
并且与一几何设计操作序列相关联;
-由用户对所述第一3D模型执行第一几何设计操作,从而获得第二3D模型;
-确定是否能够从所述第一3D模型的所述输出拓扑中获取所述第二3D模型的所述输出拓扑;
-如果无法从所述第一3D模型的所述输出拓扑中获取所述第二3D模型的所述输出拓扑,则用第二委托数据对象来替换所述第一委托数据对象,或者保持所述第一委托数据对象,并且存储所述第一几何设计操作以及与所述第一3D模型相关联的所述几何设计操作序列。
该方法可以包括以下中的一个或多个:
-确定是否能够从所述第一3D模型的所述输出拓扑中获取所述第二3D模型的所述输出拓扑是通过确定所述第一3D模型的所述输出拓扑与所述第二3D模型的所述输出拓扑之间的拓扑稳定性来执行的;
-所述第一3D模型和所述第二3D模型的所述输出拓扑中的每一个形成基础网格,并且其中,所述确定拓扑稳定性是通过将所述第一3D模型的所述基础网格与所述第二3D模型的所述基础网格进行比较来执行的;
-用第二委托数据对象来替换所述第一委托数据对象包括:将所述第二输出拓扑与输出拓扑列表进行比较,所述列表中的每个输出拓扑与一个相应的委托数据对象相关联;作为所述比较的结果,自动地选择第三委托数据对象,所述第三委托数据对象是所述列表中具有与所述第二输出拓扑类似的关联输出拓扑的委托数据对象。
-用所述第二委托数据对象来替换所述第一委托数据对象还包括:清空所述几何操作序列;
-存储所述第一几何设计操作包括:识别与所述第一委托数据对象相关联的、其位置被所述设计操作修改的几何形状的至少一个顶点;计算所识别的至少一个顶点的变换,所述变换是所述第一设计操作的结果;
-提供所述第一3D模型包括创建所述第一3D模型,所述创建是第一几何设计操作,所创建的第一3D模型的所述几何设计操作序列为空;
-所述第一几何设计操作是对所述第一3D模型的至少一个输入参数值的修改。
-所述存储所述设计操作以及所述几何设计操作序列是根据连续的到达顺序来执行的,最新到达的设计操作是存储在所述几何设计操作序列的末尾。
还提供了一种计算机程序,该计算机程序包括用于执行该方法的指令。
还提供了一种计算机可读存储介质,其上记录了所述计算机程序。
还提供了一种系统,该系统包括耦合到存储器的处理器,所述存储器在其上记录了所述计算机程序。该系统可以包括图形用户界面。
还提供了一种定义三维(3D)模型的数据结构。该数据结构包括一个委托数据对象。所述一个委托数据对象包括特定于该委托数据对象的类型的输入参数、以及特定于该委托数据对象的类型的至少一个运算符以生成输出拓扑。该数据结构还包括由所述运算符生成的输出拓扑。
该数据结构还可以包括用于添加或移除至少一个运算符的接口。
附图说明
现在将通过非限制性示例的方式,并参考附图来描述本发明的实施例,其中:
-图1示出了强类型对象的示例;
-图2至图4示出了数据结构的示例;
-图5至图6示出了具有数据结构的构建阶段的示例;
-图7a至图7d示出了对数据结构定义的3D模型执行的修改;
-图8示出了用于设计由数据结构定义的3D模型的方法的示例;
-图9至图11示出了用于设计3D模型的方法的用例;
-图12a至图12d示出了由数据结构定义的基础网格的示例;以及
-图13示出了系统的示例。
具体实施方式
参照图8,提出了一种用于设计三维(3D)模型的计算机实现的方法。该方法包括提供第一3D模型。该第一3D模型通过以下各项来定义:(i)一个委托数据对象,其包括特定于该委托数据对象的类型的输入参数;(ii)输出拓扑。该第一3D模型还与一几何设计操作序列相关联。该方法还包括:由用户对第一3D模型执行第一几何设计操作,从而获得第二3D模型。该方法还包括:确定是否能够从第一3D模型的输出拓扑中获取第二3D模型的输出拓扑。此外,该方法还包括:如果无法从第一3D模型的输出拓扑中获取第二3D模型的输出拓扑,则用第二委托数据对象来替换第一委托数据对象,或者保持第一委托数据对象,并且存储第一几何设计操作以及与第一3D模型相关联的几何设计操作序列。
这种方法改进了无历史的计算机辅助设计系统中的3D模型的设计。
值得注意的是,3D模型是通过特定的数据结构来定义的,其中3D模型包括一个委托数据对象,该委托数据对象包括特定于委托数据对象的类型的一个或多个输入参数以及输出拓扑。3D模型及其数据结构通过引入“弱类型”和“灵活建模”的概念,可以解除无历史方法的局限性。像无历史方法一样,定义3D模型的数据结构是通用的。通用对象不是将定义其类型的对象作为输入,而是将其类型委托给另一个对象。这种其它类型的对象也称为“弱类型”。由于这个委托的数据对象,才可以通过使用作为通用特征的数据结构来设计3D模型:通用特征具有类似于基于历史的方法中的类型。但是,该类型与特征不具有牢固的链接,这是因为该类型已委托给委托数据对象。这使特征可以在整个生命周期中根据上下文和操作来更改类型。因此,该数据结构具有足够的通用性,使得可以在设计操作期间保持,并且在必要时或者设计人员要求时对其进行更改。此外,该数据结构为设计人员在特征创建方面提供了新的可能性:事实上,委托数据对象不一定链接到公共特征(例如,平面、圆柱体、球体、圆环…)并且任何形状(例如,通过用户进行设计)可以用于获得新的委托数据对象的类型。
这种方法改进了无历史的计算机辅助设计系统中3D模型的设计。值得注意的是,该方法依赖于一种数据结构,该数据结构通过引入“弱类型”和“灵活建模”的概念来允许解除无历史方法的局限性。本方法允许根据在设计第一3D模型时是否发生拓扑的改变,而保持或替换委托数据对象。尽管采用了无历史方法,但是可以存储对3D模型进行的连续操作,每个操作都在特征的最后状态下进行。如果设计操作的破坏性不是很大,则可以保持委托对象,这是因为在实际上,该操作正在修改委托对象参数之一。另外,本方法确保在特征树中可见的对象永远不会改变,仅底层的委托数据对象发生改变。因此,当委托数据对象发生改变时,系统仍然知道3D模型的先前类型和新类型。尽管用一个新的对象来替换了委托数据对象,但是可以保留有关被替换对象的知识。因此,提高了无历史方法的灵活性。3D模型(以及其委托数据对象)可能会受到对其所属特征所做的任何操作的影响。如果该操作实际上仅修改了弱类型参数之一,则保留弱类型,这意味着用户仍可以修改其它参数。相反,如果该操作修改了弱类型参数的修改无法描述的内容,则当前的弱类型将丢失,由更适当的类型来替换。为了最大程度地使用当前弱类型,应当尽可能长时间地保持当前弱类型的特征。当前弱类型保持的时间越长,用户就能更多地修改其参数,从而使他对形状的控制更多。这里的限制是大多数操作不允许保持原始的弱类型。该方法允许通过存储拓扑稳定的修改来克服该限制。进行这些操作的顺序与当前的委托数据对象保持一致,这意味着每次修改委托数据对象时,系统都可以重现整个序列并且应用存储的修改。因此,系统可以使当前的弱类型保持更长的时间,从而延长其生命周期。
由于该系统能够保持弱类型更长的时间,因此用户可以对其形状进行更多控制。此外,由于该方法适用于无历史上下文,因此用户不必担心自己进行修改的顺序,系统会为他进行处理。
该方法是计算机实现的。这意味着该方法的步骤(或基本上所有步骤)由至少一台计算机或任何类似系统执行。因此,该方法的步骤可以由计算机执行,其可以是全自动执行,也可以是半自动执行。举例而言,可以通过用户计算机交互来执行对该方法的至少一些步骤的触发。所需的用户-计算机交互水平可以取决于预见的自动水平,并且与实现用户意愿的需求保持平衡。举例而言,该水平可以是用户定义的和/或预定义的。
例如,修改第一委托数据对象的步骤是根据例如在设计操作期间的用户动作来执行的。
方法的计算机实现的典型示例是使用适用于该目的的系统来执行该方法。该系统可以包括耦合到存储器和图形用户界面(GUI)的处理器,该存储器上记录有计算机程序,该计算机程序包括用于执行该方法的指令。存储器还可以存储数据库。存储器是适合于这种存储的任何硬件,其可以包括几个物理上不同的部分(例如,一个用于程序、而可能的一个用于数据库)。
数据结构定义了3D模型,并且该方法通常操纵该数据结构并且因此操纵3D模型。3D模型也称为建模对象。建模对象是由存储在例如数据库中的数据定义的任何对象。通过扩展,“建模对象”的表达表示数据本身。根据系统的类型,可以通过不同种类的数据来定义建模对象。该系统确实可以是CAD系统、CAE系统、CAM系统、PDM系统和/或PLM系统的任何组合。在这些不同的系统中,通过相应的数据来定义建模对象。因此,可以提到CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。但是,这些系统并不是彼此排斥的,因为可以通过与这些系统的任何组合相对应的数据来定义建模对象。通过下面提供的这些系统的定义将显而易见的是,系统因此可以很好地是CAD和PLM系统。
在CAD系统中,它还意味着至少适合于基于建模对象的图形表示(如,CATIA)设计建模对象的任何系统。在这种情况下,定义建模对象的数据包括允许表示建模对象的数据。例如,CAD系统可以使用边或线(在某些情况下,利用面或表面)来提供CAD建模对象的表示。线、边或表面可以以各种方式来表示,例如使用非均匀有理B样条(NURBS)来表示。具体而言,CAD文件包含可以从中生成几何图形的规范,从而允许生成表示。建模对象的规范可以存储在单个CAD文件中,也可以存储在多个CAD文件中。表示CAD系统中的建模对象的文件的典型大小,在每个部件1M字节的范围内。建模对象通常可以是数千个部件的组合。
在CAD的上下文中,建模对象通常可以是3D建模对象,例如表示诸如部件或部件组合之类的产品,或者可以是产品组合。“3D建模对象”是指通过允许其3D表示的数据来建模的任何对象。3D表示允许从各个角度查看部件。例如,当表示3D时,可以处理3D建模对象,并且围绕其任何轴或者围绕显示其表示的屏幕中的任何轴来旋转它们。值得注意的是,这不包括未3D建模的2D图标。3D表示的显示有助于设计(即,提高设计人员在统计意义上完成他们的任务的速度)。由于产品的设计是制造过程的一部分,因此可以加快工业制造过程。
3D建模对象可以表示在使用例如CAD软件解决方案或CAD系统来完成产品(例如,(如,机械)零件或零件组合(或等效地是部件的组装,因为从方法的角度来看,部件的组装可以看作是部件本身,或者该方法可以独立地应用于组装中的每个部件),或更一般而言,可以是任何刚体部件(例如,移动装置))的虚拟设计后,要在现实世界中制造的产品的几何形状。CAD软件解决方案允许在包括以下的各种无限的工业领域中设计产品:航空航天、建筑、构造、消费品、高科技设备、工业设备、运输、船舶和/或海上油气生产或运输。因此,通过该方法设计的3D建模对象可以表示工业产品,该工业产品可以是任何机械零件,例如陆地车辆(其包括汽车和轻型卡车设备、赛车、摩托车、卡车和汽车设备、卡车和公共汽车、火车)的一部分、空中飞行器的一部分(例如,其包括机身设备、航空航天设备、推进设备、国防产品、航空设备、太空设备)、海军车辆(其包括海军设备、商业船舶、海上设备、游艇和工作船、船舶设备)的一部分、通用机械部件(例如,其包括工业制造机械、重型移动机械或设备、安装的设备、工业装备产品、金属制品、轮胎制造产品)、机电或电子部件(例如,其包括消费类电子产品、安全和/或控制和/或仪表产品、计算和通信设备、半导体、医疗设备或器械)、消费品(例如,其包括家具、家庭和花园产品、休闲用品、时尚产品、硬商品零售商的产品、软商品零售商的产品)、包装(例如,其包括食品和饮料和烟草、美容和个人护理、家用产品包装)。
PLM系统另外是指适合于管理表示物理制造产品(或者要制造的产品)的建模对象的任何系统。因此,在PLM系统中,通过适合于制造物理对象的数据来定义建模对象。这些数据通常可以是尺度值和/或容差值。对于对象的正确制造而言,具有这样的值确实更好。
CAM解决方案还意味着适合于管理产品制造数据的任何解决方案、硬件软件。制造数据通常包括与要制造的产品、制造过程和所需资源有关的数据。使用CAM解决方案来计划和优化产品的整个制造过程。例如,它可以为CAM用户提供关于可行性、制造过程的持续时间或者在制造过程的特定步骤可以使用的资源(例如,特定机器人)数量的信息;因此可以允许对管理或所需的投资做出决定。CAM是CAD过程和潜在的CAE过程之后的后续过程。这种CAM解决方案由Dassault Systèmes(达索系统)以商标来提供。
CAE解决方案还意味着适合于分析建模对象的物理行为的任何解决方案、硬件软件。有限元方法(FEM)是一种众所周知且广泛使用的CAE技术,其通常涉及将建模对象分解为可以通过方程计算和对物理行为进行仿真的一些元素。这种CAE解决方案由DassaultSystèmes(达索系统)以商标来提供。另一种不断发展的CAE技术涉及对复杂系统进行建模和分析,这些复杂系统由来自不同物理领域的多个组件组成,但不具有CAD几何数据。CAE解决方案允许进行仿真,从而允许优化、改进和验证要制造的产品。这种CAE解决方案由Dassault Systèmes(达索系统)以商标来提供。
PDM代表产品数据管理。PDM解决方案意味着适合于管理与特定产品有关的所有类型的数据的任何解决方案、硬件软件。产品生命周期中的所有参与者都可以使用PDM解决方案:主要是工程师,但也包括项目经理、财务人员、销售人员和采购人员。PDM解决方案通常基于面向产品的数据库。它允许参与者在他们的产品上共享一致的数据,从而防止参与者使用不同的数据。这种PDM解决方案由Dassault Systèmes(达索系统)以商标为来提供。
图13示出了系统的示例,其中该系统是客户端计算机系统(例如,用户的工作站)。
该示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010、也连接到总线的随机存取存储器(RAM)1070。该客户端计算机还提供有图形处理单元(GPU)1110,GPU 1110与连接到总线的视频随机存取存储器1100相关联。在本领域中也将视频RAM 1100称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储设备(例如,硬盘驱动器1030)的访问。适合于有形地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,例如,其包括:半导体存储器设备,比如EPROM、EEPROM和闪存设备;磁盘,比如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM盘1040。上述的任何内容可以通过专门设计的ASIC(专用集成电路)进行补充,或者并入到该ASIC中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,例如光标控制设备、键盘等等。在客户端计算机中使用光标控制设备以允许用户将光标选择性地定位在显示器1080上的任何期望位置。此外,光标控制设备还允许用户选择各种命令并且输入控制信号。光标控制设备包括多个信号生成设备,以用于将控制信号输入到系统。通常,光标控制设备可以是鼠标,该鼠标的按钮用于生成信号。替代地或另外地,该客户端计算机系统可以包括敏感垫和/或敏感屏幕。
该计算机程序可以包括可由计算机执行的指令,该指令包括用于使上述系统执行该方法的单元。该程序可以记录在任何数据存储介质(其包括系统的内存)上。例如,可以以数字电子电路或计算机硬件、固件、软件或它们的组合来实现该程序。可以将该程序实现为装置,例如,有形地体现在机器可读存储设备中以由可编程处理器执行的产品。可以通过可编程处理器执行指令程序,以通过对输入数据进行操作并且生成输出来执行该方法的功能,来执行方法步骤。因此,处理器可以是可编程的和耦合的,以从数据存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,以及向数据存储系统、至少一个输入设备和至少一个输出设备发送数据和指令。如果需要的话,可以以高级过程或面向对象的编程语言或汇编或机器语言来实现该应用程序。在任何情况下,该语言都可以是编译语言或解释语言。该程序可以是完整的安装程序或更新程序。在任何情况下,该程序在系统上的应用都会导致执行该方法的指令。
数据结构是用于控制CAD系统(或类似物)的操作的功能数据。因此,数据结构用于控制在例如无历史CAD系统上设计3D模型的操作。尤其是,数据结构改进了设计操作,这是因为创建形状的类型和参数被传递给通用特征,而通用特征不是强类型的,相反是弱类型的。这里,数据结构是用于设计3D模型(例如,表示现实世界的对象)的技术特征的功能数据。
“设计3D建模对象”指定作为拟定3D建模对象的过程的至少一部分的任何动作或一系列动作。因此,该方法可以包括从头开始创建3D建模对象。替代地,该方法可以包括提供先前创建的3D建模对象,然后修改该3D建模对象。该方法可以包括在制造过程中,在执行该方法之后,该制造过程可以包括:产生与建模对象相对应的物理产品。在任何情况下,通过该方法设计的建模对象都可以表示制造对象。因此,建模对象可以是建模实体(即,表示实体的建模对象)。制造对象可以是产品,例如部分或部件组合。因为该方法改进了建模对象的设计,因此该方法还改进了产品的制造,从而提高了制造过程的生产率。
图1示出了由已知的基于历史的CAD系统通常使用的强类型数据结构的例子。在该例子中,数据结构定义了特征3D球体,其中该3D球体是类型化3D模型。该特征3D球体定义了3D球体类型,该类型带有一组参数,这些参数是球体的中心、半径和张开角度。数据结构附带一个单一的操作,该单一操作是球形操作。该类型的特征的输出返回球体的拓扑,如图1的右侧所示。
现在,从无历史方法的角度来看,只有表示球体的网格对系统是可用的。无历史的范例在于该特征是通用的:这意味着CAD系统不知道网格(包括所有顶点、边线的线框,可以根据该信息来制作线框的面)代表一个球体,这是因为CAD系统仅访问网格。因此,即使设计人员可以快速迭代形状,他也只能修改网格的当前状态;因此,仅修改球体的参数是不可能的,例如设计人员不能修改具有3D球体的3D形状的网格的半径。
图2示出了本发明的数据结构的例子。该数据结构(或特征)是通用的,这意味着该数据结构是非类型化的,因此未链接到一种特定类型的对象(例如,球形图元)。特征是可以从中获得形状的构件。3D建模中通常使用特征来构建3D建模对象。举一个非限制性示例,“典型”特征可以具有以下类型:平行六面体(例如,长方体)、圆柱、球体、金字塔形、圆锥、二次曲面、直纹表面、环形等等。通常而言,一个特征可以表示任何形状,甚至非常复杂的形状,例如汽车或飞机,而该特征拥有足以使特定的运算符生成该形状的一组参数。一组特征可以允许描述一个工业产品(例如,无历史CAD系统中以网格表示的工业产品)。
该数据结构是通用的,其可以用于无历史CAD系统中。通用特征与特征的类型无关。但是,通用特征可以接收数据,执行数据并且获得与具有某种类型的特征所提供的结果相似的结果。该数据结构将定义特征类型的委托数据对象作为输入。委托数据对象有助于“弱类型”通用特征。这意味着该数据结构是通用的,其通用性受到委托数据对象的约束。由于数据结构是通用的,因此数据结构未链接到一个特定的操作。该操作与委托数据对象一起提供。因此,该(通用)数据结构继承某种类型和特定于该委托数据对象的类型的运算符。所述继承是通过向通用特征提供委托数据对象(其包括类型和特定运算符)作为输入来执行的。输出是通用特征根据输入所计算出的拓扑。因此,拓扑特定于输入中提供的类型。
这在图3中进行了说明,在图3中,(通用)数据结构将球体类型的委托数据对象接受为输入,并且由该数据结构产生的拓扑是球体。球体的产生由该类型的运算符控制,该运算符由该数据结构执行(或运行)。因此,数据结构获取委托数据对象的运算符,然后执行。
委托数据对象包括特定于委托数据对象的类型的输入参数。该委托还包括一个或多个特定于委托数据对象类型的运算符。
图4示出了特定于“球体”类型的委托数据对象的例子。当委托对象由通用特征执行时,也就是当系统要求“球体”特征自行构建时,通用特征将其委托给用于该特定类型的委托数据对象。在上面的例子中,委托数据对象知道应当使用‘中心’、‘半径’和‘张开角度’作为参数来构建球体。这样,委托对象将使用其输入参数来生成操作。然后,通用特征将使用该操作来生成其拓扑。因此,如果由于任何原因将委托对象替换为另一个对象,则从通用特征的角度来看,它将是透明的,因为其仍将获取并且运行委托对象给出的操作。
委托数据对象的参数允许实例化生成输出拓扑的运算符。例如,如本领域中已知的:
-特定于“球体”类型的输入参数是中心、半径和张开角度;
-特定于“圆柱”类型的输入参数是轴的方向、圆柱的高度、圆的中心和半径;
-特定于“圆锥”类型的输入参数是轴方向、圆锥的高度、圆锥底的中心和半径;
-特定于“环形”类型的输入参数是方向矢量、中心、大圆的半径和小圆的半径。
该数据结构还包括由运算符生成的输出拓扑。拓扑取决于委托数据对象的类型。
举例而言,可以通过特定于委托数据对象的类型的运算符来执行操作。在这种情况下,该操作也称为内部操作:其不修改输出拓扑的拓扑。内部操作通常是作为修改委托数据对象的输入参数(例如,输出拓扑的比例或移动)的结果而执行的操作。这些操作的列表可以与委托数据对象相关联,使得通用特征具有已经“加载”在该通用特征上的操作可以执行修改的知识。
举例而言,可以通过不是委托数据对象的特定运算符的运算符来执行操作。在这种情况下,该操作也称为外部操作:修改输出拓扑。外部操作通常是在修改输出的拓扑时,不能由委托数据对象的运算符执行的操作(例如,在由数据结构定义的3D模型的3D表示上执行切割)。为了执行该操作,数据结构可以包括适于添加或移除至少一个运算符的接口。可以将运算符“加载”在数据结构上并且进行执行。委托数据对象的运算符可以保持加载在通用特征上,也可以简单地删除。该数据结构始终包含至少一个运算符。
举例而言,可以呈现输出拓扑,使得可以访问由数据结构定义的3D模型的表示(例如,向用户显示)。如本领域中已知的,输出拓扑可以用网格来表示。网格可以是细分表面,该细分表面是一种通过指定较粗的分段线性多边形网格来表示光滑表面的方法。该细分表面可以包括基础网格,基础网格包括表面的定义(即,从中计算表面的一组顶点、边和面)和网格的控制点(例如,Bezier曲线、Nurbs的控制点)。
现在参考图5和图6,现在讨论由根据本发明的数据结构定义的3D模型的构建阶段。
图5表示本领域中已知的无历史系统中通用特征的构建阶段。当用户要求修改形状时,系统经历该形状的构建阶段。通常,在该阶段期间,将调用表示当前修改的运算符,该运算符的结果是与当前形状关联的新形状。构建阶段具有一个输出,即新形状。
图6表示本发明的数据结构的构建阶段。本发明的构建阶段是不同的,这是因为该构建阶段不仅根据当前修改来计算新形状,而且还确保委托数据对象仍然是一致的,如果不一致,则将新的委托数据对象提供给数据结构。
现在参考图8更精确地讨论构建阶段。图8是用于利用本发明的数据结构来设计3D模型的计算机实现方法的例子。尤其是,图8的构建阶段改进了定义3D模型的数据结构的生命周期,更特别地,改进了显著定义3D模型的类型(例如,类型“球体”)的委托数据对象。
用于设计3D模型的方法包括提供第一3D模型。可以通过先前讨论的数据结构来定义第一3D模型。在所有情况下,第一3D模型通过以下各项来定义:(i)一个委托数据对象,其包括特定于该委托数据对象的类型的输入参数;(ii)输出拓扑。如果定义3D模型的数据结构类似于先前参考图2至图6讨论的数据结构,则它还包括至少一个特定于委托数据对象的类型的运算符,以用于生成输出拓扑,该输出拓扑是通过该运算符生成的。
第一3D模型称为“当前通用特征几何”。已经定义了术语“通用特征”。在这里,“通用特征几何”的表述意味着已经计算出表示3D模型的网格,例如将3D模型显示给用户。
该3D模型与一几何设计操作序列相关联。设计操作是根据用户对3D模型的操作执行的修改。通常,用户对3D模型的网格进行修改。修改3D模型的网格是对无历史CAD系统进行的典型用户操作。
序列意味着将按特定顺序存储设计操作。举例而言,设计操作的序列可以是根据连续的到达顺序排序的设计操作。因此,可以按给定设计操作的序列来获得到达顺序。该顺序可以是最新到达的设计操作存储在几何设计操作序列的末尾。因此,第一设计操作排名第一,第二设计操作排名第二,第三设计操作排名第三,…,第n个设计操作排名第n。
该序列可以仅包括一个设计操作。在第一次从其数据结构创建3D模型时,可能发生这种情况:实际上,基于参数值来执行通用特征的新实例化,系统将此视作为设计操作。
然后,用户(例如,设计人员)对第一3D模型执行第一几何设计操作,从而获得第二3D模型。第一设计操作可以是第一3D模型的至少一个输入参数值的修改。该设计操作可以是对网格的修改(或网格的变形),例如用户移动网格的顶点、边、面。
网格是定义3D模型的形状的顶点、边和面的集合。因此,网格定义了从中可以生成3D模型的输出拓扑的图形表示的几何形状。网格可以是细分表面,其通常用于对任意拓扑的自由形式表面进行建模。将细分表面定义为从控制点的多边形基础网格开始的细化过程的极限。基础网格的控制点将渐进的变化传递到细分表面。因此,作为细分过程的迭代的结果,对细分表面的网格进行细化,该细分过程由基础网格的控制点进行控制。因此,细分表面将对基础网格进行近似或插值。Catmull-Clark算法是这种细分方案的一个例子。基础网格广泛地用于CAD中,一个简单的定义可以是:基础网格包括细分网格的定义和细分网格的控制点。应该理解,可以使用一些专用算法。
因此,设计操作可以是在用户对基础网格的控制点之一进行操作时对网格的修改。在图12a、12b、12c和12d上表示了对基础网格的设计操作的例子。图12a示出了作为立方基础网格的基础网格的例子。立方基础网格具有8个控制点,并且边具有相同的长度。没有任何顶点、边或面附连权重。在图12b中,用户已经替换(或移动)图12a的基础网格的控制点,该控制点例如使用Catmull-Clark算法控制原始立方体细分为球体。图12c示出了从作为立方基础网格(8个控制点)的图12a的基础网格获得的细分表面,边具有相同的长度,两个相对面具有权重(100%锐化)。因此获得了圆柱体。图12d示出了从作为立方基础网格(8个控制点)的图12a的基础网格获得的细分表面,边具有相同的长度,每个边上具有权重(100%锐化)。获得了立方体。在这些例子中,控制点修改顶点或边或面的权重,从而修改细分过程。通过权重形成了网格的吸引力。
因此,当检测到网格的修改时,系统知道已经执行了设计操作。作为设计操作的结果,获得了第二3D模型。将第二3D模型存储在易失性存储器中,应当理解的是,第二3D模型可以存储在或者也存储在非易失性存储器中。
在检测到设计操作之后,执行计算以确定是否能够从第一3D模型的输出拓扑中获取第二3D模型的输出拓扑。因此,该操作旨在验证第一3D模型和第二3D模型的各自输出拓扑是否相同。仅为了便于解释起见,提醒3D模型的拓扑结构定义了在连续变形下如何保留3D模型的空间特性;尤其是如何界定和连接元素。拓扑关系涉及实体(例如,诸如实线、面、边、顶点之类的拓扑实体)之间的非几何关系。
举例而言,可以根据对第一模型和第二模型的第一拓扑输出和第二拓扑输出之间的拓扑稳定性的分析,来计算在对第一3D模型进行设计操作之后拓扑变化的确定。当拓扑由于设计操作而不变时,该操作在拓扑上是稳定的。当保留第一3D模型的输出拓扑的拓扑元素与第二3D模型的输出拓扑的拓扑元素之间的双射关系时,操作在拓扑上是稳定的。
举例而言,可以通过比较第一3D模型的基础网格与第二3D模型的基础网格来验证(或不验证)两个输出拓扑之间的拓扑稳定性。例如,控制点数量的改变涉及拓扑的改变。
根据拓扑稳定性的结果(更一般地,根据确定是否能够从第一3D模型的输出拓扑中获取第二3D模型的输出拓扑),替换或保持第一委托数据对象。
如果无法从第一3D模型的输出拓扑中获取第二3D模型的输出拓扑,则替换第一委托数据对象;换句话说,用户进行的修改在拓扑上是不稳定的。
举例而言,由第二数据对象对第一委托数据对象的替换是通过标识与第一设计操作所获得的新输出拓扑相似的输出拓扑来执行的。这可以通过将第二输出拓扑(作为修改的结果获得的新拓扑)与输出拓扑列表的输出拓扑进行比较来执行。列表的每个输出拓扑都与一个委托数据对象相关联,使得当识别出新的输出拓扑与列表的输出拓扑之间的对应关系时,将关联的委托数据对象保持为新的。否则,作为比较的结果选择第三委托数据对象,并且第三委托数据对象是列表中具有与第二输出拓扑相同的关联输出拓扑的委托数据对象。可以自动地执行(例如,用户不干预)第三委托数据对象的选择。
相反,如果可以从第一3D模型的输出拓扑中获取第二3D模型的输出拓扑,则保持第一委托数据对象。因此,通用特征的类型保持不变。另外,将第一几何设计操作以及与第一3D模型相关联的几何设计操作序列一起存储。这意味着将该设计操作与过去的设计操作存储在一起,这些操作不会改变3D模型的输出拓扑。
举例而言,存储该设计操作以及该几何设计操作序列是根据先前存储的几何设计操作的连续的到达顺序来执行的。如已经讨论过的,连续的到达顺序意味着对几何设计操作进行隐式排序。
举例而言,几何设计操作的存储可以包括存储关于网格的几何学的信息。例如,可以存储用于重新计算网格的完整数据集。在另一个例子中,对由于几何设计操作而获得的一个或多个顶点的新位置进行存储。
在另一个例子中,识别其位置被设计操作修改的网格的一个或多个顶点。网格的每个顶点都可以进行唯一地标识。然后,为每个识别的顶点计算变换;作为几何设计操作的结果,至少每个顶点具有修改的位置。变换包括允许根据其先前位置计算顶点的新位置的数据。有趣的是,这减少了要存储的数据的量。特别是,3D空间中的位置仅存储一次(在提供步骤中第一次实例化3D模型的网格时)。然后,对于每个几何设计操作,仅存储一对(顶点标识符;变换)。
举例而言,当一个委托数据对象被另一个委托数据对象替换时,清空与被替换的委托数据对象相关联的几何操作序列。删除该几何操作序列。实际上,对已经执行了最后的几何设计操作的委托数据对象进行替换的委托数据对象,包括对被替换的委托数据对象执行的所有几何设计操作。因此,不再需要存储该几何操作序列。
本发明尤其依赖于以下事实:存储一些几何设计操作的参数以便以后运行。运行意味着将应用该操作序列。但是,并非所有设计操作都必须进行存储:仅存储拓扑稳定的操作,这是因为不稳定的拓扑操作过于破坏了委托数据对象,故在运行存储的操作时可能会带来稳定性问题。根据定义,可以将这种稳定的操作分为一系列变形。存在一个变换列表,如果将其应用于一组点,则等效于当前修改。这就是方法存储的内容。
对于对定义3D模型的数据结构进行的操作的列表进行存储,以使当前的委托数据对象保持得尽可能长。此外,这些存储的操作将在当前委托数据对象的几何图形之上运行。实际上,当修改委托数据对象的参数之一时,首先修改当前委托数据对象的几何形状,然后应用所存储的几何设计操作序列。
这意味着两件事。首先,当前的委托数据对象的几何形状可以与数据结构几何形状不同;必须存储委托数据对象的几何形状。其次,对于每次修改,如果几何设计操作更改了委托数据对象的参数之一,则将运行几何设计操作序列,然后将结果存储为委托数据对象的新几何形状。
如果无法存储几何设计操作,则委托数据对象发生改变,并且将设置通用委托数据对象。在这种情况下,通过构建阶段的先前步骤构建的形状将成为该通用委托数据对象的几何形状。因此,将清空存储的操作列表,这是因为它们现在包含在通用委托数据对象的几何形状中。
参考图9至图11,现在讨论本发明的方法的示例。
图9示出了用户显式地创建球体的情况。这样,系统可以使用用于类型“球体”的委托数据对象来直接创建数据结构。系统将球体的创建视作为设计操作(“弱类型已修改”)。
执行所谓的“运行弱类型修改”,即,使用输入参数值来实例化具有“球体”类型的委托数据对象的数据结构。输入参数值可以是默认参数值,也可以由用户提供。然后,计算具有“球体”类型的委托数据对象的数据结构的几何形状,并且将其显示给用户。参考图7a,向用户显示球体的基础网格。
接着,由于刚刚开始球体的创建,因此不会运行任何“存储的操作”。因此,几何设计操作序列为空。
在执行“运行存储的操作”(在此场景的该步骤不执行任何操作)之后,用户可以获得具有“球体”类型的委托数据对象的数据结构的几何形状。
由于未执行任何几何设计操作(在“是否有当前操作”处,响应为否),因此“新的通用特征几何”是实例化的球体。
图10示出了用户对图9输出的球体的基础网格执行变形的情况。实际上导致网格点发生位移(例如,基础网格的控制点发生位移)的每个操作,认为是要进行存储的候选对象。将该操作存储为与变换相关联的一组点。在用户使用其边之一使球体变形的情况下,这等效于使用基础网格的边的两个顶点来使同一球体变形,如图7b所示。每个顶点可以通过特定的ID进行标识,该ID将与数学变换一起进行存储。
“当前通用特征几何”是球体的基础网格。由于未修改针对“球体”类型的委托数据对象,因此下一步是测试“是否存在当前操作”。测试的答案是肯定的,因为用户执行了几何设计操作(即,球体变形)。“运行当前修改操作”,意味着应用了用户的球体变形。
下一步测试是“操作是否保持弱类型”。换句话说,确定是否能够从初始球体中获取变形球体的输出拓扑(不具有变形)。在图10的例子中,保持了“球体”类型的委托数据对象,这是因为尽管发生了变形,但仍保持了球体的拓扑稳定性。
如果此测试的答案为“否”,即没有保持拓扑稳定性,那么将使用更合适的委托数据对象来代替“球体”类型的当前委托数据对象。
下一步测试是“可以存储该操作吗?”。确定先前的几何设计操作(球体的变形)是否仅仅是球体类型的委托数据对象的输入参数的更新。在当前情况下,情况并非如此。结果,将该几何设计操作存储在几何设计操作序列中。
图10的输出是球体类型的委托数据对象的变形的几何形状。委托数据对象仍然是球体;通用特征具有“球体”类型,并且没有发生改变。
图11示出了对图10的输出的输入参数进行修改的情况。图11的场景的输入是图10的输出。
第一步测试是“弱类型是否被修改”。测试的答案是肯定的,因为用户已修改了当前委托数据对象的至少一个输入参数。执行“运行弱类型修改”,并且根据新的输入参数来修改球体。然后,计算修改后的数据结构的几何形状。该几何形状不显示给用户。参考图7c,在修改了委托数据对象的输入参数“张开角度”之后,表达了球体的基础网格的表示。
由于用户已经修改了委托数据对象的输入参数(球体的张开角度),因此该修改不与几何设计操作序列一起存储。将修改后的参数值存储在委托对象中,但不存储在关联的操作中。
接着,在新的弱类型之上(即,图7b中所示的球体之上),应用(或运行)几何设计操作序列。结果是球体的新几何形状,如图7d所示。
因为没有执行几何设计操作(在“是否存在当前操作”处,响应为否),所以“新的通用特征几何”是如图7d所示的修改后的球体。
因此,现在,在使球体变形时,由于该变形不会修改形状的拓扑,因此系统可以保持“球体”类型的委托数据对象。然后,用户可以随后修改球体的参数。然后,例如修改原始球体的张开角度将导致重现该变形。系统将首先在内部修改委托类型,也就是说,用户将看不到该结果,然后系统将应用存储的变换并且显示结果。
因此,在对形状进行其它操作之后,仍可以修改用于创建初始形状的参数,并且用户可以在创建初始形状之后的任何时间更改其类型。因此,提高了无历史方法的灵活性,这是因为该系统可以使当前委托数据对象保持更长的时间,从而延长其生命周期。
由于该系统能够保持弱类型更长的时间,因此用户可以对其形状进行更多控制。改进了用户与系统的交互:用户不必担心他进行修改的顺序,系统会为他进行处理。
Claims (12)
1.一种用于设计三维(3D)模型的计算机实现的方法,包括:
-提供第一3D模型,所述第一3D模型通过以下各项来定义:
(i)一个委托数据对象,其包括特定于所述委托数据对象的类型的输入参数;以及
(ii)输出拓扑;
并且与一几何设计操作序列相关联;
-由用户对所述第一3D模型执行第一几何设计操作,从而获得第二3D模型;
-确定是否能够从所述第一3D模型的输出拓扑中获取所述第二3D模型的输出拓扑;
-如果无法从所述第一3D模型的所述输出拓扑中获取所述第二3D模型的所述输出拓扑,则用第二委托数据对象来替换所述第一委托数据对象,或者保持所述第一委托数据对象,并且存储所述第一几何设计操作以及与所述第一3D模型相关联的所述几何设计操作序列。
2.根据权利要求1所述的计算机实现的方法,其中,确定是否能够从所述第一3D模型的所述输出拓扑中获取所述第二3D模型的所述输出拓扑是通过确定所述第一3D模型的所述输出拓扑与所述第二3D模型的所述输出拓扑之间的拓扑稳定性来执行的。
3.根据权利要求2所述的计算机实现的方法,其中,所述第一3D模型和所述第二3D模型的所述输出拓扑中的每一个形成基础网格,并且其中,所述确定拓扑稳定性是通过将所述第一3D模型的所述基础网格与所述第二3D模型的所述基础网格进行比较来执行的。
4.根据权利要求1至3中的一项所述的计算机实现的方法,其中,用第二委托数据对象来替换所述第一委托数据对象包括:
-将所述第二输出拓扑与输出拓扑列表进行比较,所述列表中的每个输出拓扑与一个相应的委托数据对象相关联;
-作为所述比较的结果,自动地选择第三委托数据对象,所述第三委托数据对象是所述列表中具有与所述第二输出拓扑类似的关联输出拓扑的委托数据对象。
5.根据权利要求1至4中的一项所述的计算机实现的方法,其中,用所述第二委托数据对象来替换所述第一委托数据对象还包括:
-清空所述几何操作序列。
6.根据权利要求1至5中的一项所述的计算机实现的方法,其中,存储所述第一几何设计操作包括:
-识别与所述第一委托数据对象相关联的、其位置被所述设计操作修改的几何形状的至少一个顶点;
-计算所识别的至少一个顶点的变换,所述变换是所述第一设计操作的结果。
7.根据权利要求1至6中的一项所述的计算机实现的方法,其中:
-提供所述第一3D模型包括创建所述第一3D模型,所述创建是第一几何设计操作;以及
-所创建的第一3D模型的所述几何设计操作序列为空。
8.根据权利要求1至7中的一项所述的计算机实现的方法,其中,所述第一几何设计操作是对所述第一3D模型的至少一个输入参数值的修改。
9.根据权利要求1至8中的一项所述的计算机实现的方法,其中,所述存储所述设计操作以及所述几何设计操作序列是根据连续的到达顺序来执行的,最新到达的设计操作是存储在所述几何设计操作序列的末尾的。
10.一种计算机程序,其包括用于执行根据权利要求1-9中的任一项所述的方法的指令。
11.一种计算机可读存储介质,其上记录了根据权利要求10所述的计算机程序。
12.一种系统,其包括耦合到存储器的处理器,所述存储器在其上记录了根据权利要求10所述的计算机程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18306891.5 | 2018-12-30 | ||
EP18306891.5A EP3674932A1 (en) | 2018-12-30 | 2018-12-30 | Modeling using a weak type definition |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111383327A true CN111383327A (zh) | 2020-07-07 |
Family
ID=65200564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911393877.0A Pending CN111383327A (zh) | 2018-12-30 | 2019-12-30 | 使用弱类型定义进行建模 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11604902B2 (zh) |
EP (1) | EP3674932A1 (zh) |
JP (1) | JP2020115340A (zh) |
CN (1) | CN111383327A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3554349A4 (en) | 2016-12-19 | 2020-06-17 | Lantos Technologies, Inc. | MANUFACTURE OF INFLATABLE MEMBRANES |
US11455779B2 (en) * | 2020-09-09 | 2022-09-27 | Bentley Systems, Incorporated | Visualization of massive 3D models in interactive editing workflows |
EP4016363A1 (en) * | 2020-12-21 | 2022-06-22 | Dassault Systèmes | Topology optimization with reaction-diffusion equations |
US20240070335A1 (en) * | 2022-08-29 | 2024-02-29 | Autodesk, Inc. | Advanced building systems and elements for space design |
WO2024091228A1 (en) * | 2022-10-26 | 2024-05-02 | Siemens Industry Software Inc. | Method and system for capturing and managing changes to a history-based part model |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080174599A1 (en) * | 2007-01-18 | 2008-07-24 | Rothstein Saul J | Implicit Feature Recognition for a Solid Modeling System |
US7733340B1 (en) * | 2008-01-09 | 2010-06-08 | Spaceclaim Corporation, Inc. | Systems and methods for using a single tool for the creation and modification of solids and surfaces |
US20110025688A1 (en) * | 2009-07-28 | 2011-02-03 | Kevin Schneider | Method for validating features in a direct modeling paradigm |
US20120084060A1 (en) * | 2010-10-01 | 2012-04-05 | Autodesk, Inc. | Modifying a parametrically defined model with an explicit modeler |
CN104750907A (zh) * | 2013-12-31 | 2015-07-01 | 达索系统公司 | 三维建模对象的设计 |
US9117308B1 (en) * | 2011-12-29 | 2015-08-25 | Dassault Systemes Solidworks Corporation | Methods and systems for converting select features of a computer-aided design (CAD) model to direct-edit features |
CN105354353A (zh) * | 2015-09-28 | 2016-02-24 | 武汉开目信息技术有限责任公司 | 一种基于mbd模型的加工特征识别和建模方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1501026A1 (en) | 2003-07-25 | 2005-01-26 | Dassault Systèmes | CAD system using a context-free grammar |
EP3449399B1 (en) * | 2016-04-27 | 2023-07-26 | Autodesk, Inc. | Method and system for generating lattice recommendations in computer aided design applications |
-
2018
- 2018-12-30 EP EP18306891.5A patent/EP3674932A1/en active Pending
-
2019
- 2019-12-24 JP JP2019233117A patent/JP2020115340A/ja active Pending
- 2019-12-30 US US16/730,876 patent/US11604902B2/en active Active
- 2019-12-30 CN CN201911393877.0A patent/CN111383327A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080174599A1 (en) * | 2007-01-18 | 2008-07-24 | Rothstein Saul J | Implicit Feature Recognition for a Solid Modeling System |
US7733340B1 (en) * | 2008-01-09 | 2010-06-08 | Spaceclaim Corporation, Inc. | Systems and methods for using a single tool for the creation and modification of solids and surfaces |
US20110025688A1 (en) * | 2009-07-28 | 2011-02-03 | Kevin Schneider | Method for validating features in a direct modeling paradigm |
US20120084060A1 (en) * | 2010-10-01 | 2012-04-05 | Autodesk, Inc. | Modifying a parametrically defined model with an explicit modeler |
US9117308B1 (en) * | 2011-12-29 | 2015-08-25 | Dassault Systemes Solidworks Corporation | Methods and systems for converting select features of a computer-aided design (CAD) model to direct-edit features |
CN104750907A (zh) * | 2013-12-31 | 2015-07-01 | 达索系统公司 | 三维建模对象的设计 |
CN105354353A (zh) * | 2015-09-28 | 2016-02-24 | 武汉开目信息技术有限责任公司 | 一种基于mbd模型的加工特征识别和建模方法 |
Non-Patent Citations (1)
Title |
---|
ANTOINE BRIÈRE-CÔTÉ ET AL.: "Comparing 3D CAD Models: Uses, Methods, Tools and Perspectives", 《COMPUTER-AIDED DESIGN AND APPLICATIONS》, 31 August 2013 (2013-08-31), pages 771 - 794 * |
Also Published As
Publication number | Publication date |
---|---|
US11604902B2 (en) | 2023-03-14 |
JP2020115340A (ja) | 2020-07-30 |
EP3674932A1 (en) | 2020-07-01 |
US20200210632A1 (en) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7164295B2 (ja) | 3dプリンティングのための現実の物体の向き付け | |
US11256832B2 (en) | Replica selection | |
JP7049807B2 (ja) | パラメトリックビュー関数に基づくデータベースの照会 | |
CN111383327A (zh) | 使用弱类型定义进行建模 | |
CN105844711B (zh) | 在细分曲面上雕刻2d图像 | |
CN105389412B (zh) | 顺序更新的执行 | |
JP7431029B2 (ja) | 大規模環境用のマルチインスタンス型シミュレーション | |
US10255381B2 (en) | 3D modeled object defined by a grid of control points | |
JP2019179544A (ja) | フライス作業によって製造可能な部品の設計 | |
CN105389413B (zh) | 按序更新的准则 | |
JP7436143B2 (ja) | 格子構造を含む3d部品の3d有限要素メッシュの設計 | |
JP7431030B2 (ja) | 大規模環境用のマルチインスタンス型シミュレーション | |
CN111354074A (zh) | 经由用户交互来设计3d建模对象 | |
JP2019075103A (ja) | 機械部品を表す2d図面の生成 | |
CN112989503A (zh) | 通过定向优化来设计3d建模对象 | |
JP2020115335A (ja) | 機械部分の設計 | |
JP2022054460A (ja) | 深層学習生成モデル | |
CN111383342A (zh) | 使用弱类型定义进行灵活建模 | |
JP2023056515A (ja) | モデル化オブジェクトの設計 | |
JP2021111376A (ja) | 製品の物理的なプロトタイプの3dモデル化オブジェクト | |
JP2023092523A (ja) | タイプされたパラメータの設定 | |
WO2021112847A1 (en) | Machine learning-based selective incarnation of computer-aided design objects |
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 |