CN107408142B - 基于多用户云参数特征的3d cad*** - Google Patents
基于多用户云参数特征的3d cad*** Download PDFInfo
- Publication number
- CN107408142B CN107408142B CN201680017319.2A CN201680017319A CN107408142B CN 107408142 B CN107408142 B CN 107408142B CN 201680017319 A CN201680017319 A CN 201680017319A CN 107408142 B CN107408142 B CN 107408142B
- Authority
- CN
- China
- Prior art keywords
- workspace
- design
- user
- aided design
- computer
- 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.)
- Active
Links
- 238000011960 computer-aided design Methods 0.000 claims description 191
- 238000013461 design Methods 0.000 claims description 75
- 230000008859 change Effects 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000003993 interaction Effects 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 14
- 230000002085 persistent effect Effects 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 238000007726 management method Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 9
- 230000002688 persistence Effects 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 5
- 230000001172 regenerating effect Effects 0.000 claims description 5
- 238000000429 assembly Methods 0.000 claims description 4
- 230000000712 assembly Effects 0.000 claims description 3
- 238000009877 rendering Methods 0.000 claims 2
- 239000003446 ligand Substances 0.000 description 68
- 230000033001 locomotion Effects 0.000 description 30
- 150000001875 compounds Chemical class 0.000 description 19
- 230000006870 function Effects 0.000 description 19
- 230000009471 action Effects 0.000 description 17
- 239000013598 vector Substances 0.000 description 17
- 238000012545 processing Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 12
- 230000006399 behavior Effects 0.000 description 11
- 230000018109 developmental process Effects 0.000 description 10
- 230000000007 visual effect Effects 0.000 description 9
- 239000000872 buffer Substances 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 7
- 239000002131 composite material Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 3
- 125000000174 L-prolyl group Chemical group [H]N1C([H])([H])C([H])([H])C([H])([H])[C@@]1([H])C(*)=O 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 238000013523 data management Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 241001502050 Acis Species 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 101000871498 Homo sapiens m7GpppX diphosphatase Proteins 0.000 description 2
- MIQYPPGTNIFAPO-CABCVRRESA-N PS(6:0/6:0) Chemical compound CCCCCC(=O)OC[C@@H](OC(=O)CCCCC)COP(O)(=O)OC[C@H](N)C(O)=O MIQYPPGTNIFAPO-CABCVRRESA-N 0.000 description 2
- 238000000627 alternating current impedance spectroscopy Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000001125 extrusion Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 102100033718 m7GpppX diphosphatase Human genes 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241001290723 Pachystachys lutea Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- -1 groups Substances 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- ZRHANBBTXQZFSP-UHFFFAOYSA-M potassium;4-amino-3,5,6-trichloropyridine-2-carboxylate Chemical compound [K+].NC1=C(Cl)C(Cl)=NC(C([O-])=O)=C1Cl ZRHANBBTXQZFSP-UHFFFAOYSA-M 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/02—CAD in a network environment, e.g. collaborative CAD or distributed simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Theoretical Computer Science (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)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
- Architecture (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种基于参数特征的3D CAD***,其允许多个用户同时编辑由3D零件和那些零件的组件组成的基于参数特征的3D CAD模型(3D模型)。均使用他们自己的计算机、电话或平板电脑的几个CAD用户可以同时编辑相同的3D模型。编辑可能是独立的和同时的‑用户不需要担心锁定、签出或以其他方式限制彼此对3D模型的访问。结果,用户看到彼此的更改实时发生,并且也可以通过可见的“协作提示”来识别其他用户正在主动修改哪些方面。
Description
相关申请的交叉参考
该发明专利申请要求以下申请的优先权:于2016年2月24日提交的、名称为“Multi-User Cloud Parametric Feature-Based 3D CAD System”、序列号为15/052,418的美国专利申请,发明人为Jon K.Hirschtick,Michael R.Lauer,Scott S.Harris,PaulR.Chastell,llya Baran,Lana Saksonov,Ravi Nallapareddy,Nicholas J.Eyre,KarlEvan Nowak,John Rousseau,Rammohan Vangapalli,Andrew John Morris,StevenC.Hess,Philip Gareth Thomas,Daniel Vlasic,Louis V.Gallo,III,Parapura Rajkumar和Malay Kumar;以及于2015年2月25日提交的、名称为“Multi-User Cloud ParametricFeature-Based 3D CAD System”、序列号为62/120,672的美国临时专利申请,发明人为JonK Hirschtick,Michael R.Lauer,Scott S.Harris,Paul R.Chastell,llya Baran,LanaSaksonov,Ravi Nallapareddy,Nicholas J.Eyre,Karl Evan Nowak,John Rousseau,Rammohan Vangapalli,Andrew John Morris,Steven C.Hess,Philip Gareth Thomas,Daniel Vlasic,Louis V.Gallo,III,Parapura Rajkumar和Malay Kumar。
版权声明
该专利文献的公开的一部分包含受版权保护的材料。当其出现在专利商标局专利文件或记录中时,版权所有者不反对任何专利文献或专利公开的传真再现,但在别的方面保留所有版权。版权所有2016Onshape有限公司。
技术领域
本公开涉及计算机辅助设计(CAD),并且更具体地涉及多用户三维在线CAD***。
背景技术
计算机辅助设计(CAD)是使用户能够设计诸如机器和其他商业产品的真实世界对象的一种类型的软件。典型的CAD用户是来自企业的设计师或工程师或个人,他们希望精确而高效地创建代表物理对象的产品设计。
CAD背后有悠久的发展历史,原因是设计软件允许超出在纸上工作的绘图员的范围和能力的特征和功能。CAD软件可以在二维(2D CAD)或三维(3D CAD)中进行设计。自1988年以来,随着Pro/ENGINEER的推出,参数实体建模已成为设计工具的主流技术。所有参数实体建模***的基本功能是允许用户改变正在生成的特征的尺寸(以及其他参数,如方向和定义),允许改变模型。CAD***中的参数模型由数据结构表示,其最基本的形式是为了创建模型而被执行的特征的线性集(如草图、挤压、圆角)。这些特征限定零件的最终形状。在诸如PTC的Creo、Dassault Systems的Solidworks和Autodesk的Inventor这样的产品中,这通常被称为“参数历史”或“特征列表”。通过将特征直接应用于3D CAD零件,使用用户界面创建参数历史。
现有的基于参数特征的3D CAD***通常设计用于单个用户一次使用。如果用户与其他用户一起在团队中工作,则必须在每个用户的计算机上安装CAD***的副本,或者用户需要使用独立于主CAD模型工作的独立协作服务器。CAD数据必须拷贝到每个用户的计算机,或拷贝到协作服务器和从协作服务器拷贝。用户必须时刻警惕以确保他们不会覆写彼此的更改,并且确保他们正在查看CAD模型的当前最新版本。CAD软件和独立的协作服务器需要执行复杂的任务以在协作服务器和主CAD模型之间来回传递更改。
现有的基于参数特征的3D CAD***通常围绕许多文件的使用进行设计。每个CAD零件、组件和绘图典型地存储在计算机文件***中的单独的数据文件中。如果用户在设计中与其他用户一起在团队中工作,则将所有相关文件(CAD和其他)的副本拷贝到每个用户的计算机。如果引入了新的文件,例如用于新的零件,则该文件必须被拷贝到需要它的所有CAD用户。如果设计需要进行版本化以保存特定状态,则所有许多文件都需要版本化。通常需要外部***(如产品数据管理(PDM)服务器)来执行版本控制并且将包括产品设计的许多单独的文件关联在一起。
即使使用像PDM服务器这样的外部解决方案,协作和同步工作也是具有挑战性的。设计师团队可能希望在设计模型时以这样的方式协作:使得每个设计师在模型的一部分上工作而不干扰他或她的队友。当一个或所有设计师完成他们的特定任务时,他们的每个工作产品必须以某种方式并入成品模型中。现有的CAD***通常不提供任何实际的机制来做到这一点。模型必须预先细分(例如,作为组件中的不同零件),这并不总是可行的或可能的,或者每个设计师的工作必须在最终设计中手动和费力地重新创建。
类似地,替代设计的若干不同方面的每一个,设计师或设计师团队可能希望尝试许多不同的设计。设计师可能希望混合和匹配模型的不同部分的替代品,并且如上所述将需要将所选择的替代品合并成最终模型。在通常缺乏这样的启用工具的现有的CAD***下,这是一项具有挑战性的工作。有时可以进行几何的简单合并,例如使用“布尔(boolean)”操作,但是仅仅组合几何而不是参数历史或特征列表。
在软件开发(与CAD模型开发相反)中,视觉比较和合并工具(如Araxis Merge和Perforce的p4merge)是标准的。这些工具允许软件开发者以逐行(代码行)为基础并排地比较两个版本的相同软件源代码的文本表示。差异以颜色编码的方式突出显示(新行、删除行、修改行均是不同的颜色)。由于代码行的格式非常熟悉,因此软件开发者可以立即了解发生了什么变化,并且可以逐步选择将更改从一个版本转移到另一个版本。无论开发者正在看他或她写的代码还是其他人写的代码,都是如此。该方法对于单独工作的软件开发者和对于在团队中工作的软件开发者都是有用的。在代码审查中使用这样的工具也是标准做法。
一些集成开发环境(IDE)分析程序结构并显示其图形版本。它们可以通过图形版本来允许基本的编辑操作。某些CAD***(如SolidWorks)允许将程序嵌入到功能历史记录中。整个程序表示为单个特征,并且程序的结构不受用户界面的限制。OpenSCAD是基于编程语言的CAD***,但是它不支持经由非基于文本的UI查看或编辑模型。因此,当提到视觉上比较或合并开发成果时,CAD开发工具缺乏软件开发工具的功能和能力。
CAD***包括复杂的解算器以根据由用户配置的参数和特征来计算模型。大多数CAD***包括作为软件的一部分的草绘器,其可以允许用户在二维或三维中创建和操作曲线和几何结构。这样的草绘器包括复杂的关系,所述关系在计算上是不重要的并且典型地使用可商购的部件或其他复杂库进行评价。在驻留在用户计算机上的现有CAD应用程序中,可以执行这些计算并且近实时返回结果。然而,这在草绘时需要本地机器上的足够的处理能力和本地机器上的几何数据来计算几何结构。因此,当移动到客户端-服务器模型时存在多个问题。
另外,CAD***经常计算关于各种几何实体之间的关系的推测以帮助用户在草绘时进行设计。当用户在屏幕上移动鼠标时,传统的CAD推测在本地机器上执行计算。在所有的计算都在本地机器上的情况下,鼠标移动的任何延迟可以保持较短。然而,即使使用相当强大的机器和本地机器计算,使用复杂草图或模型的推测延迟也可能变得明显。
在客户端-服务器CAD架构中,存在多种方法。一种简单的方法在数据和处理能力所在的服务器上执行所有推测。从客户端到服务器的连接的延迟意味着与比传统的CAD应用程序相比用户接收结果慢得多。第二种方法是在客户端上执行所有推测。这避免推测时的延迟滞后,但是需要大量数据传输预先推测(所有模型数据需要从服务器移动到客户端),并且需要在客户端进行大量的计算(处理能力)。使用大而复杂的模型,该第二种方法不能有效地扩展。
当计算推测时,现有的几何实体通常被“捕捉”到计算的推测。SolidWorks,Creo,AutoCAD,Fusion,SolidEdge是用于2D或3D CAD的现有***,其在模型草绘期间进行推测时执行捕捉。然而,所有这些产品都在单个机器上实现,其不能有效扩展到具有高延迟的客户端-服务器***。
即使没有推测,在草绘时进行的任何几何移动也会在服务器-客户端模型中具有延迟和性能问题。当在草图中拖动实体时,每次鼠标移动后,通常解算器会计算几何结构的新位置。具有足够的处理能力,可以高效地进行这些计算,使得甚至相当大的草图也可以快速拖动。然而,在客户端-服务器***中,当那些计算在服务器上时,通信的延迟可以大大减小接收响应的速率。例如,使用每个路径125ms的客户端和服务器之间的行程时间,将需要花费至少250ms加上计算时间将拖动发送到服务器并获得响应返回。这导致用户感觉的迟钝行为,其中***(和模型更新)明显滞后于用户控制。
除了用户控制和复杂几何计算之外,CAD模型包括通过参数历史生成的对象的几何结构以及它们与由独立参数历史生成的其他对象之间的关系。在具有许多零件和参考的典型CAD模型中,这些关系常常令人困惑并且难以管理。对象之间的参考在上下文中定义,通常基于组件中的位置或逻辑关系。每个参数实体建模器的问题是对模型的一个零件进行的更改会导致模型的其他零件的意外行为和故障。
在20世纪80年代,Pro/ENGINEER试图通过强迫用户完全定义设计的所有方面来最小化这些故障。在可以创建任何特征或几何元素之前,需要每个尺寸或关系完全约束所有几何定义。这减少了许多类型的***故障,但是对用户来说是个负担。尽管存在限制,但也很可能建立不可预测的行为。
在1995年,SolidWorks推出了一种不需要完全约束的模型的参数建模***。它依赖于DCUBED和内部软件的高质量变分解算器来产生相当可靠的***。尽管在20年的持续发展之后更好,但是***(以及所有其他CAD***)在可能的情况下仍然遭受故障和不可预测的行为。特别令人关注的是更改与其构造不一致的模型。例如,如果由另一零件参考的切口改变使得被参考边缘消失,则参考零件的生成将失败。
美国专利8,214,423“CAD***”(Stefan Freitag,2012年3月7日)在摘要中公开了“描述一种计算机辅助设计(CAD)***,其中CAD生成对象的每种类型的更改自动地并按时间顺序地进行协议,使得对象直接包括独立于所使用的CAD模块的对象历史的抽象描述。这对于分散式CAD***是特别有利的,其中几个构造师/设计师在相同草图上一起工作,但位于不同的地方。在会话结束时,对象历史(即,已发生的更改)与对象数据一起直接导出到目的地***中。抽象描述是独立于所使用的***的形式。”这改进3D CAD建模以允许跨多个CAD***进行协作。
以上都没有提供一种以下的CAD***:其使三维、多用户CAD能够从任何平台或任何设备在线访问,在线文件存储和处理,非滞后服务器端推测,客户端预测拖动,集成分支和合并,多向文本、特征和图形编辑,以及关系的管理,从而避免来自独立参数历史的破坏性变化。所以,需要一种CAD***,其克服上述限制并且包括上面列举的特征。
发明内容
公开了一种基于参数特征的3D CAD***的细节,其允许多个用户同时编辑由3D零件和那些零件的组件组成的基于参数特征的3D CAD模型(“3D模型”)。均使用他们自己的计算机、电话、平板电脑、可穿戴计算机(例如,眼镜、手表等)或其他连接的计算设备的几个CAD用户可以同时编辑相同的3D模型。编辑可能是独立的和同时的-用户不需要担心锁定、签出或以其他方式限制彼此对3D模型的访问。结果,用户看到彼此的更改实时发生,并且也可以通过可见的“协作提示”来识别其他用户正在主动修改哪些方面。
基于多用户参数特征的3D CAD***在若干部分中被构造。计算机的集合(“服务器”)执行3D几何计算,管理CAD编辑工作流,并且管理用户客户端设备(计算机,平板电脑,手机等)和CAD编辑服务器之间的交互。这些计算机的集合可以分布在多个远程数据中心(有时称为“云”)或软件即服务(SaaS)基础设施)。客户端软件在用户计算机设备上操作以显示用于CAD编辑的图形界面。客户端软件可以是存储在用户计算机设备上或根据需要加载在例如网页浏览器内而不需要用户安装操作的专用程序或应用程序。网络和通信***在这些服务器和客户端软件之间传递异步消息。3D信息流被优化以用于快速模型和更改传播。该解决方案实现了基于多用户参数特征的3D CAD而不需要独立的协作服务器,并且不需要在主CAD模型和协作服务器之间拷贝数据。
特征和优点
该基于多用户参数特征的3D CAD解决方案相对于现有的CAD***提供了许多益处和优点。
·用户可以更快和更准确地完成他们的工作,原因是无需等待其他用户完成他们的工作并彼此拷贝文件
·用户可以在相同的3D模型和项目上同时工作
·由于用户不必处理易于失去同步的拷贝文件,因此消除了需要复杂附加功能的数据管理(通常称为产品数据管理(PDM)应用程序)复杂性
·用户具有他们的3D模型的更好的数据安全性,原因是传统的单用户CAD***中只有数据的一个主版本而没有副本
·用户工作被连续保存而无需使用保存命令
·***容错,使得即使部分***崩溃或停止运行,用户对***的使用也不会中断,并且用户对3D模型的工作不会丢失
·用户接收实时反馈(“协作提示”),显示哪些其他用户也在编辑相同的3D模型,包括专用于参数特征的反馈,如其他用户正在编辑哪个参数3D特征、参数或变化草图、参数尺寸值、或3D组件匹配关系
·大(和小)3D模型快速地向所有用户显示更新,即使他们在广域网(如公共互联网)上遍布世界各地
·由于计算工作分布在计算机网络上并且也通过使用每个用户的客户端设备上的CPU和GPU,用户实现高速3D模型操作
·用户可以使用3D模型的分支进行其他用户不需要看到的更改
·用户可以以后使用3D模型的合并将分支更改组合回到其他用户已改变的3D模型中
·用户可以可视化谁何时对3D模型执行了什么工作的文本和/或图形视图,包括单独的编辑、版本、分支和合并
·用户可以恢复3D模型的早期状态,包括其他用户对3D模型执行编辑之前存在的状态
·具有触摸屏平板电脑、手机、可穿戴计算设备或其他基于触摸的计算设备的用户可以使用基于触摸的用户界面(2D和3D)与使用网页浏览器和鼠标或触控板的用户同时编辑相同的3D模型
·浏览器内的客户端软件允许使用,而无需在客户端设备上安装任何软件
·在任何时候,用户可以将任何分支上的3D模型的自动保存的不可变状态指定为命名版本,而无需创建文件
该解决方案使用复合文档方法,具有附加优点:
·任意大小的整个产品设计可以存储在单个复合文档中
·所有CAD数据(零件、绘图、组件等)和非CAD数据(PDF文件、Word处理文件、电子表格文件、图像文件、视频等)可以作为“标签”存储在一个复合文档中
·来自多个不同CAD***的多种本机CAD格式的CAD数据可以一起存储在单个复合文档中
·数据对象(例如参考零件的组件)之间的链接不取决于常常脆弱的计算机文件***命名和文件夹结构。因此用户不能通过无意的重命名文件、重新组织文件夹或在计算机文件***中拷贝文件来中断他们的CAD数据的状态。
·整个复合文档可以用仅仅一个共享操作与用于协作的另一用户共享,而不需要许多共享操作来共享单个数据文件,或创建独立的“项目”文件,或使用独立的(PDM)***或服务器
·整个复合文档可以在单个操作中进行版本控制,而不需要针对许多单独的文件中的每一个进行多个版本控制操作
·保证用户在看产品设计中的所有元素/标签的正确匹配版本,原因是它们全部一起存储在一个复合文档中并版本化
·存储在复合文档中的标签中的外部非本机CAD文件可用于下载以重新创建原始文件的精确副本
·存储在复合文档中的非本机CAD文件可以经由新的附加本机CAD数据标签转换为基于复合文档的CAD***的本机CAD格式。原始的非本机CAD文件仍然是复合文档的一部分,即使在转换之后,并且因此对于访问文档的所有用户可用并且可以随时再次下载。
参考管理器跟踪对实例的参考,以便在实例被独立改变时保持设计完整性。这增加益处:
·保留备份几何结构以防止一个参数历史中的更改破坏另一参数历史记录中的设计
·使用户无干扰地意识到更改
·防止外部的和意外的关系更新
·用户可以控制更新什么,并且立即纠正任何不一致并防止意外更改
·在常规***中故障的情况是稳定的,原因是备份几何结构的存在能够进行鲁棒的重新生成
历史管理器跟踪跨设计项目的多个版本和工作空间的更改。这使得能够:
·CAD设计的现有历史或不同版本的视觉文字和图形比较
·整个CAD设计的工作空间和版本图形
·跟踪恢复先前状态作为历史中的条目
·3D模型并排差异或合并状态的视觉比较在任何更改时可用,允许增量合并
·合并时解释先前的合并和恢复
客户端-服务器性能增强允许调节服务器计算什么和那些计算何时发生,从而最大化用户的客户端性能。这包括:
·基于当前用户视图和用户界面控制定位推测计算,其中客户端不可见缓冲器保存接收的推测
·导数解算器估计从服务器提供给客户端以简化计算,并且允许在用户界面交互期间显示预测的几何结构
·平滑用户界面操作独立于客户端和服务器之间的延迟以及模型的扩展和复杂性发生
附图说明
在附图中,密切相关的图和项具有相同的数字但不同的字母后缀。过程、状态、状况和数据库针对它们的相应功能命名。
图1是***概览图。
图2是示出服务器的启动过程的流程图。
图3是示出打开项目时的服务器选择过程的流程图。
图4是示出典型用户在项目内编辑期间的服务器交互的流程图。
图5是项目概览的屏幕截图。
图6是标签式文档屏幕截图。
图7是上传屏幕截图。
图8是下载屏幕截图。
图9是转换屏幕截图。
图10是导出屏幕截图。
图11是属性屏幕截图。
图12是编辑对话框屏幕截图。
图13是草绘模式屏幕截图。
图14、15和16是示出推测的屏幕截图。
图17是详细描述预测拖动的流程图。
图18是组件屏幕截图。
图19是测量属性屏幕截图。
图20是质量属性屏幕截图。
图21示出了历史。
图22示出了版本管理器。
图23示出了共享项目。
图24示出了多个用户在相同工作空间内同时工作。
图25示出了CAD编辑时打开的代码表示。
图26A和26B示出了限定另一零件的边缘的零件边缘。
图27示出了具有由另一零件的几何结构限定的特征的一个零件。
图28示出了异步参考的检测。
图29示出了通过同步解析异步参考。
图30示出通过丢弃解析异步参考。
具体实施方式
在下面的详细描述中,参考形成其一部分的附图,并且其中通过说明的方式示出了可以实践的具体实施例。应当理解,可以使用其他实施例,并且可以在不脱离所提出的范围的情况下进行结构改变。
术语
现有技术的术语和定义不一定与本公开的术语和定义一致。如果有冲突,则适用以下定义。
组件-用于组装零件。组件用于限定组件的结构和行为。每个组件具有自己的特征列表,其包含(零件和子组件的)实例、配体、配体连接器、组和关系。
备份几何结构-参考已改变的先前几何结构。
分支-项目的特定版本的工作空间。
客户端设备-用于三维多用户计算机辅助设计的***的用户所使用的计算机硬件,例如台式计算机、平板电脑、电话、或可穿戴计算机,如眼镜或手表。
客户端程序-在客户端设备上运行以访问多用户云CAD***并向用户提供界面以便与多用户云CAD***交互的软件程序。软件程序可以是在浏览器内运行的专用应用程序或网页驱动界面。
复合文档-单个数据结构,其实际上由传统上将存储为独立文件的任何数量的内部部件组成。
复合推测-由多个推测组成的推测。
约束-相互限制它们的位置的两个几何结构之间的关系,例如对两点的“重合”约束将导致具有相同的位置的点。有许多类型的约束,如重合、平行、垂直、相切等。约束是几何结构之间的逻辑关系。例如,两个线段之间的“平行”约束将确保两个线段是平行的。
自由度-与几何结构相关联的数据,其解释如何(是否)该几何结构可以由解算器重新定位。例如,点可能被约束以位于固定线上。在这样的情况下,其自由度是沿着该线的平移。
导数-草图状态向量相对于拖动几何结构状态向量的变化率的近似。
拖动的几何结构-正由用户拖动的几何结构,其中拖动意味着用户正以某种方式移动几何结构,例如通过用鼠标点击并拖动或者在触控启动设备上用手指或触控笔拖动。
拖动的几何结构状态向量–代表拖动的几何结构的草图状态向量的子集。
特征–配置用于零件或组件的规则或属性。特征可以参考其他特征作为其定义的一部分。
特征列表–在零件工作室中:工作的参数历史,包含特征、零件和回滚条以查看参数历史中的某一点的工作;在组件中,特征列表包含组件实例树结构、配体、组和配体连接器。
几何结构-用户可以操作并且软件将重新定位以满足约束的实体、表面、轴、曲线或点和其他形状块。例如,线段是两点之间的线(直曲线)。
持久事务历史-在任何标签中进行的每个持久更改的工作空间的所有标签(零件工作室、组件等)的保留状态的集合。
上下文中参考-在CAD设计程序中,在组件的上下文中的独立参数历史中创建的几何对象之间的关系的参考被称为“上下文中”参考。
实例–组件内对零件工作室中定义的零件或对另一组件中定义的子组件的参考。
推测-在草绘期间检测并且在创建或重新定位几何结构时添加到模型的约束。例如,当绘制新的线时,可能会在该行的末尾和模型中的现有点之间找到一致的推测。
配体-用于定位实例并限定实例如何移动的高级实体(例如,限定零件和/或子组件之间的移动)。
配体连接器-位于零件上或零件之间并且在配体内使用以使实例相对于彼此定位和定向(限定实例在哪里连接)的局部坐标系实体。
模型-作为几何操作的结果的3D几何结构。
异步参考-当被参考的几何结构或限定被参考的几何结构的位置的上下文改变时,“上下文中参考”被称为“异步”。
参数历史-特征的有序列表,其按顺序重新生成时创建一个或多个零件的几何结构。
零件-命名的几何结构,其可以与其他部分组合和约束以创建组件。
零件工作室-用户创建零件的位置。零件工作室包含特征列表(参数历史)和由该特征列表生成的零件列表。
项目-3D CAD***内的复合文档。
参考-设计几何结构之间的关系。
草图-平面上的二维几何结构和约束的集合。
草图状态向量–代表草图中所有几何结构的数字向量。
草绘-修改草图的动作。
草绘器-用户用来创建和操作几何结构和约束的软件部件。
解算器-由草绘器使用的软件部件,其采用几何结构集合和约束集合并根据需要重新定位几何结构以满足约束。
捕捉-几何结构的调节,使得其与推测一致。
表面-表面单独或组合地可以是零件或构造实体,并且可以由各种草绘和零件修改工具使用或参考以便改变或创建零件。
***-一个或多个互连或网络连接的服务器,其通过网络连接与一个或多个客户端一起工作以操作基于多用户参数特征的三维计算机辅助设计。
标签-表示存储在项目的复合文档内的单独设计或文档部件。例如,标签可以代表零件工作室、组件、绘图、或上传的文件,如pdf、图像、视频、或存储在计算机磁盘上的任何文件。
版本-复合文档的命名状态。版本是不可变的并且独立于工作空间。为了在特定时间点捕获工作空间,用户可以将其保存为版本。
工作空间-活动建模/设计空间。
操作
基于多用户参数特征的3D CAD***(“***”)在若干部分中被构造。计算机的集合(“服务器”)执行3D几何计算,管理CAD编辑工作流,并且管理用户客户端设备(计算机、平板电脑、手机等)和CAD编辑服务器之间的交互。客户端程序在客户端计算设备上操作以显示用于CAD编辑的图形界面。客户端程序可以是存储在客户端设备上或根据需要加载在例如网页浏览器内的专用软件程序或应用程序。网络和通信***在这些服务器和客户端软件之间传递异步消息。3D信息流被优化用于快速模型和更改传播。
硬件/***概述
参考图1,多个服务器彼此通信以及与客户端设备进行通信。如图1中所示,这样的通信发生在互联网165上。这是优选的,原因是它在互联网可访问的任何地方扩展使用,但是可以替代地由将服务器彼此连接并且与客户端设备连接的任何网络替换。类似地,单独的服务器被示出为独立的物理设备。这些服务器可以组合以在共享设备上运行,或者在内部连接,但是所示的配置优选地允许各种服务器的地理分布。所示的服务器可以在地理上分布的多个镜像副本中运行,允许优化用户连接和性能而不管位置如何。服务器的每个单独的副本可以在单个物理计算机上运行,跨多个物理计算机(如集群或服务器场)运行,或者在与其他服务器共享的一个或多个物理计算机上运行。每个服务器优选地具有八位或者超过64位或更好的中央处理单元(CPU)的专用物理资源,具有八或更多千兆字节(GB)的存储器,以及各种服务器之间的高速每秒千兆比特或更快的网络连接,但是跨网络的地理分离可能会减缓连接(例如在客户端与服务器之间,或在镜像服务器之间)。
服务器
3D几何计算服务器(“3DGCS”)100运行软件,包括但不限于3d几何内核,例如但不限于Parasolid或ACIS;2d和3d约束解算器,例如但不限于DCubed DCM2D和DCM3D;以及其他软件,其执行几何计算以修改几何形状的计算机表示(例如但不限于钻孔或圆化边缘),分析形状(例如但不限于计算体积或表面积),以及创建优化的3D图形数据,例如但不限于可以通过网络协议经由CAD编辑工作流服务器发送到一个或多个客户端以便显示正在设计的对象的3D图像的三角面。
CAD编辑工作流服务器(“CEWS”)105运行软件,包括但不限于诸如Ubuntu或其他Linux变体的操作***,以诸如Java的语言编写的网页应用程序,诸如Jetty和Spring的网页应用程序部件,以及其他软件。CEWS通过网络协议从客户端计算机和进程接收消息以从数据持久服务器读取和写入CAD数据,执行CAD功能,如修改CAD特征或元数据,协调使用多个客户端的用户之间的协作,并且与3DGCS通信以进行项目的几何建模操作。CEWS也根据来自客户端的请求向客户端发送客户端应用软件的集合,如JavaScript编码,其可以包括3DWebGL“shader”程序,以及用于在客户端设备上操作的其他JavaScript程序实用程序,如Angular。
安全证书管理服务器(“SCMS”)110运行软件,包括但不限于诸如Ubuntu或其他Linux变体的操作***,以及管理用于访问***的证书的软件。SCMS也用于集中管理认证证书和授权规则,以便由诸如***管理员的操作人员对***中的计算机进行安全访问。
2D绘图编辑工作流服务器(“2DDEWS”)115运行软件,包括但不限于诸如Ubuntu或其他Linux变体的操作***,以及允许客户端创建和操作其CAD模型的2D绘图的其他软件。该软件允许用户创建具有剖视图、精确尺寸和其他绘图项目的图形,其提供由第三方制造并用于其他目的的CAD设计的信息。
数据缓存持久服务器(“DCPS”)120运行软件,包括但不限于诸如Ubuntu或其他Linux变体的操作***,以及商业或开源软件,其允许***的其他部件非常快速地存储并检索经常访问的数据,如CAD模型信息和CAD模型和组件的图形“缩略图”表示。
文档管理网页服务器(“DMWS”)125运行软件,包括但不限于诸如Ubuntu或其他Linux变体的操作***,以及商业或开源软件,如Jetty、Spring和用Java编程语言编写的其他软件。DMWS是面向互联网的(可选地通过网络负荷平衡器)服务器,其以REST协议格式从客户端获取网络请求,并回复用户自己的CAD项目或用户有权查看的项目的信息。用户也可以通过与DMWS通信来处理CAD项目(例如但不限于创建、删除、共享和重命名)。
异步消息代理服务器(“AMBS”)130运行软件,其包括但不限于诸如Ubuntu或其他Linux变体的操作***,以及商业或开源软件,如RabbitMQ和用Java编程语言编写的其他软件。AMBS获取从DMWS、CEWS和其他服务器发送的消息,并将那些消息分发到特定地理位置的异步消息使用者服务器以便基于消息的类型进行处理。这允许后台处理和高度的可扩展性。可以根据***范围的处理需求来动态添加或删除附加的AMBS。
取决于AMCS正在执行的具体角色,异步消息使用者服务器(“AMCS”)135可以具有比其他服务器更低的物理资源(更少或更慢的CPU,更低的RAM量)。AMCS运行软件,包括但不限于诸如Ubuntu或其他Linux变体的操作***以及商业或开源软件(如Jetty,Spring和用Java编程语言编写的其他软件)。AMCS从AMBS获取专用于特定角色的消息,并处理那些消息。示例性AMCS角色包括但不限于处理从3DGCS生成的图形显示数据并创建缩略图,转换并形成为行业标准和其他CAD***文件格式,以及在共享项目时发送用户通知电子邮件。AMCS通过安全网络协议与数据持久服务器和其他外部服务进行通信。可以根据***范围的处理需求来动态添加或删除附加的AMCS。
数据持久服务器(“DPS”)140运行软件,包括但不限于诸如Ubuntu或其他Linux变体的操作***以及诸如mongoDB的商业或开源软件以持久存储用户登录帐户信息,用户CAD项目,用户、项目和***指标以及为了用户或***保存的其他信息。
性能和健康监测服务器(“PHMS”)145运行软件,包括但不限于诸如Ubuntu或其他Linux变体的操作***以及商业或开源软件(例如但不限于logstash,elasticsearch,kibana和zabbix)。PHMS通过网络协议不断收集***中其他服务器的性能和健康数据。该数据通过TCP和UDP网络协议从***中运行的所有其他服务器传输,并且用于提供对用户行为、硬件和软件故障以及***性能的洞察。
分布式配置控制器服务器(“DCCS”)150优选地在Core数据中心中以集群配置运行。DCCS运行软件包括但不限于诸如Ubuntu或其他Linux变体的操作***以及商业或开源软件(例如但不限于zookeeper和puppet)。DCCS提供一种树状持久机制,其中其他服务器(包括DMWS,2DDEWS和CEWS)可以读取和写入配置密钥和值,并且可以监听那些密钥或值(或其树中的子代)是否发生变化的通知。DCCS为***中的所有其他服务器提供配置。这允许集中管理配置,并且确保配置在服务器和每个服务器的副本之间是一致的。DCCS也提供服务发现。***中的每个服务器都取决于***中的其他计算机提供的服务。也参考图2,当服务器(DCCS除外)启动200时,它连接到210并询问220DCCS其他所需服务的网络位置,并且当服务器完全可操作(启动完成)230时,它通过DCCS宣传240自己的可用性。DCCS也为开放项目提供CEWS位置以便能够进行CAD用户之间的协作。也参考图3,当用户打开300特定项目时,DCCS检查310以查看该项目是否已经在特定CEWS上打开。如果是这样,则打开请求(以及进一步的项目编辑操作)被引导320到特定的CEWS,确保在相同项目上积极工作的所有用户通过相同的CEWS进行。如果不是,则DCCS选择330 CEWS(例如基于地理位置,或当前服务器负荷,或其他聚焦性能的标准)来引导请求并打开该项目,并且在DCCS中登记340与特地选定的CEWS关联的项目标识符。
分布式搜索服务器(“DSS”)155优选地在Core数据中心中以集群配置运行。DSS运行软件包括但不限于诸如Ubuntu或其他Linux变体的操作***以及商业或开源软件(如elasticsearch)。DSS提供数据索引和搜索机制以便从查询字符串定位项目、零件、用户等。
背景升级服务器(“BUS”)160优选地在Core数据中心中以并行配置运行。BUS运行软件包括但不限于诸如Ubuntu或其他Linux变体的操作***、用诸如Java的语言编写的网页应用程序(诸如Jetty和Spring的网页应用程序部件)以及其他软件。BUS在软件升级时与3DGCS结合使用以在所有现有的CAD项目上迭代,升级那些项目中的任何结构使得其与新软件正确地工作,并且验证升级过程是否已损坏CAD项目的几何完整性。
用户通过在客户端设备上运行的客户端程序进行连接。许多不同的服务器可能会根据用户操作进行交互。初始用户连接和验证(安全识别)涉及SCMS。一旦连接和编辑项目,就会在客户端和用于打开的项目的CEWS之间建立网络网页socket连接。CEWS管理用户编辑和查看更改操作,同时根据需要异步发送请求到其他服务器。也参考图4,在编辑示例中,客户端向CEWS发送400具有正被编辑的特征的标识的编辑消息以及关于更改的细节。CEWS要求410DPS将编辑记录为用户正在工作的项目分支上的增量,包括415时间戳和用户标识。如果自上次完整(非增量)记录以来有太多的增量,则CEWS要求DPS写入完整记录(作为优化)。CEWS也将编辑信息发送420到连接到项目的所有客户端(使得它们可以适当地更新关于编辑的指示)。CEWS检查430是否它连接到可用的并且最近在类似的状态下重新生成零件工作室的3DGCS。如果没有,则CEWS要求440DCCS用于3DGCS服务器,并要求其启动新的3DGCS进程。通过适当可用的3DGCS,CEWS将更改发送到3DGCS(如果新的可用3DGCS需要,则发送更多的项目数据),并且基于更改生成或重新生成450模型。3DGCS将镶嵌增量(三角、多段线等)、错误条件和关于它重新生成的特征的其他图形数据重新发送460回到CEWS。对于连接到项目的每个客户端,CEWS发送470返回镶嵌和其他增量。由于客户端可能处于不同的状态,因此它们需要的增量可能不同,并且CEWS计算每个连接的客户端上当前显示的适当增量。例如,如果在参考改变的零件的相同项目中有组件,则CEWS会更新这些组件。这可以包括要求480 3DGCS解算组件并要求DPS记录490更改。CEWS将组件的更改发送到连接到组件的所有客户端。
客户端
用户通过一个或多个客户端与***交互,每个客户端在客户端设备170上运行。不同的客户端程序被设计成允许用户从不同的客户端设备在CAD项目上工作。例如,用户可以在工作时在桌面计算机上的网页浏览器中启动CAD项目,在路上使用移动电话继续更新项目,并在家中在计算机平板电脑上完成项目。这使得能够从任何计算设备和从有因特网连接任何地方访问和操作***。
客户端程序通常可以被分类为设计成通过HTML、CSS、JavaScript和WebGL在浏览器内工作的网络客户端,或设计用于特定平台(如移动电话、计算机平板电脑和其他互联网设备)并具有操作***(例如但不限于iOS和Android)的本地应用程序。本地应用程序可以实现与由网络客户端执行的通信匹配的服务器的通信,同时优化专用于单独的平台或一行计算设备的外观和/或交互性(如用户输入和控制)。
网络客户端
网络客户端使用HTML、CSS、JavaScript和WebGL在标准浏览器内部运行,例如但不限于Chrome、Firefox、Safari、Opera和Internet Explorer。这允许在不需要操作网络客户端的客户端设备上进行任何安装或插件的情况下操作。网络客户端的重量轻,并且可以与大量设备一起使用,包括但不限于计算机,Chromebook、电视机、游戏机和其他互联网设备。网络客户端可以与任何WebGL兼容浏览器一起使用,例如但不限于Safari、FireFox和Chrome,其在具有WebGL兼容图形硬件的任何计算设备上运行。
应用程序
本机应用程序(Apps)是为专用***平台构建的,例如但不限于Apple iOS、Android和Mac OS X。应用程序需要下载和安装,因此在许多情况下可能没有网络客户端令人满意,但是可以利用平台专用的特征。这些应用程序可以安装在设备上,例如但不限于计算机、平板电脑、智能电话和其他可穿戴设备(如手表和谷歌眼镜)。应用程序设计成为给定平台提供最佳体验,例如,通过针对设备显示区域的大小和取向以及针对独特的能力(例如但不限于触摸交互和加速度计)优化用户交互。
例如,iOS应用程序在包括iPhone和iPad的Apple移动设备上操作。该应用程序利用专用平台特征,包括触摸手势、Wi-Fi和蜂窝网络以及设备通知。对于性能和图形能力,iOS应用程序需要iOS 7或以上版本。
作为另一例子,Android应用程序在运行Android操作***的移动设备上操作,并且类似于iOS应用程序,利用包括触摸手势控制和设备通知的专用平台特征。Android应用程序适用于支持KitKat或LollyPop或以上版本的任何Android设备。
具体过程细节
概览
基于多用户云的3D CAD***呈现编辑用户界面(UI)以便用户设计、修改和共享结构。对于每个用户,***从认证开始,并且然后向用户呈现各种项目。每个项目用于设计由零件和子组件的实例的集合组成的一个或多个结构或组件。每个项目由多个数据单元组成,所述数据单元在本文中称为标签,代表组件、零件和作为项目一部分所需的其他数据。动作的历史或持久事务历史与每个项目关联,并且历史可以分支以允许相同项目内的多个工作空间(以及不同的端部组件)。项目可以与多个用户共享,允许同时编辑发生。
认证
用户开始通过客户端设备使用。本文讨论的图和示例通常是指利用浏览器访问的网络客户端,例如通过桌面或膝上型计算机,但与服务器和用户界面相同的概念、操作和交互应用于任何客户端设备(如智能电话或平板电脑)上的专用应用程序,其中输入控件改变为与特定设备使用的控件相匹配。
第一步骤可以包括通过客户端认证用户。优选实施例是通过输入和验证用户名和密码,但是可以使用安全认证的替代形式(例如但不限于两级认证或生物认证)。网络客户端可以从DMWS提供认证页面,而专用应用程序可以生成认证页面(或保留认证信息)。认证信息可以传递给SCMS,并且在认证之后,DMWS与DPS和DCPS一起可以呈现由客户端显示的概览页面(或通过专用应用程序显示的概览信息)。替代地,这可以配置为不同的初始视图,从而在最近的先前会话呈现用户的最后视图。
项目
也参考图5,概览呈现各种管理选项以及对项目的访问。在该***内,每个组件都保留在单个复合文档(稍后详细描述)中的所有相关数据(子组件、定义零件的零件工作室和其他标签)。因此,图5中所示的界面将项目称为文档(明显地,“我的文档”500)。
在概览内,简档管理选项可以允许设置基本信息,例如姓名、公司、联系人信息和帐户密码。另外,可以配置默认设置,例如长度、大小或角度使用的单位。默认设置将应用,除非在较低级别(例如在项目、工作空间或标签级别)特别配置。概述可以呈现关于一个或多个项目的信息,例如名称510、创建者520、最后修改530,并且可以呈现小的或缩略图可视化540,以及全局帐户信息,例如最后访问、总存储使用以及任何帐户限制(如存储或计算时间剩余)。
可以在各种可配置视图中列出项目,例如最近访问的项目、由帐户用户创建的项目、与帐户用户共享的项目以及公共项目。每个项目可以提供查看版本、历史记录、控制共享、删除项目或打开项目进行编辑的选项。
项目结构
每个项目能够存储CAD零件、组件、绘图和任意其他CAD和非CAD数据的整体和无限大小的集合。该集合由DPS存储为复合文档,并且它可以被共享和/或版本化。作为复合文档,它被存储为单个数据结构,其实际上由称为标签的任何数量的内部部件构成,所述标签传统上将作为独立文件存储在计算机磁盘或存储单元上。也参考图6,当查看特定项目时,内部部件作为独立的单独标签600可访问,访问项目工作空间内的单独的窗格,每个内部部件具有其自己的标签。这允许将CAD数据(例如零件610,绘图和组件620)以及非CAD数据630(例如但不限于PDF文件、文字处理文件和电子表格文件)捆绑到单个项目中。简化了管理和共享,原因是CAD对象之间的链接(如参考零件的组件)是文档内部的参考,并且不依赖于任何文件***命名或结构。共享整个项目的用户共享该单一复合文档的访问权限,确保所有共享用户具有利用正确参考的相同的环境。文件***动作(例如用户移动或重命名文件或文件夹)不会由于单个复合文档而对项目造成风险。版本化(和更改跟踪)在项目级别完成,因此在项目的所有内部部件上自动应用(并被跟踪)。这避免了单独的文件的错误版本的潜在冲突,并且通过避免需要独立地跟踪所涉及的每个文件的更改和版本来简化管理。这也保证访问项目的每个用户都具有所有元素/标签的正确匹配版本,因为标签全部在一个复合文档中一起存储并版本化。为了与其他***一起使用或选择性分发,单独的标签可以作为单独的文件下载,这样的下载变成与整个项目分离和断开的链接。各种导出或转换选项可用于CAD格式标签,并且存储在项目标签中的非本机CAD文件可用于下载以重新创建原始文件的精确副本。
参考也可以跨项目。例如,一个项目中的组件可以参考另一项目中定义的零件。所有跨项目参考仅参考版本内存在的参考数据对象。由于版本是不可变的,因此参考项目的更改决不会意外地改变参考项目。当新版本变为可用时,用户收到通知并且然后可以选择更新或不更新。
客户端用户界面控件可以允许上传、下载和转换CAD数据。该***允许用户将CAD文件上传和下载到项目标签中作为零件工作室、组件或精确的文件副本,将CAD数据从一种类型转换为另一种类型,并且作为CAD文件导出。
上传允许将任何类型的文件从本地存储、网络存储或诸如Dropbox或GoogleDrive的云服务(由客户端设备可寻址)中的任何位置上传到***中,由DPS存储在项目内。上传的文件可以存储到现有项目中,或存储到新创建的项目中。***如何处理上传取决于启动上传的位置。如果从项目概览启动,则上传用适当的标签创建新的项目。也参考图7,如果从项目内部或到特定项目启动,通常在项目内创建专用于文件上传类型的新标签。上传700到项目中的每个文件通常成为自己的标签,以原始文件名命名。如果该文件是CAD文件,则也可以通过***经由CAD数据转换来创建适合于该CAD文件的零件工作室、绘图和/或组件标签。任何类型的文件可以上传到***中,但***不能理解的文件类型在客户端中可能缺少功能性或显示能力。除了上传现有文件之外,还可以创建新的和空白的零件工作室710和组件720标签。
下载将先前上传到项目中的任何文件以其当前文件格式拷贝到由客户端设备可寻址的存储目的地。也参考图8,下载800可以通过项目内的标签的上下文菜单启动,并且可用于可以表示为文件的任何标签。
也参考图9,转换900允许将零件工作室、绘图或组件文件转换成不同的格式,并且显示为项目内的新标签。转换可以适用于任何默认标签(零件工作室或组件)以及任何已上传的CAD文件。一些示例性可转换格式包括但不限于Parasolid,ACIS,STEP,IGES,CATIAv5,SolidWorks,Inventor,Pro/ENGINEER,CREO和JT。当CAD文件作为新项目上传时,自动呈现处理选项。当上传到现有项目中时,可以选择转换选项以自动化选项。当转换CAD文件时,呈现选项以从供应商专用的或通用的CAD格式进行选择,并且指定诸如源方向的选项。一些三维CAD***使用“Y轴向上”坐标系,而其他则使用“Z轴向上”***。另外,如果文件是组件或包含组件,则另一呈现的选项是将文件转换为仅仅零件工作室,其通过展平选项进行选择。通过选择展平选项,将组件展平为零件工作室中的零件的集合。通过客户端与DMWS、DPS、AMCS、AMBS和CEWS之间的通信执行转换和展平。项目中的非本机CAD文件也可以转换为本机CAD格式。这为转换的CAD文件创建新的标签,并且将原始的非本机CAD文件保留为项目的一部分(其可能是期望未来以原始格式版本下载)。
导出将零件工作室(或单独的零件)转换为格式,例如STL格式,并将其下载到客户端设备可寻址的存储位置。也参考图10,用户可以选择将整个零件工作室或零件工作室内的单独的零件导出到STL或其他类型的文件1000。
编辑项目
一旦项目由客户端打开,每个标签代表项目的单个复合文档内的文件。打开现有项目打开该项目中所有文件的标签。创建(和打开)新项目用默认工作空间和默认标签(例如零件工作室和组件)开始项目。可以重新布置(有序定位)标签,并且该动作应用于工作空间(因此也将应用于在相同工作空间上协作的任何其他用户)。哪个标签当前活动和工作空间的任何定位/滚动是用户专用并且非持久的。因此,在项目工作空间上协作的每个用户具有他们自己的活动标签和他们自己的标签滚动状态。通过用户界面可访问的每个单独标签的选项可以包括重命名标签、查看和编辑标签属性(例如但不限于描述;零件号;修订;零件的状态)、复制、拷贝到剪贴板、导出到STL、转换和删除。复制用被复制的标签的精确副本创建新标签,其中每个复制标签是独立的。因此,副本中的更改不会影响原始标签。转换类似地在新标签中创建转换的副本,将原始格式留在先前存在的标签中。
也通过用户界面可访问的项目菜单允许项目范围的选项,例如重命名项目、拷贝当前工作空间、查看或改变属性(如默认单位)、打印、访问版本和/或持久事务记录、以及撤销或重做动作。
元数据
***允许用户创建和编辑零件、零件工作室、组件、绘图的和外部数据(非CAD标签)元数据以便支持各种设计过程。也参考图11,元数据可以包括描述1100、零件号1110、修订1120和状态1130(进行中、挂起、发布或过时)。通过在各种上下文菜单上找到的属性对话框1140来定义和编辑元数据。零件元数据可以通过零件工作室特征列表中列出的零件上的上下文菜单进行访问和编辑。零件工作室元数据、组件元数据和外部数据文件元数据可以通过项目内的单独的标签上的上下文菜单进行访问和编辑。另外,所有类型的元数据可以通过版本管理器访问的版本或工作空间的属性对话框进行访问和编辑。
工作空间
用于活动项目的用户界面工作空间包括菜单栏或用户界面控制按钮区域、项目中的所有文件的标签、活动标签的图形区域和特征列表。图形区域显示活动的零件工作室、组件或其他标签。特征列表取决于活动标签具有不同的数据。如果零件工作室是活动的,则特征列表包含工作的参数历史和回滚条以查看参数历史中的某一点的工作。如果组件是活动的,则特征列表包含组件树结构、配体、组和配体连接器。
用户界面显示和与工作空间的交互可以根据客户端设备和输入/输出能力而变化。典型地,选择经由点击(或触摸)完成,并且可以通过附加点击被添加。点击(或触摸)和拖动也能够选择多个实体。不同的组选择可以是可能的。例如,拖动的方向(并且由选择框的特定颜色指示)可以在选择整个都在框内的所有实体和选择由框接触的所有实体之间切换。另外,点击(或触摸)已经选择的东西取消选择它。
对话框控件被广泛使用,并且CAD设计的许多不同方面具有不同的配置选项。通过特征列表中的菜单选择或右键点击访问对话框。对话框的UI设计可以通过突出显示来识别所需的选择(并且可以通过图形区域或特征列表进行选择)。也参考图12,对话框1200中的可配置属性可以包括不同的方面,例如作为数字输入的一部分输入的单位(其可以覆盖默认或项目单元设置)、数学表达式(PEMDAS或三角)形式的数字输入、或全局变量和方程。对话框也可以包括通过引用完全并入本文中的专利申请14/226,042(2014年3月24日提交的“Previewing Changes On A Geometric Design”,发明人为K.Evan Nowak和MichaelLauer)中详细描述的预览滑块。当用户编辑特征时,默认情况下,显示的模型将回滚到创建该特征时的状态,隐藏所有后续特征(特征列表中列出的从顶部到底部顺序应用的特征)。最后按钮1210显示最后结果,具有当用户仍在编辑该功能时应用的后续特征。如果编辑最后特征,则用户界面不需要显示最后按钮,原因是没有后续特征需要应用。
图形区域控制
在图形区域内,鼠标或触摸控制可以旋转(3D)、平移(2D)和缩放活动视图。也可以显示视图立方体1220,其中用户界面与视图立方体交互调节活动图形区域视图。例如,立方体周围的箭头可以在六个方向中的任何一个上旋转视图,选择视图立方体的平面可以改变平面的取向,并且立方体上的点或其他指示符可以自动调节到等轴测视图。视图立方体菜单可以允许另外的选项,例如等轴测、二轴测或三轴测;特定截面图;缩放适合;切换视角;控制阴影和边缘;以及调节半透明度(透明度也可以通过改变选定的单独零件的外观在每个零件的基础上设置)。
错误条件
作为对话框和一般用户界面设计的一部分,可见错误指示符以彩色文本显示。最常见的错误可以在编辑零件或组件时由3DGCS或CEWS确定。例如,当特征有问题时,用户可以看到特征列表中的橙色文本中的特征。悬停或选择特征列表中的橙色文本可以进一步显示问题的摘要。在对话框活动的情况下,对话框标题可以为橙色以指示错误。在对话框内,橙色文本可以识别先前输入到已被删除的对话框中的实体,或者可以识别妨碍对话框的应用/操作的错误条件。当单个字段出现问题时,就像数字字段中的无效条目一样,该字段可以用红色表示。类似的错误指示可以扩展到草绘。颜色可以用于指示草图实体的约束状态,例如,蓝色表示定义不全,黑色表示明确定义,红色表示过度定义(过度约束)。在约束的情况下,标准着色(例如内部带有黑色图标的灰色方块)可以指示没有错误,而颜色指示符(如带有白色图标的红色方块)可以指示约束存在问题。如果发生更一般的***错误,则通知可以出现在用户界面窗口的顶部处的泡泡中。
草绘
草绘是用于编辑特定平面内的几何形状的编辑模式。草图的结果是用于为组件创建零件的特征。草绘在编辑零件时进入,并且可以用于创建变为零件的几何形状,或修改现有零件的几何形状。无论在草图模式之外草绘还是编辑零件和特征,一些选项是相同的,但是草图模式也允许一些仅有草图的选项。也参考图13,当创建新草图、编辑草图或选择草图选项时,具有这些选项的草图工具栏1300变为活动。在所有情况下,需要特定平面来定向用于草图的视图。草图工具栏包含用于开始或编辑2D草图的工具,其用于创建或修改3D特征或零件。
一些草图选项包括用于基本几何设计的工具。例如,可以在草图平面内创建或编辑线1302、矩形1304、多边形1306、圆1308、弧1310和样条线(多点曲线)1312。诸如线、矩形和圆的基本几何构造可以通过用户界面交互直接在图形区域中创建,例如通过选择或拖动动作来设置任何端点、顶点或曲线控制点。更复杂的工具也可以有对话框来设置任何所需的输入或配置(例如多边形的边数)。构造1314允许创建新的几何构造或将现有实体转换为几何构造。附加的工具可以修改现有的几何构造。例如,使用1316或转换可以将零件的一个或多个边缘投影(或转换)到活动草图平面上。圆角1318可以沿着一条或多条线、弧和样条线创建圆角(圆)。修剪1320可以限制曲线延伸,并且延伸1322可以将线或弧拉伸到第一相交点或边界几何。偏移1324可以将曲线或环从原点偏移指定的距离和方向。镜像1326可以拷贝草图平面中的一个或多个实体,并在选定行上使它们成镜像。尺寸1328可以将水平、竖直、最短距离、角或径向尺寸添加到草图几何构造。附加选项允许多个几何实体之间的约束,由此控制形状和/或定位。例如,重合1330使两个或更多个实体(线、曲线或点)重合。同心1332使两个或更多个圆或弧共用共同的中心点。平行1334使两条或更多条线平行。相切1336形成两条或更多条曲线之间的相切关系。水平1338使一个或多个线或点的集合在草图平面内水平。竖直1340使一个或多个线或点的集合在草图平面内竖直。垂直1342在两条线之间形成直角。等于1344使相同类型的两个或更多个曲线在尺寸上相等。法线1346将一条线置于曲线的法线上。固定1348将草图平面上的草图实体接地。为了帮助定位和约束,点1350可以在草图实体的任何地方创建点,允许约束固定到这样的点。对于定位控制,中点1352将点约束到线或弧的中点。默认情况下,一些工具选项创建点或约束。例如,当圆角圆化多个线、弧或样条线时,它添加(或保留)一致的约束以将线、弧或样条线保持在一起。类似地,用几何实体(例如在顶点、线的端部和中心)自动创建公共点。这些点可以用于约束几何实体。约束仅仅在草图模式下可显示和可修改,并且可以通过用户界面以图标和颜色显示。也可以显示具有约束的错误条件,例如,蓝色可以指示欠约束(在几何实体上可能有更多约束),黑色可以指示完全受约束(无错误,但是由于几何实体的当前约束可能没有改变),并且红色可以指示过度约束(存在比可以解析为有效几何实体更多的约束)。
当草绘时,发生推测以在可能的约束下猜测,显示这样的猜测的指示,并且在适当情况下基于用户输入自动创建约束。这样的一个示例是水平或垂直对齐-当创建或移动实体(例如线)时,如果与另一个实体(如原点)大致水平或线性,则可以在竖直或水平对齐中自动进行定位。该自动调节可以由用户动作触发,例如通过将用户界面元素保持在一点持续一段时间以指示由用户动作期望的不可用的对齐,例如保持修改器以防止任何自动推测,并且在界面中视觉地指示,例如显示虚线以指示对齐和参考约束。
推测
当草绘时,用户经常希望几何构造以持久方式与其他几何构造相关。可以在创建几何构造之后添加这样的关系。然而,在创建几何时,用户动态创建这样的关系更为高效。这样的动态约束通常称为推测或捕捉,原因是视觉外观是正在创建的几何可视地捕捉到现有的几何。
为了执行所需的推测,***在3DGCS上执行所有复杂的交叉点和其他几何计算,使客户端免于这样的工作。在服务器端计算推测时,客户端允许草图继续,即使在等待任何服务器端的结果时。为了在客户端无缝地包含3DGCS计算推测和几何变化,WebGL用于处理推测。这通过在服务器工作时在客户端上提供连续的用户体验导致客户端和服务器端优化,同时减少通信时间。
为了开始推测,客户端发送计算推测目标的请求。在等待来自服务器(3DGCS通过CEWS)的数据的同时,客户端向用户提供用户界面功能,能够进行连续几何编辑,但不显示任何推测。当3DGCS计算推测目标时,它们返回到客户端并绘制到WebGL中的离屏图形缓冲器。推测作为包含索引的对象返回以识别单独的推测、推测源的标识(例如,模型边缘)、可应用于推测的一种或多种类型的约束、以及提供将捕捉到推测的区域的几何描述(例如,点或线)的推测区域。WebGL缓冲器中的推测目标的推测区域和用户界面交互之间的客户端比较可以确定哪个(如果有的话)推测应当显示给用户。通常服务器在用户已到达他希望放置几何构造的位置之前进行响应,导致立即推测,但即使在等待服务器响应时,客户端用户体验也是无缝的。
当用户开始草绘时,客户端向CEWS请求专用于正在绘制的实体的任何推测。无论服务器响应如何,客户端都会基于用户输入控制(例如,鼠标控制)继续更新显示的草图。在服务器响应之前,这样的客户端更新发生不执行任何捕捉(推测尚未捕捉)。当CEWS返回推测信息时,客户端检查推测区域以查找任何附近的推测,将几何构造视觉地捕捉到匹配推测,并且向用户显示捕捉已成功。当几何构造已捕捉到推测时,***将相应的约束从推测添加到草图。下面的表1概述了创建点的情况下的客户端和服务器交互。
表1
该推测模型应用于在任何几何操作或创建之间推断的约束,其中点创建被示出为要遵循的最清楚的示例。也参考图14,向用户显示具有模型面1410和已绘制线1400的草图。用户也可见全局模型原点1420。当用户输入“点”命令时,客户端要求CEWS生成推测的清单。这是需要的,原因是客户端不具有生成推测数据所需的所有信息。将所有该信息发送给客户端并在客户端上执行数学计算需要时间和计算能力,可能会在客户端的响应中引入不可接受的大的延迟。
当服务器正在生成推测时,客户端处理用户输入。当客户端从服务器接收响应时,它处理该信息以在WebGL中生成选择缓冲器。使用WebGL执行推测选择比迭代所有推测数据并且执行数学运算来找到匹配的效率明显更高,原因是图形硬件非常适合并行处理大量数据。也参考图15,几何构造的可视化被绘制到WebGL推测缓冲器中。在图中突出显示了四个推测,包括与边缘重合1500、边缘的中点1510以及竖直于原点1520。另外,它常常有用于捕捉到复合推测。复合推测1530是与边缘的重合推测和与原点的竖直推测的组合。通过将推测计算与客户端分离,并且在推测计算期间继续客户端操作,服务器能够计算(许多)必要的交点而不影响客户端体验。对于推测缓冲器中的每个推测,客户端决定捕捉公差,并且绘制包含该公差的条纹或点。一旦绘制该缓冲器,它可以在感兴趣的位置进行采样。
如果在用户指示的位置处发现推测,则客户端使用推测数据来确定如何适当地通知用户捕捉(例如,通过突出显示该推测源并且显示示出推测的类型的指示符),并且修改点的位置以符合捕捉。也参考图16,新创建的点被捕捉到重合推测,并且通过突出显示推测源1600和显示重合指示符1610向用户指示。
当用户放置点时,客户端要求CEWS创建点。如果客户端目前正捕捉到推测,则客户端也将该推测传递到服务器。当CEWS接收数据时,它创建点和与传递的推测相关的任何约束。
客户端和CEWS之间的该通信是作为对话完成的。客户端请求最直接有用的推测。当用户鼠标悬停或以其他方式移动模型几何构造或几何构造的视图时,客户端请求与该几何相关的其他推测。该对话最小化所需的计算量而不会不利地影响用户体验。通过仅仅必要时在服务器上异步地更新WebGL推测缓冲器(例如,当模型几何构造改变时)并且频率远小于发生推测(通常完全在客户端上在本地发生),用户体验被优化。
预测拖动
与推测一样,如果客户端在修改任何几何模型的同时等待服务器计算,则明显的延迟可能会影响用户体验。为了避免这样的延迟,客户端可以实现预测拖动,其在进行用户界面移动(经由鼠标或触摸控制拖动几何)时估计所得到的几何构造。为了能够进行这样的估计,数据由3DGCS和CEWS创建,其可以由客户端用作拖动信息。该拖动信息由两部分组成:指示几何构造被约束移动(自由度)的某些方式的数据和解函数(solution function)的近似导数。在客户端改变后当解算几何构造时,3DGCS运行完整的解函数,但是这包括超出客户端范围的复杂计算。导数函数提供了一种能够由客户端高效运行的较不复杂的近似。客户端转而应用拖动信息约束和导数函数来近似草图解,由此在用户几何拖动草图中的元素时实时更新草图。客户端和CEWS之间的异步通信允许更新客户端上显示的草图,原因是它在服务器端解算,并且也适当更新解释任何进行更改的拖动信息。也参考图17,流程图示出了当用户在草图中拖动几何构造时的逻辑和客户-服务器交互。如果用户未拖动1700,则不会向服务器发出新的拖动更新请求。当用户在草图中进行拖动动作1710时,客户端向服务器发送1720修改的状态向量。如果客户端具有导数函数1730,则它使用导数函数在本地计算和更新1740图形显示。服务器在接收到修改的状态向量后,解算1750草图并且也基于新解算的草图计算新的导数函数。当客户端接收1760新的草图和导数函数时,更新1770本地跟踪状态和导数函数,并且当前显示重新绘制1740服务器解算的草图。
当解算草图的几何构造时,通过用户拖动或其他几何变化,解算器重新计算所有几何的位置以满足在草图内配置的任何约束。典型地约束的集合是复杂的(并且变得更复杂,并且涉及更大更复杂的草图),并且即使在大功率服务器上解算时,计算也可能需要相当长的时间来完成。每个几何构造由数字的向量表示。用于草图的向量可以级联成单个状态向量,其可以被表示为x=[x1,x2,…,xn],n个数字的向量。解算器可以表示为产生满足约束的新向量x的函数f。
已知该向量x,客户端向用户显示解算的草图几何构造。简单的算法将包括客户端对x进行改变,将改变发送到服务器,等待来自的服务器的具有新x的响应,并且更新显示以示出新x的解算草图几何构造。随着解算新x的任何复杂性,客户端随着等待更新的时间而显得迟钝。为了避免这样的等待行为,3DGCS使用有限差分来计算函数f的近似导数。相对于xi的f的导数可以表示为df/dxi。可以通过首先找到与草图尺寸相关的合适的Δh来计算导数df/dxi。于是df/dxi=[f([x0,...xi+h,...xn])-f([x0,...xi-h,...xn])]/2h。
已知状态向量x和x处的导数df/dx,然后客户端通过计算y'=x+(y-x)df/dx来计算任何其他向量y处的解函数f的近似。这可以由客户端使用以估计任何几何解,同时由用户主动修改草图,由此避免等待服务器的任何延迟。
在客户端:
在服务器端:
when drag is received from client
calculate new sketch state vector
calculate derivatives with respect to coordinates being changed bythe user send new sketch state and derivatives to the client
也可以通过使用自由度信息的附加步骤来改进该导数近似处理,所述自由度信息可以在计算草图状态向量时由3DGCS计算。自由度信息以客户容易执行的方式约束拖动的实体的移动。作为这样的约束移动的示例,如果点被约束到位于固定圆上,则客户端可以在将更改发送到服务器之前并在计算近似之前执行该约束。这在许多情况下减少变动。
***可以完全通过客户端或通过服务器跟踪由客户端提供的时间戳数据来监视从客户端请求到从服务器接收完整解所需的时间(延迟时间)。大的延迟时间可能由复杂的草图或由互联网连接不良导致。在大的延迟时间情况下,***可以动态地启用预测拖动的使用以改善用户体验。可以配置***范围的设置,或在用户帐户级可配置的单独的设置,从而建立最小延迟时间,如果超过,则触发器启用预测拖动的使用。如果已经启用,则降到低于最小延迟时间将触发禁用预测拖动的使用。通过在延迟时间大时通过使用预测拖动允许继续本地图形操作并更新,并且当延迟时间最小时通过禁用预测拖动减少外部图形操作并更新,该动态启用/禁用改善用户体验。
零件工作室
零件工作室标签用于定义零件并且具有特征列表(参数历史)。重新生成特征列表产生零件。特征列表驱动多个零件的形状。每个零件可以在组件中多次实例化,并且每个实例可以在组件中独立地移动。零件工作室有两个主要的设计工具方面:草图工具和特征工具。由于零件工作室允许用一个特征列表定义多个零件,因此用户可以以非常高效的自上而下的方式进行设计。
特征工具用于通过操作各种特征来创建零件。特征列表包括参考原点和平面的条目640、参考创建特征的条目642、回滚条1230和参考零件的条目644。创建特征是几何操作(例如但不限于草图或挤压)和与该操作关联的特定数据。选择特征列表中的任何条目访问用户界面选项以隐藏或显示图形区域内的选择,抑制或解抑制特征(其可视化有或没有包括的特征的模型),或在图形区域中突出显示等效的视觉。特征列表从上到下顺序排列,因此移动特征列表中的特征的位置在参数上重新排序设计,这可以改变结果设计。
草图工具650添加或修改特征以便改变显示的设计。可以输入特定的草图模式以将图形区域视图定向到特定的平面或平坦表面上,并且然后添加或修改几何形状、点和各种约束。无论是否在草图模式下,各种其他选项是可用的。
挤压652添加或去除垂直于选定区域、表面或平面的材料。对话框允许配置所需的实体、尺寸和方向,允许创建或修改零件,或将挤压体与零件交叉。尺寸可以是绝对的(测量的和特定的距离)或相对的,例如直到:下一个几何构造,特定的表面,或特定的零件;或通过所有零件。
旋转654添加或去除围绕选定草图平面或边缘旋转的材料。对话框允许配置所需的实体、尺寸和方向以从边缘或曲线添加表面,或创建、添加、去除或交叉一个或多个实体。终止条件可以设置为例如全旋转(围绕选定轴线360度),在一个方向上具有指定角,在两个方向上对称具有指定角,或在两个方向上每个方向上都具有指定角。
扫掠656沿着连接曲线的指定集合添加或去除材料。对话框允许配置所需的实体、尺寸和方向以添加表面或从零件创建、添加或去除材料。
圆角658圆化尖锐边缘以创建圆形外边缘和圆角内边缘。对话框允许配置所需的实体和尺寸以应用标准的、圆形的、恒定半径的圆角或更加风格化的圆锥圆角。所需的方面包括零件的特定边缘或面(其可以应用于面的所有边缘)和半径值。替代选项包括切线传播(自动将圆角延伸到切线边缘)或圆锥以将rho值应用于更加风格化的圆角(允许抛物线、椭圆和双曲线)。
倒角660将斜面特征应用于零件的边缘。对话框允许配置所需的实体(如边缘或面)和尺寸(例如倒角的宽度)。可选的切线传播可以沿着周围边缘延伸选择。
脱模角662将锥度应用于一个或多个选定面,以便例如便于从模具拔出零件。对话框允许配置所需的实体(用作中立平面的零件的面)、尺寸(脱模角的度数)和方向。可选的切线传播允许将脱模角应用于所有切面。
壳664通过去除一个或多个面并使其余部分变厚来从实体零件形成薄壳零件。对话框允许配置所需的实体(要去除的零件的一个或多个面)和尺寸(去除选定面并且挖空零件的剩余部分之后的剩余壁的厚度)。附加选项允许选择是否通过使用零件面作为壳的内部或壳的外部来创建壳壁。
图案666允许复制选定零件或面。线性图案以行或网格复制,并且圆形图案围绕轴线复制。对话框允许配置所需的实体(要复制的一个或多个零件或面以及要沿着或围绕其复制的边缘或面)、尺寸(重复之间的距离或度数和重复次数)和方向。
镜像668允许一个或多个选定零件围绕平面或平坦表面成镜像。对话框允许选择要镜像的零件和平面或平坦表面。创建的镜像零件是独立于被镜像的原始零件的新零件。
布尔运算670允许合并、差分或交叉零件。对话框允许配置所需的实体(零件)和操作。联合将零件合并在一起,减去空间上的差异零件,并且交叉去除材料,选定零件交叉处除外。使用减去选项,附加选择(保持)能够保持减去的零件,这在创建组件零件时是有用的。
分割672使得能够将现有零件分割成新的零件。对话框允许选择要分割的零件和分割零件所沿着的平面或表面。
变换674允许移动零件。对话框允许选择零件、移动相关实体或尺寸的类型,以及可选地在原始位置保留零件的独立副本。移动的类型可以是实体(基于另一边缘移动)、通过距离、通过特定轴值(x,y,z坐标)、或围绕选定轴的旋转。
拷贝允许复制零件,其中复制是独立于原件的新零件。
删除676允许删除一个或多个零件。一旦删除零件,它从零件清单去除。
如果在没有任何参数历史的情况下导入零件,则直接修改几何构造的一些附加选项可以是有用的。修改圆角678允许改变或去除现有的圆角。删除面680、移动面682和替换面684允许修改几何零件的面。
平面686创建有用于定向零件或创建新草图的构造平面。它可以基于足以定义平面的任何零件、面、取向、点或线组合。
螺旋688使用圆锥形或圆柱形面以创建螺旋。对话框允许配置实体(圆锥形或圆柱形基面)、尺寸(转数或螺距)和方向。
回滚条
显示在图形区域中的模型可视化,直到特征列表中的回滚条1230的定位。将回滚条拖动到列表中的任何位置可视化该点处的模型,并且允许在参数历史中的该点***新特征。由于特征列表是特征的顺序排序,当按顺序应用时,其创建当前模型,将回滚条拖到设置位置允许模型的重新生成,直到回滚条的点。回滚条下方的特征将保持列出,但不作为当前显示模型的一部分应用。
特征列表编辑
特征列表支持参数历史编辑操作,例如重排序特征、删除特征、重命名特征以及抑制或解抑制特征。它也允许通过隐藏和显示零件、草图和构造几何构造以及通过改变图形属性(如颜色和不透明度)而容易进行操作显示。
配体连接器
配体连接器是位于零件上或之间并且在配体内使用以使零件实例相对于彼此定位和定向的局部坐标系实体。两个零件实例由配体定位在组件中。定位是通过将在一个实例上定义的配体连接器与在另一实例上定义的配体连接器对齐来完成的。这些连接器的这些位置可以是在草绘或自动生成推测点时创建的点。这些连接器的定位可以自动地参考,例如与平面或圆柱的轴线的坐标系对齐或手动定位。在操作用户界面中显示的零件时,基于感兴趣的视图和区域(如鼠标位置)显示不同的推测点。用户界面控制(例如按移位键)可以阻止或改变显示哪些推测点。零件的每个面和边缘在质心、中点和拐角(顶点)处具有默认推测点。对于圆柱面,推测点在圆柱体的轴线和部分圆柱面上。
当创建配体连接器时对话框允许正确的配置。配体连接器可以在零件上或两个实体之间的中间被创建。点作为配体连接器配置的一部分输入(选择)到对话框。其他配置选项包括对齐(允许沿着主轴线和/或副轴线的取向改变)、移动(将创建的连接器移动指定距离)和旋转(将连接器旋转指定的度数)。一旦创建,配体连接器在特征列表中列出,它们可以通过所述特征列表被选择以便进一步修改或删除。
可以在组件和零件工作室中创建配体连接器。在零件工作室中创建配体连接器690允许参考在零件工作室中可用的草图实体,而不是组件可用的零件的方面。这允许在零件工作室内比在组件中有更多可能的位置来定义配体连接器。另外,在零件工作室中定义的配体连接器可以在它在其中实例化的每个组件中的该零件的每个实例上重复使用。在零件工作室中创建配体连接器时,配体连接器对话框中有用于识别所有者零件的选项。这在相同零件工作室中存在多个零件时是特别有益的。
一旦创建,用户可以在零件工作室和组件中隐藏或显示配体连接器。这可以通过特征列表中可用的上下文菜单完成,并且单独地或跨所有配体连接器进行设置。
组件
组件标签用于定义组件的结构和行为。每个组件具有自己的特征列表,其包含(零件和子组件的)实例、配体和配体连接器。组件内的实例是对零件工作室中定义的零件或另一组件标签中定义的子组件的参考。配体用于定位实例并且定义它们如何移动。与传统的CAD***不同,传统CAD***典型地使用对配体组件实体的低级组件约束(并且因此,定位两个实例通常需要两个或三个这样的约束),配体是高级实体。任何两个实例之间只有一个配体,并且这两个实例之间的移动(自由度)嵌入到配体中。例如,单个配体可以定义销槽关系(或两个实例之间的任何其他类型的关系)。
也参考图18,组件标签620用于定义和/或修改组合到组件中的零件和子组件实例的分层结构。用户也可以定义这些实例如何移动。项目中可以存在超过一个组件标签,并且一个组件可以实例化一个或多个其他组件(作为子组件)和/或实例化一个或多个零件。创建组件的基本步骤包括***零件和子组件的实例、创建配体连接器(实例连接的位置)以及创建配体(实例如何连接)。
***对话框允许选择用于包括在组件中的零件和子组件。这允许选择来自零件工作室的特定零件、零件工作室中的所有零件、或来自不同组件标签的组件。选择可以通过任何标准的用户界面选择技术,例如用于命名的搜索的搜索字段、或者从自动填充列表进行选择。然后将选择的实例***活动的组件标签中。用户界面与图形区域的交互可以定位***的实例。
一旦将实例***组件中,用户可以通过用户界面控件移动实例。例如,点击(或选择)和移动可以拖动实例(自由拖动)。可以允许在图形区域周围移动和重新定位实例以及在实例之间移动的另一用户界面控件是三元组操纵器,其可以在选择要移动的实例之后被激活。使用三元组操纵器,用户可以重新定位操纵器本身,沿着轴线或在平面内移动实例,或者围绕X、Y或Z轴旋转实例。当重新定位操纵器时,用户可以将其捕捉到组件中的其他实体以重新定义实体的位置和取向。
未配合且未固定的实例将完全按照用户指定移动。配合的实例将根据引导在其自由度内移动。配体定义零件和/或子组件的实例之间的移动。每个配体需要两个实例(其通过每个上的配体连接器对齐)以及被允许的自由度(移动)的定义。彼此约束移动的任何两个实例具有单个配体以定义这样的移动,并且只需要单个配体来定义这两个实例之间的移动。
当创建配体时,基于每个的配体连接器对齐两个实例。这可能导致一个(或两个)实例的不正确取向。配体的对话框可以允许取向的配置,例如翻转主轴线取向或以九十度增量调节副轴线取向。配体也可以配置用于特定类型的配合,其定义移动行为(标准X、Y、Z三维***内的自由度)。紧固配体1800消除所有自由度。旋转配体1810允许围绕单个轴线的旋转运动。滑块配体1820允许围绕单个轴线的平移运动。平面配体1830允许沿着两个轴线的平移运动以及沿着第三轴线的旋转运动。圆柱形配体1840允许沿着一个轴线的平移和旋转运动。销槽配体1850允许围绕一个轴线的旋转运动和沿着另一轴线的平移运动。球配件1860允许围绕所有三个轴线的旋转运动。实例的定位对于所有配体类型是相同的(取决于配体连接器的对齐),并且在创建之后可以改变配体的类型以改变实例之间允许的移动。
配体连接器可以在零件工作室内作为零件创建的方面被创建,或者在组件内作为实例上的连接器被创建。在组件标签内创建配体连接器1870与在零件工作室内创建配体连接器作用相同,但是在组件标签中创建时更为限制(不能针对附加配体连接器点访问底层草图实体,并且将仅仅针对组件中的实例被创建,而不是可用于零件的每个实例)。
除了与配体连接器配合之外,分组1880可以固定实例之间的相对定位。对话框允许选择多个实例以固定为组。一旦固定,组内的任何实例的移动使整个组移动,保持相对定位固定。为了移动组内的单独的实例,抑制选项抑制整个组(允许所有实例独立地移动),或者特定实例可以从组去除(使一个实例独立,但是保持其他组成员之间的固定相对定位)。当从零件工作室***所有零件的实例时,它们可以作为组***以自动保持在零件工作室内设计的相对定位。将子组件实例添加到组使整个子组件有效地为刚性。
组件标签也包含组件特征列表1890,其列出组件的实例、配体、组和配体连接器。用户可以在特征列表中选择任何单独的列表项以进行修改或编辑配置。如果相同的零件或子组件多次***组件中,则多个实例在组件标签内进行编号以便用户识别和单独控制。附加组件特征列表控件包括隐藏或显示任何列表条目,抑制或解抑制任何配体或实例,或“固定”或“解固定”实例以阻止或允许该实例在组件图形区域内的移动。当功能被隐藏时,它们只是从视觉显示去除,但仍然是组件的一部分。这在拥挤或复杂的模型中可能非常有用。当配体或实例被抑制时,组件在没有抑制的配体或实例的情况下重新生成并显示。这在将其从模型永久删除之前的特定去除相比会非常有用。
测量工具
在零件工作室和组件两者中,存在工具以测量尺寸或质量属性。也参考图19,在激活测量工具之后,由用户界面显示关于选定实体尺寸1900的信息。通过选择显示的测量信息,测量也可以在图形区域内可视化,例如显示作为粗虚线的实体之间的最小距离、以红色、绿色或蓝色示出的各种尺寸的变化、以及作为细虚线示出的角度。也参考图20,在激活质量属性工具之后,累积地添加选定实体。对话框允许从质量属性计算删除(或添加)选定实体,并选择要计算哪个质量属性。计算的选项包括选定实体的体积、表面积、质量中心或惯性矩(相对于选定实体的公共质心,并且假设项目使用单位1的密度或使用与每个实体关联的密度和材料规格的其他属性)。对于任何交叉零件,针对每个单独的零件计算属性,并且然后相加在一起。属性的计算由3DGCS完成并且返回到客户端以便在质量属性对话框2000中显示。
历史
当用户在项目工作空间内工作时,DPS在对工作空间的任何标签做出每个持久更改时自动记录每个标签(零件工作室、组件等)的状态。该持久事务历史在项目的历史中列出。在任何时候,用户可以将当前活动工作空间中的所有标签恢复到其历史中的任何特定先前位置。
对工作空间中的标签的每个持久更改记录在项目的历史中。也参考图21,列出了当前活动工作空间中的所有标签的记录。每次完成编辑(由在该工作空间中工作的所有用户)时***捕获工作空间中的每个标签的状态。这意味着对于每个项目,存在它已存在的所有状态的历史记录。因此,用户不用担心不断保存他们的工作。用户可以总是有信心进行更改,如果更改无法解析,他们可以找到并恢复任何早期状态。另外,用户可以使用版本、分支和合并以自行或与其他用户一起并行探索多种设计变动。将项目恢复到先前的修改状态可以用于反转通过版本管理器进行的设计合并。工作空间的创建和工作空间的合并也记录在持久事务历史中。
历史列表2100中的记录的描述可以是诸如“标签名称::动作:特征名称(Tab-name::Action:Feature-name)”的格式。历史列表中的每个条目包括可显示信息(默认或经由用户界面动作,如“悬停”)以查看谁进行了修改和何时进行。选择历史列表中的条目可视化该历史点处的项目(包括列出的功能)。在特定历史点可视化之后,恢复选项可用于将工作空间恢复到该特定点。该恢复动作也变为项目持续事务历史中的记录。
项目可以具有许多工作空间;每个分支一个。在任何时间点,用户可以将工作空间的状态保存为不可变,从而创建版本。版本是特定时间点处的项目的快照。该版本的几何数据(以及诸如零件名称等的附带数据)是不可更改的。这是非常有价值和唯一的特征。CAD中的零件和组件之间有许多参考。在现有技术中,这些参考交叉存储的命名文件并且是“活的”。这意味着很容易无意中更改一个文件并且不知不觉地修改其他文件。在许多情况下,很难知道是否发生了这样的跟随更改,并且经常没有合理的方法来改变一个零件而不改变参考零件。这样的更改常常也递归地影响附加文件;第二零件迫使第三零件改变,等等。这是现有技术中非常严重和昂贵的缺陷。在公开的***中,项目之间的参考始终是版本,并且版本是不可变的。对不可变版本上方的新工作空间进行更改。当工作空间被版本化时,用户接收通知,并且通过采取特定的动作,可以控制是否更新参考项目。
然而,用户可以改变版本的元数据。用户可以创建项目的许多版本。通过版本管理器执行围绕版本和工作空间的工作流。
版本管理器
也参考图22,***提供版本管理器中的版本2200和工作空间2210的图形表示。当一个或多个用户在项目中工作时,每个用户可以随时标记工作空间的新版本。用户也可以从版本创建新工作空间(分支)。应当注意,标记版本和创建新工作空间是独立的动作,原因是版本是只读的。
当查看各种版本时,版本的名称2220出现在项目标题旁边,并且在其下面是返回到工作空间的链接。项目的每个版本由图形上的实心点表示,并且每个工作空间由开圆表示。用户可以通过从用户界面菜单选择分支从任何版本创建新工作空间。与特征列表相反,版本图形从底部向上生长,其中项目的第一版本在图形的底部。
版本动作包括打开(仅在视图模式下打开并切换到选定版本的图形区域),在新浏览器标签中打开(仅在视图模式下打开新浏览器标签中的选定版本),分支创建工作空间(从选定版本创建新的分支和工作空间),和属性(创建或编辑关于选定版本的元数据)。工作空间动作包括打开(切换到并打开选定工作空间的图形区域),在新浏览器标签中打开(在新浏览器标签中打开选定工作空间),历史(查看选定工作空间的持久事务历史记录),属性(创建或编辑选定工作空间的元数据),和删除(删除选定工作空间;应当注意,用户无法删除最后剩余的工作空间-这样做需要删除整个项目)。
实际使用案例说明利用版本管理器功能的示例。在独立开发多个变体时,或者在许多不同市场中寻求监管批准时,用户可以使用版本管理器进行全部包含在单个项目中的许多独立开发工作。每个分支可以保持特定于该市场的更改,并且各种零件和项目将在不同时间达到发布和监管批准状态。另一示例性使用是分支初始设计以评估许多竞争的概念,其中只有一个被选择以开发到发布状态。另一示例性使用是一大群设计师想要根据许多想法或更改独立工作,其可能会或不会使其进入最终设计。
共享
该***能够在多个用户之间同时进行编辑。也参考图23,用户可以通过输入某人的电子邮件地址2300以共享它而与任何他们想要共享的人共享项目。共享时,DPS、AMBS和AMCS生成关于共享项目的电子邮件通知。如果共享收件人是注册用户,则共享项目在该帐户内可用。如果共享收件人尚未注册,则电子邮件通知包括关于创建帐户以便访问共享项目的信息。不同的共享权限是可用的,包括查看(只读)、编辑(读取和编辑)、以及编辑和共享(读取、编辑和扩展其他用户的权限),并且可以在任何以后的时间共享或改变时进行设置。
用户可以选择不允许***中的任何操作,所述操作将允许用户进行文档中的数据的拷贝或下载。这可以在任何权限级别可用。换句话说,共享可以允许以只读方式在文档内工作或编辑文档。共享的访问也可以在用户期望的任何时候被取消。这些能力使用户能够更好地控制谁可以访问他的数据,他们可以访问它多长时间,以及他们可以如何使用***访问它。在现有的CAD***中,数据只能通过发送共享文件的副本被共享。一旦文件被拷贝,初始用户不再具有对谁访问该文件以及他们将其分发给谁的任何可见性或控制。
项目允许同时编辑(许多用户同时在项目的一个工作空间中一起工作)和分支编辑(许多用户独立地,但是在项目的并行工作空间中工作,随后能够比较和合并)。
也参考图24,用户可以同时在相同的项目工作空间中工作,称为同时编辑。项目的创建者必须与其他用户共享才能进行协作。在共享项目内,社交提示指示正在编辑的内容。社交提示可以是图形指示器,例如具有特定用户名的首字的字母指示的彩色框,其用于识别谁正在查看项目,他们当前正在查看哪个标签,以及主动被查看或编辑的任何特征列表项。在顶部的是谁正在主动地查看或编辑项目的指示2400。在底部,标签中的社交提示2410指示谁正在主动地查看或编辑文件。在一侧,特征列表或组件特征列表内的社交提示2420指示主动地编辑具体特征或组件实体的用户。
分支
用户总是在活动工作空间中工作。项目可以具有在大多数情况下不会彼此影响的许多工作空间。用户在活动工作空间内进行的任何更改都会立即反映在该工作空间中,并且不反映在任何其他工作空间中;相同工作空间中的任何协作者立即更新。
用户可以通过保存项目的版本、永久和不可变状态来书签标记项目工作空间的特定状态以供未来参考。用户可以通过在给定版本创建新工作空间进行分支。新工作空间中的项目的初始状态与版本的初始状态相同。工作空间和版本形成具有“父”关系的有向无环图;工作空间的第一“父级”是它从其分支的版本,并且版本的父级是它从其保存的工作空间的父版本。如上所述,图形实际上是树。
合并
项目分支(相同项目内的独立工作空间)可以合并在一起。基本的合并情景涉及一个分支,其包含来自另一个分支的所有更新的更改,并且用户从该分支合并到要更新的分支。更复杂的合并情景涉及主工作空间或主设计,以及用于开发更改的多个分支工作空间,合并旨在将跨多个分支的一些更改合并到主工作空间中。
为了处理CAD***内的所有合并情景,将每个分支的参数历史作为特征的线性列表与相应的图形表示进行比较。这被呈现给用户以与软件比较工具类似的方式文本地并排比较两个列表。用户可以选择或突出显示参数历史中的任何特定特征步骤,其可选地可以在该特征步骤显示每个工作空间的更新的并排或合并3D图形表示。这意味着用户可以在该特征步骤文本地和视觉地了解两个模型之间的差异。除了文本和图形显示之外,每个分支的选定特征的对话框可以显示来自每个工作空间的值,并且可以在用户界面内识别差异,例如通过突出显示。
从选定特征,用户可以将来自一个工作空间的更改增量地推入(合并)到另一工作空间。服务器然后重新生成包含更改的合并工作空间,并且合并本身作为工作空间的持久事务历史内的新更改被跟踪。
在这方面,该***比传统软件开发中目前所做的类似的比较和差异工具做得更多。CAD用户可以看到项目的每个不同工作空间的数据的三维表示(特征列表,特征对话框,和图形3D模型)。CAD用户在该步骤并排查看实际重新生成结果。在软件中,类比将是一种工具,其不仅可以并排比较文本,而且可以编译和运行程序,并且显示结果中不同的运行程序。
通过合并不同的分支,假设零件形状的定义发生在具有参数历史的零件建模环境(零件工作室)中,并且组件的定义发生在独立的组件建模环境(组件)中。上面讨论的合并关注于零件建模环境。
在组件环境中,如上面关于零件所述,任何组件可以被解构成构造组件的线性操作集合。例如,组件可以解构成实例***步骤的集合,接着是定位步骤的集合(其将实例定位在3d空间中),接着是约束定义步骤的集合。还有其他解构也同样有效-这只是一个示例。
通过解构,组件可以表示为步骤的集合。这些步骤通常与用户实际用于创建组件的步骤(特征列表)不同并且具有不同的顺序(在参数零件历史中不同)。然而,用户容易理解,原因是它们对应于CAD用户用来创建组件的交互工具。
使用这些步骤和用于交互工具的用户界面(例如对话框),组件步骤可以以与零件特征步骤相同的方式呈现给用户。然后可以使用视觉较和增量合并工具来比较和编辑组件。
文本特征编辑
在合并中讨论的具有图形对应的特征选择在项目内的正常编辑期间存在。在图形区域内进行选择可以突出显示或激活特征中的对应条目,并且在特征列表内的选择可以突出显示图形区域内的对应实体。也参考图25,这可以进一步扩展,并且包括作为代码或脚本的第三表示。底层实现可以保持对应于CAD模型的程序的面向对象表示的抽象语法树(AST)2500,包括参数特征列表。具有特征参数和模型定义部件的特征列表中的每个条目对应于AST的一个或多个子树。该对应允许特征列表2510、程序的文本表示2500和图形显示2520之间的交叉突出显示。可选的覆盖可以显示文本表示,并且允许三个不同、但对应的编辑选项。可以在所有三个编辑选项中相应地更新对特征树、图形区域或文本表示的编辑。类似地,当用户在GUI表示的特征或另一部分上移动用户界面控件(例如,鼠标指针)时,程序文本的对应部分被突出显示。
参考管理器
当使用CAD设计时,可以基于其他几何构造创建许多几何元素。几何构造和关系数据作为对象之间的参考被跟踪。当在单个参数历史内工作时,可以从改变点一直到最后设计(所有后续特征也应用)可视化进行任何更改。当使用多个参数历史时,任何单一更改的问题变得更复杂。使用多个零件文件和组件,在一个参数历史内进行更改会触发其他内的更改(和错误)。
当相关对象通过组件的上下文中的明显不同的参数历史生成时,它们被称为上下文中参考。当上下文改变时,通过改变周围的对象或从上下文去除对象以便在别处再使用,参考可能变得无效并且随后难以管理。参考管理器维护本地上下文以使这些参考保持在有效、可解析条件。另外,参考管理器提供通知机制,从而在上下文中参考异步时通知用户,并提供用于保持所需设计意图的选项。
参考管理器可以被视为工具以通过未解析参考通过当未解析条件存在时通知、标记受影响项和提供解决方案选项帮助用户。参考管理器优选地是由CEWS操作的模块。作为独立模块,参考管理器可以作为独立模块***作,并且也整合到其他CAD***中(作为单独的模块或直接作为主CAD软件程序的一部分)。因此,参考管理器可以操作用于***的项目内的多个参数历史,用于实例化参数历史(零件或子组件)和/或在项目复合文档之外的其他参数值、文本或其他非几何数据的项目内的参考,或用于针对CAD设计中使用的零件和组件使用不同的存储技术的其他CAD***。改变任何单独的零件的几何构造会影响包含正在改变的零件的组件,以及包含该零件的任何其他组件。如果其他零件的几何构造也改变以适应初始零件的更改,则更改会产生更大的影响。如果更改取决于正在改变的零件的几何构造,则更改也可能会影响其他零件特征。为了在进行零件更改时确保稳定的设计,参考管理器保持零件更改前的副本,检查并跟踪组件的参考,在可能的情况下基于用户更改重新定义参考,识别并提供异步条件的通知,以及提供关于如何处理异步条件的用户选项。
上下文中参考可以以多种不同的方式被创建。上下文中参考中可以通过参考在独立参数历史内创建的零件的实例的一个参数历史中的草图被创建。也参考图26A和26B,这样的一个例子是使用一个或多个零件2610的一个或多个边缘2600限定另一零件2630的一个或多个边缘2620的示例。作为另一示例,草图可以在从另一参数历史生成的平面上。也参考图27,也可以通过特征来创建上下文中参考,例如限定取决于其他零件的一个零件的终止条件(如图所示,圆柱体2700底部2710由矩形块2720的顶部限定),限定一个零件与另一零件的交互(例如添加、减去或交叉),指定用于拆分主体的面,或限定旋转的参考轴线或图案的参考边缘。参考也可以从可以包含确定几何构造的表达(如长度或线或其他尺寸值)的方程和变量表被创建。以上全部都是指创建方法,其中来自一个参数历史的项使用由独立的参数历史生成的项。
当创建上下文中参考时,参考管理器创建备份几何构造。备份几何构造是参考对象的一部分的副本,就像在参考创建时一样。通过保持起始参考的几何的副本,如果需要,***可以将结果对象视为独立的,而不依赖父级。代替需要父(或目标)对象始终存在并且可行,这独立于其他参数历史中进行的更改保持完全解析的和正确的对象。可以应用其他参数历史中进行的更改,但是由于备份几何而不会被强制应用。
当零件的几何构造或参数改变时,参考管理器检查参考以确定是否引入了任何问题。问题包括由于无法解析的条件或导致多种不同的可能解决方案的条件,在更改之后不能重新生成的组件或子组件。也参考图28,如果由于改变所使用的零件的独立参数历史的变化而存在异步条件,则针对该条件提出通知2800。通知的形式可以是在用户界面内的闪烁的消息或警报,在具有异步对象的标签上的图形指示,异步对象的数量的文本识别,以及异步的任何特征或零件的特征列表内的图形指示。
用户可以选择任何通知或对应的图形来寻址异步条件。从该选择,并且也参考图29,用户可以与改变的(新)几何构造同步2810或更新。该选择使参考管理器用改变的几何替换备份几何构造,并且(通过3DGCS)解算新结果(如图所示,圆柱体底部2710现在弯曲以仍然与改变的下部块2900对齐)。如果更改导致可改变的错误条件(例如可编辑的特征不再可解析),则可以向用户呈现具有错误信息的可编辑实体(例如,特征对话框架)。替代同步和更新,如果参考针对可编辑实体(例如,可配置特征),则用户可以选择直接编辑2820该实体,之后异步参考可以由编辑的结果替换。作为另一替代,并且也参考图30,用户可以选择丢弃2830改变的参考。通过选择丢弃,忽略改变的几何构造,并且保留并使用备份几何构造,将设计保持在解决状态(如图所示,圆柱体2700参考原始块几何保留其先前的形状,并且因此贯穿改变块2900)。如果存在多个异步参考,则用户也可以选择同步全部或丢弃全部,或者同步或丢弃选定集合,而不是单独地寻址每一个。丢弃将保留有效的模型(具有备份几何构造),但是同步可能导致需要用户修正的错误。当同步全部时不可解析的参考被保持在异步状态,允许用户单独地寻址每个参考(或者替代地,在嵌套参考更新允许解析先前不可解析的参考的情况下,再次尝试同步全部)。
参考管理器可以类似地跟踪通过配体连接器连接的组件部件。作为示例,部件可以从其已配合的组件去除。配体关系被“附加”到部件,但未解析,原因是来自其原始配体部件的对应几何构造不再存在。当部件***新的组件上下文中时,需要将配体重新附加到新的对应几何构造。可以使用备份几何构造来找到适当的匹配,或通知用户用手动附加帮助它们。
其它实施例
与推测相关的图形和讨论集中在二维草图中的推测。在替代实施例中,推测也可以应用于三维上下文内的曲线和几何实体,例如三维草绘。在另一替代实施例中,当在图中注释视图时,可以使用相同的方法和技术。
在其他替代实施例中,由***操作的软件可以以几种广泛可用的编程语言中的任何一种被编写,并且可以根据语言和环境被编码为子例程、模块、子***或对象。它可以在如所描述的客户端-服务器***中实现。替代地,如果复杂行为计算非常昂贵,则它可以在单个计算机上实现以改善这样的行为。这适用于整个***,以及***的每个单独部分。
在另一替代实施例中,单独的用户可以在单个帐户下同时操作多个客户端程序。这允许通过同时从相同客户端设备上的多个界面或从跨多个客户端设备的多个客户端程序同时访问相同的项目进行有效的自协作。这可以有益于呈现,例如在独立设备上控制的同时在大屏幕或投影仪上呈现,或有益于同时在相同项目内实验或开发替代品。
除了为特定客户端设备平台提供的客户端应用程序之外,替代实施例可以提供应用程序编程接口(API)以访问和操作***。这允许将***集成到其他软件包中,创建实现一些或全部客户端程序的特定应用程序,或自动化某些操作。例如,这可能有益于产品制造商或三维打印机与***直接集成以便访问用于生产的组件。
应当理解,以上描述旨在是示例性的而不是限制性的。在阅读以上描述之后,许多其他实施例对于本领域技术人员将是显而易见的。因此,范围应当参考所附权利要求以及这样的权利要求的等同物的全部范围来确定。
Claims (12)
1.一种用于执行三维多用户分布式参数计算机辅助设计的***,所述***包括:
一个或多个服务器;
在网络上连接到所述一个或多个服务器的一个或多个客户端设备;
在一个或多个服务器上执行的服务器软件,所述服务器软件包括代码以:
执行包括三维图形数据的形状分析和优化的计算机辅助设计几何构造计算,
管理计算机辅助设计编辑工作流,
管理用户帐户和安全访问,
与所述一个或多个客户端设备通信,
管理文档和存储,包括将分组在一起的多个文件存储为单个数据结构,所述多个文件包括包含通过三维计算机辅助设计进行的设计的项目的组件、零件和非计算机辅助设计数据的数据表示;
在通过多个客户端设备同时可访问的多个用户之间共享通过三维计算机辅助设计进行的设计,
将对通过三维计算机辅助设计进行的设计的所有更改存储为在工作空间内应用的顺序更改,
将任何特定更改点的通过三维计算机辅助设计进行的设计的不可变副本存储为版本,并且将独立工作空间分支为从该版本进行的新有序更改,和
响应于将来自一个工作空间的特征合并到不同的工作空间的请求,重新生成并入该特征的不同的工作空间并跟踪该合并作为该不同的工作空间内的新更改;
在所述一个或多个客户端设备上执行的客户端软件,所述客户端软件包括代码以:
渲染用于显示三维计算机辅助设计图形以便设计和项目管理的用户界面,
与用户输入和输出控件交互以操控通过三维计算机辅助设计进行的设计,
将所述项目的所述多个文件显示为所述用户界面内的标签文档窗格,
与所述一个或多个服务器通信,
显示版本管理器,所述版本管理器将通过三维计算机辅助设计进行的设计的所有工作空间中的所有更改列出为用于选择和创建版本的顺序列表或图形,
对通过三维计算机辅助设计进行的设计的不同的工作空间中的每一个并排地显示参数历史,
使用户能够选择并排的参数历史内的任何特征,和
当在选择的工作空间和第二工作空间之间选择的特征不同并且用户选择了合并该特征时,请求所述服务器软件将选择的特征合并到所述第二工作空间中,
其中所述通过三维计算机辅助设计进行的设计包括一个或多个零件以及由所述一个或多个零件和子组件的连接和配置组成的一个或多个组件,并且所述客户端软件还包括代码以使用户能够通过有序特征列表操控通过三维计算机辅助设计进行的设计的零件和组件。
2.根据权利要求1所述的***,其中所述客户端软件还包括代码以使用户能够选择任何更改,请求所述服务器软件生成用于显示的三维计算机辅助设计模型,所述三维计算机辅助设计模型包含直到并包括选定更改的所有顺序更改,并且显示生成的模型。
3.根据权利要求1所述的***,其中所述一个或多个服务器包括:
具有服务器软件的一个或多个三维几何计算服务器,所述服务器软件包括代码以解算三维约束并且执行修改几何形状表示的几何计算;
具有服务器软件的一个或多个数据持久服务器,其存储与通过三维计算机辅助设计进行的设计关联的用户帐户信息和数据;
具有服务器软件的一个或多个计算机辅助设计编辑工作流服务器,其包括代码以从所述一个或多个客户端设备接收用户帐户、项目交互和几何修改消息,从所述一个或多个数据持久服务器读取和写入计算机辅助设计数据,以及协调所述一个或多个客户端设备与所述一个或多个三维几何计算服务器之间的消息交换;
具有服务器软件的一个或多个二维绘图编辑工作流服务器,其包括代码以创建和操控二维绘图;
具有服务器软件的一个或多个数据高速缓存持久服务器,其包括代码以存储和检索经常访问的计算机辅助设计模型信息;
具有服务器软件的一个或多个文档管理网页服务器,其包括代码以与所述一个或多个客户端设备通信,并且提供关于由所述一个或多个客户端设备的用户可访问的通过计算机辅助设计进行的设计的信息;以及
具有服务器软件的一个或多个分布式配置控制器服务器,其包括代码以基于任何当前开放的通过三维计算机辅助设计进行的设计、计算机辅助设计编辑工作流服务器的服务器负荷、计算机辅助设计编辑工作流服务器性能或地理位置,与其他服务器通信并管理其他服务器和所述一个或多个客户端设备和所述计算机辅助设计编辑工作流服务器中的一个之间的直接通信。
4.根据权利要求1所述的***,其中所述客户端软件还包括代码以在选择的特征处生成每个不同的工作空间的三维图像表示进行显示,并显示生成的三维图像表示。
5.根据权利要求1所述的***,其中所述客户端软件还包括代码以显示对话框,该对话框具有对于每个不同的工作空间的选择的特征的值。
6.根据权利要求1所述的***,其中,
所述服务器软件还包括代码以:
将通过三维计算机辅助设计进行的设计的工作空间的组件解构成构造该组件的线性组件操作集合;并且
响应于将来自一个工作空间的组件操作合并到不同的工作空间中的请求,重新生成并入该组件操作的不同的工作空间并跟踪该合并作为该不同的工作空间内的新更改;并且
所述客户端软件还包括代码以:
对通过三维计算机辅助设计进行的设计的不同的工作空间中的每一个并排地显示线性组件操作集合,
使用户能够选择并排的线性组件操作集合内的任何组件操作;和
当在选择的工作空间和第二工作空间之间选择的组件操作不同并且用户选择了合并该组件操作时,请求所述服务器软件将选择的组件操作合并到所述第二工作空间中。
7.根据权利要求6所述的***,其中将通过三维计算机辅助设计进行的设计的工作空间的组件解构的服务器软件代码还包括软件代码以将组件解构成:
实例***步骤的集合,
接着是定位步骤的集合,和
接着是约束定义步骤的集合。
8.一种用于执行三维多用户分布式参数计算机辅助设计的方法,所述方法包括:
在一个或多个服务器上执行服务器软件,所述服务器软件:
执行包括三维图形数据的形状分析和优化的计算机辅助设计几何构造计算,
管理计算机辅助设计编辑工作流,
管理用户帐户和安全访问,
与一个或多个客户端设备通信,
管理文档和存储,包括将分组在一起的多个文件存储为单个数据结构,所述多个文件包括包含通过三维计算机辅助设计进行的设计的项目的组件、零件和非计算机辅助设计数据的数据表示;
在通过多个客户端设备同时可访问的多个用户之间共享通过三维计算机辅助设计进行的设计,
将对通过三维计算机辅助设计进行的设计的所有更改存储为在工作空间内应用的顺序更改,
将任何特定更改点的通过三维计算机辅助设计进行的设计的不可变副本存储为版本,并且将独立工作空间分支为从该版本进行的新有序更改,和
响应于将来自一个工作空间的特征合并到不同的工作空间的请求,重新生成并入该特征的不同的工作空间并跟踪该合并作为该不同的工作空间内的新更改;
在一个或多个客户端设备上执行客户端软件,所述客户端软件:
渲染用于显示三维计算机辅助设计图形以便设计和项目管理的用户界面,
将所述项目的所述多个文件显示为所述用户界面内的标签文档窗格,
与用户输入和输出控件交互以操控通过三维计算机辅助设计进行的设计,
与所述一个或多个服务器通信,
显示版本管理器,所述版本管理器将通过三维计算机辅助设计进行的设计的所有工作空间中的所有更改列出为用于选择和创建版本的顺序列表或图形,
对通过三维计算机辅助设计进行的设计的不同的工作空间中的每一个并排地显示参数历史,
使用户能够选择并排的参数历史内的任何特征,和
当在选择的工作空间和第二工作空间之间选择的特征不同并且用户选择了合并该特征时,请求所述服务器软件将选择的特征合并到所述第二工作空间中,
其中所述通过三维计算机辅助设计进行的设计包括一个或多个零件以及由所述一个或多个零件和子组件的连接和配置组成的一个或多个组件,并且所述客户端软件还使用户能够通过有序特征列表操控通过三维计算机辅助设计进行的设计的零件和组件。
9.根据权利要求8所述的方法,还包括所述客户端软件:
在选择的特征处生成每个不同的工作空间的三维图像表示进行显示,并
显示生成的三维图像表示。
10.根据权利要求8所述的方法,还包括所述客户端软件显示对话框,该对话框具有对于每个不同的工作空间的选择的特征的值。
11.根据权利要求8所述的方法,还包括:
所述服务器软件:
将通过三维计算机辅助设计进行的设计的工作空间的组件解构成构造该组件的线性组件操作集合;并且
响应于将来自一个工作空间的组件操作合并到不同的工作空间中的请求,重新生成并入该组件操作的不同的工作空间并跟踪该合并作为该不同的工作空间内的新更改;并且
所述客户端软件:
对通过三维计算机辅助设计进行的设计的不同的工作空间中的每一个并排地显示线性组件操作集合,
使用户能够选择并排的线性组件操作集合内的任何组件操作;和
当在选择的工作空间和第二工作空间之间选择的组件操作不同并且用户选择了合并该组件操作时,请求所述服务器软件将选择的组件操作合并到所述第二工作空间中。
12.根据权利要求11所述的方法,其中将通过三维计算机辅助设计进行的设计的工作空间的组件解构还包括将组件解构成:
实例***步骤的集合,
接着是定位步骤的集合,和
接着是约束定义步骤的集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210997559.0A CN115292848A (zh) | 2015-02-25 | 2016-02-25 | 基于多用户云参数特征的3d cad*** |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562120672P | 2015-02-25 | 2015-02-25 | |
US62/120,672 | 2015-02-25 | ||
US15/052,418 | 2016-02-24 | ||
US15/052,418 US10437938B2 (en) | 2015-02-25 | 2016-02-24 | Multi-user cloud parametric feature-based 3D CAD system |
PCT/IB2016/051043 WO2016135674A2 (en) | 2015-02-25 | 2016-02-25 | Multi-user cloud parametric feature-based 3d cad system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210997559.0A Division CN115292848A (zh) | 2015-02-25 | 2016-02-25 | 基于多用户云参数特征的3d cad*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107408142A CN107408142A (zh) | 2017-11-28 |
CN107408142B true CN107408142B (zh) | 2022-09-06 |
Family
ID=56693752
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680017319.2A Active CN107408142B (zh) | 2015-02-25 | 2016-02-25 | 基于多用户云参数特征的3d cad*** |
CN202210997559.0A Pending CN115292848A (zh) | 2015-02-25 | 2016-02-25 | 基于多用户云参数特征的3d cad*** |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210997559.0A Pending CN115292848A (zh) | 2015-02-25 | 2016-02-25 | 基于多用户云参数特征的3d cad*** |
Country Status (4)
Country | Link |
---|---|
US (8) | US10437938B2 (zh) |
EP (1) | EP3262541A4 (zh) |
CN (2) | CN107408142B (zh) |
WO (1) | WO2016135674A2 (zh) |
Families Citing this family (90)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8860717B1 (en) * | 2011-03-29 | 2014-10-14 | Google Inc. | Web browser for viewing a three-dimensional object responsive to a search query |
US10353916B2 (en) * | 2016-03-25 | 2019-07-16 | Bentley Systems, Incorporated | Techniques for conversion of CAD descriptions |
US10754495B1 (en) * | 2016-04-05 | 2020-08-25 | Bentley Systems, Incorporated | 3-D screen menus |
US10706020B2 (en) * | 2016-04-14 | 2020-07-07 | Brigham Young University | Data sharing in CAx applications |
HUE058865T2 (hu) * | 2016-05-24 | 2022-09-28 | Divergent Tech Inc | Rendszerek és módszerek az adalékanyagok |
US10346556B2 (en) * | 2016-05-25 | 2019-07-09 | Hexagon Technolgy Center GmbH | Validation of multi-component design constraints for capital project design system |
FR3055442B1 (fr) * | 2016-08-29 | 2023-03-03 | Bluepad | Procede de rotation et de partage coherent de vues orientees d'un plan comportant des donnees localisees par des dispositifs informatiques collaboratifs. |
US11218431B2 (en) | 2016-09-09 | 2022-01-04 | Tariq JALIL | Method and system for facilitating user collaboration |
US20180077092A1 (en) * | 2016-09-09 | 2018-03-15 | Tariq JALIL | Method and system for facilitating user collaboration |
EP3545438A1 (en) * | 2016-09-28 | 2019-10-02 | Siemens Product Lifecycle Management Software Inc. | Variational modeling method and system for editing of geometric objects |
WO2018109694A1 (en) * | 2016-12-13 | 2018-06-21 | Onshape, Inc. | Computer aided design system with in-context modeling |
CN106845788A (zh) * | 2016-12-26 | 2017-06-13 | 上海森松制药设备工程有限公司 | 快速安装方法、平台及*** |
CN108257205B (zh) * | 2016-12-29 | 2021-11-12 | 阿里巴巴集团控股有限公司 | 一种三维模型构建方法、装置及*** |
US10754515B2 (en) | 2017-03-10 | 2020-08-25 | Shapeways, Inc. | Systems and methods for 3D scripting language for manipulation of existing 3D model data |
US20180314408A1 (en) * | 2017-04-28 | 2018-11-01 | General Electric Company | Systems and methods for managing views of computer-aided design models |
US10872465B2 (en) * | 2017-05-02 | 2020-12-22 | General Electric Company | System and method for model drawing tool |
WO2018225149A1 (ja) * | 2017-06-06 | 2018-12-13 | マクセル株式会社 | 複合現実表示システム及び複合現実表示端末 |
US10387682B2 (en) | 2017-06-08 | 2019-08-20 | International Business Machines Corporation | Parallel access to running electronic design automation (EDA) application |
US10228899B2 (en) * | 2017-06-21 | 2019-03-12 | Motorola Mobility Llc | Monitoring environmental noise and data packets to display a transcription of call audio |
US11093661B2 (en) * | 2017-08-01 | 2021-08-17 | Ptc Inc. | Smart relations of computer aided design (CAD) components |
WO2019051243A1 (en) * | 2017-09-07 | 2019-03-14 | Detroit Engineered Products, Inc. | AUTOMATED PROCESS OF PARAMETRIC MODELING |
US10963596B1 (en) * | 2017-09-12 | 2021-03-30 | Atlatl Software, Inc. | Systems and methods for CAD automation |
JP6996188B2 (ja) * | 2017-09-21 | 2022-01-17 | 富士フイルムビジネスイノベーション株式会社 | 図面管理装置、図面管理システムおよびプログラム |
JP7003596B2 (ja) * | 2017-11-21 | 2022-02-04 | 富士フイルムビジネスイノベーション株式会社 | 設計支援システム、設計支援装置、及び、設計支援プログラム |
US11835938B2 (en) | 2018-02-05 | 2023-12-05 | Misumi Corporation | Assistance system |
EP3567500B1 (en) * | 2018-05-09 | 2021-07-14 | Siemens Aktiengesellschaft | Preparation of a three-dimensional model for data transmission |
US10902684B2 (en) * | 2018-05-18 | 2021-01-26 | Microsoft Technology Licensing, Llc | Multiple users dynamically editing a scene in a three-dimensional immersive environment |
CN110232258B (zh) * | 2018-07-16 | 2021-10-15 | 苏州浩辰软件股份有限公司 | Cad图纸在可编辑环境下查看引用变化的方法、***、计算机可读存储介质及计算机终端 |
US11373015B2 (en) * | 2018-07-16 | 2022-06-28 | Dassault Systemes Solidworks Corporation | Designing a 3D modeled object representing a mechanical structure |
JP6726240B2 (ja) * | 2018-08-09 | 2020-07-22 | 株式会社Subaru | 解析装置 |
CN109211990A (zh) * | 2018-09-12 | 2019-01-15 | 西安米索软件有限公司 | 一种电极检测软件 |
CN109558639A (zh) * | 2018-10-31 | 2019-04-02 | 天津大学 | 一种基于WebGL的二三维结合的钻孔设计方法及*** |
CN109544701B (zh) * | 2018-11-15 | 2022-11-04 | 长沙眸瑞网络科技有限公司 | 一种三维模型显示和编辑的方法 |
EP3675062A1 (en) | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Learning a neural network for inference of solid cad features |
EP3675063A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Forming a dataset for inference of solid cad features |
EP3690575B1 (de) * | 2019-02-04 | 2022-08-24 | Siemens Aktiengesellschaft | Verfahren zur überprüfung einer konsistenten erfassung von rohrleitungen in einem projektierungssystem, projektierungssystem und steuerungsprogramm |
US11275871B2 (en) * | 2019-02-25 | 2022-03-15 | Michael Tardie | Systems and methods for modifying CAD files |
US10964104B2 (en) * | 2019-02-27 | 2021-03-30 | Rockwell Automation Technologies, Inc. | Remote monitoring and assistance techniques with volumetric three-dimensional imaging |
CN110175393A (zh) * | 2019-05-22 | 2019-08-27 | 泰州市天和测绘有限公司 | 一种室内设计测绘装置及在线辅助*** |
CN110334397A (zh) * | 2019-05-30 | 2019-10-15 | 广东民航机场建设有限公司 | 基于bim模型的信息显示方法、装置、***、设备和介质 |
CN110334398B (zh) * | 2019-05-30 | 2023-06-02 | 广东省机场管理集团有限公司工程建设指挥部 | 基于bim模型的信息处理方法、装置、设备和存储介质 |
CN113939823A (zh) | 2019-06-10 | 2022-01-14 | 西门子工业软件有限公司 | 用于多用户空间影响分析与管理的***和方法 |
CN110262812A (zh) * | 2019-06-24 | 2019-09-20 | 四川新网银行股份有限公司 | 将es集群中的角色进行分离的方法 |
US11263358B2 (en) * | 2019-07-26 | 2022-03-01 | Geopogo | Rapid design and visualization of three-dimensional designs with multi-user input |
US11595462B2 (en) | 2019-09-09 | 2023-02-28 | Motorola Mobility Llc | In-call feedback to far end device of near end device constraints |
US11799924B2 (en) * | 2019-10-22 | 2023-10-24 | Zazzle Inc. | Generating customized products in collaboration with live designers and agents |
US11269501B2 (en) * | 2019-11-13 | 2022-03-08 | Figma, Inc. | System and method for implementing design system to provide preview of constraint conflicts |
CN110765656A (zh) * | 2019-11-15 | 2020-02-07 | 江苏捷凯电力器材有限公司 | 一种电力金具网络协同设计*** |
US11429759B2 (en) * | 2019-11-18 | 2022-08-30 | Dassault Systemes Solidworks Corporation | Method for selecting multiple edges and faces in modeled object |
CN111026266A (zh) * | 2019-11-29 | 2020-04-17 | 深圳维示泰克技术有限公司 | 一种移动平台上编辑3d模型的交互方法及装置 |
CN110995844B (zh) * | 2019-12-06 | 2022-06-21 | 北京澜景科技有限公司 | 多人协同设计的方法、装置、设备及计算机可读存储介质 |
US20210240881A1 (en) * | 2020-02-05 | 2021-08-05 | Dassault Systemes Solidworks Corporation | Predictive Modeling |
US11657211B2 (en) * | 2020-02-06 | 2023-05-23 | Google Llc | Workflow style governance |
JP7331738B2 (ja) | 2020-03-06 | 2023-08-23 | 横河電機株式会社 | 図面管理装置、図面管理システム、図面管理方法、及びプログラム |
US11610031B2 (en) * | 2020-04-02 | 2023-03-21 | Dassault Systemes Solidworks Corporation | 3D-link for sharing a 3D context of 3D computer- aided design (CAD) model |
CN111475479B (zh) * | 2020-04-08 | 2023-06-02 | 中交水运规划设计院有限公司 | 项目文件的管理方法及装置 |
JP7143368B2 (ja) * | 2020-05-26 | 2022-09-28 | 株式会社ミスミ | 見積システム、見積方法、及び見積プログラム |
EP3923175A1 (en) * | 2020-06-12 | 2021-12-15 | Dassault Systemes SolidWorks Corporation | Wysiwyg editor for creating and editing a feature control frame for geometric dimensioning and tolerancing in computer-aided design system |
CN111737820B (zh) * | 2020-06-19 | 2023-09-26 | 合肥工业大学 | 基于creo软件的铸造三维零件模型特征编辑***及其方法 |
CN111950206B (zh) * | 2020-07-21 | 2024-04-26 | 西安理工大学 | 一种微型动压气体止推轴承表面抛物线凹槽的设计方法 |
EP3958182A1 (en) * | 2020-08-20 | 2022-02-23 | Dassault Systèmes | Variational auto-encoder for outputting a 3d model |
CN111814244A (zh) * | 2020-08-20 | 2020-10-23 | 深圳须弥云图空间科技有限公司 | 一种非标准元件处理方法、装置及设备 |
WO2022061027A1 (en) | 2020-09-16 | 2022-03-24 | Figma, Inc. | Interactive graphic design system to enable creation and use of variant component sets for interactive objects |
US11721052B2 (en) | 2020-09-24 | 2023-08-08 | Nuvolo Technologies Corporation | Floorplan image tiles |
CN112131669B (zh) * | 2020-09-27 | 2022-08-26 | 东风柳州汽车有限公司 | 特征缩略图处理***及方法 |
US20220134222A1 (en) * | 2020-11-03 | 2022-05-05 | Nvidia Corporation | Delta propagation in cloud-centric platforms for collaboration and connectivity |
JP7400702B2 (ja) * | 2020-11-20 | 2023-12-19 | トヨタ自動車株式会社 | 3次元形状設計システム及び3次元形状設計方法 |
US11900019B2 (en) | 2020-12-02 | 2024-02-13 | Nuvolo Technologies Corporation | Robust renderer for multi-layer presentation |
US11669650B2 (en) | 2020-12-02 | 2023-06-06 | Nuvolo Technologies Corporation | Audit of computer-aided design documents |
CN112560129A (zh) * | 2020-12-17 | 2021-03-26 | 北京构力科技有限公司 | 基于构件级的建筑信息模型数据协同方法和*** |
US11734072B2 (en) | 2020-12-31 | 2023-08-22 | Nuvolo Technologies Corporation | Stream-based job processing |
US11899626B2 (en) | 2021-01-07 | 2024-02-13 | Nuvolo Technologies Corporation | Layer mapping |
CN112883448B (zh) * | 2021-01-14 | 2023-08-29 | 中策橡胶集团股份有限公司 | 一种轮胎胎侧字体图参数回传方法 |
JP2022140047A (ja) * | 2021-03-12 | 2022-09-26 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及び情報処理プログラム |
US11841832B2 (en) * | 2021-03-16 | 2023-12-12 | Nuvolo Technologies Corporation | Synchronizing design models |
CN113163031B (zh) * | 2021-04-13 | 2023-02-28 | Oppo广东移动通信有限公司 | 电子设备的部件的形成方法、装置、存储介质及电子设备 |
CN112838966A (zh) * | 2021-04-22 | 2021-05-25 | 北京拓课网络科技有限公司 | 一种udp链路监控方法、***及电子设备 |
CN113485964A (zh) * | 2021-06-11 | 2021-10-08 | 国网内蒙古东部电力有限公司 | 一种面向能源大数据生态的轻型化数据管理*** |
US11556679B1 (en) * | 2021-08-05 | 2023-01-17 | Evolve Mep, Llc | Modifying elements in a computer-aided design application using enhanced selection filtering |
CN113742800A (zh) * | 2021-08-23 | 2021-12-03 | 上海互盾信息科技有限公司 | 在线编辑、交流dwg图纸*** |
TWI788085B (zh) * | 2021-11-03 | 2022-12-21 | 財團法人資訊工業策進會 | 同步管理伺服器、同步管理系統及同步管理方法 |
CN113822992B (zh) * | 2021-11-23 | 2022-03-01 | 山东捷瑞数字科技股份有限公司 | 一种批量反转模型法线的方法 |
US11792243B2 (en) | 2022-01-19 | 2023-10-17 | Bank Of America Corporation | System and method for conducting multi-session user interactions |
WO2023163711A1 (en) * | 2022-02-25 | 2023-08-31 | Siemens Industry Software Inc. | Method and system of editing an engineering design (cad model) |
US12001655B2 (en) * | 2022-05-11 | 2024-06-04 | Supercell Oy | Synchronizing user actions to account for data delay |
CN115033968B (zh) * | 2022-06-27 | 2023-07-07 | 深圳市万维云数字科技有限公司 | 一种bim项目多用户协作管理方法、***、终端及存储介质 |
US20240161408A1 (en) * | 2022-11-16 | 2024-05-16 | International Business Machines Corporation | Virtual reality design navigation using a temporal collaboration dependency map |
CN115665120B (zh) * | 2022-12-28 | 2023-03-21 | 浙江华东工程数字技术有限公司 | 一种云端cad处理方法、***、计算机设备和存储介质 |
CN116992515B (zh) * | 2023-09-27 | 2023-12-26 | 山东华云三维科技有限公司 | 一种三维cad***的装配文档更新方法及服务器 |
CN117670660B (zh) * | 2024-02-01 | 2024-04-30 | 中国电建集团西北勘测设计研究院有限公司 | 基于catia v6的快速生成剖视图的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012058604A2 (en) * | 2010-10-28 | 2012-05-03 | Parametric Technology Corporation | Methods and systems for computer-aided design |
Family Cites Families (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5627949A (en) | 1991-12-19 | 1997-05-06 | Letcher, Jr.; John S. | System of relational entities for object-oriented computer-aided geometric design |
US5577176A (en) | 1994-11-23 | 1996-11-19 | Computervision Corporation | Method and apparatus for displaying a cursor along a two dimensional representation of a computer generated three dimensional surface |
US5757925A (en) | 1996-07-23 | 1998-05-26 | Faybishenko; Yaroslav | Secure platform independent cross-platform remote execution computer system and method |
US5995102A (en) | 1997-06-25 | 1999-11-30 | Comet Systems, Inc. | Server system and method for modifying a cursor image |
US6847384B1 (en) | 1998-05-14 | 2005-01-25 | Autodesk, Inc. | Translating objects between software applications which employ different data formats |
US6341291B1 (en) | 1998-09-28 | 2002-01-22 | Bentley Systems, Inc. | System for collaborative engineering using component and file-oriented tools |
US6445974B1 (en) | 1998-12-30 | 2002-09-03 | Intergraph Corporation | CAD-neutral application programming interface |
US7062532B1 (en) * | 1999-03-25 | 2006-06-13 | Autodesk, Inc. | Method and apparatus for drawing collaboration on a network |
US6714201B1 (en) | 1999-04-14 | 2004-03-30 | 3D Open Motion, Llc | Apparatuses, methods, computer programming, and propagated signals for modeling motion in computer applications |
US6538667B1 (en) | 1999-07-23 | 2003-03-25 | Citrix Systems, Inc. | System and method for providing immediate visual response to user input at a client system connected to a computer system by a high-latency connection |
DE10065820A1 (de) | 1999-12-24 | 2001-07-19 | Cocreate Software Gmbh | Verfahren zum interaktiven Zusammenbau virtueller 3D Baugruppen-Modelle |
WO2001067245A2 (en) * | 2000-03-08 | 2001-09-13 | Marbles, Inc. | Remote operation of real-time graphical applications |
US7069192B1 (en) | 2000-08-25 | 2006-06-27 | Hewlett-Packard Company | CAD system |
US7768526B2 (en) | 2000-11-15 | 2010-08-03 | Autodesk, Inc. | Graphical object generation and regeneration |
US6906712B2 (en) | 2000-11-30 | 2005-06-14 | Solidworks Corporation | Automated three-dimensional alternative position viewer |
US20020073141A1 (en) * | 2000-12-12 | 2002-06-13 | Dewhurst Sebastian John | Computational fluid dynamics software |
US6717597B2 (en) | 2000-12-15 | 2004-04-06 | Dassault Systemes | Contextual and dynamic command navigator for CAD and related systems |
US6571203B2 (en) | 2000-12-26 | 2003-05-27 | Fujitsu Limited | CAD-data management system having a plurality of interfaces corresponding to a plurality of CAD applications |
US6775581B2 (en) | 2001-03-14 | 2004-08-10 | Delphi Technologies, Inc. | Horizontally-structured CAD/CAM modeling for virtual concurrent product and process design |
US7433744B2 (en) | 2001-06-21 | 2008-10-07 | Robert A Bell | Method and apparatus for spatially coordinating, storing and manipulating computer aided design drawings |
US7280990B2 (en) * | 2001-08-07 | 2007-10-09 | Ugs Corp. | Method and system for designing and modeling a product in a knowledge based engineering environment |
US20030071810A1 (en) | 2001-08-31 | 2003-04-17 | Boris Shoov | Simultaneous use of 2D and 3D modeling data |
US20030090530A1 (en) * | 2001-09-07 | 2003-05-15 | Karthik Ramani | Systems and methods for collaborative shape design |
US7337093B2 (en) | 2001-09-07 | 2008-02-26 | Purdue Research Foundation | Systems and methods for collaborative shape and design |
US6782305B2 (en) | 2001-10-01 | 2004-08-24 | Massachusetts Institute Of Technology | Method of geometric information sharing and parametric consistency maintenance in a collaborative design environment |
US20030098862A1 (en) * | 2001-11-06 | 2003-05-29 | Smartequip, Inc. | Method and system for building and using intelligent vector objects |
US20030179230A1 (en) * | 2002-03-25 | 2003-09-25 | Gerry Seidman | Method and apparatus for providing remote peer-to-peer collaborative user interfaces |
US20060143220A1 (en) | 2003-12-31 | 2006-06-29 | Spencer Herman Jr | Software application framework using meta-data defined object definitions |
US20050203718A1 (en) | 2004-03-12 | 2005-09-15 | Carek Rick A. | Knowledge management system with integrated product document management for computer-aided design modeling |
US20050209983A1 (en) | 2004-03-18 | 2005-09-22 | Macpherson Deborah L | Context driven topologies |
US7936352B2 (en) | 2004-07-21 | 2011-05-03 | Dassault Systemes Solidworks Corporation | Deformation of a computer-generated model |
JP4546277B2 (ja) | 2005-02-14 | 2010-09-15 | 株式会社リコー | 図面管理方法及び図面管理プログラム |
FR2886030B1 (fr) * | 2005-05-19 | 2007-08-10 | Airbus Sas | Procede et dispositif de generation d'un modele parametrique lie a une geometrie 3d |
US20060282477A1 (en) * | 2005-06-03 | 2006-12-14 | Gruidl Timothy J | Computer aided design file validation system |
JP4197328B2 (ja) | 2005-08-05 | 2008-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データを編集する画面の表示を制御するシステム、およびその方法 |
US7761266B2 (en) | 2006-01-25 | 2010-07-20 | Autodesk, Inc. | Synchronized physical and analytical representations of a CAD model |
US20070174027A1 (en) | 2006-01-26 | 2007-07-26 | Aleksey Moiseyev | Synchronized architectural and structural CAD models |
US7587302B2 (en) | 2006-01-31 | 2009-09-08 | Autodesk, Inc. | Graphic interactive method to reorder sequential data values on graphic objects |
EP1868149B1 (en) * | 2006-06-14 | 2019-08-07 | Dassault Systèmes | Improved computerized collaborative work |
US20080018665A1 (en) | 2006-07-24 | 2008-01-24 | Jay Behr | System and method for visualizing drawing style layer combinations |
US7668608B2 (en) | 2006-09-01 | 2010-02-23 | Fisher-Rosemount Systems, Inc. | Graphical programming language object editing and reporting tool |
US7688318B2 (en) * | 2007-02-02 | 2010-03-30 | Dassault Systemes Solidworks Corporation | Reusable data constructs for a modeling system |
US8773425B2 (en) | 2007-05-01 | 2014-07-08 | M.E.P. CAD Inc. | Methods and apparatuses for proposing resolutions to conflicts in a CAD drawing with reflections |
EP1995673A1 (en) | 2007-05-21 | 2008-11-26 | Archi. Con.Des Inventions (Uk) Limited | Computer-aided design apparatus |
CN101197023A (zh) * | 2007-11-19 | 2008-06-11 | 清华大学 | 一种面向中小企业的可视化文档管理***的建立方法 |
US7830377B1 (en) | 2008-01-09 | 2010-11-09 | Spaceclaim Corporation, Inc. | Systems and methods for using a single tool for the creation and modification of solids and surfaces |
EP2252951B1 (en) | 2008-03-11 | 2021-05-05 | Ice Edge Business Solutions, Ltd. | Automatically creating and modifying furniture layouts in design software |
US8351715B1 (en) * | 2008-07-08 | 2013-01-08 | Lockheed Martin Corporation | Systems and processes for translating, compressing and storing solid-state model data |
EP2304621A1 (de) | 2008-07-24 | 2011-04-06 | Siemens Aktiengesellschaft | Parallele navigation in mehreren cad-modellen |
US8725466B2 (en) | 2008-10-14 | 2014-05-13 | Cct International, Inc. | System and method for hybrid solid and surface modeling for computer-aided design environments |
US8817028B2 (en) * | 2009-02-06 | 2014-08-26 | Dassault Systemes Solidworks Corporation | Creating dynamic sets to automatically arrange dimension annotations |
WO2010102064A2 (en) | 2009-03-04 | 2010-09-10 | Auto Prep, Llc | Systems and methods for processing multiple drawings in a cad environment |
US8983801B2 (en) | 2009-04-23 | 2015-03-17 | Vought Aircraft Industries, Inc. | Method and system for transforming a CAD model of an object between engineering states |
KR20100122383A (ko) | 2009-05-12 | 2010-11-22 | 삼성전자주식회사 | 좌표 예측을 통한 이미지의 출력 속도 향상 방법 및 장치 |
US20100293501A1 (en) | 2009-05-18 | 2010-11-18 | Microsoft Corporation | Grid Windows |
AU2013201761B2 (en) * | 2009-06-10 | 2014-05-29 | Hexagon Technology Center Gmbh | Ontological filtering using spatial boundary of 3d objects |
US8352218B2 (en) | 2009-07-08 | 2013-01-08 | Graphisoft | Active building information modeling apparatus and method |
US8204619B2 (en) | 2009-08-27 | 2012-06-19 | Heil Duane A | Building construction software and system |
US20110131547A1 (en) | 2009-12-01 | 2011-06-02 | International Business Machines Corporation | Method and system defining and interchanging diagrams of graphical modeling languages |
EP2354986A1 (en) | 2009-12-31 | 2011-08-10 | Dassault Systèmes | Design of an assembly modeled by a graph |
CN101794314A (zh) * | 2010-03-12 | 2010-08-04 | 同济大学 | 一种基于Web的异地协同设计信息化平台 |
CN101882173B (zh) * | 2010-06-02 | 2012-08-22 | 长安大学 | 一种在线协同设计用被引用拓扑对象编码/命名方法 |
US8195719B2 (en) | 2010-06-11 | 2012-06-05 | Kenneth Ellis Nichol Lampinen | Graphical objects bonding society system and method of operation |
US8890867B2 (en) | 2010-10-28 | 2014-11-18 | Parametric Technology Corporation | Methods and systems for dynamically loading portions of a computer-aided design model on demand |
US20120109589A1 (en) * | 2010-10-28 | 2012-05-03 | Brian Thompson | Methods and systems for direct-parametric interoperability in computer-aided design |
US8818769B2 (en) | 2010-10-28 | 2014-08-26 | Parametric Technology Corporation | Methods and systems for managing synchronization of a plurality of information items of a computer-aided design data model |
US8892404B2 (en) * | 2010-10-28 | 2014-11-18 | Parametric Technology Corporation | Methods and systems for consistent concurrent operation of a plurality of computer-aided design applications |
US20120110595A1 (en) * | 2010-10-28 | 2012-05-03 | Michael Reitman | Methods and systems for managing concurrent design of computer-aided design objects |
US8825459B2 (en) * | 2010-11-29 | 2014-09-02 | Autodesk, Inc. | Multi-modal manipulation of a geometric model |
US8897900B2 (en) | 2011-03-18 | 2014-11-25 | Rockwell Automation Technologies, Inc. | Graphical language for optimization and use |
US9600801B2 (en) * | 2011-05-03 | 2017-03-21 | Architectural Computer Services, Inc. | Systems and methods for integrating research and incorporation of information into documents |
EP2523131A1 (en) | 2011-05-11 | 2012-11-14 | Dassault Systèmes | Designing a staggered pattern of objects in a computer-aided design system |
US9058401B2 (en) * | 2011-08-16 | 2015-06-16 | Fabebook, Inc. | Aggregating plug-in requests for improved client performance |
US20130246345A1 (en) | 2011-09-13 | 2013-09-19 | Wappwolf, Inc. | Systems and methods for online workflow implementation |
CN102520922B (zh) * | 2011-11-14 | 2016-04-13 | 上海交通大学 | 一种协作环境下的远程开发方法及其*** |
US9599466B2 (en) | 2012-02-03 | 2017-03-21 | Eagle View Technologies, Inc. | Systems and methods for estimation of building wall area |
EP2828762A4 (en) | 2012-03-22 | 2015-11-18 | Hewlett Packard Development Co | CLOUD DATA PROCESSING |
CN102663188A (zh) | 2012-04-07 | 2012-09-12 | 中交第四航务工程勘察设计院有限公司 | 一种基于参数化草图的三维结构建模和分析方法 |
US20130338974A1 (en) | 2012-06-15 | 2013-12-19 | Kevin Kochman | System and method for efficiently importing objects into a computer-aided design program |
US9378582B2 (en) | 2012-07-31 | 2016-06-28 | Siemens Product Lifecycle Management Software Inc. | Rendering of design data |
CN103093034B (zh) * | 2012-12-28 | 2016-01-20 | 浙江理工大学 | 基于云计算的产品协同设计方法 |
US9177418B1 (en) * | 2013-03-15 | 2015-11-03 | Lockheed Martin Corporation | System and method for converting computer aided design data into a three dimensional model |
US9779184B2 (en) * | 2013-03-15 | 2017-10-03 | Brigham Young University | Scalable multi-user CAD system and apparatus |
WO2014165628A1 (en) * | 2013-04-02 | 2014-10-09 | Brigham Young University | System and method for concurrent multi-user cax workflow |
US20150051890A1 (en) * | 2013-08-15 | 2015-02-19 | Palo Alto Research Center Incorporated | Automated augmented model extension for robust system design |
US20150271221A1 (en) * | 2014-03-20 | 2015-09-24 | Brigham Young University | Selection triggered collaborative cax editing |
EP3220810A4 (en) * | 2014-11-17 | 2018-05-16 | Boston Heart Diagnostic Corporation | Cardiovascular disease risk assessment |
US20160179992A1 (en) * | 2014-12-18 | 2016-06-23 | Dassault Systèmes Simulia Corp. | Interactive 3D Experiences on the Basis of Data |
-
2016
- 2016-02-24 US US15/052,418 patent/US10437938B2/en not_active Expired - Fee Related
- 2016-02-25 WO PCT/IB2016/051043 patent/WO2016135674A2/en active Application Filing
- 2016-02-25 CN CN201680017319.2A patent/CN107408142B/zh active Active
- 2016-02-25 EP EP16754849.4A patent/EP3262541A4/en not_active Withdrawn
- 2016-02-25 CN CN202210997559.0A patent/CN115292848A/zh active Pending
-
2019
- 2019-09-13 US US16/570,181 patent/US11170134B2/en active Active
- 2019-09-13 US US16/570,223 patent/US20200004898A1/en not_active Abandoned
- 2019-09-13 US US16/570,050 patent/US11087032B2/en active Active
- 2019-09-13 US US16/570,137 patent/US11232238B2/en active Active
- 2019-09-13 US US16/570,276 patent/US11100256B2/en active Active
- 2019-09-13 US US16/570,081 patent/US10691844B2/en active Active
-
2021
- 2021-12-30 US US17/565,919 patent/US11893312B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012058604A2 (en) * | 2010-10-28 | 2012-05-03 | Parametric Technology Corporation | Methods and systems for computer-aided design |
Also Published As
Publication number | Publication date |
---|---|
WO2016135674A2 (en) | 2016-09-01 |
US20200004897A1 (en) | 2020-01-02 |
US20200004898A1 (en) | 2020-01-02 |
US11893312B2 (en) | 2024-02-06 |
CN115292848A (zh) | 2022-11-04 |
EP3262541A2 (en) | 2018-01-03 |
CN107408142A (zh) | 2017-11-28 |
US20200004899A1 (en) | 2020-01-02 |
EP3262541A4 (en) | 2019-04-24 |
US20200004896A1 (en) | 2020-01-02 |
US11100256B2 (en) | 2021-08-24 |
US10691844B2 (en) | 2020-06-23 |
WO2016135674A3 (en) | 2016-10-27 |
US20220121782A1 (en) | 2022-04-21 |
US10437938B2 (en) | 2019-10-08 |
US20200004894A1 (en) | 2020-01-02 |
US11087032B2 (en) | 2021-08-10 |
US20160246899A1 (en) | 2016-08-25 |
US11232238B2 (en) | 2022-01-25 |
US20200004895A1 (en) | 2020-01-02 |
US11170134B2 (en) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107408142B (zh) | 基于多用户云参数特征的3d cad*** | |
EP2780826B1 (en) | Browser-based collaborative development of a 3d model | |
US9323871B2 (en) | Collaborative development of a model on a network | |
US20140253574A1 (en) | Development Environment For Capture Of Image Data From A Mobile Device | |
US11610031B2 (en) | 3D-link for sharing a 3D context of 3D computer- aided design (CAD) model | |
WO2013019961A2 (en) | Real-time collaborative design platform | |
US20040236561A1 (en) | Component management engine | |
US8694286B2 (en) | Modifying a parametrically defined model with an explicit modeler | |
Moreland | The paraview tutorial | |
CN109670222A (zh) | 一种模型或图纸在线差异对比方法、装置和*** | |
KR20030073424A (ko) | 렌더링시스템, 렌더링방법 및 그 기록매체 | |
US20230386041A1 (en) | Control Method, Device, Equipment and Storage Medium for Interactive Reproduction of Target Object | |
CN117197298A (zh) | 一种3d建模的数字化智能协同设计自动生成***及其方法 | |
US6417865B1 (en) | Affinitive placement by proximity in a computer-implemented graphics system | |
US20240160800A1 (en) | Simulation of Parts and Assemblies in a Computer Aided Design Modeling Environment | |
EP3889861A1 (en) | 3d-url | |
US11966572B2 (en) | Commenting feature for graphic design systems | |
US11694376B2 (en) | Intuitive 3D transformations for 2D graphics | |
US20220350937A1 (en) | Linking Views/States of 3D Models and Propagating Updates in Same | |
Ihara et al. | AR Object Layout Method Using Miniature Room Generated from Depth Data. | |
CN115202725A (zh) | 一种版本控制方法和*** | |
Villarico | CORDIE: A Web-based Collaborative Real-time Diagram Editor | |
Hartmann | BIM-BAM-BOOM! More Bang for Your BIM Buck. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220804 Address after: The American state of Massachusetts Applicant after: PTC Address before: Massachusetts Applicant before: ONSHAPE Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |