使用上下文无关语法的部件设计的制作方法

文档序号:6334916阅读:188来源:国知局
专利名称:使用上下文无关语法的部件设计的制作方法
技术领域
本发明涉及计算机程序和系统领域,并且更为具体地,涉及用于设计部件的计算 机实现的方法,其中所述部件利用设计特征进行建模。
背景技术
在市场上可以购买到多种用于部件设计的系统和程序,比如注册商标为CATIA的 申请人:所提供的系统和程序。这些所谓计算机辅助设计(CAD)系统允许用户构建和操作部 件的复杂三维(3D)模型。可以使用多种不同的建模技术来设计部件。这些技术包括实体建模、线框建模以 及表面建模。实体建模技术提供拓扑的3D模型,其中该3D模型是例如互连的边和面的 集合。在几何学上,表示部件的3D实体模型是被修整表面的集合,该集合定义封闭皮肤 (closed skin)。该被修整表面对应于由边限定的拓扑面。封闭皮肤定义填充有部件材料 的3D空间的边界区域。另一方面,线框建模技术可以被使用来将部件表示为仅仅3D直线 的集合,而表面建模可以被使用来将部件表示为外部表面的集合。CAD系统可以组合这些和 其它建模技术,比如参数化建模技术。参数化建模技术可以被使用来为部件的不同设计特征定义各种参数,以及基于该 各种参数之间的关系,定义这些设计特征之间的关系。可以在支持参数化实体建模的CAD 系统中组合实体建模和参数化建模。设计工程师是3D CAD系统的典型用户。设计工程师设计3D模型的功能、物理和 美学特性(aspect),并且精通3D建模技术。设计工程师设计部件,并且随后可以将这些部 件组装为一个或多个子组件。除了部件之外,子组件还可以包括其它子组件。通常,设计工 程师通过使用部件和子组件来设计组件。例如,在采用计算机辅助设计系统的车身设计领域,现有的解决方案为用户提供 几何学和拓扑交互命令。设计者处理点、平面、曲面或表面,并且任务是创建、变形、偏移、清 除(sweep)、外推、修整、平滑化、连接这些曲面和表面,以便得到从外部造型面开始的最终 “白车身”形状。因此,通常使用各种几何构块(building block),利用CAD系统中通常提供的工 具来设计部件。在基于特征的CAD中,设计工程师在设计部件时创建设计特征的顺序影响 该部件的物理结构。因此,这些系统被认为是基于历史的。例如,通过首先切出圆柱块然后 添加延伸到所切出的圆柱块所留下的空隙内部的凸饰(boss)而构建出的部件将导致一个 洞孔,该凸饰的材料在该洞孔中。如果操作顺序被颠倒从而使得该凸饰在切出圆柱块之前 添加,则该切除将不仅切除原始块的材料,而且切除后续凸饰的材料,从而导致一个内部没 有材料的洞孔。在图1到图3中对此进行了例示,图1到图3示出了在现有CAD系统的屏幕上显 示的窗口。图1示出了包含了正在构建的部件的三幅图的窗口 2。顶视图4、正视图6和旋 转图8揭示出该部件由两个块特征(即,上块12和下块14)部分地限定。另外,顶视图4和正视图6清楚地示出了圆形的已挤压轮廓10。已挤压轮廓10的目的在于创建部件中的 圆柱形切口特征。图2示出了在该已挤压轮廓10被用来构建切口特征后的窗口 2。通过减 少上块12和下块14的位于该已挤压轮廓10内的材料,创建切口 16。如果在包括切口特征 16之前上块12和下块14包括在部件定义中(即,存在),那么在基于历史的CAD系统中, 切口 16将出现,如图2中所例示。图3示出了包含其中切口特征18没有减少上块12的材 料的部件的窗口 2。如果首先将下块14包括在部件定义中,其次将切口特征18包括在部件 定义中,最后将上块包括在部件定义中,则在基于历史的CAD系统中,切口 18将出现,如图 3中所例示。图1到图3的例子示出了输入用于定义部件的设计特征的顺序影响部件的输 出形状。参考机械部件进行的这种讨论适用于设计系统中的其它类型的部件和元件,例如 建模部件、电路中的电气特征、或者构成部件或元件的组件的更为一般的任何类型的特征。现有CAD系统允许通过捕获由设计者执行的几何操作的历史记录来进行后验 (posteriori)修改。对部件的设计进行修改对设计者而言是改变输入参数或几何对象,以 及对系统而言是重放操作的历史记录,从而得到新结果。基于历史的系统带来不同的问题。当使用“线框和表面”CAD系统的工作台时,例如,当设计“白车身”部件时,只要特 征没有重叠太多,就可以容易地创建和修改这些特征。设计特征的重叠对应于这些设计特 征之间的空间冲突。CAD系统必须对这种情形进行管理,从而仍然可以计算出最后的几何图 形。超过特定的重叠率,则CAD系统将不能管理复杂度,并且设计者的责任是想象出应该如 何彼此修整各个重叠特征,以及通过基本工具来创建最后的几何图形。因此,设计者难以对 他在很早之前初次设计的部件的设计进行修改。实际上,在这种情形下,设计者可能已经忘 记了他如何管理重叠的设计特征,并且因此不能考虑它们的修改意图。因为现有系统所提供的几何语义,系统捕获仅仅设计结果,与保留在用户思维中 的设计意图相反。即使CAD系统捕获历史设计,这也是事实。结果是最终形状的质量的责 任完全在设计者。为了实现高质量,必须由CAD编辑者和应用专家(该部件的应用领域的 专家)一起建立专用方法。这种方法必须被教授给设计者,并且专用过程必须检验它是否 在生成时实际使用。这即耗时又耗财,并且造成组织问题。另一方面,通过重放所记录的操作的历史进行的修改计算出新的而不是类似的结 果。大的设计改变要求删除和创建许多几何对象。此外,在特定复杂度(通常是几何对象 和它们的关系的数目)之外,仅仅原始设计者能够执行修改。即使这样也不能得到保证,因 为不能保证设计者仍然记得他/她先前已经完成了什么。已经建议使用预定模板,但是它们不能提高语义层次。它们加速设计创建阶段,通 过一次创建许多几何对象来充当对话加速器。但是修改和再工作的缺陷依然存在。由于对历史的依赖性,没有研究协作设计。公知的是,非互换特征不能容易地通过 异步协作共享。实际上,如果用户A向用户B发送设计特征F,则将特征F插入到用户B的 被排序序列中的正确位置处的操作不能自动地完成。这些问题已经被名称为“Part design system using a context—freegrammar”的 美国专利7,495,662解决。该专利描述了基于历史的设计系统,该系统采用设计特征和使 用上下文无关语法定义的种子结构来设计部件,该种子结构适于接收来自所例示的设计特 征的贡献(contribution)。构建该种子结构,从而接收使得接收贡献的顺序不会改变该种子结构输出的结果,或者,更为具体地,不会改变由核心系统进行的对这种结果的评价。该 种子结构可以由编辑者进行编辑。该编辑这使得可以根据核心系统的能力,将现有种子结 构修改为更有效率,而不会改变它的功能。该编辑者还可以增加给定应用中的种子结构的 功能能力。通过使用上下文无关语法的种子结构,美国专利7,495,662描述了一种基础设 施,该基础设施确保CAD系统提供说明性的设计特征。按照这种方式,即使例示设计特征的 顺序与所得到的部件无关,也可以提供基于历史的设计系统的优点。然而,美国专利7,495,662所描述的技术方案不易操作。实际上,该专利中的种子 结构能力在应用专家进行的概念阶段被固定,并且不能被终端用户修改。当设计部件时,设 计者必须考虑这些能力。结果是,仅仅先前构思的种子结构所支持的设计意图可以被具体 化。因此,强迫设计者将他/她的设计意图与该种子结构提供的能力相适应。这种较差的 灵活性仅仅允许简单且非现实的部件的设计。

发明内容
因此,本发明的一个目的是提供一种设计部件的装置,该装置具有基于历史的设 计系统以及设计者的高度灵活性的优点。上述目的是利用计算机实现的方法实现的,该计算机实现的方法用于设计通过使 用下述建模的部件-上下文无关语法的种子结构,-一组所述语法的规则,-至少两个设计特征,每个设计特征由所述一组语法规则中的至少一个规则定义,-由种子结构和该组语法规则所确定的设计特征之间的优先级顺序,所述方法包 括以下步骤-根据所述优先级顺序,在图形用户界面中显示该部件的表示,-通过修改该组语法规则来修改所述两个设计特征之间的优先级顺序,-根据修改后的优先级顺序,显示该部件的表示。优选的实施例包括下述特征中的一个或多个-在修改优先级顺序的步骤中,将擦除规则添加到该组规则中;-该组规则包括交换规则,以及在修改优先级顺序的步骤中,将交换规则从该组规 则中移除;-该组规则包括交换规则,以及在修改优先级顺序的步骤中,将去交换规则添加到 该组规则中;-在修改优先级顺序的步骤中,将带到前面规则或送到后面规则添加到该组规则 中,在添加之后,优先级顺序被修改;-所述方法还包括在每个显示步骤之前将该规则应用于种子结构的步骤;-应用每个规则包括根据所述规则中的至少一个非终止符号来修改种子结构;-每个规则替换与该规则的非终止符号对应的种子结构的非终止符号;-每个设计特征具有属于包括下述的组的类型基部特征类型,推动特征类型,接 触特征类型,增强特征类型,切除特征类型以及表面提取特征类型;
-在所述修改步骤,将取决于两个设计特征的类型的交换规则添加到该组规则 中;-种子结构和该组规则根据特征的各自类型,定义所述特征之间的缺省优先级顺 序;-所述方法被执行来设计白车身部件,其中,所述种子结构和所述一组规则根据所 述特征各自的类型,定义所述特征之间的缺省优先级顺序,以及其中增强特征具有比接触 特征更低的缺省优先级,所述接触特征自身具有比推动特征更低的缺省优先级,以及所述 推动特征自身具有比切除特征更低的缺省优先级。还提供了一种计算机辅助设计系统,包括a)存储通过使用下述建模的部件的数据库-上下文无关语法的种子结构,-一组所述语法的规则,-至少两个设计特征,每个设计特征由所述一组规则中的至少一个规则定义,-由种子结构和该组规则确定的所述设计特征之间的优先级顺序,以及b)图形用户界面,适于执行上述方法。还提供了一种计算机程序,包括供计算机执行的指令,所述指令包括用于利用计 算机辅助设计系统的图形用户界面来执行上述方法的模块,其中,所述系统还包括用于存储通过使用下述建模的部件的数据库-上下文无关语法的种子结构,-一组所述语法的规则,-至少两个设计特征,每个设计特征由所述一组规则中的至少一个规则定义,-由种子结构和该组规则确定的所述设计特征之间的优先级顺序。还提供了 一种存储有上述计算机程序的计算机可读存储介质。根据参照下文中列出的附图的作为非限制性示例给出的下述本发明的实施例的 描述,本发明的其它特征和优点将会变得明显。


图1到图3示出了现有基于历史的系统中的部件的示图;图4示出了用于检查具有上下文无关语法的字的下推自动化;图5示出了与可以利用图4中的下推自动化检查的利用该语法产生的字对应的树 的示例;图6-11示出了例示交换优先级概念的示例;图12-15示出了与利用在图6-11中的示例中使用的语法产生的字对应的树的示 例;图16例示了带到前面和送到后面操作的原理;图17-19例示了种子结构和用于修改优先级顺序的贡献;图20-25示出了白车身特征的示例;图沈例示了白车身特征之间的缺省优先级顺序;图27例示了在给定四个设计特征的情况下,所有可能的序列顺序导致相同的结果,以及无论该序列是什么,该系统总能计算出最后的几何形状;图观-四例示了用于设计白车身部件的种子结构;图30例示了接触特征的贡献;图31示出了用于修改白车身特征之间的优先级顺序的可能性;图32-35例示了白车身特征之间的优先级管理。
具体实施例方式本发明所述的计算机实现方法旨在设计部件。所述部件利用上下文无关语法的种 子结构(seed structure)、一组所述语法的规则、至少两个设计特征、以及由所述种子结构 和所述一组规则所确定的所述设计特征之间的优先顺序进行建模,其中每个设计特征由所 述一组规则中的至少一条规则来定义。所述方法包括根据所述优先顺序在图形用户界面中 显示所述部件的表示的步骤。所述方法也包括通过修改所述一组规则而修改所述两个设计 特征之间的优先顺序的步骤。所述方法还包括根据修改过的优先顺序显示所述部件的表示 的步骤。由所述种子结构和所述一组规则所确定的所述设计特征之间的优先顺序在声明 式系统(declarative system)中提供基于历史的设计系统的优点。通过修改所述一组规 则而修改所述优先顺序的步骤为设计者提供了很高的灵活性。本发明所述的方法用于设计部件。术语“部件”一般是指工业产品的机械零件。然 而,可以有许多变型,并且这些变型在本发明的范围内。例如,所述方法也可以用于设计部 件的组合,可能是一个完整的工业产品(例如,车轮)。此外,本发明不是旨在只设计机械部 件,它也可以用于任何需要计算机设计的领域。例如,本发明可以运用于视频游戏领域。在举例说明本方法之前,简短地说明一下上下文无关语法。有关上下文无关 语法的细节可以在如下文献中找至IJ Jntroduction to Automata Theory, Language and Computation (自动机理论、语言和计算导论),J. E. Hopcroft andj. D. UlImann, Addison-ffesley,1979。上下文无关语法G由G = (X,V,P)来定义,其中,X为一组终止符号(terminal symbols),V为一组非终止符号(non-terminal symbols),而P为一组规则。一条规则是一 个偶对(S,m),其中,所述第一对象为非终止符号,而第二对象为由终止符号和非终止符号 组成的串;更精确地说,P为VX (X U V)*的子集。规则也被写成Sh^;换言之,一条作用 到串上的规则将非终止符号变成由终止符号和非终止符号组成的串。所述语法中的符号串 被称作字(word)。使用上下文无关语法使得可以通过应用所述语法的规则以定义完善的 句法(syntax)递归地产生字。上下文无关语法理论也提供算法来扫描这些字,即,检查它 们的句法以确保它们是通过所述语法规则的运用而产生的。在这一方面,非终止符号的功 能将被由终止符号和非终止符号组成的串替代,这是由于在非终止符号插入之处采用了规 则。所述部件由上下文无关语法的种子结构进行建模。所述种子结构以所述上下文无 关语法进行定义和编辑。同样,所述种子结构只是所述上下文无关语法的字。所述语法提供 规范而严格的环境以定义种子结构。它允许检查种子结构的句法以避免它违反句法规则。 这完全与使用所述方法的应用领域无关。美国专利7,495,662对此进行了解释,下面将参考元数据语法(meta-grammar)对此进行进一步详述。所述部件还通过使用一组所述语法的规则来建模。所述部件还通过至少两个设计 特征来建模。每个特征通过所述一组规则中的至少一个规则进行定义。所述一组语法的规则是从所述语法的所有规则中取出的无次序的规则集合。集合 的概念从集合论中获知。当设计部件时,设计者通常从种子结构开始。所使用的种子结构可以依赖于应用 领域。例如,设计者通常使用的设计轮船零件的种子结构不同于设计车辆零件的种子结构。然后,设计者生成设计特征,从而对所述部件建模。设计特征是附加在所述部件上 的限制,例如几何或拓扑限制。它由设计者所使用的CAD系统的功能来提供。下文中,设计 特征也称作特征,设计特征根据它们的类型进行分类。例如,图1-3示出了块特征(对应于 块12和14所表示的体积的添加)和柱状切口特征(对应于切口 16)的使用。可以为设计 者提供许多特征。提供给设计者的特征列表取决于设计者所使用的CAD系统。非详尽的列 表包括块特征、挤压(extrusion)特征、圆形(round)特征、方孔网(filet)特征。其它类 型的特征在后面公开。进一步就设计特征的类型来说,设计特征可以利用参数。例如,参考 图1-3的例子,所述块特征使用所添加的体积的坐标。体积切口的切口特征也是如此。某 特征的可能参数取决于设计者所使用的CAD系统。另外,部件的同一几何或拓扑模型可以 用不同的特征来实现。例如,切口 16可以通过产生圆柱形切口特征并输入所述圆柱的轴的 坐标、其半径以及或许还有高度作为参数来获得。但切口 16也可以通过产生切口特征(对 切口形状没有特别规定)并输入所述切口为圆柱的信息、然后是所述圆柱的轴的坐标、其 半径以及或许还有高度作为参数来获得。因此,具有相同几何的两个部件可以被不同地建 模,即使设计者所使用的系统相同也是如此。可以采用现有技术已知的任何特征来实施所述方法,以便对所述部件进行建模。 每个设计特征由所述一组规则中的至少一条规则来定义。一个设计特征可以由一条规则或 由多条规则来定义。一个设计特征可以包括一个或多个贡献(contribution)。一个贡献为 所述部件模型的一个修改,例如,体积的添加、体积的切割、体积的平移、体积的转动、体积 的减小等。每个贡献可以由所述语法的一条规则来定义。在此种情形中,包括几个贡献的 某个特征由至少与其贡献数同样多的规则来定义,如果没有简化的话。允许一个特征可以 利用几条规则来定义为设计者提供了高级性能。设计者不限于基本操作。由此,可以对应 用专家所直觉感觉到的特征进行建模。在下文中,贡献可以指实现它们的规则,反之亦然。定义特征的规则可以按照任意顺序应用于种子结构。如上所述,通过将规则应用 于种子结构来获得字。根据规则应用的顺序,字可以不同。用于建模部件的设计特征之间的优先级顺序由种子结构和该组规则来确定。优先 级顺序翻译设计意图。如上参照图1到图3所述,取决于块特征和切除特征之间的优先级 顺序,所述结果不同。不管规则应用于种子结构的顺序如何,所述优先级顺序确保利用所获 得的字建模的部件相同。因为所述优先级顺序由种子结构和该一组规则确定,而不由与规 则应用顺序相关的任何其它信息确定,所以所述方法在声明式系统中提供了基于历史的系 统(即,将设计意图翻译为特征之间的优先级)的优点。基于历史的方法通过记录规则应用 顺序来跟踪说明特征的顺序,但本发明不需要这些记录。规则保持声明性(declarative), 即,它们之间没有应用顺序。但是仍旧,利用特征之间的优先级翻译设计意图。因此,容易地执行对部件设计的后验修改或同时设计。另外,节省用于向设计者教导方法的时间花费。使用上下文无关语法使得容易通过使用递归函数来将贡献应用于种子结构。特别 地,种子结构是包括多个终止符号和非终止符号的字。这些符号被使用来将贡献应用于种 子结构。非终止符号可以被理解为到种子结构的“输入”。终止符号被使用来指定组合对象 (在该示例中为实体对象)的操作。在这点,可以通过仅仅利用贡献来替换种子结构的非 终止符号来进行将贡献应用于种子结构的操作;假设贡献是字,这仅仅是语法的给定规则。 为了确保递归-将任意数目个贡献应用于种子结构的能力_,通过利用不仅包括该贡献而 且包括所替换的非终止符号的序列来替换种子结构的非终止符号,足以将贡献应用于种子 结构。在本说明书的剩下部分中,所替换的非终止符号在替换串中出现的规则还可以称为 替代,或符号替换。使用替代的这种定义,通过使用用于将种子结构的非终止符号改变为包 括该非终止符号和贡献的字的替换,将规则应用于种子结构。这确保所得到的字仍然包括 该非终止符号,可以将其它贡献再次应用于该非终止符号。这还确保在贡献的整个输入中 节省种子结构。使用上下文无关语法还使得专家用户容易确保该系统保持声明性它足以检查允 许将贡献应用于种子结构的替代规则保持可互换,即,该种子结构和规则适于所述结果是 相同的,不管规则应用顺序如何。现在参照图4到图5来讨论简单的上下文无关语法,以便例示上述说明。该语法如下定义
权利要求
1.一种用于设计通过使用下述各项来建模的部件的计算机实现方法 -上下文无关语法的种子结构,-所述语法的一组规则,-至少两个设计特征,每个设计特征由所述一组规则中的至少一个规则定义, -通过所述种子结构和所述一组规则确定的所述设计特征之间的优先级顺序, 所述方法包括以下步骤-根据所述优先级顺序,在图形用户界面中显示所述部件的表示, -通过修改所述一组规则来修改所述两个设计特征之间的优先级顺序, -根据修改后的优先级顺序,显示所述部件的表示。
2.如权利要求1所述的方法,其中,在修改所述优先级顺序的步骤处,将交换规则添加 到所述一组规则中。
3.如权利要求1所述的方法,其中 所述一组规则包括交换规则,并且在修改所述优先级顺序的步骤处,从所述一组规则中移除所述交换规则。
4.如权利要求1所述的方法,其中 所述一组规则包括交换规则,并且在修改所述优先级顺序的步骤处,将去交换规则添加到所述一组规则中。
5.如权利要求1所述的方法,其中,在修改所述优先级顺序的步骤处,将带到前面规则 或送到后面规则添加到所述一组规则中,在所述添加之后,所述优先级顺序被修改。
6.如权利要求1到5中的任何一项所述的方法,还包括在每个显示步骤之前,将所述规 则应用到所述种子结构的步骤。
7.如权利要求6所述的方法,其中,应用每个规则的步骤根据该规则的至少一个非终 止符号来修改所述种子结构。
8.如权利要求7所述的方法,其中,每个规则替换与所述规则的非终止符号对应的所 述种子结构的非终止符号。
9.如权利要求1到8中的任何一项所述的方法,其中,每个设计特征具有的类型属于包 括下述各项的组-基部特征类型, -推动特征类型, -接触特征类型, -增强特征类型, -切除特征类型,以及 -表面提取特征类型。
10.如权利要求9所述的方法,其中,在所述修改的步骤处,将取决于所述两个设计特 征的类型的交换规则添加到所述一组规则中。
11.如权利要求1到10中的任何一项所述的方法,其中,所述种子结构和所述一组规则 根据所述特征的相应类型,定义所述特征之间的缺省优先级顺序。
12.如权利要求10所述的方法,用于设计白车身的部件,其中,所述种子结构和所述一组规则根据所述特征各自的类型,定义所述特征之间的缺省优先级顺序,以及其中,增强特征具有比接触特征更低的缺省优先级,所述接触特征自身具有比推动特 征更低的缺省优先级,以及所述推动特征自身具有比切除特征更低的缺省优先级。
13.一种计算机辅助设计系统,包括a)数据库,其存储通过使用下述各项建模的部件 -上下文无关语法的种子结构,-所述语法的一组规则,-至少两个设计特征,每个设计特征由所述一组规则中的至少一个规则定义, -通过所述种子结构和所述一组规则确定的所述设计特征之间的优先级顺序,以及b)图形用户界面,其适合于执行如权利要求1-12中的任何一项所述的方法。
14.一种计算机程序,包括供计算机执行的指令,所述指令包括用于利用计算机辅助设 计系统的图形用户界面来执行如权利要求1-12中的任何一项所述的方法的模块,其中,所述系统还包括数据库,所述数据库存储通过使用下述各项建模的部件 -上下文无关语法的种子结构, -所述语法的一组规则,-至少两个设计特征,每个设计特征由所述一组规则中的至少一个规则定义, -通过所述种子结构和所述一组规则确定的所述设计特征之间的优先级顺序。
15.一种计算机可读存储介质,在所述计算机可读存储介质上存储有如权利要求14所 述的计算机程序。
全文摘要
本发明涉及使用上下文无关语法的部件设计。一种用于设计通过使用下述各项来建模的部件的计算机实现方法上下文无关语法的种子结构,语法的一组规则,至少两个设计特征,每个设计特征由所述一组规则中的至少一个规则定义,由所述种子结构和所述一组规则所确定的设计特征之间的优先级顺序,所述方法包括以下步骤根据所述优先级顺序,在图形用户界面中显示所述部件的表示,通过修改所述一组规则来修改所述两个设计特征之间的优先级顺序,根据修改后的优先级顺序,显示所述部件的表示。
文档编号G06F17/50GK102054093SQ20101052918
公开日2011年5月11日 申请日期2010年10月29日 优先权日2009年10月30日
发明者C·弗里茨-洪布洛特, J-F·拉莫, L·桑提科 申请人:达索系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1