CN105389412A - 顺序更新的执行 - Google Patents

顺序更新的执行 Download PDF

Info

Publication number
CN105389412A
CN105389412A CN201510664645.XA CN201510664645A CN105389412A CN 105389412 A CN105389412 A CN 105389412A CN 201510664645 A CN201510664645 A CN 201510664645A CN 105389412 A CN105389412 A CN 105389412A
Authority
CN
China
Prior art keywords
relation
modeling
node
arc
geometric
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.)
Granted
Application number
CN201510664645.XA
Other languages
English (en)
Other versions
CN105389412B (zh
Inventor
J-F·拉莫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SE
Dassault Systemes of America Corp
Original Assignee
Dassault Systemes of America Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dassault Systemes of America Corp filed Critical Dassault Systemes of America Corp
Publication of CN105389412A publication Critical patent/CN105389412A/zh
Application granted granted Critical
Publication of CN105389412B publication Critical patent/CN105389412B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/12Geometric CAD characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明特别地涉及一种用于设计三维建模对象的计算机实现的方法。该方法包括提供具有节点和弧的建模图,所述节点表示几何对象,每个弧表示链接由该弧的入射节点表示的两个几何对象的关系,其中过程关系由具有与该过程关系相同方向的单向弧表示,并且其中链接几何对象的关系进一步包括由双向弧表示的活跃关系。该方法还包括在修改定义该3D建模对象的数据时,确定强连通图,其中该强连通图为该建模图的强连通分量的图,并且根据强连通图的遍历来更新该3D建模对象。该方法改进了3D建模对象的设计。

Description

顺序更新的执行
技术领域
本发明尤其涉及工业设计领域,所述工业设计诸如车辆设计、包装设计、机械设计、消费物品以及电子器件设计。
背景技术
多种系统和程序被提供在市场上以用于对象的设计、工程和制造。CAD为计算机辅助设计的缩写,例如其涉及用于设计对象的软件解决方案。CAE为计算机辅助工程的缩写,例如其涉及用于对未来产品的物理行为进行仿真的软件解决方案。CAM为计算机辅助制造的缩写,例如其涉及用于对制造过程和操作进行定义的软件解决方案。在这样的计算机辅助设计系统中,图形用户界面在关于技术效率方面扮演重要角色。这些技术可以被嵌入在产品生命周期管理(PLM)系统中。PLM指代商业策略,其帮助公司共享产品数据、应用公共过程,并且在扩展企业概念中影响从概念到其生命周期结束的产品开发的企业知识。
由DASSAULTSYSTEMES(根据商标CATIA、ENOVIA和DELMIA)提供的PLM解决方案提供了工程中心,其组织产品工程知识;制造中心,其管理制造工程知识;以及企业中心,其使企业集成和连接到工程中心和制造中心。连同以上三个中心,系统传送开放对象模型,其链接产品、过程、资源以能够创建动态的、基于知识的产品,并且能够进行决策支持,其驱动优化的产品定义、制造准备、生产和服务。
不同的框架被提供给工业设计者,以用于三维建模对象的设计。在更广泛的框架中,工业设计者经由过程关系来执行其设计。更精确地,工业设计者定义基本几何形状和过程的历史,所述过程将基本几何形状转换为根据过程的历史被分层次连接的更复杂的对象,以形成期望的复杂模型。该框架为更加优选的框架,特别是因为其允许有经验的设计者相对更快地执行其设计。事实上,利用适当的过程,人们可以以相对更少的操作来实现复杂模型。该主题的参考为“Hanbookofsolidmodeling”;DonaldELacourse,Ed:MacGrawHill。
在另一框架中,工业设计者经由非过程关系来执行其设计。更精确地,工业设计者定义基本形状,然后,定义在几何形状之间的活跃关系,以使遵守约束的集合的基本几何形状的集合形成所期望的复杂模型。
在本上下文中,仍然需要改进的解决方案来设计3D建模对象。
发明内容
因此提供了一种用于设计三维建模对象的计算机实现的方法,所述三维建模对象表示工业产品,并且由包括多个几何对象的数据和链接所述几何对象的关系来进行定义,其中链接所述几何对象的关系包括过程关系。该方法包括提供具有节点和弧的建模图的步骤,所述节点表示该几何对象,所述弧的每一个弧表示链接由弧的入射节点表示的两个几何对象的关系,其中该过程关系由具有与该过程关系相同的方向的单向弧表示,并且其中链接几何对象的关系进一步包括由双向弧表示的活跃关系。该方法还包括,在修改对该3D建模对象进行定义的数据时,确定强连通图的步骤,其中该强连通图为建模图的强连通分量的图,并且根据强连通图的遍历来更新该3D建模对象。
该方法可以包括如下中的一个或多个:
-该强连通图的遍历为深度优先遍历;
-在该强连通图的遍历期间,每一个强连通分量独立于建模图的剩余部分而被求解;
-当求解强连通分量时,由作为过程关系的输出的强连通分量节点表示的每一个几何对象被设置为是固定的;
-每一个强连通分量由公式系统解算器或由迭代解算器求解;
-所述活跃关系包括样式关系和/或机械关系;
-所述工业产品为机械部件或消费物品;和/或
-所提供的建模图遵守以下准则,即建模图的每个强连通分量的所有弧为双向的,并且其中,当修改对该3D建模对象进行定义的数据包括添加在添加之前被包括在定义该3D建模对象的数据中的几何对象中的两个几何对象的链接关系时,该方法包括选择由要被添加的关系链接的两个几何对象,该选择根据该准则来执行。
进一步提供了一种计算机程序,包含用于执行该方法的指令。
进一步提供了一种计算机可读存储介质,具有记录其上的计算机程序。
进一步提供了一种CAD系统,包括处理器、存储器和图形用户界面,所述处理器耦合于所述存储器和所述图形用户界面,该存储器具有记录于其上的计算机程序。
进一步提供了一种由所述方法设计的三维对象。
进一步提供了一种存储该三维对象的数据文件。
进一步提供了一种存储该三维对象的数据结构
进一步提供了一种由该三维对象表示的工业产品。
进一步提供了一种用于制造工业产品的方法,包括根据上述设计方法来设计表示该工业产品的三维对象,然后基于所设计的三维对象来制造工业产品的步骤。
附图说明
现将以非限制示例的形式并且参考附图来描述本发明的实施例,其中:
-图1示出了方法的示例的流程图;
-图2示出了系统的图形用户界面的示例;
-图3示出了系统的示例;并且
-图4-图32说明了该方法。
具体实施方式
参考图1的流程图,提出了一种用于设计三维建模对象的计算机实现的方法。该3D建模对象表示工业产品。3D建模对象由包括多个几何对象和链接几何对象的关系的数据进行定义。链接几何对象的关系包括过程关系和活跃关系。该方法包括提供具有节点和弧的建模图的步骤S10,所述节点表示几何对象,所述弧的每一个表示链接由弧的入射节点表示的两个几何对象的关系。在该图中,过程关系由具有与过程关系相同的方向的单向弧表示,并且活跃关系由双向弧表示。提供步骤S10与方法的其他步骤不同地被表示,但从计算机实现的视角,该提供可以实际上产生作为背景过程,以使建模图(在方法中潜在地被修改的)始终被提供。
如图1所示,该方法可以包括在修改S30对3D建模对象进行定义的数据时确定强连通图的步骤S30。该确定可以被执行,例如,从草稿开始执行或从对在方法的先前迭代中确定的强连通图进行更新/检索开始执行。该强连通图为建模图的强连通分量的图。该方法还包括在S30根据强连通图的遍历来更新3D建模对象。修改S30、确定S30和更新S30被表示在同一个框S30中,这是因为它们可以被视为被重叠在单个步骤中,并且不一定是顺序的。
同样如图1所表示的,提供步骤S10可以可选地在选择步骤S20之前,在添加S20链接在添加之前被包括在对三维建模对象进行定义的数据中的几何对象中的两个(即至少两个)几何对象的(活跃或过程)关系(即要由要被添加的关系链接的对象已存在/已经被实例化,即其不是通过添加而被新创建的)时,两个几何对象由待添加的关系进行链接。并且,选择S20和添加S20被表示在同一个框中,因为它们可以被视为被重叠在单个步骤,并且不一定按序。在这种情况下,选择S20根据图所遵守的特定准则执行,例如,在整个方法中。该准则可以在下文中被称为“S20的准则”或“与S20相关的准则”或“顺序准则”。特别地,所提供的建模图遵守以下准则,即建模图的每个强连通分量的所有弧为双向的。
还如图1所表示的,步骤S20和S30的每一个可以在重复迭代之前。特别地,在S20,活跃或过程关系的添加组成对定义3D建模对象的数据的修改,以使S10和S20的迭代可以在S10和S30的迭代之前,其中迭代的S30的数据修改为该迭代的S20的活跃或过程关系的添加。其概念上与S20以及然后S30的迭代相对应,因为S10为后台过程。在该情况下,S20指定S30,就这种意义而言,其添加了进一步的条件,即对定义3D建模对象的数据的修改不以S20中所述的特定方式以外的任何方式执行。例如,该方法可以包括具有S10和S20的第一迭代,以及具有S10和S30的第二迭代,然后可选地利用每次S20或S30被执行的其他迭代。对定义3D建模对象的数据的其他类型(未示出)的修改,诸如添加将已有几何对象作为输入以及创建新的几何对象作为输出的过程关系(即下文可能被称为添加“新的过程”),删除过程关系、或删除活跃关系,可以被考虑。在这种情况下,参考图1的流程图,方法在所述其他类型的修改时不执行S20。该迭代过程对应于工业设计者以连续方式来执行设计方法。事实上,设计者添加或删除过程或活跃关系、或他/她对定义3D建模对象的数据作出其他修改。每次存在这样的修改时,S30可以被执行。每次修改包括添加特定活跃或过程关系时,S20可以被执行,并且S30然后可能被执行。
注意,S30对应于在先前修改时对3D建模对象的更新。该更新允许修改的直接集成,例如,以向设计者提供其视觉反馈(如果例如3D建模对象被显示,同时修改被执行)。然而,该更新不一定在运行中被执行。事实上通常是,设计者执行设计修改而不进行任何更新(并且因此没有任何视觉反馈)。该修改可以累加,并且该更新可以随后在任何时间产生。在该情况下,方法包括S10和S20的若干次迭代(或由S20所设想的之外的其他修改)。然后,该方法可以包括S10和S30的迭代,以可能在另一工作站、另一天和/或由另一人来执行更新。
该方法改进3D建模对象的设计。特别地,该方法允许利用过程关系和活跃关系二者来设计三维对象。其向工业设计者提供了过程关系的体系结构上的优点,以使设计者可以使用过程,以便快速实现复杂几何形状,同时向工业设计者提供了活跃关系的可伸缩性,以使设计者可以在任何时间设置任何约束。方法通过提供在修改其定义数据时执行3D建模对象的更新的系统的方式,从而以鲁棒的方式实现了这两个框架的集成。事实上,该方法可以根据在S30处对强连通图的遍历来系统地执行更新。通过依靠其在图论方面所做的,该方法相对更快地执行。事实上,通过图来表示3D建模对象和关系以及在修改其定义数据时经由使用强连通图来执行对3D建模对象的更新允许更简单和快捷的更新,特别地是因为强连通图可以从一个方法的迭代到另一个而简单地更新。例如,先前迭代的子结果可以在任何迭代中使用。因此,当迭代时该方法允许平滑的设计。同样重要地,该方法允许针对工业设计者的直观和可预测的更新。事实上,工业设计者具有广泛分布并且一致的设计偏好。特别地,正如发明者进行的测试所确认的,工业设计者期望,当修改对包括过程关系的3D建模对象进行定义的数据时,所述过程关系的输入不被该更新修改/移除,除非由设计者进行修改。该方法通过强连通图的遍历来保证该需求。最终,在遵守建模图的每个强连通分量的所有弧为双向的准则的实现中,其由在每次活跃关系或过程关系被添加至两个已有对象之间的3D建模对象时系统地执行S20的选项来保证,该方法允许重用已有的专用解算器来鲁棒地并且快速地执行更新(在其之后,即,在S30)。事实上,强连通分量提供了活跃关系涉及的几何对象组的分离(更可能地,工业设计环境中对于每一个组为相同类型),以使更新可以通过改变已有和充足的活跃解算器和过程执行/估计来执行,如下文当详细描述S30的示例时将提到的。其比开发可以处理两种类型关系的专用的解算器的系统更加简单和系统化。
该方法是计算机实现的。其表示方法的步骤(或基本上所有步骤)由至少一个计算机或任何类似系统来执行。因此,方法的步骤由计算机可能完全自动或半自动地执行。在示例中,触发该方法的至少某些步骤可以通过用户与计算机的交互执行。所需要的用户与计算机交互的等级可以取决于自动预见的等级并且与实现用户需求的需要相权衡。在示例中,该等级可以由用户定义和/或预定义。
该方法的计算机实现的典型示例用于利用适用于该目的的系统来执行该方法。该系统可以包括处理器、存储器和图形用户界面(GUI),所述处理器耦合于所述存储器和所述图形用户界面,该存储器具有记录其上的包括执行该方法的指令的计算机程序。该存储器还可以存储数据库。存储器为适用于这样的存储的任何硬件,可能包括若干物理分立的部件(如一个用于程序,而一个可能用于数据库)。
该方法总体上操作建模对象。建模对象为由存储于数据库中的数据所定义的任何对象。由此可知,表述“建模对象”指代数据本身。由该方法设计的3D建模对象连同其定义数据,具有建模图的结构特征,所述建模图具有表示两种类型的关系的弧。在S20的准则被遵守的实现中,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的环境中,建模对象可以典型地为3D建模对象,例如,表示产品,诸如,部件或部件的组件、或可能为产品的组件。“3D建模对象”表示由允许其3D表示的数据进行建模的任何对象。3D表示允许从所有角度观看部件。例如,3D建模对象当被进行3D表示时,可以被处理和围绕其任何轴或围绕显示表示的屏幕中的任何轴旋转。其特别地排除2D图标,2D图标不属于3D建模。3D表示的显示实现了设计(即统计学上增加了设计者实现其任务的速度)。由于产品设计是制造过程的一部分,所以这加速了工业制造过程。
在利用例如CAD软件解决方案或CAD系统完成3D建模对象的虚拟设计之后,3D建模对象可以表示要在真实世界中制造的产品的几何形状,诸如(例如机械)部件或部件的组件、或更广泛地任何刚性体组件(例如,移动机构)。CAD软件解决方案在多种并且无限制的工业领域中允许产品的设计,所述工业领域包括:航天、建筑、构造、消费物品、高科技设备、工业装置、运输、航海和/或近海或运输。由该方法设计的3D建模对象因此表示如下的工业产品,所述工业产品可以为陆地车辆(包括例如轿车和轻型卡车装置、赛车、摩托车、卡车和马达装置、卡车和公共汽车、火车)的一部分,空中车辆(包括例如航空装置、航天装置、推进装置、防御产品、航线装置、空间装置)的一部分,海军车辆(包括例如海军装置、商船、近海装置、游艇和工作艇、航海装置)的一部分,机械部件(包括例如工业制造机器、重型移动机器或装置、安装装置、工业装置产品、装配式金属产品、轮胎制造产品),电机或电子部件(包括例如消费电子产品、安全和/或控制和/或仪器产品、计算和通信装置、半导体、医学设备和装置),消费物品(包括例如家具、家庭和花园产品、休闲物品、时尚产品、耐用品零售产品、非耐用品零售产品),包装(包括例如食品、饮料和烟草、美容和个人护理、家庭产品包装)。该方法特别有效地应用于当3D建模对象表示机械部件或消费物品时。事实上,在相关需要设计的领域中,工业设计者相对更多地受益于由活跃关系提供的灵活性,以使该方法提供的过程关系和活跃关系的混合特别相关。
PLM系统表示适用于管理表示物理制造产品的建模对象的任何系统。在PLM系统中,建模对象因此由适合于制造物理对象的数据来进行定义。所述数据可以典型地为维度值和/或容差值。对于对象的正确制造,事实上具有这些值是较佳的。
CAM表示计算机辅助制造。CAM解决方案表示适用于管理产品的制造数据的任何解决方案,硬件软件。制造数据总体上包括与要制造的产品、制造过程、和所需资源有关的数据。CAM解决方案用于计划和优化产品的整个制造过程。例如,其可以为CAM用户提供关于可行性、制造过程的持续时间或资源(诸如特定机器人)的数量的信息,所述信息可以用于制造过程的特定步骤;因此允许对管理或所需要的投资进行决策。CAM为CAD过程和潜在的CAE过程之后的后续过程。该CAM解决方案由根据商标的DassaultSystèmes提供。
CAE表示计算机辅助工程。CAE解决方案表示适用于分析建模对象的物理行为的任何解决方案,硬件软件。公知和广泛使用的CAE技术为有限元方法(FEM),其典型地包括将建模对象划分为元素,所述元素的实际行为可以通过公式来被计算和仿真。该CAE解决方案由根据商标的DassaultSystèmes提供。另一个发展中的CAE技术包括复杂系统的建模和分析,所述复杂系统包括来自不同的物理领域的多个分量而不包括CAD几何数据。CAE解决方案允许仿真和优化,对要制造的产品的改进和验证。该CAE解决方案由根据商标的DassaultSystèmes提供。
PDM表示产品数据管理。PDM解决方案表示适用于管理关于特定产品的所有类型的数据的任何解决方案,硬件软件。PDM解决方案可以由产品生命周期中涉及的所有参与者使用:主要是工程师,但也包括项目管理者、财务人员、销售人员和买家。PDM解决方案总体上基于面向产品的数据库。其允许参与者共享其产品的一致数据,并且因此防止参与者利用互不相同的数据。该PDM解决方案由根据商标的DassaultSystèmes提供。
图2示出了系统的GUI的示例,其中该系统为CAD系统。
GUI2100可以为典型的CAD类型的接口,具有标准菜单栏2110、2120,以及底部和侧边工具栏2140、2150。这样的菜单和工具栏包含一组用户可选择的图标,每个图标关联于一个或多个操作或功能,如本领域已知的。这些图标中的一些关联于软件工具,适用于对在GUI2100中显示的3D建模对象2000进行编辑和/或操作,所显示的3D建模对象2000是例如执行该方法的结果。软件工具可以被分组为工作台。每一个工作台包括软件工具的子集。特别地,工作台中的一个为编辑工作台,其适用于编辑建模产品2000的几何特征。在操作中,设计者可以通过选择合适的图标来例如预先选择对象2000的一部分,然后启动操作(例如改变维度,颜色,等)或编辑几何约束。例如,典型CAD操作为对显示在屏幕上的3D建模对象的冲压或折叠进行建模。
GUI可以例如显示关于所显示的产品2000的数据2500。在图2的示例中,被显示为特征树的数据2500,以及其3D表示2000属于包括制动钳和盘的制动组件。GUI可以进一步显示多种类型的图形工具2130、2070、2080,例如用于有助于对象的3D方向、用于触发所编辑产品的操作仿真或绘制所显示的产品2000的多种属性。光标2060可以由触感设备控制以允许用户与图形工具交互。
图3示出了系统的示例,其中该系统为客户端计算机系统,例如用户的工作站。
示例的客户端计算机包括被连接到内部通信总线1000的中央处理单元(CPU)1010、也被连接到该总线的随机存取存储器(RAM)1070。客户端计算机进一步提供图形处理单元(GPU)1110,其关联于被连接到总线的视频随机存取存储器1100。视频RAM1100在本领域中还被称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储器设备(诸如,硬盘驱动1030)的访问。大容量存储器设备适用于有形地实现计算机程序指令和数据,包括所有形式的非易失性存储器,以示例的形式,包括半导体存储器设备,诸如EPROM、EEPROM、以及闪存设备;磁盘,诸如内部硬盘和可移除磁盘;光盘;和CD-ROM盘1040。前述的任一个可以由专门设计的ASIC(专用集成电路)补充或集成于所述专门设计的ASIC(专用集成电路)中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触感设备1090,诸如,光标控制设备、键盘等。光标控制设备在客户端计算机中使用,以使用户在显示器1080上任何期望的位置选择性地定位光标。此外,光标控制设备允许用户选择多种命令,并且输入控制信号。光标控制设备包括多个信号生成设备,以用于将控制信号输入至系统。典型地,光标控制设备可以为鼠标,所述鼠标的按钮用于生成信号。可选地或附加地,客户端计算机系统可以包括触摸板、和/或触摸屏幕。
计算机程序可以包括可由计算机执行的指令,所述指令包括用于使上述系统执行该方法的单元。该程序可记录在包括系统的存储器的任何数据存储介质上。该程序例如可以被实现在数字电子电路中或被实现在计算机硬件、固件、软件、或其组合中。程序可以被实现为装置,例如,有形地被体现在机器可读存储设备中以用于由可编程处理器执行的产品。方法步骤可以由可编程处理器执行,所述可编程处理器通过操作输入数据并且生成输出来执行指令的程序以实施方法的功能。因此处理器可以是可编程的并且被耦合来从数据存储系统、至少一个输入设备、以及至少一个输出设备接收数据和指令,并且将数据和指令发送至数据存储系统、至少一个输入设备、以及至少一个输出设备。应用程序可以以高级过程或面向对象的编程语言被实现,或如果需要以汇编或机器语言被实现。在任何情况下,语言可以为编译或解释语言。程序可以为完全安装程序或更新程序。系统中程序的应用在任何情况下产生用于执行方法的指令。
“设计3D建模对象”指代任何动作或动作序列,其为加工3D建模对象的过程的至少一部分。因此,该方法可以包括根据草图来创建3D建模对象。可选地,该方法可以包括提供先前创建的3D建模对象,然后修改该3D建模对象。通过利用计算机辅助几何设计的虚拟产品的设计由使用连接几何形状的关系而被高度增强。CAD系统通过以下方式来捕获设计意图,即设计变化可以通过所述关系来被传播至相关几何形状,以使整个模型可以被自动更新。
在CAD世界中,传统上存在两种关系。与现有技术相反,这两种关系共同存在于该方法中。
第一种为所谓的“过程关系”,也称“历史关系”。其捕获以下事实:对象y通过过程f来根据输入对象x计算。其符号化写成y=f(x)(其中f从数学的视角为“映射”),并且表示输出对象y唯一地由输入对象x定义,并且,因此,改变输出对象y的仅有的方式是将输入对象x改变为x’,并且通过利用过程:y’=f(x’)来计算对象y的新的版本y’。过程关系决定性地从输入对象到输出对象的方向定向,并且没有改变该方向的方法。过程关系可以创建已有对象的后验。例如,根据平面剖面来计算被挤压的实体可以通过该过程实现。改变结果实体的形状是要编辑过程并且改变输入数据:剖面的形状或深度值。另一示例为定义汽车的车架的表面中的孔洞,该孔洞例如表示窗户。通过过程和无环数据流相互计算的对象的链为“历史树”。在现有技术中更新历史树是要运行每一个过程,只要其所有输入对象是最新的。由于网络为无环的,所以该过程在有限数量的步骤之后结束。所有基于现有技术历史的几何建模器均基于该概念。
第二种关系被称为“活跃关系”,在该方法的上下文中,其表示“非历史关系”或“非过程关系”。活跃关系包括与曲线和表面相关的样式约束(如,相切、匹配、连接面、端点重合、连接平滑性)。“活跃关系”还包括维度约束(例如距离、角、圆形半径、球形半径、圆柱半径)和几何约束(例如重合、共平面、切线、同轴、平行)。活跃关系可以创建已有对象的后验并且它们本身不是定向的。为便于使用,其可以为定向的,但该方向可以由CAD系统或工业设计者进行转向。因此,在该方法中活跃关系由双向弧来表示。活跃关系的网络由现有技术中的专用解算器来求解。其考虑相同时间内的所有关系并且可以运行迭代数字或组合算法来计算解决方案,例如通过迭代地搜索对公式系统的解决方案。例如,2D草图由专用的解算器计算,刚体的3D机械组件也由专用的解算器计算。
在本方法和CAD系统中,工业设计者因此可以按如下方式来设计3D建模对象。CAD系统将几何对象的列表和几何对象之间的关系呈现给设计者(以任何图形方式)。如果根据草图设计,工业设计者可以通过声明从由系统所提供的库中选择的预定的基本形状(诸如,明显地作为非限制示例,扇形、圆形、椭圆、圆盘、球、矩形、平行六面体、圆柱)的实例来创建第一几何对象。工业设计者可以定义这样的基本形状(诸如长度,位置)的参数值。然后,设计者可以通过利用已有对象或通过再次实例化基本对象来构造新的几何对象。几何对象在任何情况下为独立存储的数据块(例如作为列表),其定义3D建模对象的几何形状,典型地按照如下讨论的相关方式。几何对象的集合典型地被呈现给可以对其进行区分的设计者。
在任何时间,工业设计者可以定义一个或多个已有几何对象之间的活跃关系或甚至过程关系。从计算机实现的视角,这些关系不修改已有对象的列表,但其在已有对象的参数值上施加约束(如果受到活跃关系的影响)。活跃关系因此为非过程关系,在于其不创建新的几何形状,但其修改已有几何形状。活跃关系为被链接至3D建模对象的已有几何对象的约束。其被称为“活跃”,因为设计者可以通过对已有对象简单的操作来当场创建这样的关系,并且工业设计者可以直接看到结果(而不需要添加新的几何形状)。该方法的活跃关系可以包括样式关系(例如以上提到的相切、匹配、连接表面、端点重合、连接平滑性关系)和/或机械关系(例如以上提到的维度约束-例如距离、角、圆形半径、球形半径、圆柱半径-和/或以上提到的几何约束,例如重合、共平面、切线、同轴、平行)。这些类型的活跃关系在工业产品为机械部件或消费物品的上下文中证明特别地有用。
在任何时间,设计者可以定义包含一个或多个已有几何对象的过程关系。过程关系可以典型地为结构性的,在于其利用一个或多个已有对象(以上提到的被呈现至用户的已有对象的列表),并且其添加新的对象至该列表。与活跃关系相反,过程关系通常不修改输入几何形状(即过程关系对其输入几何对象的参数值不采取动作)。该输出对象持久性地与作为其来源的输入对象相关,以使删除输入对象一定删除输出对象。由过程关系创建的对象然后可以使用自身作为后续过程关系的输入,或其可以被活跃关系所包含。然而,如前所述,如果由此定义的输出实际上对应于由此定义的输入(该对应关系可选地通过过程关系的添加来实施),则过程关系还可以被添加在已有对象之间。
重要的是,从计算机数据视角,注意过程关系和活跃关系之间的差别对方法和系统的计算机实现具有重要影响。事实上,参考面向对象编程,这两种关系为被编程的对象/类,其具有总体不同的行为,因为它们以不同的方式包含其他对象(这种情况下为几何对象)。这些行为对工业环境中特别相关的工程学具有影响。对于以下事实,该方法允许两种类型的关系,并且由此对于同一3D建模对象的两种行为是有利的,特别是在可能非常复杂并且每一个包括数十或数百个特征的机械部件或消费物品的情况下是有利的。
在现有技术中,每一种类型的关系可以被单独估计或求解。过程关系通过更新无环数据流来进行估计;活跃关系通过专用的算法来进行求解。由于CAD工具的集成越来越好,工业设计者使用来在同一几何形状的模型中创建两种类型的关系。问题在于混合两种技术是困难的。典型的情形是过程y=f(x)的输出对象y通过第一活跃关系被连接至另一对象z,对象z通过第二活跃关系被连接至过程的输入对象x。编辑对象x和估计过程f(·)改变对象y,其可以改变对象z然后改变对象x,而对象x为过程f(·)的输入对象。明显地,该循环数据流需要既非单独的活跃解算器也非单独的过程估计的求解技术。问题在于不存在提供通用和可接受解决方案的工业算法。该结论来自由申请人通过原型执行的测试。从工业设计者视角,所计算的结果可以表现为不可预测、不稳定或不自然的方式。
显然,在两个不令人满意的情形之间存在技术空隙。一方面是两个独立的技术(简称为过程与非过程),而另一方面是两个技术的完整集成。该方法构成中间解决方案,允许活跃关系和过程关系在一定的水平上共存于异构网络中。在稍后呈现的示例中,整个网络通过有限序列进行更新,交替进行执行于合适的网络子集的过程估计和活跃求解。其可以在下文利用表述“按序更新”来指代。
该方法可能的应用的示例现参考图4-7讨论。
维度和几何(机械)约束的典型使用为机械组件的设计。图4示出了直升机尾桨,如在CAD系统的屏幕上所显示的。该机械组件包括多个部分以及几何关系。每一个机械部件为单个实体,并且每一个几何关系链接两个实体的一对功能表面。图5示出了组件的分解配置以使所有部件是可见的。在该组件中,圆柱形表面1与圆柱形表面2同轴。圆柱形表面5与圆柱形表面6同轴。球形表面3与球形表面4同圆心。多个其他这样的几何关系由工业设计者创建。该方法的解算器计算所有实体的位置,以使整个组件符合所有关系。
样式约束的典型应用为车身设计。图6示出了通过利用曲线和表面来设计的车身的形状。工业设计者首先创建曲线,然后表面通过选择曲线的闭合轮廓而被创建。工业设计者还创建匹配和相切关系,所述匹配和相切关系链接曲线对或表面对。曲线1至7通过根据图7的图的样式关系来连接。为清晰起见,应当理解,曲线1的端点为点8和10,而曲线2的端点为点9和11。曲线1和3为固定曲线。曲线6和7的端点共享曲线1的端点。曲线2的端点相应地被约束于曲线6和曲线7。曲线4的端点相应地被约束于曲线1和曲线2。曲线5的端点相应地被约束于曲线2和曲线3。最终,取决于曲线2的曲线5的端点与取决于曲线2的曲线4的端点重合,并且,此时,曲线4和曲线5之间的连接是连续曲率。当工业设计者改变几何形状时,例如通过沿曲线3滑动曲线5的端点,样式解算器能够保持所有这些关系。
实体建模的经典特征列于表I中。在本讨论的上下文中,“特征”表示输入和输出对象之间的“过程关系”。输入对象的特性被详细描述。输出对象始终为实体。表I的过程关系可以全部或部分地由该方法考虑。
表I实体建模中的经典特征
现讨论步骤S30。
如上文提到的,对定义3D建模对象的数据的修改可以为已有几何对象和/或已有关系的任何参数的修改。其还可以指代新的几何对象或关系的添加(如在S20)或已有几何对象或已有关系的删除。在修改时,该方法确定所谓的“强连通图”。强连通图是唯一的并且指代建模图的强连通分量的图(具有节点和弧,所述节点表示几何对象,每一个弧表示链接由弧的入射节点表示的两个几何对象的关系,其中过程关系由具有与过程关系相同的方向的单向弧表示,并且其中活跃关系由双向弧表示)。强连通分量概念在下文详细描述并且从图论中已知。来自图论的多个结果被用于本文的讨论。经典参考为:FrankHarary,GraphTheory,AddisonWesley1969。在该优先权申请被提交时,维基百科提供了强连通分量概念的讨论。
在对3D建模对象进行任何修改时,该方法提供了对象的活跃更新。其在3D建模对象向工业设计者呈现/显示的情况下特别有用。在该情况下,设计者可以直接看到修改的效果。更新还可以发生在较晚的时间,如上文所提到的。在任何情况下,更新基于强连通图来执行,并且更特别地根据强连通图的遍历执行。换言之,强连通图的弧之后是该方法的更新S30/强连通图的弧由该方法的更新S30进行浏览。再换言之,方法根据强连通图的结构,并且更特别地根据强连通图的弧的方向来执行更新。在下文详细描述的特定示例中,强连通图的遍历为公知的深度优先遍历。其允许快而鲁棒的更新,而很好地使用了关联于S20的准则。特别地,在强连通图的遍历期间,每一个强连通分量可以独立于建模图的剩余部分而被求解。换言之,该方法使用几何对象的结构和链接它们的关系,其结构由建模图所捕获,并且该方法将该结构重新组织为另一结构,即,强连通图。然后,通过充分改变该求解和重复链接其之间的不同强连通分量的对象的过程,该方法独立地求解对应于强连通分量的几何对象的组。其允许仅活跃关系被实现的针对模型的专用解算器的重用。例如,每一个强连通分量可以通过公式系统解算器(即将一组活跃关系转换为公式系统并且实质上求解系统的解算器)或通过迭代解算器(即迭代地测试3D建模对象的参数值以达到基本遵守该组活跃关系涉及的约束的状态的解算器)来进行求解。这些解算器从现有技术已知。其包括变量解算器和样式解算器。解算器的特性取决于应用以及要求解的强连通分量所涉及的活跃关系的特性。
该方法因此定义限制,“按序准则”,以用于将过程关系与活跃关系混合。该限制在包括S30的方法的示例中保证按序更新可以被执行。并且,在包括S20的示例中的方法以所述按序准则被保持的方式提供了用于编辑关系网络的便利。
图8的图示示出了以上讨论的按序准则诊断和按序更新的示例的过程。有向(建模)图和强连通图为被该方法转换为用于执行计算的特定数据的数学概念。图9的图示示出了用于在网络中创建活跃或过程关系期间保存按序准则的过程。再次,有向(建模)图和强连通图为被该方法转换为用于执行计算的特定数据的数学概念。
在数据模型的角度以及在更新的角度上,该方法提供了过程和非过程关系的真正水平的集成。继而,工业设计者的价值是更加灵活的和有力的设计系统以及扩展的设计能力。由本发明定义的按序准则是一种引导而非限制。其有助于工业设计者受益于异构网络,并且避免任何复杂的循环情形下的手工管理。按序准则在整个设计过程中可以被安全地保持,随时保证按序更新。其保持了CAD系统的整体性和可靠性。本发明的另一优点是已有过程估计和活跃解算器的可能的重用。新的算法是总的操作,其定义和执行更新序列。这使该实现更加简单和鲁棒。
现提供图论背景技术来更好地理解该方法。
第一,现讨论该方法使用的有向图的概念(建模图为有向图)
有向图为四元组G=(X,U,α,ω),其中X为节点的集合,U为弧的集合,并且其中α:U→X并且ω:U→X为连接函数。表述α(u)=x表示x∈X为弧u∈U的初始节点。弧u为节点x的输出弧。表述ω(u)=y表示y∈X为弧u∈U的结束节点。弧u为节点y的输入弧。
根据该表示,设置ω-1(y)为节点y的输入弧的集合,α-1(x)为节点x的输出弧的集合,设置α(ω-1(y))为节点y的输入节点的集合并且设置ω(α-1(x))为节点y的输出节点的集合。
通过定义,根节点r没有输入弧,表示ω-1(r)=□。叶子节点1没有输出弧,表示α-1(1)=□。
现讨论该方法使用的其它图论概念。
环:环为弧u1,…,un的列表,以使ω(ui)=α(ui+1),其中i=1,…,n-1而ω(un)=α(u1)。环可以由节点x1,…,xn的列表较好地定义,以使对于i=1,…,n-1,存在弧ui,以使α(ui)=xi,而ω(ui)=xi+1,以及弧un,使α(un)=xn,并且ω(un)=x1。图10示出了有向图。节点的集合为X={1,2,…,11}。具有双方向的箭头为表示相反方向的两个箭头的图形快捷方式。节点3、10、11定义环。
子图:给定节点的子集,G的对应子图H由连接节点Y的G的所有的弧定义。公式上,H=(Y,V,α,ω),其中V={u∈U,α(u)∈Y,ω(u)∈Y}。
有向无环图:
根据定义,有向无环图不包括环。
强连通分量:
强连通分量的目标用于以如下方式将有向图组织为子图,即子图包括所有环并且其以无环方式被连接在一起。该图论概念最有效地组织有向图的环特性和无环特性。该方法的关键特征如下详细描述。
公式上,第一步骤用于在节点X集合中定义关系ρ。如果存在从x到y的弧的路径和从y到x的弧的路径,则两个节点x,y∈X为相关联的,其表示为xρy。显然,ρ为等价关系(自反,对称,过渡)。因此,由于基本代数,关系ρ将集合X划分为等价类x1,…,Xρ,其定义X的划分。这表不以及如果i≠j,Xi∩Xj=□。
根据定义,每一个Xi为图G的强连通分量。当然,可以存在连接从一个节点Xi到另一节点Xj的弧,但其不属于任何环。
所有环在由Xi定义的子图中捕获,相应表示为Gi
映射类X→{X1,…,Xp}由class(x)=Xi定义,如果x∈Xi。该映射被较好地定义,这是因为每一个x准确地属于一个Xi
图11示出了先前图的强连通分量(点状线包围)。公式上,X1={7},X2={4,5},X3={1,2,6,8},而X4={3,9,10,11}。此外,class(6)=X3,class(4)=X2,等。
强连通分量计算:
强连通分量可以由以下算法计算。核心算法计算包括给定节点的强连通分量。在开始之前,所有节点未被标记并且强连通分量的计数器n为零。
1.如果存在未被标记的节点x,则n:=n+1,否则,到达步骤6。
2.将标记±n设置至节点X。
3.通过使用其原始方向的图的弧来将标记+n设置至可以从节点x到达的所有节点。
4.通过使用其相反方向的图的弧来将标记-n设置至可以从节点x到达的所有节点。
5.创建新的强连通分量,所述新的强连通分量包括被标记为±n的节点的列表并且到达步骤1。
6.结束。
图12示出了包括节点3的(第一)强连通分量的计算。最左侧图片为在步骤2之后的图,中间图片为步骤3之后的图,最右侧图片为步骤4之后的图。节点3的强连通分量为{3,9,10,11}。
强连通图:
根据定义,强连通图S的节点为强连通分量Xi,而强连通图S的弧为连接来自不同的子集Xi的两个节点的图G的弧(某些这样的弧可能对相同的子集Xi对是存在的,并且某些弧可能连接强连通图的相同的节点对)。最终,S={Xs,Us,αs,ωs),其中:
Xs={x1,…,Xp}
Us={u∈U,class(α(u))≠class(ω(u))}
αs(u)=class(α(u))
ωs(u)=class(ω(u))
根据构造,强连通图始终无环。
图13示出了示例的强连通图。
有向无环图中的父/子节点和部落:
令K=(Z,W,α,ω)为有向无环图,并且令z∈Z为特定节点,称为“选择节点”。根据定义,如果存在从z到z’的弧链(相对于从z’到z的弧链),则节点z’∈Z为z的“孩子节点”(相对于“父节点”)。根据定义,“部落节点”为父节点或子节点。
父节点和子节点可以简单地通过访问图的弧来计算。
图14示出了有向无环图的示例,并且所选择的节点为“a”。“a”的子节点为“b”、“c”和“d”。“a”的父节点为“e”和“g”。因此,“a”的部落节点为“b”、“c”、“d”、“e”和“g”。
现讨论对具有有向图(即建模图)的关系网络进行建模。
几何形状和关系的网络由图进行建模。图的节点表示几何对象,并且弧表示关系。
过程关系z=f(x,y)由将输入对象x和y连接至输出对象z的弧u和v表示。弧的方向从过程f的输入对象x,y朝向过程f的输出对象z。换言之,α(u)=x,ω(u)=z,α(v)=y,ω(v)=z。单个过程可以由若干弧根据输入对象的数量来进行建模。过程的输出对象始终唯一。对过程关系进行建模的弧被称为“过程弧”。其由图15示出。
从CAD工业设计者的视角,活跃关系可以为定向或非定向的。当为定向的时,其可以被转向或被设置为非定向的。当为非定向的时,可以以任何方式被定向。出于这些原因,活跃关系被建模如下。
连接两个几何形状a和b的活跃关系由两个弧v,w表示。一个为从a到b的定向而另一个为从b到a定向(等价于双向弧)。换言之,a(v)=ω(w)=x而α(w)=ω(v)=y。对活跃关系进行建模的弧被称为“活跃弧”。
该建模捕获了过程关系始终为定向并且不可以被转向为与活跃关系相反的事实。从图形的视角,具有单个方向的箭头为过程弧,并且双向箭头为活跃弧。本质上,所有活跃弧都被包括在强连通分量中。
现讨论按序更新准则,其可以应用于该方法的示例中。
给定过程关系和活跃关系的网络,并且给定其相关联的图,按序更新的准则如下:没有过程弧可以被包括在强连通分量中。如果按序准则满足,则所有过程弧属于强连通图,并且在构造上,其以无环方式连接。
图16的示例图不符合该准则,这是因为强连通分量G4中的过程弧3→10。其可以通过例如移除该弧(如在图17所示出的)或通过替换活跃弧(未示出)来进行校正。
现讨论可以通过该方法应用于S30的按序更新算法的示例。
活跃求解和过程估计的可选序列通过遍历强连通图S=(Xs,Us,αs,ωs)来获取。记住,强连通图的每一个节点定义表示形状关系和活跃关系的初始图的子图。
如果强连通图的特征为多于一个叶子节点,则唯一(和符号化)的叶子节点通过创建从每一个叶子节点到所添加的叶子节点的定向弧来添加。在该方式中可以始终假设强连通图具有唯一的叶子节点。
遍历算法使用先入先出列表(如下的LIFO列表)以特别地实现深度优先遍历。在列表结束处添加元素x被写成Put(x)。读取列表中的最后一个元素被写成Read(y)。指令Read(■)不改变列表中元素的数量。从列表中移除最后的元素被写成RemoveLast。
按序更新算法在图18中描述。其主要是深度优先遍历,开始于叶子节点,并且利用弧的相反方向。如下详细描述的“构建”方法在遍历期间调用。初始化为将强连通图的唯一的叶子节点放在列表中。在开始之前,所有节点被标记为0,其被记为对于所有x∈Xs,p(x):=0。大致而言,p(x)=0表示“由x定义的子图还未被求解”,而p(x)=1表示“由x定义的子图已被求解”。
在该示例中,当求解强连通分量时,由作为过程关系的输出的强连通分量的节点表示的每个几何对象(包括输入节点为先前求解的强连通分量中的一个的过程关系)被设置为固定的。这允许鲁棒的求解和对用户意图相对较高的遵守。冲突可以根据任何方式处理。
方法“构建”在强连通图S的节点y被调用。该节点实际上为强连通分量,并且为原始图G的节点的子集,表示y=Xi。设置ωs -1(y)为节点y所有输入弧的集合。本质上,其为过程弧。设置ω(ωs -1(y))为原始图的节点集合,其为过程弧ωs -1(y)的结束节点。方法“构建”执行如下两个动作。
Build(y)
估计由过程弧ωs -1(y)建模的所有过程
集合ω(ωs -1(y))包括该估计的输出对象。
求解由y=Xi定义的活跃子图,考虑ω(ωs -1(y))的对象为固定的并且无法被修改。
按序更新算法以如下方式设计,即过程方法始终在所有其输入对象被估计或求解之后被估计。
算法利用示例图运行。为便于阅读,初始图G(图19)和强连通图S(图20)被示出。LIFO列表被表示为L。
(唯一的)叶子节点{7}被放在列表中,以使L=({7})。由于L的最后元素{7}的输入节点{4,5}被标记为0,所以其被添加至列表中,以使L=({7},{4,5})。由于L的最后元素{4,5}的输入节点{1,2,6,8}被标记为0,其被添加至列表中,以使L=({7},{4,5},{1,2,6,8})。
L的最后元素{1,2,6,8}不具有输入节点。因此,该“构建”方法被应用于{1,2,6,8},表示由节点1,2,6,8定义的G的活跃子图被求解。然后图S的节点{1,2,6,8}被标记为1并且被从L移除,以使L=({7},{4,5})。
现在,L的最后元素{4,5}的所有输入节点被标记为1,因此“构建”方法被应用于{4,5},表示:
·估计由计算来自输入对象8的输出对象4的弧8→4进行建模的过程;
·由节点4,5定义的G的活跃子图被求解,考虑对象4是固定的。
图S的节点{4,5}事实上可以被标记为1,并且从L移除,以使L=({7})。L中最后元素{7}的输入节点{3,9,10,11}被标记为0,因此其被添加至L,由此L=({7},{3,9,10,11})。
由于L的最后元素{3,9,10,11}的所有输入节点被标记为1,因此“构建”方法应用于{3,9,10,11},表示:
·估计由计算来自输入对象6的输出对象3的弧6→3进行建模的过程;
·由节点3,9,10,11定义的G的活跃子图被求解,考虑对象3是固定的。
然后,图S的节点{3,9,10,11}被标记为1并且从L移除,以使L=({7})。
最终,L的最后元素{7}的所有输入节点被标记为1,故“构建”方法应用于{7},表示估计由计算来自输入对象5,8,11的输出对象7的弧11→7、8→7和5→7进行建模的过程。然后,图S的节点{7}被标记为1,并且从L中被移除,以使L=□。
如所期望的,按序更新算法执行过程估计和活跃求解的交替序列(当求解时星形节点为固定的):
1.求解:{1,2,6,8}。
2.估计:8→4。
3.求解:{4*,5}。
4.估计:6→3。
5.求解:{3*,9,10,11}。
6.估计:5,8,11→7。
现讨论按序准则通过由于S20的网络版本来被保存的方法的示例。
现在的问题是当工业设计者编辑关系的网络时保持按序准则。删除活跃关系或删除过程关系无法在图中创建新的环,因此按序准则被保存。创建新的过程对象用于将新的节点(对输出对象进行建模)和源自某些先前节点(对输入对象进行建模)的弧添加到新的节点。该操作无法创建新的环,故按序准则被保存。因此,可以使按序准则无效的仅有的操作为在已有对象,后验之间添加活跃关系或添加过程关系。例如,在图21的图的节点4和1之间添加活跃关系产生包括过程弧8→4的强连通分量{1,2,4,5,6,8},如图22的图所示出的。显然,按序准则丢失。在另一示例中,在图21的图中添加节点7到节点4的过程关系产生包括过程弧5→7和7→4的强连通分量{4,5,7},如在图23中所示出的。显然,按序准则丢失。
如所示出的,在该示例中,所提供的建模图旨在遵守以下准则,即建模图的每个强连通分量的所有弧为双向的。换言之,同一强连通分量的几何对象并未通过过程关系相互关联,以使潜在地包含它们的过程关系一定是具有其他强连通分量的几何对象。为保存该准则,该方法包括在S20,在已有对象之间添加活跃关系或过程关系时,特定选择由待添加的活跃关系或过程关系链接的两个几何对象。选择S20根据准则执行。换言之,系统可以指示工业设计者将关系活跃或过程关系添加至已有几何对象的特定对(至少对于将两个对象作为输入的活跃关系或过程关系)。该方向可以为刚性的(即,用户无法打破准则)或仅仅是引导(简单帮助用户选择和指示-以任何方式-给定对象对的选择与准则兼容还是不兼容)。
在示例中,选择要由待添加的活跃关系链接的两个几何对象包括在所有几何对象中选择第一几何对象。其典型地由用户(即经由用户交互)人工执行。然后该选择包括在建模图中(例如系统自动地)标识在它们和第一几何对象之间添加活跃关系会打破准则的所有几何对象。稍后说明实现该标识的有效和鲁棒的方式,其包括确定被包括在第一几何对象的强连通分量中的所有节点的所有部落节点。然后该方法包括根据所标识的几何对象来选择(典型地由设计者-经由用户交互)第二几何对象。正如所见,选择以外的步骤可以是完全自动的。如果选择如上述为刚性的,则对第二对象的选择可以被限制为未被标识打破准则的建模图的几何对象。
用于创建活跃关系的交互对话可以由此询问工业设计者来选择第一元素和第二元素。一旦第一元素被选择,则示例中的系统能够通过标识网络中所有如果被选择则会使按序准则无效的所有元素,来预期对合适的第二元素的选择。从图形用户界面的视角,足以使该元素不可选择并且被标识。然后,被建议至工业设计者的选择始终保存了按序准则。
现在,确定被包括在第一几何对象的强连通分量的所有节点的所有部落节点可以通过确定建模图的强连通图,然后在强连通图中确定第一几何对象的强连通分量的所有部落节点,以快速和鲁棒的方式被执行。
给定图G中所选择的节点x(表示用户所选择的网络中的元素),不兼容节点可以被标识如下。
1.获取包括所选择的节点x的强连通图S的节点Class(x)。
2.在强连通图S中,计算Class(x)的部落节点,被记为Tribe(Class(x))。
3.与所选择的节点x不兼容的图G的节点,被记为Ic(x),为所有部落节点的并集:
I c ( x ) = ∪ Y ∈ T r u b e ( C l a s s ( x ) ) Y
图24-28对不兼容节点的标识进行示例化。初始图G的所选择的节点为x=11,如在图24所示出的。包括该选择的强连通图节点为Class(11)={3,9,10,11},如在图25中所示出的。
在强连通图中,{3,9,10,11}的不兼容节点为{1,2,6,8}和{7},如在图26所示出的。根据公式,其表示:
Tribe(Class(11))=Tribe({3,9,10,11})={{1,2,6,8},{7}}
然后,不兼容节点为:
Ic(11)={1,2,6,8}U{7}={1,2,6,7,8}
初始图中不可选择的弧和节点在图27的最左图中被示出。如果第二用户选择为节点5,如在图27的中间图中所示出的,则连接节点11和5的活跃关系被创建,并且结果图为图27的最右图。
需要注意,创建弧改变了强连通分量,即使按序准则被保存,如在图28中所示出的。
用于创建过程关系的交互对话询问用户选择第一元素和第二元素。在第一元素被选择时,该方法可以通过标识网络中的如果被选择则会使按序准则无效的所有元素来预期对合适的第二元素的选择。从图形用户界面的视角,足以使这些元素不可选择和被标识。然后,被建议给用户的选择始终保存按序准则。令x为图G中所选择的节点(表示网络中用户所选择的元素)。假设所选择的元素为被创建的定向弧的开始节点。则,不兼容节点被标识如下,
1.获取包括所选择的节点x的强连通图S的节点Class(x)。
2.在强连通图S中,计算Class(x)的父节点,被记为Parent(Class(x))。
3.图G中与所选择的节点x不兼容的节点,被记为Ic(x),为Class(x)的节点以及所有父节点的并集:
I c ( x ) = C l a s s ( x ) ∪ ( ∪ Y ∈ P a r e n t ( C l a s s ( x ) ) Y )
如果所选择的元素为所创建的定向弧的结束节点,则通过以Child方法替换Parent方法来使用相同的方法。
图29-32对不兼容节点的标识进行了示例化。初始图G的所选择的节点为x=5,如图29的最左图中所示出的,并且用户的意图为创建从节点5开始的定向弧。包括该选择的强连通图节点为Class(5)={4,5},如图29中的最右图所示出的。在强连通图中,{4,5}的不兼容节点为{4,5}本身和{1,2,6,8},因为Parent(Class(5))=Parent({4,5})={{1,2,6,8}},并且根据公式:
I c ( 5 ) = C l a s s ( 5 ) ∪ ( ∪ Y ∈ P a r e n t ( C l a s s ( 5 ) ) Y ) = { 4 , 5 } ∪ ( ∪ Y ∈ { { 1 , 2 , 6 , 8 } } Y ) = { 4 , 5 } ∪ { 1 , 2 , 6 , 8 } = { 1 , 2 , 4 , 5 , 6 , 8 }
初始图中不可选择的弧和节点在图30的最左图中示出。如果第二用户选择为节点11,如图30的最右图中所示出的,则将节点5连接至节点11的过程关系被创建,如在图31中所示出的。需要注意,创建弧5→11不改变强连通分量,如在图32中所示出的。
如下情形可以典型地由系统执行。
1.第一创建步骤
a.创建平面P1
b.创建平面P2
c.在P1和P2之间创建距离约束d1
其使P1和P2平行。
d.在P2上绘制剖面K1
e.利用延伸h1和h2从K1伸出实体板S1
f.创建平面P3
g.在P3和S1的侧面之间创建距离约束d2。系统仅移动平面P3
2.第一修改步骤。
a.使P1固定。
b.将距离值d1改变为并且请求更新。
c.P2、K1、S1被系统平移
d.P3不被系统移动。
3.第二修改步骤。
a.不使P1固定。
b.将距离值d2改变为并且请求更新。
c.P3应当被平移其它所有几何形状不被系统移动。
4.第二创建步骤。
a.创建平面P4
b.到达距离约束创建对话。
c.选择S1的面。
d.P1、P2和P3不可供系统选择。P4可供系统选择。

Claims (15)

1.一种用于设计3D建模对象的计算机实现的方法,所述3D建模对象表示工业产品,并且所述3D建模对象由包括多个几何对象的数据和链接所述几何对象的关系来进行定义,其中,链接所述几何对象的所述关系包括过程关系,并且其中,所述方法包括以下步骤:
提供具有节点和弧的建模图,所述节点表示所述几何对象,所述弧中的每一个弧表示链接由所述弧的入射节点表示的两个几何对象的关系,其中,所述过程关系由与所述过程关系具有相同方向的单向弧表示,并且其中,链接所述几何对象的关系进一步包括由双向弧表示的活跃关系;并且
在修改对所述3D建模对象进行定义的数据时,确定强连通图,其中,所述强连通图为所述建模图的强连通分量的图,并且根据所述强连通图的遍历来更新所述3D建模对象。
2.根据权利要求1所述的方法,其中,所述强连通图的遍历为深度优先遍历。
3.根据权利要求2所述的方法,其中,在所述强连通图的遍历期间,每一个强连通分量独立于所述建模图的剩余部分而被求解。
4.根据权利要求3所述的方法,其中,当求解强连通分量时,由作为过程关系的输出的所述强连通分量的节点表示的每一个几何对象被设置为固定的。
5.根据权利要求3或4所述的方法,其中,每一个强连通分量通过公式系统解算器或迭代解算器来被求解。
6.根据权利要求1-5中的任一项所述的方法,其中,所述活跃关系包括样式关系和/或机械关系。
7.根据权利要求6所述的方法,其中,所述工业产品为机械部件或消费物品。
8.根据权利要求1-7中的任一项所述的方法,其中,所提供的建模图遵守所述建模图的每一个强连通分量的所有弧为双向的准则,并且其中,当修改对所述3D建模对象进行定义的数据包括添加链接在添加之前被包括在对所述3D建模对象进行定义的数据中的几何对象中的两个几何对象的关系时,所述方法包括选择由要被添加的所述关系链接的两个几何对象,所述选择根据所述准则来执行。
9.一种由权利要求1-8中的任一项所述的方法设计的三维对象。
10.一种由权利要求9所述的三维对象表示的工业产品。
11.一种用于制造工业产品的方法,包括以下步骤,根据权利要求1-8中的任一项所述的方法来设计表示所述工业产品的三维对象,并且然后基于所设计的三维对象来制造所述工业产品。
12.一种包括用于执行权利要求1-8中的任一项所述的方法的指令的计算机程序。
13.一种具有记录于其上的权利要求12所述的计算机程序的数据存储介质。
14.一种CAD系统,其包括处理器、存储器和图形用户界面,所述处理器耦合于所述存储器和所述图形用户界面,所述存储器具有记录于其上的权利要求12所述的计算机程序。
15.一种存储根据权利要求9所述的三维对象的数据文件或数据结构。
CN201510664645.XA 2014-08-26 2015-08-26 顺序更新的执行 Active CN105389412B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP14306317.0A EP2990970A1 (en) 2014-08-26 2014-08-26 Execution of sequential update
EP14306317.0 2014-08-26

Publications (2)

Publication Number Publication Date
CN105389412A true CN105389412A (zh) 2016-03-09
CN105389412B CN105389412B (zh) 2021-02-09

Family

ID=51542291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510664645.XA Active CN105389412B (zh) 2014-08-26 2015-08-26 顺序更新的执行

Country Status (6)

Country Link
US (1) US10534893B2 (zh)
EP (1) EP2990970A1 (zh)
JP (1) JP6585423B2 (zh)
KR (1) KR20160024825A (zh)
CN (1) CN105389412B (zh)
CA (1) CA2901829A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795796A (zh) * 2018-07-16 2020-02-14 达索系统三维软件公司 设计表示机械结构的3d建模的对象

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI555351B (zh) * 2015-06-17 2016-10-21 國立清華大學 用於非循環網路的網路可靠度計算方法及其系統
US10353916B2 (en) 2016-03-25 2019-07-16 Bentley Systems, Incorporated Techniques for conversion of CAD descriptions
CN108733668B (zh) * 2017-04-13 2021-10-19 百度在线网络技术(北京)有限公司 用于查询数据的方法和装置
US20180314408A1 (en) * 2017-04-28 2018-11-01 General Electric Company Systems and methods for managing views of computer-aided design models
EP3416103A1 (en) * 2017-06-16 2018-12-19 Dassault Systèmes Dataset for learning a function taking images as inputs
EP3502930A1 (en) * 2017-12-22 2019-06-26 Dassault Systèmes Method for computing an unfolded part of a modeled bended part of a 3d object
US11886776B2 (en) * 2018-05-08 2024-01-30 Autodesk, Inc. Techniques for generating graph-based representations of complex mechanical assemblies
US20210240881A1 (en) * 2020-02-05 2021-08-05 Dassault Systemes Solidworks Corporation Predictive Modeling
CN112395701A (zh) * 2020-11-17 2021-02-23 三一重型装备有限公司 用于液压支架的三维设计方法
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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55166859A (en) * 1979-06-15 1980-12-26 Toshiba Corp Discharge lamp with built-in stabilizer
US5251290A (en) * 1991-03-25 1993-10-05 Schlumberger Technology Corporation Modeling method for sorting dependencies among geometric entities
EP1939772A1 (en) * 2006-12-28 2008-07-02 Dassault Systèmes Method and a computer program product for computer aided design of a product comprising a set of constrained objects
US20100274818A1 (en) * 2009-04-28 2010-10-28 Dassault Systemes Method and System for Updating Object Data With Respect to Object Specifications in a Product Life Cycle Management System
CN102053829A (zh) * 2009-11-06 2011-05-11 达索系统公司 用于在计算机辅助设计系统中设计对象组件的方法和系统
EP2474929A1 (en) * 2010-12-30 2012-07-11 Dassault Systèmes Modeled object updating
CN103258349A (zh) * 2013-05-30 2013-08-21 西北大学 颅面复原用模型库及颅面复原方法
EP2633448A2 (en) * 2010-10-28 2013-09-04 Parametric Technology Corporation Methods and systems for computer-aided design

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5165015A (en) 1989-09-25 1992-11-17 Reliance Electric Industrial Company Electronic template system and method
JPH0789382B2 (ja) 1991-03-14 1995-09-27 インターナショナル・ビジネス・マシーンズ・コーポレイション 形状モデルを生成する方法及び装置
US20080172208A1 (en) * 2006-12-28 2008-07-17 Dassault Systems Method and computer program product of computer aided design of a product comprising a set of constrained objects
EP1939771A1 (en) 2006-12-28 2008-07-02 Dassault Systèmes Method and a computer program product for computer aided design of a product comprising a set of constrained objects
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US9330204B2 (en) 2009-05-29 2016-05-03 Siemens Product Lifecycle Management Software Inc. CAD system and method for wireframe coupling
US8214069B2 (en) * 2009-10-23 2012-07-03 Certusoft, Inc. Automated hierarchical configuration of custom products with complex geometries: method and apparatus
EP2354986A1 (en) * 2009-12-31 2011-08-10 Dassault Systèmes Design of an assembly modeled by a graph
US20120109589A1 (en) * 2010-10-28 2012-05-03 Brian Thompson Methods and systems for direct-parametric interoperability in computer-aided design
EP2474928A1 (en) * 2010-12-30 2012-07-11 Dassault Systèmes Merging of modeled objects

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55166859A (en) * 1979-06-15 1980-12-26 Toshiba Corp Discharge lamp with built-in stabilizer
US5251290A (en) * 1991-03-25 1993-10-05 Schlumberger Technology Corporation Modeling method for sorting dependencies among geometric entities
EP1939772A1 (en) * 2006-12-28 2008-07-02 Dassault Systèmes Method and a computer program product for computer aided design of a product comprising a set of constrained objects
US20100274818A1 (en) * 2009-04-28 2010-10-28 Dassault Systemes Method and System for Updating Object Data With Respect to Object Specifications in a Product Life Cycle Management System
CN102053829A (zh) * 2009-11-06 2011-05-11 达索系统公司 用于在计算机辅助设计系统中设计对象组件的方法和系统
EP2633448A2 (en) * 2010-10-28 2013-09-04 Parametric Technology Corporation Methods and systems for computer-aided design
EP2474929A1 (en) * 2010-12-30 2012-07-11 Dassault Systèmes Modeled object updating
CN103258349A (zh) * 2013-05-30 2013-08-21 西北大学 颅面复原用模型库及颅面复原方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHUANG LIANG等: "A graph modeling and matching method for sketch-based garment panel design", 《IEEE 10TH INTERNATIONAL CONFERENCE ON COGNITIVE INFORMATICS AND COGNITIVE COMPUTING》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795796A (zh) * 2018-07-16 2020-02-14 达索系统三维软件公司 设计表示机械结构的3d建模的对象

Also Published As

Publication number Publication date
CN105389412B (zh) 2021-02-09
KR20160024825A (ko) 2016-03-07
US10534893B2 (en) 2020-01-14
CA2901829A1 (en) 2016-02-26
JP6585423B2 (ja) 2019-10-02
JP2016045966A (ja) 2016-04-04
US20160063174A1 (en) 2016-03-03
EP2990970A1 (en) 2016-03-02

Similar Documents

Publication Publication Date Title
CN105389412A (zh) 顺序更新的执行
CN105389413A (zh) 方法和装置
Ma et al. Associative feature modeling for concurrent engineering integration
CN102053829B (zh) 用于在计算机辅助设计系统中设计对象组件的方法和系统
CN103971417B (zh) 由刚性运动转换的几何元素
CN109767495A (zh) 3d部件的增材制造
CN102831636B (zh) 用于在三维场景中设计对象的三维建模组件的方法和设备
CN107092741A (zh) 使用面轨迹的b‑rep设计
CN105761303A (zh) 在3d建模组件上创建包围盒
US11604902B2 (en) Modeling using a weak type definition
EP3503040A1 (en) Design of a 3d finite element mesh of a 3d part that comprises a lattice structure
JP2017142779A (ja) 切り欠きの検出
US9196085B2 (en) Interactively shaping terrain through composable operations
US10496784B2 (en) Designing a physical system constrained by equations
US10409921B2 (en) Designing industrial products by using geometries connected by geometrical constraints
US20200211296A1 (en) Flexible modeling using a weak type definition
CN103823922A (zh) 设计对象的圆形交错图案
US20240184934A1 (en) Hybrid surface modelling with subdivision surfaces and nurbs surfaces
de Leon et al. A Technique for the Conditional Detailing of Grid-Shell Structures: Using Cellular Automata’s as Decision Making Engines in Large Parametric Model Assemblies

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant