前言
1985 年,来自苏联的移民、前列宁格勒大学教授塞缪尔・盖斯伯格(Samuel Geisberg)在美国创立了 Parametric Technology Corporation(PTC),开发出 Pro/Engineer 系统,该系统彻底改变了机械计算机辅助设计软件(MCAD)市场。他是否能想到,以参数化特征建模为基础的系统会在长达四分之一世纪的时间里主导这个行业,并且所有领先的 MCAD 系统(如 CATIA、NX,以及以 SolidWorks、Inventor 和 SolidEdge 为代表的 Windows 时代软件)都会成为 Pro/Engineer 在理念上的继承者?他又能否猜到,在取得令人难以置信的商业成功后,PTC 会做出一个让所有人都意想不到的决定 —— 舍弃最为神圣的 Pro/Engineer 品牌?
分析人士有理由认为,PTC 的这一决定与该公司 2007 年收购 CoCreate 直接相关,后者开创了一种参数化特征建模的替代方法 —— 直接建模。新品牌(Creo)以及采用相同数据格式的新应用程序(Creo Parametric 和 Creo Direct)反映出 PTC 对 MCAD 市场现状的看法 —— 如今 Pro/Engineer 已不存在占主导地位的技术,因此这个 “辉煌一时” 的品牌不再被需要。
在为新应用程序命名时,PTC 强调实体建模有两种方法:参数化建模和直接建模,且每种方法都有其适用领域。开发第二种方法似乎显然是 CoCreate 的功劳。
直接建模的先驱——CoCreate
在四年前(2007年) PTC 以 2.5 亿美元收购 CoCreate 之前,很少有人听说过这家公司。当时,CoCreate 有 280 名员工,为 5000 家客户(包括富士通、惠普、利勃海尔、NEC、松下、爱普生等知名企业)提供服务,年收入达 8000 万美元。尽管这些数字并不起眼,但 CoCreate 有着辉煌的历史,其根源可追溯到惠普的机械设计部门。正是这个部门在 1992 年开发出了一款新颖的 3D 建模系统 ——SolidDesigner。与当时其他知名的 MCAD 系统不同,SolidDesigner 基于动态建模( dynamic modeling),这是一种与基于历史建模不同的替代方法。
在此,我需要稍微偏离一下主题来澄清术语,因为在上面的文本中,我已经使用了四个与实体建模相关的不同术语:参数化建模、直接建模、动态建模和基于历史记录的建模。从逻辑上讲,参数化模型是一种带有参数的几何模型,通过更改这些参数可以获得不同的设计变体。参数化建模是 CAD 的一个基本概念,它显著降低了在项目中引入变更、创建新修改版本等的成本。
然而,由于最初的参数化模型是基于设计历史记录的,这两个完全不同的概念之间出现了相当紧密的联系。确实,如果为每个操作关联一组参数,设计历史记录(从零构建几何实体形状的操作记录)很容易转换为参数化模型,例如二维轮廓的元素类型和坐标及其在 3D 空间中的拉伸高度、孔的直径和深度。通过更改这些值并重新生成设计历史记录,可以创建相同几何形状的不同变体。塞缪尔・盖斯伯格在 Pro/Engineer 中使用的参数化特征形成了一棵由设计历史记录自动生成的历史树。后来,这种方法几乎被所有 MCAD 系统效仿。
尽管这种基于历史记录的参数化方法简单且通用,但它存在一些严重的缺点。其中最重要的是其复杂性以及对客户而言缺乏透明度。要更改几何形状,必须在树中找到合适的特征,并弄清楚应该更改哪个特定参数。用户界面的基本原则 —— 所见即所得(WYSIWYG - What You See Is What You Get)在这里并不适用,因为你编辑的是特征参数的文本或数值,结果却是更改了几何实体的形状。
众所周知,在大型几何模型中,设计历史记录可能相当长,其重新生成可能需要花费大量时间,这使 MCAD 用户处于等待状态,白白浪费时间和精力。
基于历史记录的参数化的另一个显著缺点是,在创建模型时就必须决定哪些模型参数可以更改。如果之后由于某种原因需要更改树中不存在的特定参数,解决办法并不简单:要么从头重新创建模型,要么使用复杂的优化算法,尝试通过更改定义参数(树中存在的参数)的值来接近所需更改参数的值。
这个缺点反映了过程化参数化方法的整体问题,历史记录重新生成方法就是其中一种。在过程化方法中,你预先将所有模型参数分为输入参数和输出参数。只有第一组参数可以更改,而输出参数的值是根据预先确定的过程、公式、历史记录等计算得出的。
最后,基于历史记录的参数化的另一个关键问题是在处理多 CAD 和遗留数据时无法使用该技术。设计历史记录在从一种 CAD 格式转换为另一种格式时通常会丢失,只有边界模型会被转换,在这种情况下,无设计历史记录的边界模型被称为 “哑(dumb)” 几何。一些昂贵的转换器可以将特征从一个系统转换到另一个系统,但这并非万能的解决方案,因为每个系统都有其独特的特征组合,原则上不可能进行精确转换。对于 “哑” 几何中的自动特征识别也是如此:它仅在最简单的情况下有效,无法解决普遍问题。
译注
国内一款异构CAD数据转换引擎 IPX,据称可实现多种MCAD文件格式的带参转换,详见。
所有上述基于历史记录的参数化的缺陷在动态建模系统 SolidDesigner 中都被成功克服。1989 年,惠普率先从 Spatial 获得 ACIS 实体建模内核的授权,这使得 SolidDesigner 首次为用户提供了在 3D 空间中直接操作几何模型元素的工具。
ACIS 通过边界表示法(BRep)对实体几何进行建模,并在实体上实现布尔运算(这构成了形状特征的基础)。布尔运算是全局性的,因为两个实体的并集、交集或差集需要对它们完整的边界结构进行计算密集型操作(这就是基于历史记录的参数化系统的性能问题所在)。不过,Spatial 在 ACIS 中也实现了所谓的局部操作;执行这些操作时,只需处理实体边界的局部邻域即可。因为在许多情况下,局部操作不需要更改模型的拓扑结构(面、边、顶点的数量以及它们之间的邻接关系),因此可以高效执行。更多详细信息,请参阅 1995 年 10 月惠普公司期刊上发表的《HP PE/SolidDesigner:三维计算机辅助设计的动态建模》,备用链接。
惠普的动态建模使用户能够在模型中选择一个或多个面并进行平移或旋转。SolidDesigner 帮助用户自动选择构成特征(如凹槽、圆角、孔等)的相邻面。SolidDesigner 还允许将一个特征从一个位置复制到另一个位置。
参数化编辑是借助所谓的驱动值来完成的。用户可以在模型中设置一个或多个 3D 标签,以指定面之间所需的距离和角度,系统会自动依次执行相关的局部操作来满足这些要求,且这些操作不使用迭代求解器。
1996 年,在众多客户(其中许多客户正在开发自己的 MCAD 系统)的压力下,惠普将机械设计部门剥离出来,成立了一家名为 CoCreate 的子公司,并在 2000 年将其出售给投资基金。七年后,CoCreate 被 PTC 收购(SolidDesigner 的直接继任者如今被称为 Creo Elements/Direct,其基本理念在新产品 Creo Direct 中得以实现,Creo Direct 与 Creo Parametric 一起,正是 “辉煌不再” 的 Pro/Engineer 的 “重生”)。
CoCreate 提出的方法被称为 “直接建模”(“动态建模” 这个术语并未流行起来)。直接建模允许在不考虑几何模型历史记录的情况下对其进行修改。正如保罗・汉密尔顿(Paul Hamilton)在《编辑 3D 几何》系列出版物中正确指出的那样,不应混淆几何建模方法(有或没有树结构)和编辑方法(汉密尔顿自 1977 年起在惠普工作,之后与其他同事一起转到 CoCreate,后来又到了 PTC)。
直接编辑是对一个或多个实体面(例如,构成特定形状特征的面)进行平移、旋转、复制或删除的过程。相对地,编辑特征参数或驱动尺寸被称为间接编辑。直接编辑是直接建模系统的典型操作,而间接编辑存在于基于历史记录的系统中。不过,SolidDesigner 同时具备这两种编辑类型。IRONCAD 的开发者首次在基于历史记录的建模中展示了直接编辑功能。尽管如此,在相当长的一段时间里,市场并未关注到这些成果。(译注:IronCAD于2004年被CAXA并购,现在是CAXA旗下的一款产品)
重现直接建模
2007 年,一切都发生了变化。PTC 宣布与 CoCreate 达成交易,同年,由 PTC 的前员工布莱克・考特尔(Blake Courter)和大卫・泰勒(David Taylor)创建的同名公司发布了一款全新的直接建模系统 ——SpaceClaim。在行业传奇人物迈克・佩恩(Mike Payne)被任命为总裁后,SpaceClaim 在市场上声名大噪。作为 PTC 和 SolidWorks 的联合创始人,他帮助这家新公司吸引了重要的投资者,并建立了稳固的客户群体。与全球最大的金属切削机床制造商德国通快(TRUMPF)以及领先的计算机辅助工程(CAE)解决方案提供商 ANSYS 签署的 OEM 协议,更是取得了实实在在的成功。由此,SpaceClaim 明确勾勒出直接建模能带来显著优势的两个领域:为计算机辅助制造(CAM)和 CAE 准备几何模型,第三个领域是 “概念设计”。
从本质上讲,SpaceClaim 并没有提供 SolidDesigner 所没有的新功能:同样的内核(ACIS)、同样的 “智能” 多选实体面概念,以及同样的直接和间接编辑操作。然而,由于它是专门为 Windows 平台全新设计的,与 CoCreate 相比,它看起来非常现代,并且引发了更多的市场关注:SpaceClaim 每年都宣称其客户群增长了两倍(不过,并未披露具体数字)。
于是,大型供应商们纷纷做出反应。一年后,西门子 PLM 软件公司宣布了其同步技术(承认早在公司名为 Unigraphics 时就已在开发这项技术);2009 年,达索系统(Dassault Systemes)向世界推出了 CATIA V6 LiveShape;欧特克则展示了其 Inventor Fusion 技术预览版。这些都是直接建模应用程序,其格式与同一供应商的基于历史记录的系统兼容。
由于实际上没有人真正了解 LiveShape(互联网上没有一篇对该应用程序功能的全面评测),我将只讨论西门子和欧特克的方法。但首先,我想提及我自己提出的变分直接建模方法,我在 2007 年的论文《Using LEDAS Computational Software Toolkits to Shorten Development Cycle of Variational CAD Systems》 中首次概述了这一方法,并在 2008 年的论文《Variational Direct Modeling: How to Keep Design Intent in History-Free CAD》中进行了更详细的描述。我提及此事是因为后来欧特克和西门子提出的方法在概念上与变分直接建模有很多共同之处。
变分直接建模
在讨论过程化参数化方法的缺点(主要缺点是预先将所有参数分为输入和输出参数)时,我没有提到一种早已为人所知的替代方法 —— 变分建模。在变分建模中,模型的参数连接是通过声明式方式设置的,即列出连接模型元素的约束条件。与过程、公式和设计历史记录不同,约束条件没有方向性:它们并不确定连接的参数中哪个是输入参数,哪个是输出参数。因此,约束条件很容易在参数之间形成循环依赖关系(例如, x = 2 × y x=2\times y x=2×y 且 y = x − 2 y=x-2 y=x−2),所以需要一个特殊的迭代求解器,它能够通过计算所有相关参数的新值来同时解决所有给定的约束条件。
这种求解器并不陌生。一些早期的商业产品是英国公司 D-Cubed(目前是西门子 PLM 软件的一部分)从 20 世纪 80 年代末开始开发的 2D/3D DCM 求解器。如今,它们在市场上与俄罗斯公司 LEDAS 自 2001 年起开发的 LGS 2D/3D 竞争,最近 LGS 2D/3D 的所有权变更为比利时的 Bricsys。此类求解器的传统应用领域是 2D 参数化绘图 / 草图绘制和 3D 装配设计 / 运动学。然而,结合高效的实体建模内核,变分求解器也可用于控制以 BRep 表示的实体几何形状。正是针对这一应用领域,我建议使用 “变分直接建模” 这一术语。
2008 年,LEDAS 为 Google SketchUp 发布了其首款功能有限的变分直接建模产品;2009 年,开始为 Rhino 开发一款更高级的产品(该插件的首个商业版本 ——RhinoWorks 于 2011 年 4 月发布);2010 - 2011 年,与 Bricscad 和 KOMPAS - 3D 签署了开发类似功能的合同。如今,变分直接建模技术在 Bricscad 中得到了最有效的应用,这在很大程度上要归功于 ACIS—— 这个作为 SolidDesigner 和 SpaceClaim 基础的内核。
所开发技术的一个重要部分是能够避免手动指定大量约束条件,这些约束条件用于保证保留模型的设计意图。在直接建模系统中,这种意图很容易丢失。例如,如果你试图通过旋转桌子顶部的上表面(使桌面相对于地面倾斜)来编辑桌子的 3D 模型,很可能会对结果感到惊讶和烦恼。为了正确修改这样的模型,不仅需要同时旋转桌面的上表面,还需要旋转下表面和侧面,以保持它们之间相应的平行度和垂直度。在 SolidDesigner 和 SpaceClaim 中,这种功能是通过使用模式来实现的,它能够同时选择多个面。然而,对于复杂模型,多选操作可能效率低下,并且与自动约束识别相比,其能力要低得多。
变分直接建模结合了基于历史记录的参数化建模和 “纯粹” 的直接建模二者的优点,如下表所示:
对比项 | 基于历史记录的建模 | “纯粹” 的直接建模 | 变分直接建模 |
---|---|---|---|
易于学习和使用 | 否 | 是 | 是 |
所见即所得模式 | 否 | 是 | 是 |
发生更改时的系统响应时间 | 慢 | 快 | 快 |
指定设计意图的可能性 | 是(通过特征) | 否 | 是(通过约束) |
自动识别设计意图 | 仅限于最简单的特征 | 否 | 完全可以 |
直接编辑 | 有限 | 完全可以 | 完全可以,且保留设计意图 |
参数化编辑 | 受历史树限制 | 基本(逐步进行) | 完全可以 |
编辑导入的几何图形 | 不可能 | 可能 | 可能 |
同步技术
西门子 PLM 软件公司向世界展示的同步技术,实际上在专家中早有耳闻。贾米・沙阿(Jami Shah)和马尔蒂・曼蒂拉(Martti Mäntylä)在他们的《参数化和基于特征的 CAD/CAM》一书中描述了定义特征的两种方法:过程化方法和声明式方法。在过程化方法中,通用特征是根据一组相关过程预先定义的,即用于实例化、修改、复制和删除特征、生成特征几何形状、推导某些参数以及验证特征操作的方法。声明式方法的本质特征是系统使用非过程化方法来描述特征及其属性。
声明式方法将特征定义与实现分离。这与过程化方法形成对比,在过程化方法中,两者在过程定义中相互交织。为了实现分离,可以根据基于边界的建模实体(面、边、顶点)之间的关系(约束)来定义特征的几何形状和其他属性。这就产生了所谓的基于约束的特征定义。
例如,“拉伸轮廓” 可以通过轮廓平面与拉伸后形成的侧面之间的垂直度约束,以及轮廓平面与顶部(拉伸)面之间的距离约束来定义。这种基于约束的特征定义允许对模型进行直接编辑 —— 在约束条件下变换实体面。在这种情况下,每次变换都是动态进行的,同时满足定义模型的所有约束条件。结果,每次变换后约束条件仍然满足,这意味着特征仍然符合其定义(并且模型的设计意图得以保留)。
结合 Parasolid 几何建模内核和 3D DCM 几何约束求解器的功能,西门子 PLM 软件公司的工程师在 SolidEdge 中实现了所谓的同步(通过约束声明式定义)特征,为用户提供了一种选择:既可以立即使用同步特征设计模型,也可以构建包含过程化(在西门子的术语中称为有序)和新同步特征的混合模型(见《同步技术:第三次尝试》)。
译注
图 译注a:西门子 NX 软件,切换同步建模和基于历史记录建模
直接建模与历史树的结合
欧特克和 PTC 为用户提供了一种不同的方法,在单独的应用程序(分别是 Inventor Fusion 和 Creo Direct)中进行直接几何建模,用户可以进行直接和间接模型编辑(通过驱动尺寸),但无法访问设计树。然后,同一模型可以下载到 “经典” 的基于历史记录的应用程序(Inventor 和 Creo Parametric)中,在直接建模系统中对模型所做的更改可以集成到其设计树中。
在此,PTC 采用了一种相当直接的方法,将诸如 “移动”(Move)和 “编辑圆角”(EditRound)等伪特征添加到设计树末尾(详见迪利普・梅内塞斯(Deelip Menezes)所著的《Creo 详解 - 第 5 部分》),而欧特克则实施了一个专用的变更管理器,该管理器能够将直接编辑操作转换为更改设计树中已存在特征参数的操作。
译注
目前,国内CrownCAD软件也采用这种将直接建模与历史树相结合的方式,将直接建模伪特征添加至设计树末尾。
图 译注b:CrownCAD在装配环境下的直接建模
有趣的是,在 Inventor Fusion(以及面向 DIY 市场重新命名的版本 Autodesk 123D)中,欧特克还实现了一个非常简单的约束求解器,这使得这些应用程序与 LEDAS 开发的应用程序略有相似之处,只不过欧特克的产品没有自动约束识别模块,并且可能的约束集(包括其参数类型的所有变体)要少得多。尽管如此,毫无疑问,随着新版本的发布,这一功能将会不断完善。
编辑导入的几何图形
西门子、欧特克和 PTC 的方法首先旨在为其经典 MCAD 应用程序的用户提供使用直接建模的可能性。或许是真的对 SpaceClaim 的努力及其引发的过度关注感到担忧,这些知名供应商主要致力于解决保留自身客户群的问题。实际上,他们向用户传达的是:“你们想要直接建模?现在有了!现在你们可以快速、方便且高效地(不比 SpaceClaim 差)编辑自己的模型,甚至可以将更改集成到设计历史中(这在 SpaceClaim 中是无法实现的)”。
让我们回到本文开头提到的基于历史记录建模的另一个问题:处理多 CAD 和遗留数据。处理此类数据的重要性毋庸置疑:根据阿伯丁研究公司(Aberdeen Research)最近的一项调查,在设计部门工作的受访者中,82% 使用三种及以上 CAD 数据格式,42% 使用超过五种格式。原因非常客观:与原始设备制造商(OEM)供应商紧密合作的必要性、设计产品的长生命周期(超过软件生命周期)、影响业务发展的历史因素等。
受访者表示,处理多 CAD 数据的主要问题是会丢失原始模型在创建系统中所蕴含的智能信息。在 “陌生” 的系统中,设计历史记录丢失,参数化几何模型变成 “哑” 几何。
直接建模系统可用于更改 “哑” 几何,但它们无法保留初始几何的设计意图。变分直接建模技术解决了这一问题,因为它能够根据边界元素之间的几何和尺寸约束自动识别 “哑” 几何的设计意图。如果模型的两个平面相互平行或垂直,这种方向很可能是初始模型设计者的意图。因此,当用户编辑 “哑” 几何时,这些面很可能应保持平行(垂直)(除非用户明确指定两个面之间的不同角度)。对于等直径的孔、等深度的凹槽、模型的各种对称类型等情况也是如此。所有这些关系都可以被识别并用于修改 “哑” 几何。
到目前为止,约束识别比特征识别或树重建要容易得多,因为通过迭代边界元素可以轻松验证可能的几何关系。我认为这正是直接建模系统智能的关键所在。当然,能够向 “哑” 几何添加用户指定内容(无论是基于约束的特征定义,还是简单的单元约束),可以最有效地表达其设计意图。
直接建模面临的挑战
所有现代直接建模系统的弱点仍然是编辑复杂的 NURBS(非均匀有理 B 样条)曲面。在边界模型中识别平面、圆柱面、球面、圆锥面或圆环面是一回事,而识别某个特定面是扫描、放样或混合操作的结果则是另一回事。要根据设计意图编辑这些面,这种识别是绝对必要的。据我所知,目前还没有任何直接建模系统能够(直接或间接)编辑弹簧、螺旋桨、机翼、整流罩等形状。
技术在不断进步。我相信,很快我们就会看到直接建模系统能够大胆地 “攻克” 具有此类复杂面的标准机械制造部件。然而,就目前而言,如果你设计的产品具有复杂的几何形状,最好还是使用基于历史记录的系统。
在许多其他情况下,直接建模系统可能是唯一正确的选择。你需要处理多 CAD 和遗留数据吗?你无法在专业人员培训上进行投资(掌握基于历史记录建模的正确方法绝非易事)?或者你没有资金购买昂贵的许可证(“经典” MCAD 系统价格不菲)?那么你应该考虑使用本文中介绍的直接建模系统之一。
原文链接:Direct Modeling - Who and Why Needs It? A Review of Competitive Technologies
原作时间:2011 年 11 月 14 日,本文基于Dmitry Ushakov 博士于 2011 年 9 月至 10 月在莫斯科和布鲁塞尔举行的欧特克论坛(Autodesk Forum)及 Bricsys 国际会议上的受邀演讲撰写而成。
原作者:Dmitry Ushakov 博士
引伸阅读
- 直接建模在 Shapr3D 中的表现 How does Direct Modeling actually work?
Shapr3D 是一款创新的 3D 建模软件,2014 年由 3 个工程师组成的团队开发出最初的 2 个版本,当时通过手指绘图建模。2016 年 3 月,在 App Store 公开发布,开始使用 Apple Pencil 操作设计,增强了精度。2017 年,3.0 版本与西门子搭档,成为第一个在移动端运行 Parasolid 的 CAD 系统。2020 年 3 月 5 日,被苹果公司评选为 App Store “编辑精选”;6 月,荣获 2020 苹果设计大奖。
本文地址:https://blog.csdn.net/Mechanicoder/article/details/147691874