文章来自于翻译,原文在:https://isicad.net/articles.php?article_num=12886

介绍

如果使用最先进的3D建模程序(CAD)创建新模型或编辑现有模型似乎复杂到你无法在几个小时内掌握,或许值得关注新的设计技术。即使孩子们也能清晰地在2D画中描绘出他们的思想和梦想;然而,并非每个成年人都能应对到3D图像的过渡,尤其是基于历史的设计技术,如参数化的特征造型,这是大多数“机械”CAD的标准。创建一个基于特征的模型并不难;难的是改变模型时控制特征之间的关系。编辑在不同CAD系统中创建的模型更加困难:因为没有单一的特征标准,所以在翻译过程中一些历史数据必然会丢失。

这两个问题都可以通过一种允许直接(而不是基于历史的)与几何模型特征进行操控的方法来解决。然而,基于上述方法(直接,或显式,或动态建模)的CAD系统并没有取代基于历史的设计。原因是这样的模型简化了模型编辑操作,给用户留下了过多的自由度。结果,几乎任何编辑操作都会让原始模型面目全非,“疏远”了它和设计意图之间的关系。一个桌子不再是桌子;轴承不再是轴承,等等。

如何将智能几何编辑与用户操作的简单性相结合呢?答案在于新技术——变式直接建模:使用几何和尺寸约束来定义修改模型时所需的模型行为。变式直接建模可以同时满足所有约束,与参数模型中基于历史的后果形成对比。由于使用现代的符号和数字方法来分解和解决大规模的几何问题(包括数千个约束),变式建模成为可能。约束集合是一个声明性的结构,无论其历史如何,都要统一解释。同时,约束的表达性足以指定特征和它们之间的链接。约束不仅由系统用户设定,也由系统自身设定,该系统在构建原始模型或从另一个系统导入模型时自动识别它们。结果,有了一个易于使用的工具来控制产品的特征概念,它可以充分替代当前的基于历史的和直接的几何建模系统,结合它们的优点,隐藏它们的不足。

这篇论文描述了变式直接建模应用对最终用户的优势。一年多前,LEDAS宣布了其交付可供集成的软件组件工具包以开发变式CAD应用的计划[1]。它旨在通过利用变式建模的所有优点来减少从概念到交付的时间,并增强创新。其中一个宣布的工具包旨在将约束应用到“哑”(无历史)几何体。LEDAS目前正在开发这个工具包,它将在2009年第二季度提供许可。它基于自有的变式几何解算器LGS 3D,可以与任何提供边界表示(多边形网格或BRep)的几何建模内核配合使用。这个解决方案实现了几何和参数内核之间的双向关系:用户启动改变几何模型,根据自动识别或手动设置的几何约束和尺寸。

为了向现有CAD系统的最终用户展示新建模技术的优点,LEDAS计划发布Driving Dimensions,这是一个简单的附加应用程序,为最流行的直接建模系统提供约束驱动的几何修改工具。系列的第一个将是一个为最受追捧的直接建模系统 - Google SketchUp设计的应用程序。本论文概述了开发这个应用程序的计划,这给了我们一个关于新技术对任何CAD系统的高力量的想法。

发表这篇论文,LEDAS欢迎所有CAD开发者和最终用户的合作。

从用户的角度看几何建模

在各种CAD系统中创建3D实体看起来都是一样的。设计师使用一组2D图元,创建一个封闭的平面截面,拉伸它以构造一个3D实体(棱柱),在其面上,他(她)可以构造其他特征,增加或删除体积。每个系统都有自己特定的形状特征;基于轮廓的特征可以添加3D构造 - 布尔运算(如交集),镜像等。

尽管创建3D形式的方法相似,CAD编辑工具却有很大不同。有两类建模器:用于基于历史的建模,以及直接由用户移动其边界元素 - 面、边、顶点(称为无历史或直接建模)。第一类被广泛代表(成为机械CAD的事实上的行业标准),而第二类迄今只有几个系统代表(CoCreate,Kubotek KeyCreator,SpaceClaim,Google SketchUp,3DVIA Shape)。基于历史的形状编辑需要在构造树中定位一个早期的建模操作(特征),并编辑其参数。更改参数会导致自动模型重建,包括后续在建造树中记录的所有建模操作。

基于历史的编辑有明显的缺点:首先,用户需要花费时间在建造树中定位必要的操作(在简单的情况下,点击3D模型中的必要特征即可,但在更复杂的情况下,用户必须手动在树中找到特征)。其次,对于具有数百个特征的复杂构造,改变其中一个参数可能会触发耗时的模型再生循环,这会大大降低用户的生产力。第三,再生可能会改变实体形状,使得进一步的建模操作不适用(例如,孔超出了实体的边界),所以用户将不得不手动更改其他特征的参数。最后,基于历史的编辑并不总是实用的。例如,在将模型文件从特定CAD系统的格式转换为另一个系统的格式时,历史几乎总是丢失(全部或部分)(没有历史的模型被称为“哑”)。即使是“智能”翻译器,能够比较不同系统的特征或在“哑”几何中识别特征,也并没有完全解决问题,因为不同的系统具有不同的特征集。

直接几何建模没有上述任何缺点,并有前景成为编辑3D形状的主要工具。不幸的是,大多数CAD中直接编辑的现有实现缺乏历史基础参数编辑的关键特性:只有那些不损害其完整性的改变才能被引入到模型中。让我们看一个最简单的例子 - 一个矩形平行六面体(盒子)的模型,见图1(a)。基于历史的系统知道平行六面体是通过拉伸一个矩形构建的。用户可以通过编辑相关特征的参数轻松改变盒子的高度;要改变其长度和宽度,用户将不得不回到其矩形截面的参数。这并不完全透明,但任何编辑操作都保持形状 - 六边形将保持矩形。

直接编辑箱子使得可以移动任何面,边或顶点。如果其顶点被用户移动,箱子会有什么情况呢?角度将保持直吗?对面是否保持平行?面是否保持平面?它们的数量会增加吗?每个直接建模系统对这些问题都给出不同的答案,这些答案往往不符合用户的愿望。让我们来看看建模器可能的反应(见图1)。变体(b):只有移动的顶点被移位,其他的保持原位;但系统甚至不保留面的数量,形状丧失。变体(c):跟随用户的命令,系统移动了两个更多的顶点,模型保持六面,但削弱了面的平行性和直角。变体(d):系统移动了三个额外的顶点,保持了相对面的平行性和线性尺寸。最后,变体(e):六面体保持。

Design

从开发者的角度看几何建模

首批在20世纪60年代中期被航空航天和汽车企业使用的CAD系统是二维系统——即电子版的绘图板。很快,人们意识到设计应该基于三维产品模型,其二维投影可以自动生成。然而,仅在传统的二维图形中添加第三个坐标,只能模拟线框,这对计算未来产品的质量/体积特性是不够的。只有实体建模才能描述实体的每个点,为产品的静态和动态性能的工程分析开辟了道路。此外,实体模型被用于计算CNC产品制造中的刀具轨迹,以及用于快速原型制造。因此,实体建模构成了CAD,CAE和CAM系统的基础。

大多数现代几何建模内核都基于相同的实体建模设备——边界表示法(BRep),通过列出约束体积的平面和曲线面,在边和顶点处交叉(统称为边界元素)来描述实体。边界元素之间的关系定义了模型的拓扑,而它们的参数特性定义了其几何特性。这种表示方法使得计算体的质量/体积特性和模拟布尔操作(交集,联合,差)变得容易。

形态特征(最初是从计算机辅助流程规划系统中采纳的)也可以用边界表示法进行建模。从设计师的角度看,形态特征是金属切削工作的基本操作(如钻孔、车削、铣削)的几何形象。将产品设计与流程规划集成的想法在20世纪80年代很流行,当时几个国家的研究实验室都实施了试点项目。1987年问世的Pro/ENGINEER成为了首个商业化的基于特征的CAD系统。

它设置了未来20年的行业标准:几乎所有现代的CAD都在所谓的程序化方法[2]的基础上实现特征。在这种方法下,每一种特征都与创建、删除、更新、编辑和复制这类特征的方法组有关。在程序化方法下,特征的几何构建所需的参数(例如,孔的轴线、直径和深度)可以分为依赖和独立两类。例如,孔轴通常与构建相关特征的面的法向量平行;所以,如果改变了面的定向,孔轴也必须改变。然而,孔的直径是一个独立的参数,在建模过程中由用户设置,不依赖于其他特征(除非它已经与另一个孔的直径等同了)。程序化方法迫使开发者放弃特征间的循环依赖,因为如果参数有所改变,模型更新周期可能会无限。这种用户的范例被称为参数特征设计。

另外一个长期以来都被认识到的特征建模方式是声明性方法。每个特征都由指定其几何形状的边界实体之间的空间关系给出。例如,在通过拉伸平面截面形成的棱柱中,其所有侧边的几何表面的法线都垂直于构造截面的表面法线。同样,孔特性的所有圆柱边缘都是同轴的,共同轴线的方向平行于孔被构造的面的平面法线。这些空间关系就是几何约束。要满足这些约束,在直接几何编辑中(例如,移动边界元素),应该动态解决这些同时约束的系统。

带有约束的几何模型被称为变量模型(传统上,这个术语是相对于参数模型的,因为在用户和开发者的思想中,它与基于历史的建模是密不可分的),一直是开发者关注的焦点。目前市场上有几个商用的变量几何求解器,可以有效解决具有数千个同时约束的系统。直到最近,他们只被用于解决二维约束中的变量草图,以及实现自顶向下的装配设计(其中,零件通过装配约束进行连接,同时解决这些约束确定了组装机制)。

一年前,LEDAS意识到了在直接几何建模中使用变量几何求解器的前景。六个月后,领先的CAD开发商Siemens PLM Software宣布开发同步技术——即保留特征的无历史模型编辑。根据开发公司的广告材料,同步技术是一种通过在边界模型元素之间设置几何和尺寸约束来实现特征建模的声明方法。这种技术结合了Parasolid几何建模核心和DCM变量几何求解器的功能。以下我们在直接几何编辑的背景下,阐述我们对变量建模的观点,这是我们一年前发布的思想的后续。

变分直接建模

让我们回到第一部分(用户视角下的几何建模)最后提出的问题——用户如何设置模型对于未来修改的期望行为?最自然的定义方式是通过几何约束和尺寸。可以通过一致性、平行性、垂直性、切性、同轴性、对称性以及设置尺寸约束(半径、长度、距离、角度)的约束使面、边和顶点相关,这为直接建模系统的用户提供了一种简单却强大的工具,用于指定模型在编辑过程中的未来行为。这是一种明确设计意图的方法——基本上类似于基于历史的参数设计,但更强大,更灵活。

然而,让用户完全手动指定期望的行为是错误的。许多设计意图可以自动识别。首先,许多模型编辑操作(如位移面、边或顶点)假设模型拓扑(即,其边界元素的一致性)保持不变。在变分模型中,一个面与其边的一致性需要相关几何对象——表面、曲线和点之间的相应几何约束。系统可以根据BRep模型的拓扑数据结构自动生成这样的约束。如果我们忽视这些约束,大部分编辑操作就会出错。

首先,当用户使用各种特性构建模型时,系统可以自动添加上述描述的与特性相匹配的几何约束(棱柱侧面与其截面的垂直性,孔元素的同轴性等)。
其次,即使在“哑”几何(无历史)下,也可以识别出几何约束。例如,可以根据BRep模型中面的原始位置创建面一致性、平行性、垂直性、同轴性、同心性和切性约束。可以通过非复杂的规则生成“哑”几何的边界元素之间的一组非矛盾的几何约束,这些规则的模式可以由用户提供。下图演示了对初始圆柱部分(a)进行直接编辑时的行为,无同轴性约束(b)和自动识别和生成约束(c)。

Direct

总结了变分直接建模中可能的约束:

约束

该表格指定了信息的来源,这些信息在模型中(基于历史或无历史的几何)并且可以以几何约束和尺寸的形式表达。将BRep建模器与变分几何求解器结合,可以在任何直接建模系统中实现这种方法。在不久的将来,LEDAS计划根据公布的开发集成工具集以作为具有变分功能的最终用户应用的基础的课程,发布基于LEDAS变分几何求解器LGS 3D的直接几何建模工具集。

变分直接建模器的架构

SketchUp尺寸驱动插件

驱动尺寸的概念对于许多基于变分方法的系统的用户来说,是众所周知的。与普通(引用)尺寸(半径/直径,长度,距离,角度)不同,这些尺寸根据几何模型进行计算,驱动尺寸增加了根据指定距离和角度自动改变模型特征位置的功能。广受欢迎的直接建模系统SketchUp不仅熟悉建筑,工程和施工设计的专业人士,而且许多创建虚拟3D世界的业余爱好者也非常了解。

尽管SketchUp具有易访问的直接建模功能,但它限制了用户对模型参数化的能力。实际上,在构造模型时只能设置尺寸。无法通过更改尺寸来编辑模型,用户只能应用最简单的缩放功能。为了让SketchUp用户广泛获取变分设计工具,LEDAS为此系统开发了一个名为驱驶尺寸的附件应用程序。它可以在模型特性(面,边和顶点)之间定义尺寸约束。

具有直接几何编辑可能性的应用程序在驱驶尺寸的第一版本中(该版本将在2008年10月免费提供测试),用户将能够设置边的长度和圆或弧的半径。通过同时解决所有尺寸约束(保持原始模型的拓扑结构 - 元素的数量和位置),用户可以轻松地对任何模型进行参数修改,无论是独立创建的还是在免费模型的大型数据库 - 3D仓库中找到的。在接下来的应用版本中(将在2008年和2009年晚些时候发布),用户将能够定义任何长度和几何约束,使用创建模型元素时的约束自动生成工具,以及根据“哑”几何体的几何特性。除了对约束的静态满足(在设置约束或跟踪特殊用户命令时),还有可能在移动任意数量的模型元素时动态地满足约束。

由于SketchUp和驱动尺寸的基本版本均为免费,因此每个人都可以欣赏到变分直接建模的主要优点:

  • 在设计中使用几何和尺寸约束可以显著减少模型创建时间。
  • 将设计意图以模型元素之间的约束形式添加,并将它们与模型一起保存在文件中,简化了未来的编辑。
  • 在不设约束的外模型上使用约束进行编辑,可迅速适应新任务的现有模型。