用于链接图形曲线的系统和方法

文档序号:6360337阅读:115来源:国知局
专利名称:用于链接图形曲线的系统和方法
用于链接图形曲线的系统和方法技术领域
本发明一般涉及用于计算机辅助设计、制造、工程技术、建模和可视化(单独称为以及统称为“CAD”和“CAD”系统)以及产品生命周期管理(“PLM”)和其他系统的系统和方法。
背景技术
许多制造的产品首先在CAD系统中进行设计和建模,并且制造商、零售商、顾客和其他用户使用PLM系统来管理各种产品的设计、使用和处置。期望改进的系统。发明内容
公开的各种实施例包括CAD系统和对应的方法以及计算机程序产品。一种方法包括接收交叉曲线集以及接收从交叉曲线集中对源曲线和目标曲线的选择。该方法包括接收选择意图规则并根据选择意图规则通过交叉曲线集来计算包括源曲线的第一曲线链。该方法包括存储所选路径,所选路径为偏离选择意图规则的次数最少的在源曲线与目标曲线之间的曲线链。还可以指定现有路径通过的附加中间曲线。
前面概括地概述了本公开的特征和技术优势,使得本领域技术人员可以更好地理解以下的详细描述。以下将描述构成权利要求的主题的本公开的附加特征和优势。本领域技术人员应该理解,他们可以容易地将所公开的概念和具体实施例作为修改或设计用于实现与本公开相同的目的的其他结构的基础。本领域技术人员还应该认识到,这样的等效构造不背离本公开在其广义形式上的精神和范围。
在进行以下具体实施方式
的描述之前,可以有利地阐述在本专利文件的全文中所使用的特定词语或措词的定义术语“包括(include)”和“包含(comprise)”及其派生词是指包括但不限制;术语“或者”是包括性的,是指和/或;措词“与…相关联”和“与其相关联”及其派生词可以表不包括、包括在…中、与…互连、包含、包含在…中、连接至或与… 连接、耦合至或与…耦合、可与…通 信、与…协作、交错、并列、接近、绑定至或与…绑定、具有…特性等;以及术语“控制器”是指控制至少一种操作的任何设备、系统或其一部分,无论这种设备是以硬件、固件、软件还是这些中的至少两种的某一组合来实施。应该注意,与任何特定控制器相关联的功能可以是集中式或分布式的,无论是本地还是远程。在该专利文件中提供对于特定词语或措词的定义,并且本领域的普通技术人员应该理解,这样的定义在许多情况(即使不是大多数)下适用于现有技术以及这样定义的词语和措词的未来使用。 虽然一些术语可以包括各种实施例,但是所附权利要求可以将这些术语明确限于具体实施例。


为了更全面理解本公开及其优点,现在参考结合附图所进行的描述,在附图中类似的附图标记表示类似的对象,其中
图1示出了可以实施实施例的数据处理系统的框图2示出了使用本文所述技术的示例性曲线集合以及选择;
图3示出了根据所公开的实施例的高级处理的流程图4示出了根据所公开的实施例的处理的流程图5不出了根据所公开的实施例的不出图4的处理的输出树图6示出了根据所公开的实施例的处理的流程图7不出了根据所公开的实施例的不出图6处理的输出树图8示出了根据所公开的实施例的树结构的说明性且非限制的示例;以及
图9示出了根据所公开的实施例的链接列表树结构的非限制示例。
具体实施方式
以下讨论的图1至图9以及用于描述本专利文件中的本公开的原理的各种实施例 仅是作为说明,并且不应该以任何方式解释为限制本公开的范围。本领域技术人员应该理 解,可以以任何合适配置的设备来实施本公开的原理。将参照非限制的示例性实施例来描 述本申请的多种创新性教导。
在传统的CAD系统中,曲线或边的集合或者曲线与边的混合作为输入用于各种处 理。如本文所使用的,在CAD领域中已知的“曲线”和“边”将被称为“曲线”以避免多种术 语描述。如本文所使用的,“链”是连通曲线的集合,如以下所描述的,并且“路径”是源曲线 与目标曲线之间以及包括源曲线和目标曲线的连通曲线的集合或系列。
通常,用户试图从非常复杂的交叉曲线网络中采集曲线和曲线部分的子集。传统 的系统低效地要求一次一个或者以小组来选择曲线部分。
“选择意图”是指在所公开的实施例中可以使用的现有功能和技术。选择意图提供 用于采集曲线的各种方法。
选择意图规则是当明确选择种子曲线时自动采集曲线所依据的标准。这种规则的 示例为“连通曲线”、“正切曲线”和“单条曲线”。
如果选择了 “连通曲线”规则,则对单条曲线的明确选择将使得自动选择唯一地连 接至其端部的所有曲线,并且自动选择唯一地连接至那些曲线的曲线,诸如此类。由于这种 级联选择处理,曲线集合被称为“链”。
该曲线集合存在并被记为曲线的连通链。如果稍后曲线被添加至基础曲线并且这 些曲线满足选择意图规则,则它们将被自动添加至该集合。
如果使用“正切曲线”选择意图规则来选择曲线或线,则自动选择正切连接的曲 线。如果使用“单条曲线”选择意图规则来选择曲线或线,则只有用户明确选择的曲线在该 集合中;不自动包括其他曲线。
本文所公开的实施例可以使用“连通曲线”、“正切曲线”和“单条曲线”选择意图 规则来实施。
可利用多个选项,其在采集曲线时提供附加控制。选择意图规则确定当选择特定 曲线时将被自动添加至集合的曲线种类。“在交叉处停止”选项仅与“连接曲线”、“正切曲 线”和“单条曲线”规则相关。当用户想要自动或手动选择交叉曲线所限制的曲线时,指定 该选项。当被指定时,“在交叉处停止”选项使得能够选择曲线部分(交叉之间)而非整条曲线。
如果使用“正切曲线”选择意图规则以及“在交叉处停止”选项选择线,则所得到的 集合被交叉曲线限制。该集合不包含完全正切链,而是仅包含链的在链的交叉之间的部分。
对于密集的曲线网络,通过使用期望的选择意图规则与选项的组合来限定期望的 曲线集合变得非常单调。限定期望的集合通常要求大量的屏幕上选择,通常通过频繁的缩 小操作和放大操作,这使得错误选择的机会非常大。所有这些都对用户的生产率具有直接 的影响。
例如,密集的交叉曲线网络会要求十二次屏幕上选择,以使用“单条曲线”规则和 “在交叉处停止”选项来限定集合。所公开的实施例提供了使得系统或用户能够通过非常少 的屏幕上选择来限定期望集合的系统和方法。所公开的实施例提供了用户和系统可以容易 地将现有集合修改为更理想的集合的系统和方法。所公开的实施例显著提高了从复杂的曲 线网络中限定曲线集合的生产率。
图1示出了可以实施实施例的数据处理系统的框图。所示出的数据处理系统包括 连接至第二级高速缓存/桥接器104的处理器102,高速缓存/桥接器104又连接至本地系 统总线106。本地系统总线106可以为例如外围部件互连(PCI)架构总线。在所示的示例 中与本地系统总线连接的还有主存储器108和图形适配器110。图形适配器110可以连接 至显示器111。
诸如局域网(LAN)/广域网/无线(例如WiFi)适配器112的其他外围设备也可以 连接至本地系统总线106。扩展总线接口 114将本地系统总线106连接至输入/输出(I/ O)总线116。I/O总线116连接至键盘/鼠标适配器118、盘控制器120和I/O适配器122。 盘控制器120可以连接至存储装置126,其可以为任何适当的机器可用或机器可读存储介 质,包括但不限于非易失性的硬编码型介质(诸如,只读存储器(ROM)或电可擦除可编程只 读存储器(EEPR0M))、磁带存储器以及用户可记录型介质(诸如,软盘、硬盘驱动器和致密盘 只读存储器(⑶-ROM)或数字通用盘(DVD))以及其他已知的光存储设备、电存储设备或磁 性存储设备。
在所示的示例中与I/O总线116连接的还有音频适配器124,其可以连接至扬声器 (未示出)以播放声音。键盘/鼠标适配器118提供针对诸如鼠标、跟踪球、磁道指向器等的 指向设备(未示出)的连接。
本领域的普通技术人员应该理解,图1所示的硬件可以针对特定实施而变化。例 如,除了所示的硬件外或者代替所示的硬件,还可以使用诸如光盘驱动器等的其他外围设 备。所示的示例仅仅是为了说明目的而提供的,并不意指对于本公开的架构限制。
根据本公开的实施例的数据处理系统包括采用图形用户界面的操作系统。该操作 系统允许在图形用户界面中同时呈现多个显示窗口,其中每个显示窗口都向不同应用或者 向相同应用的不同情况提供界面。图形用户界面中的光标可以由用户通过指向设备来操 作。可以改变光标的位置和/或发生诸如点击鼠标按钮的事件以激励期望的响应。
如果进行适当修改,则可以采用各种商用操作系统之一,诸如华盛顿雷德蒙德的 微软公司的产品Microsoft Window 版本。根据描述的本公开修改或创建操作系统。
LAN/WAN/无线适配器112可以连接至网络130 (其不是数据处理系统100的一部 分),网络130可以为本领域技术人员已知的任何公共或专用数据处理系统网络或网络的组合,包括互联网。数据处理系统100可以经由网络130与服务器系统140进行通信,其中服 务器系统140也不是数据处理系统100的一部分,而是例如可以实施为独立的数据处理系 统 100。
所公开的实施例显著提高了从曲线的复杂网络中限定曲线集合的生产率。如上所 述,许多CAD系统和功能要求将曲线集合作为输入。
图2示出了使用本文所述技术的示例性曲线集合以及选择。使用本文所公开的技 术,对被强调的曲线集合即路径205的选择仅要求两次屏幕上选择。所要求的这两次屏幕 上选择在210和215处进行表示。
使用传统技术,会要求十二次手动用户选择以通过使用期望的选择意图规则与选 项的组合来识别相同的曲线集合。通过减少所要求的选择次数,在该示例中,从12次减少 为2次,显著提高了 CAD设计处理的效率。
所公开的实施例包括用于限定曲线集合的新交互模型以及用于利用最少量的用 户输入找到期望集合的系统和方法。
根据所公开的实施例,基本交互用于系统以接收对集合必须包含的输入曲线的序 列的用户选择。然后,该系统确定连接这些输入曲线的曲线,并将它们添加至集合。如本文 所使用的,曲线集合将被称为“路径”。在本文中描述了用于找到路径的详细标准和主要标 准。
在各种实施例中,交互模型还在光标位于潜在的输入曲线上时提供路径的实时视 觉反馈。利用该反馈,用户可以看到在选择了光标下方的曲线的情况下会产生的精确路径。 随着系统接收在曲线的一部分之上移动光标的用户输入,系统可以自动地执行本文所述的 处理以实时选择并显示整条路径。
例如,在图2中,假设选择曲线210作为输入,并且随后将光标置于曲线215上。本 文所描述的处理根据预先定义的标准找到这两条曲线之间的路径。这是实时进行的,并且 以突出的颜色显示“路径”。如果选择了曲线215,则创建路径205。
各种实施例考虑了用于计算路径的至少两个标准。主要标准是最佳“路径”必须 使其偏离指定的选择意图(SI)“规则”的次数最少。作为说明,可以考虑人以到达目标道路 为目标沿着源道路行进的示例。理想路线为始终从头到尾遵照SI规则的路线。任何其他 路线都被认为偏离理想路线。根据各个实施例,主要标准与普通方法的区别在于,该标准不 基于最短路径长度,而最短路径长度对于许多路径查找算法来说是常用的。该标准基于使 系统可能违反路线选择规则的次数最少。
以下示例示出了该标准。用户想要通过指定“正切曲线”规则并选择两条曲线来 创建路径。通过该系统计算出的路径将是偏离正切曲线规则的次数最少的曲线,而不是规 则偏离次数较多的任何较短路径。
次要标准是如果找到具有相同偏离次数的多条“路径”,则将选择具有最短长度 的路径。例如,如果用户选择了两条曲线和“连通曲线”规则,则可能存在具有相同偏离次 数的多条路径。在这种情况下,系统将选择这些路径中的最短路径。注意,如本文所述,对 用户输入或用户选择的任何涉及都应理解为包括该系统经由任何适当的输入设备接收这 样的输入或选择。
交互还允许去除任何明确选择的输入曲线,用另一曲线替换明确选择的输入曲线,并且通过将在先前选择的两条曲线之间选择的新输入曲线来对路径进行重定向。相应 地修改受影响的路径。
所公开的处理相对于现有方法提供了显著的优势。例如,各个实施例允许非常快 速的朝最佳路径的会聚。会聚标准的鲁棒设计确保了进一步的计算将总是会给出偏离次数 较多的路径。
此外,如果存在偏离理想路径的次数相同的多条路径,则在相同的迭代深度找到 所有这些路径。本文中的处理的性能不依赖于模型的全局复杂性。其依赖于源曲线和目标 曲线附近的局部复杂性。
所公开的处理还确保已经作为集合的一部分的任何曲线不对路径查找处理作出-Tj. 士 [>贝献。
该算法为双向搜索算法,其同时从源曲线和目标曲线开始。快速会聚的关键在于 迭代深度的概念。在任何迭代深度处,已知可以发生的最少偏离次数。
图3示出了根据所公开的实施例的高级处理的流程图。注意,可以同时执行各个 步骤;特别地且不限制地,优选同时执行以下描述的根据源曲线和目标曲线的路径计算。
系统接收要从中查找路径的曲线集(步骤305)。如本文所使用的,“接收”可包括 从存储器加载、诸如经由网络或者以另外的方式从另一系统接收、由用户输入以及本领域 技术人员已知的其他方式。曲线集可以为任何2D或3D模型或者CAD系统中的其他结构的 一部分。
系统接收从曲线集中对源曲线和目标曲线的选择(步骤310)。
可选地,系统接收对选择意图规则的选择,并且可以接收其他选项(步骤315)。
系统根据所选择的任何选择意图规则计算从源曲线开始(或至少包括源曲线)的 第一链一曲线集合(步骤320)。该链可以形成从源曲线到目标曲线的路径的部分或全部。
系统根据所选择的任何选择意图规则计算从目标曲线开始(或至少包括目标曲 线)的第二链一曲线集合(步骤325)。该链可以形成从目标曲线到源曲线的路径的部分或 全部。
系统比较第一链和第二链以确定它们是否相同(步骤330)。如果它们相同,则系统 将该链标记为源曲线与目标曲线之间的所选路径(步骤335),存储该路径,并且其将具有零 次偏离。
如果它们不相同(在步骤330中),则系统识别与第一链和第二链交叉的公共曲线 (步骤340),因为这些公共曲线是路径会偏离的必经之路。交叉表示这些曲线对于第一链和 第二链而言可以是公共的以形成完整的路径。
系统根据第一标准和第二标准以及根据所选择的任何选择意图规则来计算从源 曲线开始的第三链,其包括至少一条公共曲线(步骤345)。
系统根据第一标准和第二标准以及根据所选择的任何选择意图规则来计算从目 标曲线开始的第四链,其包括至少一条公共曲线(步骤350)。
系统比较第三链和第四链以确定它们是否相同(步骤355),或者在后续迭代中比 较其他路径。如果它们中的任意一个匹配,则系统将该链标记为所选路径或链(步骤335), 并且其具有I次偏离。
如果路径不匹配(在步骤355中),则处理使用另一公共曲线重复至步骤345,直到识别并标记所选路径为止(在步骤335中)。
如果找到最小偏离次数相同的多条所选路径(步骤360),则系统使用本文引用的 技术来查找并存储这些路径中的最短路径(步骤365)。在不存在多条所选路径的情况下,或 者在查找并存储所选路径中的最短路径之后,处理结束(步骤370 )。
上述处理查找链并且为给定的输入曲线存储以紧凑格式相关的数据。如果第一链 和第二链不同,则计算至少一个附加链以找到偏离选择意图规则一次或多次的在源曲线与 目标曲线之间的路径。在存储了多条所选路径的情况下,识别多条所选路径中的最短路径。 在一些情况下,所存储的所选路径是偏离选择意图规则的次数相同的多条路径中的在源曲 线与目标曲线之间的最短路径。
本领域技术人员已知Di jkstra算法作为用于查找最短路径的技术。本文所描述 的其他技术与已知方法明显不同并且提供了显著的优点。
所公开的一种方法包括以下处理查找两条链之间不存在单个有效节点而是替代 地存在称为“等级”且同时处理的多个有效节点的最小数量的链。在这种情况下,同时处理 是可能的,因为从一条链移动到其他链的成本总是一致的。
根据该方法的处理,假设起始链为Cl。在该方法中,系统利用所接收的曲线集中的 剩余曲线处理该链的所有交叉。然后,将这些交叉用于创建下一等级的链。在该方法中,当 第2链到达特定等级时,处理终止。等级表示连接两条输入链所需的最小链数。
图4示出了根据所公开的实施例的用于公开的一个处理的处理的流程图。可以同 时或者以不同顺序执行各个步骤。
系统接收两个输入链(步骤405)。例如,这些链可以对应于如图3的处理中所描述 的第三路径和第四路径。
系统确定这两个输入链是否相同(步骤410 )。如果相同,则这表示系统找到了期望 路径,并且处理终止(步骤430)。
系统查找这些链中的第一链的所有交叉(步骤415)。
在第一处理等级中,系统根据链I的所有交叉创建新的未修剪的链(步骤420)。作 为该步骤的一部分,系统还可以查找所有新创建的链的交叉。如本文所使用的,“未修剪的” 链是在交叉处没有停止的曲线链。
在第一处理等级中,系统检查任一新创建的链是否与期望的链2相同(步骤425)。 如果相同,则表示系统找到了期望的链,并且处理终止(步骤430 )。
如果不同,则系统执行第二处理等级,并且根据在第一处理等级期间找到的所有 链的所有交叉创建新的链(步骤435)。作为该步骤的一部分,系统还可以为所有新创建的链 查找交叉。
在第二处理等级中,系统检查任一新创建的链是否与期望的链2相同(步骤440)。 如果相同,则表示系统找到了期望的链,并且处理终止(步骤430 )。
如果不同,则系统重复步骤435的处理来用于其他处理等级(重复至步骤435)。处 理重复,直到系统到达期望的链2 (并且在步骤430处结束),或者直到在特定等级处不存在 任何链的另外的交叉为止,以为下一等级(此处存在处理,未示出)创建新的链。
图5示出了根据所公开的实施例的示出图4处理的输出树图。这里示出了被示为 节点或叶的链505以及各条链之间的交叉510。这里示出了三个处理等级第一等级O、第二等级I和后续等级2。
图6示出了根据所公开的实施例的用于当前优选处理的处理的流程图。在该处理 中,每个处理等级都被划分为从源曲线开始工作的“第一半部分”和从目标曲线开始工作的 “第二半部分”。可以同时或者以不同的顺序执行各个步骤。
系统接收两个输入链(步骤605)。例如,这些可以对应于如图3的处理中所描述的 第三路径和第四路径。在优选实施例中,这些输入链是分别源于源曲线和目标曲线的链。
系统确定这两个输入链是否相同(步骤610 )。如果相同,则表示系统找到了期望路 径,并且处理终止(步骤630)。这是零次偏离的情况。
系统查找这些链中的前两个链(称为链I和链2)的所有交叉(步骤615)。例如,它 们可以是包含源曲线的链和包含目标曲线的链。
对于第一处理等级的第一半部分,系统根据链I的所有交叉创建新的未修剪的链 (步骤620)。作为该步骤的一部分,系统还可以查找所有新创建的链的交叉。
对于第一处理等级的第一半部分,系统检查任一新创建的链是否与期望的链2相 同(步骤625)。如果相同,则表示系统找到了期望的链,并且处理终止(步骤630)。
对于第一处理等级的第二半部分,系统根据链2的所有交叉创建新的未修剪的链 (在交叉处停止“off”的链)(步骤635)。作为该步骤的一部分,系统还可以查找所有新创 建的链的交叉。
对于第一处理等级的第二半部分,系统检查任一新创建的链是否与等级I处理的 “第一半部分”中所创建的任一链相匹配(步骤640)。如果相同,则表示系统找到了期望的 链,并且处理终止(步骤630 )。
对于第一处理等级的第一半部分,系统根据在等级I的“第一半部分”的处理期间 找到的所有链的所有交叉创建新的链(步骤645)。作为该步骤的一部分,系统还可以查找所 有新创建的链的交叉。
对于第二处理等级的第一半部分,系统检查任何新创建的链是否与在等级I的 “第二半部分”中创建的任一链相匹配(步骤650)。如果匹配,则表示系统找到了期望的链, 并且处理终止(步骤630)。
对于第二处理等级的第二半部分,系统根据在等级I的“第二半部分”的处理期间 找到的所有链的所有交叉创建新的链(步骤655)。作为该步骤的一部分,系统还可以查找所 有新创建的链的交叉。
对于第二处理等级的第二半部分,系统检查任何新创建的链是否与在等级2的 “第一半部分”中创建的任一链相匹配(步骤660)。如果匹配,则表示系统找到了期望的链, 并且处理终止(步骤630)。
然后,系统重复处理,直到找到匹配(重复至步骤650)或者直到在特定等级处的两 个半部分的任一半部分中不存任何链可用的另外的交叉为止,以为下一等级(此时存在处 理,未示出)创建新的链。
图7示出了根据所公开的实施例的示出图6的处理的输出树图,其被划分为第一 半部分740和第二半部分750,每一个都形成其自身的树。这里示出了被示为节点或叶的 链705以及各个链之间的交叉710。这里示出了三个处理等级第一等级O、第二等级I和 后续等级2。
如上所述,一些实施例的处理结果为树状结构形式,从中可以通过遍历树来提取 所有可能的解决方案。
用于从树结构中查找最短路径的处理的输入是在处理结束时匹配的节点。每个节 点都包含关于链及其与模型的剩余元素以及先前节点的交叉的信息以及根据其形成当前 链的先前节点的交叉信息。
从终止节点开始,检索并存储先前节点以及根据其形成终止节点的交叉信息。该 交叉信息是终止链的一个限制。
从先前节点开始,再次重复查找先前链及其交叉信息的处理,直到到达树中的第 一链为止。
在树列表中的任何时间点,在特定节点处可以存在多个先前节点及其交叉信息。 多个先前节点意味着存在从中可以形成当前链的多个链。该状况需要基于最小路径长度来 解决。
图8示出了根据所公开的实施例的树结构的说明性的非限制示例,其示出了作为 节点或叶的链805以及各个链之间的交叉810。在从等级N+1往回遍历时,在等级N+1处 的节点(CNlI)具有来自等级N 830的两个先前节点(CNl和CN2)。这意味着在等级N+1处 的链可以由在等级N处的两条链形成。这意味着存在多条达到等级N+1的路径并且需要解 析。
为了解析,在等级N处的节点被再次回溯(backtrack)至公共链。在上述示例中, 公共节点恰好是在等级N-1840处的高亮节点(节点CN)。由于在N-1处的节点是最少链解决 方案的一部分并且仅具有一个交叉(是指其由来自其先前等级的仅一个链的交叉来形成), 所以需要根据等级N-1840来计算最小路径长度。
对于路径长度计算,如下计算链的长度
对于等级N,节点CNl,链的长度将为节点CNl与节点CN的交叉和节点CNl与CNll 的交叉之间的修剪链长度。
因此,链长度{CN1} = {CN1分别与上一节点和下一节点(即,节点CN和CN11)的交 叉之间的CNl链的长度}
最小路径长度={链长度[CN]+链长度[CNl] +链长度[CN11] }&{链长度[CN] + 链长度[CN2] +链长度[CN11] }的最小值
多重解析的结果是被修改成形成链接列表结构的树结构。
图9示出了根据所公开的实施例的链接列表树结构的非限制示例。链接列表中的 每个节点都指向列表中的下一节点并且还将具有上一节点的信息以及交叉信息。
可以如下从该链接列表中提取链配方(chain recipe)。虽然从在等级(N+1) 920 处的节点CN2向上遍历,但CNl的交叉信息是可用的并且存储为等级(N)处的节点CNl中 的链的一个限制。在节点CNl处,上一节点的交叉信息是可用的。该交叉信息将用作对于 节点CNl中的链的其他限制。该交叉信息还将用作对于在链CNl之前的链的一个限制。以 这种方式,所有节点都被向上遍历至等级(N-1) 940处的节点CN的输入链。
本领域技术人员应该意识到,为了简化和清楚,本文没有示出或描述供本公开使 用的所有数据处理系统的完整结构和操作。而是,仅示出和描述了本公开特有的或者理解 本公开所需的数据处理系统的如此多内容。数据处理系统100的结构和操作的其余部分可以与本领域已知的各种当前实施和实践中的任意实施和实践相符。
需要注意的是,虽然本公开包括在全功能系统的情况下的描述,但本领域技术人员应该认识到,本公开的机制的至少部分能够以按各种形式中的任一种形式包含在机器可用、计算机可用或计算机可读介质内的指令的形式来分布,并且无论实际实现分布所利用的特定类型的指令或信号承载介质或存储介质如何,本公开都等效地适用。机器可用/可读或计算机可用/可读介质的示例包括非易失性、硬编码型介质(诸如只读存储器(ROM) 或电可擦除可编程只读存储器(EEPROM))以及用户可读型介质(诸如软盘、硬盘驱动器和致密盘只读存储器(⑶-ROM)或数字通用盘(DVD))。
尽管详细描述了本公开的示例性实施例,但本领域技术人员应该理解,在不背离本公开的精神和范围的情况下,可以以最广泛的形式进行各种改变、替换、修改和改进。
本申请的描述不应看作是表明任何特定的元件、步骤或功能是必须包括在权利要求范围内的基本要素仅通过允许的权利要求来限定受专利权保护的主题的范围。此外,这些权利要求都 不用于援引35USC§ 112的第6节,除非确切的词“用于…手段”后跟有分词。
权利要求
1.一种用于在CAD系统中进行自动路径确定的方法,包括在所述CAD系统中接收交叉曲线集;通过所述CAD系统接收从所述交叉曲线集中对源曲线和目标曲线的选择;通过所述CAD系统接收选择意图规则;通过所述CAD系统,根据所述选择意图规则通过所述交叉曲线集来计算包括所述源曲线的第一曲线链;以及在所述CAD系统中存储所选路径,所述所选路径是偏离所述选择意图规则的次数最少的在所述源曲线与所述目标曲线之间的曲线链。
2.根据权利要求1所述的方法,还包括根据所述选择意图规则,通过所述交叉曲线集计算包括所述目标曲线的第二曲线链。
3.根据权利要求2所述的方法,还包括确定所述第一曲线链和所述第二曲线链是否相同。
4.根据权利要求2所述的方法,其中,如果所述第一曲线链和所述第二曲线链不同,则计算至少一个附加曲线链,所述至少一个附加曲线链包括所述源曲线且偏离所述选择意图规则一次或多次。
5.根据权利要求2所述的方法,其中,如果所述第一曲线链和所述第二曲线链不同,则计算至少一个附加曲线链,所述至少一个附加曲线链包括所述源曲线以及至少一条对于所述第一曲线链和所述第二曲线链而言公共的附加曲线。
6.根据权利要求1所述的方法,其中,存储多条所选路径,并且识别所述多条所选路径中的最短路径。
7.根据权利要求1所述的方法,其中,所存储的所选路径是偏离所述选择意图规则的最少次数相同的多条路径中的、在所述源曲线与所述目标曲线之间的最短路径。
8.一种包括处理器和可存取存储器的CAD系统,所述CAD系统具体被配置为执行以下步骤接收交叉曲线集;接收从所述交叉曲线集中对源曲线和目标曲线的选择;接收选择意图规则;根据所述选择意图规则,通过所述交叉曲线集来计算包括所述源曲线的第一曲线链;以及存储所选路径,所述所选路径是偏离所述选择意图规则的次数最少的在所述源曲线与所述目标曲线之间的曲线链。
9.根据权利要求8所述的CAD系统,被进一步配置为执行以下步骤根据所述选择意图规则,通过所述交叉曲线集来计算包括所述目标曲线的第二曲线链。
10.根据权利要求9所述的CAD系统,被进一步配置为执行以下步骤确定所述第一曲线链与所述第二曲线链是否相同。
11.根据权利要求9所述的CAD系统,被进一步配置为执行以下步骤如果所述第一曲线链和所述第二曲线链不同,则计算至少一个附加曲线链,所述至少一个附加曲线链包括所述源曲线且偏离所述选择意图规则一次或多次。
12.根据权利要求9所述的CAD系统,被进一步配置为执行以下步骤如果所述第一曲线链和所述第二曲线链不同,则计算至少一个附加曲线链,所述至少一个附加曲线链包括所述源曲线以及至少一条对于所述第一曲线链和所述第二曲线链而言公共的附加曲线。
13.根据权利要求8所述的CAD系统,其中,存储多条所选路径,并且识别所述多条所选路径中的最短路径。
14.根据权利要求8所述的CAD系统,其中,所存储的所选路径是偏离所述选择意图规则的最少次数相同的多条路径中的、在所述源曲线与所述目标曲线之间的最短路径。
15.—种利用计算机可执行指令编码的计算机可读存储介质,所述计算机可执行指令当被执行时,使CAD数据处理系统执行以下步骤接收交叉曲线集;接收从所述交叉曲线集中对源曲线和目标曲线的选择;接收选择意图规则;根据所述选择意图规则,通过所述交叉曲线集来计算包括所述源曲线的第一曲线链;以及存储所选路径,所述所选路径是偏离所述选择意图规则的次数最少的在所述源曲线与所述目标曲线之间的曲线链。
16.根据权利要求15所述的计算机可读存储介质,进一步利用当被执行时使CAD数据处理系统执行以下步骤的计算机可执行指令来编码根据所述选择意图规则,通过所述交叉曲线集来计算包括所述目标曲线的第二曲线链。
17.根据权利要求16所述的计算机可读存储介质,进一步利用当被执行时使CAD数据处理系统执行以下步骤的计算机可执行指令来编码确定所述第一曲线链与所述第二曲线链是否相同。
18.根据权利要求16所述的计算机可读存储介质,进一步利用当被执行时使CAD数据处理系统执行以下步骤的计算机可执行指令来编码如果所述第一曲线链和所述第二曲线链不同,则计算至少一个附加曲线链,所述至少一个附加曲线链包括所述源曲线且偏离所述选择意图规则一次或多次。
19.根据权利要求16所述的计算机可读存储介质,进一步利用当被执行时使CAD数据处理系统执行以下步骤的计算机可执行指令来编码如果所述第一曲线链和所述第二曲线链不同,则计算至少一个附加曲线,所述至少一个附加曲线链包括所述源曲线以及至少一条对于所述第一曲线链和所述第二曲线链而言公共的附加曲线。
20.根据权利要求15所述的计算机可读存储介质,其中,存储多条所选路径,并且识别所述多条所选路径中的最短路径。
21.根据权利要求15所述的计算机可读存储介质,其中,所存储的所选路径是偏离所述选择意图规则的最少次数相同的多条路径中的、在所述源曲线与所述目标曲线之间的最短路径。
全文摘要
公开了一种CAD系统以及对应的方法和计算机程序产品。方法包括接收交叉曲线集以及接收从交叉曲线集中对源曲线和目标曲线的选择。该方法包括接收选择意图规则并根据选择意图规则通过交叉曲线集来计算包括源曲线的第一曲线链。该方法包括存储所选路径,所选路径为偏离选择意图规则的次数最少的在源曲线与目标曲线之间的曲线链。
文档编号G06F17/50GK103026359SQ201180021580
公开日2013年4月3日 申请日期2011年4月27日 优先权日2010年4月29日
发明者安德鲁·J·凯利, 阿维伊奇特·森, 詹姆斯·约瑟夫·武伊齐克, 拉胡尔·拉金德拉·居尔哈内, 威尼·舒克拉, 迈特雷·什里瓦斯塔瓦, 尼莱什·马达夫·赖汉斯, 萨钦·希瓦吉朗·舍克, 阿米特·阿肖克·伊纳姆达尔 申请人:西门子产品生命周期管理软件公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1