云架构CAD软件及其关键技术与应用综述
2022-04-29赵飞宇
赵飞宇
(1.中南民族大学 计算机科学学院,湖北 武汉 430074;2.武汉理工大学 数字制造湖北省重点实验室,湖北 武汉 430070)
0 引言
工业软件是工业领域知识软件化的结晶,同时也是我国航空航天、汽车工业等高端装备制造业的命脉[1]。工业软件贯穿于整个制造型企业的产品全生命周期管理(Product Lifecycle Management, PLM),其中包括“产品设计→性能分析→工艺规划→制造仿真”的数字化设计与制造(digital design and manufacturing)过程[2],从企业内部到外部,是实现客户、供应商和合作伙伴互联的供应链协同(supply chain collaboration)过程[3],甚至是从几何造型、制造语义特征、运行仿真、行为/规则、事件、传感/传输等多维度耦合的数字孪生建模(digital twin modeling)过程等[4]。因此,工业软件推动了现代制造业发展,正在变革和重塑制造业。发展自主可控的制造业核心工业软件,对我国实现智能制造具有支撑引领作用,是推动我国现代制造业发展、摆脱工业技术“卡脖子”困境、使中国由“制造大国”走向“制造强国”的必由之路。
作为工业软件完整产业链中的核心基础环节,计算机辅助设计(Computer Aided Design, CAD)软件能够利用计算机及其图形设备帮助工程技术人员进行产品设计工作。二十世纪60年代初,计算机图形学成为了一门专门的学科并日渐成熟。同时,交互式图形处理技术、分层存储符号数据结构等新思想不断提出,为CAD软件的应用和发展奠定了坚实的理论基础[5]。1982年,美国Autodesk公司研发的AutoCAD软件成为第一个能够在PC上运行的二维CAD软件[6]。随着计算机辅助几何设计(Computer Aided Geometric Design, CAGD)、布尔运算(Boolean Operation)等几何造型技术的发展,诞生了Parasolid和ACIS两大三维CAD内核,也孕育出诸如SolidWorks、NX、Creo、Solid Edge、CATIA等商业化的三维CAD软件,实现了从线框建模、表面建模、实体建模到参数化特征建模的变迁。CAD软件可促进产品由概念设计向原型设计精确映射,是提高产品设计效率、缩短研发周期、提高劳动生产力的重要手段,同时也是企业提升产品研发能力、创新能力和管理水平的重要条件。因此,CAD软件的自主化、智能化水平,是体现一个国家工业软件综合实力的重要标志。
目前,主流的商业化CAD软件大都遵循C/S(client/server)架构运行,用户需安装客户端软件,并于本地的PC或Mac运行。但在当今互联网时代的大背景下,远程协同设计的需求日益凸显,加上机械产品多品种、变批量和高度复杂性的特征,对CAD软件提出了更高的要求。在智能制造的发展背景下,CAD软件所面临的问题主要体现在以下4点:
(1)针对远程实时协同设计的支持不够 随着企业规模的日益壮大,复杂机械产品研发所牵扯的工程技术人员遍布世界各地。目前,大多数企业通过搭建产品全生命周期管理系统(PLM)或产品数据管理(Product Data Management, PDM)系统,实现产品资源共享和使用,使异地的工程技术人员对产品CAD模型能够进行远程修改。然而,当前协同设计模式并不支持异地人员在同一三维空间中实时共享、使用、编辑和渲染产品CAD模型,无法从根本上改善协同设计的人机交互性,也无法从根本上满足并行工程(Concurrent Engineering, CE)的需求。
(2)不支持基于移动终端的CAD模型编辑 随着5G技术驱动移动终端的快速发展,使得CAD软件具备了由PC或Mac向移动终端(iPhone,iPad或Android设备)迁移的客观条件。然而,当前基于移动终端的CAD软件APP功能大都停留在远程在线审阅和浏览,不支持在移动终端对CAD模型进行复杂使用、编辑和渲染,导致CAD模型的价值无法得到进一步释放,进而削弱了企业在生产、营销、维修以及供应商等下游环节的交流协作性。
(3)CAD软件对计算机硬件要求较高 每一代CAD软件技术的变革都会影响企业硬件资源的调整。随着CAD功能的逐步丰富,对计算机硬件资源的需求也越来越高,尤其是基于图形处理器(Graphics Processing Unit, GPU)的矢量计算性能。同时,伴随着企业产品的升级,产品CAD模型也会愈发复杂,尤其是针对大型装配体CAD模型的三维渲染,硬件资源跟不上,会极大地影响产品的研发周期。
(4)模型数据文件兼容性难以保障 CAD软件在高、低版本模型数据文件转换时存在较大的数据兼容性问题。目前,大多数主流CAD软件的模型数据文件兼容机制为“向下兼容”,即高版本CAD软件兼容低版本CAD模型数据文件,反之则不支持。该方式导致未升级的低版本CAD软件无法打开高版本的模型数据文件,无形中增加了企业的软件维护成本。
综上所述,虽然目前针对复杂机械产品的设计流程发生了巨大转变,但所使用的工具并未跟进,这种局面需要打破,行业也亟需变革。随着互联网、云计算、WebGL[7]等前沿技术的诞生与发展,促使现代CAD软件正逐渐由传统基于C/S模式的本地客户端软件,向基于B/S(browser/server)模式的云架构CAD软件发展。云架构化也是未来工业软件的发展趋势,对于推动我国实施国家软件重大工程,加快工业技术软件化,具有重大意义。
本文旨在对云架构CAD软件及其关键技术和应用进行综述分析。在系统调研的基础上,介绍了云架构CAD软件的内涵和特征,讨论了云架构CAD软件的基本架构。通过分析在云架构CAD软件研究领域的相关代表文献,对软件即服务(Software as-a Service, SaaS)云计算服务、3D模型轻量级可视化、三维几何造型以及CAD模型数据交换4大主要关键技术,以及基于3D打印云平台的在线3D建模和基于云的工业级产品设计两大应用模式展开了论述与总结,并依托5G和数字孪生等前沿领域,进一步探讨了智能制造背景下云架构CAD软件的技术挑战与趋势,以期为我国研发自主可控的云架构CAD软件提供帮助。
1 云架构CAD软件内涵与体系架构
1.1 云架构CAD软件的概念
云架构CAD软件作为一种由互联网和制造业深度融合应运而生的新型工业软件,目前仍然没有一个统一的定义,不同的专家学者以及各大CAD软件厂商对其理解各不相同。目前具有代表性的定义总结如下:
原SolidWorks创始人Jon Hirschtick和John McEleney认为,云架构CAD软件是一套将CAD、数据管理、协作工具和实时分析结合在一起的产品开发云平台,支持将利益相关者连接在一个统一且安全的云工作空间中,使产品开发团队可以有更多的时间进行设计,避免被软件和文件的运行、管理所困扰[8]。
PTC公司认为,旗下基于SaaS的云架构CAD软件Onshape能够将强大的计算机辅助设计与强大的数据管理、协作工具和实时分析结合在一起,非常适合远程设计团队灵活的公司,使工程师可以在任何地方,任何时间,任何设备上协同工作[9]。云架构CAD软件须具备以下5个方面的特质:①实时设计视图和协作工作流,以进行交互式设计审阅和并发设计编辑;②内置的版本控制和数据管理,无需单独的产品数据管理(PDM)系统;③带有编辑部件的同步物料清单(Bill of Material, BOM)表;④强大的REST API,可改善整个系统的集成;⑤支持基于角色的访问,AES-256加密等安全性配置。
Autodesk公司认为,云架构CAD软件是一种可在本地浏览器中或通过Web或移动应用程序运行,无需像传统CAD软件一样安装在本地计算机上。它们的大多数功能与传统CAD软件相同,但软件更新是通过远程服务器实现,通常每月或每年订购获取[10]。
Dassault公司认为,云架构化的3DEXPERIENCE工业软件套件能够在独立的云平台上将业务的各个方面整合在一起,以增强协作,改善执行力并加速创新[11]。
Simense PLM Software公司认为,云架构CAD软件等SaaS工业软件通过云桌面提供了多种部署模型。随着工业软件由本地端向SaaS软件发展,用户能够随时随地访问云架构化的应用程序,支持企业在研发团队、供应商和客户的全球网络中扩展,协作并提高生产力[12]。
山大华天软件有限公司首席技术官&技术研究院院长梅敬成博士认为,云架构CAD软件就是在线建模CAD软件。云架构CAD软件可以部署在公有云,也可以部署在私有云,具有云存储、云计算、云服务、跨平台的云端协同特点,尤其是可以在国产操作系统上部署和使用,非常适合于自主可控要求高的工业领域[13]。
可以看出,针对云架构CAD软件在工业软件体系中的应用需求与覆盖范围,其相关的定义在描述上虽然存在一定的差异,但是都围绕着“云架构化”与“CAD”两个核心概念展开。从狭义上讲,云架构CAD软件是一种秉承SaaS的云计算服务模式,无需安装客户端程序,直接运行于Web浏览器或移动APP中,能够为企业提供完全云化的产品远程实时设计审阅、交流和协同编辑服务的协同CAD软件。从广义上讲,云架构CAD软件可拓展为以“共享群智,远程协同”为驱动的,提供对产品全生命周期过程中的设计、仿真、制造和维护等环节的完全云架构化的服务,是未来CAD软件的发展趋势。
1.2 云架构CAD软件的特征
综合目前针对云架构CAD软件研发所涉及的基础科学领域研究成果,以及已形成的商业化CAD软件产品所具备的功能特点,将云架构CAD软件所具备的特征总结为如下5点:
(1)远程实时协同化 云架构CAD软件允许一个研发团队中身处异地的不同设计人员同时存在于一个虚拟三维环境中,对产品CAD模型进行实时查看、编辑和渲染,使得设计人员能够借助不同的终端和网络环境,对云端的同一个产品CAD模型实时进行修改和操作的过程,强化了在共享、使用、修改基础上的实时操作性,能够从根本上满足并行工程的需要,转变了传统的协同设计模式。
(2)移动终端跨平台化 云架构CAD软件不仅支持直接通过Web浏览器访问,还支持在手机和平板电脑(iPhone,iPad或Android设备)系统中进行跨平台设计和编辑,包括所有CAD模型编辑和数据管理功能。设计人员在移动终端不仅可以审阅和浏览模型,还可以进行深入的CAD应用操作,在移动终端也能够编辑同样复杂的CAD模型文件。这使得CAD模型的价值能够释放到生产、营销、维修以及供应商等下游环节,增强了交流协作性。
(3)削弱对计算机硬件要求 云架构CAD软件从根本上改变了企业对计算机硬件定期或不定期迭代升级的需求,所有的CAD图形处理均基于云计算技术实现,大幅度降低了对本地计算机硬件,尤其是GPU硬件矢量计算性能的要求。同时,随着互联网、云计算技术的不断发展,云架构CAD软件在处理超大型装配体模型方面的能力也逐渐提升。
(4)提升产品数据安全型与兼容性 云架构CAD软件能够实时为企业和用户提供最新版本的云端CAD建模、仿真以及产品数据管理服务,确保企业和用户始终使用的是最新版本的CAD软件,所创建和生成的CAD模型以及相关文件数据也是最新版本,并支持实时云端存储与调用,确保了产品数据的安全性与兼容性。
(5)支持基于角色访问的拓展功能集成 云架构CAD软件能够支持集中式用户身份验证,并建立统一的许可机制与增值服务购买机制,支持不同用户根据自身需求,将CAE、CAM、PDM等附加组件拓展至个人账户中,并通过REST API开发出符合用户个性化、定制化需求的集成式产品设计功能。
1.3 云架构CAD软件体系框架
云架构CAD软件体系架构描述的是云架构CAD软件的结构形式及其各组成模块之间的关联关系,是技术实施和系统实现的前提与基础。目前,专门针对云架构CAD软件的体系架构研究相对较少,大部分文献仅就实现云架构CAD软件的某一个或几个模块,提出了系统实现框架。如在基于Web的三维建模与虚拟仿真领域,PUREVDORJ等[14]提出一种基于Web的三维模型协同参数化设计框架,在服务端通过数据融合构建三维实体模型,并借助WebGL在客户端Web浏览器中渲染,支持异地设计人员协同三维参数化建模;SUN等[15]针对砂型铸造过程,建立了基于Web的VR-Casting砂型铸造虚拟仿真系统,其组成框架包括用于管理虚拟物体的3D模型模块、用于组织交互流程的协同定位模块以及用于渲染逼真效果的3D渲染模块;SHENG等[16]研发了一款针对3D打印云平台中进行3D建模的CAD软件——三维模方,其架构中的在线3D建模通过Three.js库实现,Web服务器通过Node.js建立。在协同设计与可视化领域,KOSTIC等[17]研发了基于Web的CAD系统VirCADLab,其框架中采用X3DOM技术融合各类CAD程序的核心执行逻辑,支持远程协同设计与虚拟装配任务;MWALONGO等[18]提出一种基于WebGL与WebSocket协议的动态分子数据实时可视化编辑框架,数据编码技术用于向浏览器传输轻量级三维图形数据,支持科学家们异地协同分析和编辑动态分子数据;XIE等[19]提出一种基于Web浏览器的3D打印零件数字化设计平台框架,其包括客户端、工作站端和服务端,其中工作站端通过LAN实现数据交换,服务端采用服务器级计算机实现云计算,三方终端通过网络通信协议实现数据交换。此外,WU等[20-21],以及西南交通大学CAD工程中心孙林夫教授课题组的潘华等[22]、国艳群等[23]、余洋等[24]和杨静雅等[25]分别针SaaS平台下基于特征的CAD数据交换、多源信息动态集成安全、数据管理、面向产业链协同的数据安全和配件库存储信息安全等不同应用需求,构建了相应的体系框架,为研发基于SaaS平台的云架构CAD软件提供了思路。
云架构CAD软件的研发涉及基础设施服务、SaaS云计算服务、CAD模型轻量级可视化、几何造型、几何约束求解、局部容差建模、CAD模型数据交换等多方面因素的耦合与集成。虽然专家与学者提出的各种云架构CAD软件体系架构层次不一、覆盖内容各异,但是都能够总结为“基础设施→数据传输→数据协同集成→数据交换→建模与可视化→应用服务”为主线的体系架构,如图1所示。
(1)基础设施层 云架构CAD软件用户通过互联网获取工业产品设计技术的软件化服务(如三维建模、存储和数据库等),依赖于各类云计算基础设施的高效协同运作。基础设施层的搭建涉及工业资源虚拟化和数据云存储两个核心问题。在工业资源虚拟化方面,借助VMware/Hyper-V/第三方云平台等对工业资源进行抽象,对每一种硬件资源提供统一的管理逻辑和接口;在数据云存储方面,针对私有云和公有云两个云架构CAD软件的不同应用场景,分别建立互联网数据中心(Internet Data Center, IDC),为用户提供互联网基础平台服务(如虚拟主机、虚拟邮件等)以及各种增值服务(如负载均衡系统、数据库系统等)。
(2)数据传输层 针对云架构CAD软件所面向的远程分布式用户群体在产品设计过程中所产生的模型、BOM、图纸、文档等多源异构数据,有选择性地通过互联网、工业以太网、工业无线局域网或工业无线传感网等实现数据的有效传递和交换,确保远程协同设计过程中数据传输的稳定性与时效性。同时,针对数据上云而带来的数据隐私安全问题,建立面向SaaS平台的多源异构数据动态集成安全数学模型,在确保数据传输过程中数据完整性的前提下,利用非对称加密技术、数字签名技术等,实现了数据传输保密性和发送信息的不可抵赖性,从而提升云架构CAD软件的数据安全性。
(3)CAD数据协同集成层 云架构CAD软件所产生数据呈现多源异构化的特性,在数据协同与数据集成方面主要包含动态发布和动态推送两个方面。多源异构数据的动态发布通过将异构数据结构映射功能、数据类型转换功能、查询适配接口、数据查询服务、动态注册功能封装成信息发布工具来实现;而多源异构数据的动态推送通过智能推送引擎实现,由事件驱动智能推送引擎对数据查询命令进行解析及分解,并协同化、实时化地推送给用户。该机制不依赖集中控制来完成异构数据的归一化操作以及信息的注册与发布,使其形成统一的资源池,并支持动态可扩展。
(4)CAD数据交换层 在数据交换层面,采用多租户模式构建CAD模型数据交换机制。该机制中,不同的CAD数据交换应用程序虚拟化到云环境中,使其成为各种单个CAD数据交换服务,进而集成到云架构CAD软件中,为多个用户提供服务,图1中的字母X表示任意的CAD系统。该服务包含4个级别:①服务搜索级别,在云环境下搜索所需要的数据交换服务;②服务驱动级别,自动调用所需要的数据交换服务;③服务注册级别,协助数据交换服务提供方将其服务注册到云架构CAD软件中;④服务管理级别,在云架构CAD软件中管理和维护数据交换服务,如服务更新、服务状态(联机或脱机)切换等。
(5)CAD建模与可视化层 云架构CAD软件其本质为CAD软件,因此CAD建模与可视化是根本。参考B/S架构CAD软件,其大致可分为4大功能服务:零件建模服务、装配体建模服务、工程图绘制服务、轻量级可视化处理服务。零件建模服务包括融合构造实体几何(Constructive Solid Geometry, CSG)与边界表示(Boundary Representation, B-Rep)两种模型数据表示形式的实体建模、特征建模、自由曲线/曲面建模、局部容差建模、模型检索等服务;装配体建模服务包括3D几何约束求解、智能装配、3D运动仿真等服务;工程图绘制服务包括投影变换、尺寸标注、产品制造信息(Product Manufacturing Information, PMI)标注等服务;轻量级可视化处理服务是考虑到云架构CAD软件运行于Web浏览器中,须在轮廓保真的前提下,使模型数据呈现轻量级特性,以满足在Web浏览器中渲染与处理高效性、实时性的要求,其包括对大规模三角面片网格的精简、细分、渲染、LOD层次优化、定帧绘制、视域与遮挡剔除等服务。
(6)应用服务层 云架构CAD软件为SaaS软件,其支持通过多种终端设备(包括移动终端)进行访问,包括PC、Mac、移动电话和工作站等。访问方式为直接通过Web浏览器访问特定域名,由用户输入账号、密码登录其个人账户,直接在Web浏览器中进行计算机辅助产品设计、仿真和制造,包括目前主流的各种Web浏览器(如Chrome、Firefox、Opera、Edge、IE等)。
2 云架构CAD软件关键技术
2.1 SaaS云计算服务
SaaS是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。SaaS模式大大降低了大型工业软件的使用成本,软件托管于服务器上,减少了客户的管理维护成本,可靠性更高,是云架构CAD软件的主要研发和运行模式。针对SaaS云计算服务的学术研究,主要集中在面向SaaS平台的多源信息协同集成以及云设计/制造服务模式。
2.1.1 面向SaaS平台的多源信息协同集成
在面向SaaS平台的多源信息协同集成领域,潘华等[22]研究了面向产业链协同SaaS平台的多源信息动态集成安全技术,建立了多源信息动态集成安全的数学模型,并提出了面向产业链协同SaaS平台的多源信息动态集成安全解决方案;国艳群等[23]研究了基于开放架构的SaaS服务平台数据管理技术,以优化缓存管理策略的思路解决网络环境下的数据访问问题;余洋等[24]提出了面向产业链协同SaaS平台的数据安全模型,分别利用传输安全模块和存储安全模块实现了数据的安全传输与存储;杨静雅等[25]研究了汽车产业链SaaS平台配件库存信息集成安全技术,构建了SaaS平台多源配件信息动态集成安全模型,并对模型进行了抽象数学描述;FAN等[26]提出一种信息集成的结构化环境,可以为SaaS服务提供增强的个性化质量和性能。可以看出,面向SaaS平台的多源信息集成技术得到了广泛的研究,但目前的研究范围局限于对数据和文本文件等多源信息进行集成,针对三维CAD模型文件所包括的三维图形信息、特征信息、PMI信息等研究甚少;另外,在面向云架构CAD软件协同设计过程所产生实时信息的集成技术方面还有待突破。
2.1.2 面向SaaS平台的云设计/制造服务模式
在面向SaaS平台的云设计/制造服务模式领域,REZAEI等[27]等提出一种SaaS云化语义交互式操作框架,显著地提升了在云计算环境中SaaS软件语义交互性操作的有效性;CALVO等[28]开发了一款SaaS云架构设计软件,其包括三维建模器、结构分析求解器、结构设计求解器和图形文档渲染器,并开发了CAD模块的初步版本,支持以DXF格式输出二维图纸;ABTAHI等[29]提出一种质量驱动的SaaS云设计软件架构,通过将云环境下用户对产品的质量反馈信息转化为技术设计要求,提升了产品的市场竞争力;李伯虎等[30]提出一种智能工业系统的智慧云设计技术,研究了智能工业系统持续演化运行模式、智能算法统一描述框架,以及基于虚实融合的智能算法模型训练及迁移方法;SHENG等[31]提出一种面向生产线数字孪生虚拟模型云设计的轻量化3D网格模型虚拟装配方法,解决了轻量化3D网格模型由于缺乏B-Rep数据结构表达而导致的装配约束表达与求解困难的问题,借助WebGL实现了轻量化3D网格模型的特征识别和虚拟装配。此外,文献[14-15]和文献[17]也分别就SaaS云设计中的协同参数化设计、制造虚拟仿真和协同虚拟装配等方面进行了研究。可以看出,虽然相关学者取得了一定的成果,但是针对复杂机械产品的实体模型数据结构、特征建模、几何约束求解等基础核心技术的研究,仍面临巨大的挑战。
2.2 3D模型轻量级可视化
3D模型轻量级可视化技术是将表征3D数字模型的各类数据在Web浏览器中实现3D可视化的关键技术。鉴于Web浏览器中进行3D渲染以及远程协同设计驱动模型数据轻量化的要求,其对于研发云架构CAD软件所牵扯的CAD模型云端轻量级可视化具有重大意义。针对3D模型轻量级可视化的学术研究,主要集中在3D模型轻量化几何处理算法以及3D渲染仿真可视化两个方面。
2.2.1 3D模型轻量化几何处理算法
在3D模型轻量化几何处理算法领域,刘云华等[32]提出一种精度可控的三维CAD网格模型,其采用曲面内部插值与边界曲线插值相结合的轻量化分类细分算法来实现模型精度调整,可满足三维CAD系统对模型精度可控、减少网格数量的需要;LIU等[33]提出一种基于智能信息精简的大规模装配体模型轻量化处理算法,从零部件(包括子装配体和零件)、特征和外观几何3个级别(从粗到精)精简三维CAD模型的数据量,并运用诸如组件压缩、特征简化和孔洞接缝等3D图形学处理技术,最终采用一个外壳模型表征装配体的整体轮廓;WEN等[34]基于渐进网格(Progressive Meshes, PM)提出一种相似度感知的3D网格数据约简方法,称为轻量级渐进网格(Lightweight PM, LPM),通过挖掘3D模型中的相似组件,在删除冗余组件后生成剩余每个组件的PM表示,并使用称为轻量级场景图的结构来组织所有处理后的数据;NGUYEN等[35]提出一种基于三角形网格表示和边界表示(B-rep)相结合的三维CAD模型轻量级表示方法,并研究了相应的数据结构以及从B-Rep数据结构生成该模型的数据交换方法,对于实现远程协同设计具有重要意义;KWON等[36]提出一种面向大规模工厂设计的3D模型适应性轻量化处理方法,通过定义语义级别(Level of Semantics, LOS)简化具有各种语义特征的CAD模型,其精简程度可达到80%以上;薛俊杰等[37]提出一种复杂产品三维模型轻量化服务构建方法,采用改进模型数据导出与空间索引生成方法,能够在模型轻量化过程中保留复杂产品模型装配树与标注信息,设计并实现了基于面片密度的自适应面片简化算法,能够在满足误差要求的条件下对几何模型面片进行自适应简化。可以看出,目前针对3D模型轻量化处理技术的研究,更多地集中在面向Web浏览器环境下模型流畅渲染的网格精简、网格细分、网格层次细节优化等3D数字几何处理算法上,虽然已经取得了丰富的研究成果,并且在某些领域得到了应用,然而针对特征建模、NURBS自由曲面建模等云架构CAD软件需要具备的核心建模功能,CAD模型数据表示需要融合三角网格数据结构与B-Rep拓扑结构关系数据结构,目前针对该类3D模型的轻量化处理研究仍然较少,需要相关领域学者进行更为深入的研究。
2.2.2 3D渲染仿真可视化
在3D渲染仿真可视化领域,XU等[38]提出一种结合建筑信息可扩展标准(Industry Foundation Classes, IFC)和WebGL技术在Web浏览器中创建3D可视化BIM模型的方法,研究了将IFC特定属性编码转换为OBJ三维格式文件的转换方法,并基于WebGL设计了三层结构可视化平台,能够在Web浏览器中稳定地渲染BIM模型;ZHOU等[39]提出基于Web3D的大型复杂网格模型轻量级可视化框架S-LPM,其包括一个基于Dijkstra算法的网格分割操作和一个基于体素的重复检测/删除操作,上述两种几何运算大幅度减少了通过Internet传输的数据量,提升了传输速度,并通过转换对齐部分的传输数据,能够在Web浏览器中显示完整的3D模型;LIU等[40]提出用于Web3D场景协作渲染动态可视化的框架Cloud Baking,其中云渲染器使用全局照明(Global Illumination, GI)信息渲染场景实现,而Web浏览器端渲染器仅使用环境照明来渲染场景,并将其与从云渲染器中接收到的GI映射进行混合,以生成最终场景,该方式允许用户与Web场景进行交互式操作,并将全局照明计算等繁重的计算任务转移到云端执行;陈中原等[41]提出面向Web3D数据约简的基于八叉树的轻量级场景结构,通过对3D场景进行分离和层次划分,对模型单元进行匹配剔除,对八叉树进行结构变换,最终建立自顶向下的轻量级场景结构,最大程度地降低3D场景的数据量;周文等[42]提出支持向量机(Support Vector Machine, SVM)学习框架下的Web3D轻量级模型检索算法,首先对模型进行简化处理,投影三维模型为多个视点图像,其次使用支持向量机在草图数据集上学习规则,并根据规则进行相应的视点图像分类,获得最佳视点图像,最终对视点图像提取梯度直方图特征并进行K-means聚类和索引,获得三维模型的特征字典;邵威等[43]提出一套视点无关的Web3D协作式全局光照渲染系统,其由负责全局光照的云渲染器和负责直接光照的Web渲染器构成,并将用户行为作为计算全局光照范围和频率重要参考依据,以解决Web3D动态光照实时渲染问题。上述3D渲染仿真可视化领域的研究成果,均为研发云架构CAD软件奠定了良好的理论基础。同时,针对云架构CAD软件所面向的CAD模型尖锐特征较多的特性,目前仍然缺乏一定的研究基础,需要在后续的研究工作中更多地关注。
2.3 三维几何造型
对于三维CAD软件而言,三维几何造型是最核心且重要的功能,尤其是1985年,Samuel Geisberg博士创建了PTC公司,提出了“全参数化三维建模”思想以及Pro/Engineer软件,改变了过去CAD软件没有尺寸参数驱动的历史,更加符合设计人员的构思习惯。如今的三维CAD软件无不采用基于特征、全尺寸约束、全数据相关、尺寸驱动设计的参数化特征建模思想,并逐步拓展到云架构CAD系统的研发中。
2.3.1 几何造型内核
CAD软件实现几何建模的核心在于几何造型内核(Geometric Modeling Kernel)的研发。1973年,Ian Braid从剑桥大学毕业,并于1974年和他的导师Charles Lang及同窗Alan Grayer创办了Shape Data公司,基于Fortran语言开发出第一代实体造型商品系统Romulus,此即为当今几何造型内核巨头Parasolid的前身[44],Parasolid已成为当前CAD系统中性能最稳定的通用几何开发平台之一。1986年,美国的Spatial Technology公司以波音公司于1980~1985年开发的CAD系统TIGER为基础,推出了ACIS内核[45]。2000年,Dassault收购了Spatial Technology公司,为CATIA软件基于ACIS内核进行研发奠定了基础,而后Dassault将CATIA V5软件的底层平台独立出来,发布了其自主内核CGM Modeler[46]。PTC公司则完全自主研发了PTC Creo GRANITE内核[47],为旗下的Creo软件(原Pro/Engineer软件)的研发奠定了基础。而法国Matra Datavision公司则另辟蹊径,基于著名的EUCLID软件推出了一套开源几何造型内核Open CASCADE,简称OCC[48],其提供了点、线、面、体和复杂形体的显示和交互操作,为中小型企业开发自主化CAD/CAM软件提供了便利。
目前,采用Parasolid内核的CAD软件主要有SIEMENS PLM Software旗下的NX和SolidEdge,以及Dassault旗下的SolidWorks软件。采用PTC Creo GRANITE内核的CAD软件主要是PTC研发的Creo软件。1993年,Autodesk与Spatial Technology签约,在ACIS内核的基础上开发出MDT三维参数化特征设计系统,而在2000年左右,Autodesk购买了ACIS源代码并经过自主研发与迭代升级,推出了旗下的CAD软件Inventor,其所采用的自主内核与ACIS差异已十分明显。同样,作为Dassault旗下的CAD软件,CATIA并非基于CGM Modeler内核研发,而是拥有独立自主的几何造型内核。而采用OCC内核的主要为诸如FreeCAD等开源低成本小型CAD软件。
由此可知,在CAD软件发展的早期,Parasolid和ACIS内核凭借稳定的性能以及相对独立的发展模式,孕育出了一批又一批的商业化CAD软件,同时也拥有了广泛的行业认可度以及市场占有率。而随着各大CAD软件逐步迈入成熟期,以及市场竞争的日益激烈,如今主流的商业化CAD软件厂商普遍希望自家产品拥有独立自主的几何造型内核,以提升产品的核心竞争力。目前,诸如Parasolid、ACIS等主流内核均未发布其面向云架构CAD软件的商业化解决方案,反而是一位名叫Michael Molinari的程序员在GitHub中发布了一项基于容器技术(Docker)的项目FC-Docker[49],成功地将基于OCC内核的FreeCAD软件改造为支持Web浏览器访问的云架构CAD软件,其几何造型、3D渲染等工作均能够在服务端完成。
2.3.2 张量积曲面建模与特征建模
对于现代CAD软件而言,研究几何造型内核的核心思想在于,采用合适的数据结构对CAD模型相关信息进行组织和描述,确保所创建CAD模型的准确性、完整性和唯一性,便于快捷地存储和处理。自CAD软件诞生以来,三维几何造型技术经历了从线框、曲面、实体到特征的变迁,时至今日,张量积曲面建模和特征建模仍然是现代CAD软件最为核心的建模方式。
张量积曲面建模(tensor product surface modeling)是指采用张量积曲面作为CAD模型数据表示。目前,比较有代表性的张量积曲面有Bezier曲面[50]、B样条曲面、非均匀有理B样条(Non-Uniform Rational B-Spline, NURBS)曲面[51]。Bezier曲面具有局部控制能力不足、多段曲面不能光滑连接等缺陷,而B样条曲面相较于Bezier曲面具有一定的局部控制能力,却不能精确描述含有圆锥曲线和二次曲面的机械零件;NURBS曲面通过在一般B样条曲面中引入权因子w,实现了对初等曲线、解析曲线曲面的统一数学描述,国际标准化组织(ISO)也将NURBS作为定义工业产品几何形状的唯一数学表达形式,而在著名的WebGL图形库Three.js中,已经开发出针对Bezier和NURBS曲面在Web浏览器中建模与渲染的解决方案[7],其对于在云架构CAD软件中开发NURBS曲面建模功能,具有借鉴意义。
特征建模(feature modeling)基于实体建模(solid modeling)的概念发展而来,其在实体模型的基础上抽取具有工程语义要素的“特征”,以对CAD模型进行具有工程语义描述和操作[52]。随着PTC提出“全参数化三维建模”思想,使得特征建模过程融入了尺寸参数和几何约束的因素,不仅更符合设计人员构思习惯,还有助于创建尺寸精度更高且符合工程实际要求的CAD模型。
综上所述,现代CAD软件三维建模往往采用“NURBS曲面建模+特征建模”的形式,所创建的CAD模型在计算机内部基于CSG方式存储特征参数并记录建模过程,基于B-Rep方式存储形体数据信息。然而,为满足Web环境对云架构CAD软件所创建特征模型传输、处理与渲染高效性和快速性的要求,针对三维几何造型的理论方法研究需要更加关注模型数据在确保轻量化的前提下,保留“NURBS+特征驱动”的属性,这也为云架构CAD软件的几何造型内核研发提出了更高的要求。
2.3.3 基于模型的定义(MBD)
基于模型的定义(Model Based Definition, MBD)是现代CAD软件向“全三维设计”时代迈进的关键技术环节[53],MBD技术的发展使得CAD模型能够表达零件完整的设计信息、工艺信息、产品属性以及管理信息。而针对云架构CAD软件研究MBD技术实现,不但能够充分发挥云架构CAD软件作为SaaS工业软件在支持产品全生命周期云端协同设计与维护领域的天然优势,而且对于所创建CAD模型进一步迈向数字孪生层级虚拟模型具有重要价值。
目前,针对云架构CAD软件研究其MBD技术实现,首先需要突破在Web环境中实现CAD模型产品制造信息(PMI)以及几何公差(Geometric Dimensioning and Tolerancing, GD&T)的三维可视化技术。LIPMAN等[54]提出一种使CAD模型几何信息、PMI以及GD&T信息在STEP文件中表示的方法,用于在下游的CAM软件中检查STEP文件中PMI以及GD&T信息的一致性,然而该方法仅适用于传统的CAD/CAM客户端软件;汪耀[55]研究了一种面向Web的MBD模型显示浏览方法,提取NX软件所创建MBD模型的几何信息、PMI以及GD&T信息并封装为WebGL可直接解析的JSON文件,同时解决了PMI以及GD&T信息与其所关联CAD模型空间位姿一致性的问题;HALLMANN等[56]从STEP AP242标准数据交换格式文件中提取CAD模型PMI以及GD&T信息,并将其与CAD模型对应的STL格式文件进行数据融合,最终通过WebGL进行在线3D渲染。融合后的模型数据可用作设计、仿真、制造以及检验的接口,有助于PLM流程中产品数据的一致性;王晓旭[57]结合嵌入式系统设计了一种MBD模型数据轻量化处理方法,基于改进的非递归深度优先遍历算法和改进的自适应哈夫曼压缩算法对MBD模型按需求进行提取,解决了云端存储的MBD模型传输到本地应用中面临的数据量大、渲染帧率低、传输速度慢等问题。上述成果均为在云架构CAD软件中实现MBD模型的可视化提供了研究思路。
以MBD模型驱动的远程协同方法研究,也是云架构CAD软件中MBD技术实现的核心环节。SHI等[58]开发了基于Web Service的计算机辅助工艺规程设计(Computer Aided Process Planning, CAPP)和制造执行系统(Manufacturing Execution System, MES)集成平台i-Plane,实现了异地设计人员针对飞机零部件MBD模型的协同可视化与实时讨论;CAMBA等[59]提出一种将携带有PMI以及GD&T信息的CAD模型在PLM系统中实现同步通信的方法,为实现基于MBD模型的产品云端协同设计、审阅以及修改提供了同步通信的技术实现原理;周新杰等[60]根据产品全生命周期不同阶段的需求实现不同MBD标注,形成诸如设计模型、工艺模型等不同类别MBD模型,重塑数字化产品设计制造流程,实现基于MBD模型的PLM协同。由此可知,MBD技术已成为PLM全流程中实现远程协同操作的主流方向,这与云架构CAD软件所具备的设计协同化、功能集成化相契合,后续研究应重点放在云架构CAD软件中MBD模型轻量化数据表示,以及云—端协同的MBD模型实时绘制技术方面。
2.3.4 几何约束求解
几何约束求解(Geometric Constraint Solving, GCS)被认为是CAD自动化几何造型的核心问题。目前,众多CAD软件均以SIMENSE PLM Software公司的DCM(dimensional constraint manager)作为几何约束求解器,包括SolidWorks和NX等。在国内,诸如中国科学院数学与系统科学研究院的高小山教授研究团队、清华大学计算机科学与技术系的孙家广院士研究团队、华中科技大学CAD中心的陈立平教授研究团队和浙江大学CAD/CG国家重点实验室的董金祥教授研究团队等均从不同角度、不同层面开展了针对几何约束求解领域的研究工作[61-62]。然而,由于国内研发自主化CAD软件的驱动力不足,导致尚未出现完全自主的商业化几何约束求解器,大都停留在原型系统。
针对几何约束求解问题,当今主流的策略大致可分为:数值求解法、符号代数法、图论法。数值求解法的本质是求解含有几何图元信息的方程组,其基本思想是“分而治之”,将大规模约束系统分解为独立可解的子约束系统集合进行求解,而对于不能再分解的子系统则采用数值方法进行求解[63]。符号代数法能够有效解决数值求解法执行效率较低、初值敏感度较高的问题,其具有良好的分解性能,能够确定几何约束方程组的求解顺序,比较典型的有Wu-Ritt特征列法[64]和Grobner基方法[65],虽然相较于数值求解法,符号代数法可以对约束属性做出有效判断,但是求解速度较慢,其执行的时间和空间复杂度均较高,对于云架构CAD系统的高效率运行而言均为不利的因素。而在图论法领域,OWEN[66]针对具有循环约束属性的几何约束系统,提出三角分解法,并基于该理论开发了著名的几何约束求解器(Dimensional Constraint Manager, DCM)。目前,DCM已被公认为最成功的商业化几何约束求解器,它将基于自底向上的图论法方法作为约束求解的核心方法。图论法具有理论严谨、效率高、稳定性强等优点,尤其适合云架构CAD软件所面临高并发、欠稳定的网络环境。因此,针对云架构CAD软件的几何约束求解研究,应该对现有图论法研究成果进行进一步改进与优化,尤其是在降低求解算法计算复杂度、基于几何约束图动态更新机制的在线增量求解[67]等领域需要重点关注。
2.4 CAD模型数据交换
在基于云的设计与制造领域,不同的协作伙伴厂商通常使用不同的CAD软件生成不同类型CAD模型数据,因此需要研究使不同类型CAD模型数据实现低损甚至无损的数据交换机制,即产品数据交换(Product Data Exchange, PDE)。IBM公司曾经发起过一项产品全生命周期开放标准OSLC,其使用“语义网”定义数据表示、系统和PLM软件的活动域[68],OSLC可以被认为是一种早期的PDE机制。针对CAD模型数据交换领域的学术研究,主要集中在基于几何的数据交换机制以及基于特征的数据交换机制两个方面。
2.4.1 基于几何的数据交换机制
在PDE领域,基于几何的数据交换机制(Geometry-Based Data Exchange, GBDE)于1985年左右在学术领域被首次提出,现已在工业界获得成功应用,如1994年版的国际标准化组织(ISO)颁布的产品模型数据交换标准(Standard for the Exchange of Product model data, STEP)能够对B-Rep形式的CAD模型进行数据交换[69]。如今,几乎所有商业化CAD软件均支持基于STEP格式的CAD模型数据交换。然而,GBDE会丢失能够反映CAD模型设计意图的特征、CSG树、尺寸参数以及几何约束等信息,导致GBDE机制较难支持云端协同产品设计环境下基于特征的建模、检索、重用,以及CAD、CAE和CAM的集成化。
2.4.2 基于特征的数据交互机制
鉴于GBDE存在数据交换后容易丢失特征、CSG树、尺寸参数以及几何约束的问题,近十年来,基于特征的数据交换机制(Feature-Based Data Exchange, FBDE)正逐渐在学术界和工业软件领域得到关注和研究。例如,为了建立FBDE的标准,ISO TC 184/SC4于1995年开始基于WG2(零件库)和WG3(应用协议)的参数小组项目,该小组于1997年被移至新的WG12(集成资源)中。其中,ISO 10303-55所发布的STEP标准提供了建模历史数据交换机制[70]。然而,目前针对FBDE的研究,无论是宏命令方法(Macro-command),还是通用产品表示方法(Universal Product Representation),主要思路仍然集中于在对CAD模型几何形状保留的前提下恢复其建模历史数据,对于特征参数的交换传递研究甚少,导致特征识别后所重构CAD模型特征参数丢失。
在Web环境下,CAD模型数据交换服务领域也取得了一定的学术研究成果,如CHEN等[71]使用Web服务技术,基于中性建模命令和CAD软件的API函数,实现了不同CAD软件之间的模型数据交换;KIM等[72]提出了基于并行策略的CAD模型检索服务方法WSC(Web services for CAD),当基于WSC检索装配模型数据时,可以使用并行Web服务降低检索时间成本;LI等[73]研究了基于Web的零件库系统,实现了零件库在企业内部和企业之间的信息共享;WANG等[74]提出一种面向服务且支持交互式操作的云制造系统,以及一种用于分布式交互操作制造平台(Distributed Interoperable Manufacturing Platform, DIMP)的协同产品数据交换机制;WU等[20]提出一种面向服务的FBDE架构,其中FBDE被注册为服务,提出了面向服务的FBDE的P2P方法,并详细讨论了P2P体系结构中FBDE即服务的技术问题。此外,WU等[75]还提出一种面向云端协同设计的新型安全化产品数据交换机制CBCD,并提出一种用于安全机制的基于网格的几何变形方法,在保留源模型敏感信息的同时,能够最大程度降低数据交换错误率。
上述Web环境下CAD模型数据交换服务的研究,对于在云架构CAD软件中实现不同类型CAD模型数据交换具有一定的积极意义。同时,针对云架构CAD软件SaaS架构的特性,仍需在以下3方面进行更深入的研究:①云架构CAD软件需要提供分布式云设计服务,因此需要研究去集中式架构化、去中性文件化的CAD模型数据交换机制,以适应其作为SaaS软件云端运行的需求;②针对目前CAD模型数据交换方法研究中所呈现的特征参数丢失问题,需要研究以特征参数驱动的CAD模型数据交换方法;③如何将基于云的CAD数据交换任务发布为细粒度的Web服务,并发布给云端协同设计过程中具有不同数据交换需求程度的用户,也是云架构CAD软件相较于传统CAD软件在数据交换中的不同之处,需要进一步地研究。
3 云架构CAD软件应用场景
3.1 基于3D打印云平台的在线3D建模
随着互联网技术的不断发展,以“互联网+3D打印”服务模式为基础的3D打印云平台应运而生。用户可直接通过Web浏览器访问平台,并创建3D打印模型,借助平台提供的多种变形设计服务,创建满足用户身份感和归属感的高度个性化定制3D打印模型。下面介绍几款典型的基于3D打印云平台的在线3D建模软件,并通过所列举的8种典型建模功能对各软件进行对比,如表1所示。
表1 几款典型的基于3D打印云平台的在线3D建模软件功能对比
3.1.1 TinkerCAD
TinkerCAD是由Autodesk公司开发的一款基于Web浏览器的3D建模工具[76],如图2所示。其UI界面色彩鲜艳,建模过程如同搭建积木,支持对简易的3D几何体进行建模以及空间变换,支持对多种3D模型进行布尔运算以创建更为复杂的3D模型,并且还支持对软件所预定义3D模型进行参数化设计,适合青少年进行在线3D建模且用于3D打印制作,降低了3D建模门槛。
同时,TinkerCAD还自带社区功能,方便用户上传自身设计的3D模型到社区中,供他人分享使用。TinkerCAD作为面向3D打印云平台在线3D建模软件,目前已成为该领域的标杆级别软件,其对于提升大众亲身参与3D打印产品个性化定制的积极性,吸引非专业人士亲身参与3D打印产品设计过程,真正实现基于3D打印云平台的众创模式,具有积极意义。
3.1.2 3DTin
3DTin是一款完全基于Web浏览器运行的3D打印产品个性化建模软件,由一位印度软件工程师Jayesh Salvi研发而成,后被加拿大一家3D打印初创公司Lagoa收购,其开创了基于Web的在线建模先河[77]。3DTin支持对基本几何体进行建模以及空间变换,支持导入和导出STL格式模型,支持对模型进行颜色和材质的修改,同时还支持体素建模,从而进一步激发了用户创建个性化3D模型的潜力,如图3所示。与TinkerCAD类似,3DTin所具备建模功能简单易学,注重激发用户的3D设计创意,适合青少年和非专业人士亲身参与3D打印模型个性化定制,其与3D打印云平台集成之后,有助于推动3D打印众创模式。
3.1.3 GeekCAD
GeekCAD是一款面向中小学生参与3D打印的在线3D创意建模软件[78]。该软件直接运行于Web浏览器中,尤其适合中小学生提高空间思维能力,并且可以将所设计模型与他人在社区中分享。除了和TinkerCAD同样所具备的基本几何体建模、布尔运算建模、模型导入/导出等功能之外,GeekCAD最大的特色在于支持草图特征建模(如拉伸、扫掠、旋转等),其操作过程与工业级CAD软件类似,但区别在于所生成3D模型仍为三角网格模型而并非B-Rep实体特征模型,如图4所示。GeekCAD定位于中小学建模教育软件,其操作方式简单易学,适宜部署在3D打印云平台中以供3D打印创意建模教学使用,对于提高中小学生空间思维能力,吸引更多的中小学生成为3D打印创客,具有积极的推动作用。
3.1.4 三维模方
三维模方是由武汉理工大学盛步云教授团队所独立自主研发的一款面向3D打印的在线三维创意建模软件[16]。该软件集成于3D打印云平台“DD打印网”之内,完全基于Web浏览器端运行。该软件不仅支持基本几何体建模、布尔运算建模、草图特征建模等基本功能,其最大的特色在于支持数位板、Leap Motion等人机交互设备的接入,实现手绘、手势体感等人机自然交互建模操作,如图5所示。团队通过研究主流网络通信协议,开发了支持外围设备数据实时采集、上传以及Web浏览器端可视化的下位机软件,实现了外围设备接入Web应用软件的新模式,不仅进一步降低了青少年和非专业人士基于3D打印云平台亲身参与3D打印模型个性化定制的门槛,还较大程度地提升了建模过程的趣味性。
3.2 基于云的工业级产品设计
相较于3D打印创意建模,工业级产品设计对云架构CAD软件提出了更高的要求,不仅需要软件具备传统CAD软件所具备的特征建模功能,还需要支持本文1.2节所总结的5类特征,包括远程实时协同化设计、移动终端跨平台化、对计算机硬件要求较低、数据安全性与兼容性、支持基于角色访问的拓展功能集成。下面介绍几款典型的面向工业级产品设计的云架构CAD软件,如表2所示。
表2 几款典型的工业级云架构CAD软件特征对比
3.2.1 AutoCAD在线版
著名的二维CAD软件AutoCAD推出其在线版(AutoCAD Web App),如图6所示。其能够在Web浏览器或者移动APP中运行,无需安装在本地计算机上,能够实现客户端软件的绝大多数功能,其软件更新是通过远程服务器更新实现的,用户可以通过定期订购以获取更新[79]。该软件能够在工业产品设计领域产生积极价值:首先,AutoCAD在线版支持跨平台远程协同设计,支持工程技术人员在不同设备上绘制、编辑和查看CAD设计图纸,在确保团队成员实时获取最新设计结果的同时,增强企业在生产、营销、维修等下游环节的交流协作性;其次,通过AutoCAD在线版能够实时跟踪项目、共享文件以及了解项目进度,简化了工程技术人员绘制、审阅和修订设计方案的工作流。
3.2.2 Fusion 360
Fusion 360是Autodesk公司所推出基于云的CAD/CAM/CAE工业软件套件,支持产品协同开发,允许设计师在任何设备上随时立即共享、查看项目数据,管理版本以及查找使用位置和分享观点[10]。该软件同样能够在工业产品设计领域产生积极价值:首先,借助Fusion 360的协同设计功能,能够提升工程设计团队的工作效率,增强团队的协作交流性;其次,Fusion 360支持CAE仿真优化与CAM刀具路径生成功能,在云端打通“设计→仿真→制造”的完整工作流。如图7所示为采用Fusion 360在移动终端以及Web浏览器中实现远程实时协同设计与交流的工程实际场景。
3.2.3 JSketcher
JSketcher是由一位名叫Val Erastov的程序员开发的基于JavaScript代码的3D参数化设计软件[80],目前其代码托管于GitHub,可进行复杂机械零件的在线设计(如图8)。JSketcher仅需要依赖JavaScript代码执行,因此可以直接运行于Web浏览器中,其包括几何约束求解器、2D草图绘制器和3D实体建模器。该软件的实际价值在于,其仅需要Web浏览器解析JavaScript代码即可实现在线三维建模,软件开源且呈现轻量级特性,加载速度快,非常适合工业领域的中小型企业基于该原型系统进行二次开发,满足不同企业的特定需求。然而,该软件目前并不支持远程协同设计,这也在一定程度上削弱了其作为云架构CAD软件的协同属性。
3.2.4 Onshape
2015年,由SolidWorks创始人Jon Hirschtick和John McEleney带领团队研发了完全基于Web浏览器运行的SaaS云架构CAD软件Onshape[8,9],目前已被PTC公司收购,成为PTC旗下SaaS工业软件的解决方案。该软件具备主流三维CAD软件几乎所有的基于特征的参数化3D建模功能,并且支持异地协同设计。同时,Onshape还支持对CAE以及CAM功能的定制化功能集成,方便不同用户结合自身需求对软件进行模块化定制,如图9所示。该软件作为工业级云架构CAD软件的标杆产品,对于推动工业软件上云、用云以及云架构化,具有重要意义:首先,Onshape支持工程技术团队的云端异地协同设计,并且支持移动终端跨平台化运行,不仅强化了团队成员在CAD模型共享、使用、修改基础上的实时操作性,还进一步释放了CAD模型在生产、营销、维修以及供应商等下游环节的价值,从根本上满足了并行工程的需要;其次,Onshape大幅削弱了本地计算机硬件对CAD图形处理的性能要求,大部分图形处理可基于云计算技术在服务器中实现,从根本上改变了企业对计算机硬件定期或不定期迭代升级的需求;此外,Onshape能够始终为企业提供最新版本的软件服务,数据在云端实时存储与调用,确保了企业数据的安全性与兼容性。
3.2.5 CrownCAD
在国产自主化工业软件领域,由华云三维科技有限公司研发了完全自主可控的新一代基于云架构的三维CAD软件CrownCAD[13],支持在云端进行零部件设计、装配设计等产品设计及创意工作,并且支持一键生成工程图,还支持针对主流三维CAD模型的数据交换服务。工程技术团队可以基于CrownCAD在云端进行远程办公和多人协同设计,其效果如图10所示,团队成员对CAD模型进行浏览、编辑、标注、评审等操作时,系统会实时更新CAD模型,并同步到团队每一位成员的账号,能够有效提升团队产品研发的效率。
4 云架构CAD软件的技术挑战与趋势
随着互联网、云计算等先进信息技术与制造业的深度融合,云架构CAD软件的研究与应用正面临如图11所示的技术挑战。广度上,云架构CAD软件需要从最初的机械产品云端三维设计,逐步拓展和延伸到产品仿真分析、制造、维护、服务等环节中,最终覆盖产品全生命周期管理;深度上,云架构CAD软件需要依托虚拟/增强现实(Virtual Reality/Augmented Reality, VR/AR)[81]、人机交互(Human Computer Interaction, HCI)[82]、知识工程(Knowledge Engineering, KE)[83]等AI领域的飞速发展,逐步向5G驱动的云—端协同实时高保真绘制、多模态信息感知驱动的人机自然交互式建模等研究领域过渡,推动其向更高层次的协同化、智能化发展,最终向基于云的数字孪生虚拟融合建模迈进[84],实现面向制造物联的智能设计与制造[85]。
4.1 复杂机械产品云端协同设计
复杂机械产品具有较强的行业属性(如航空航天、汽车、轻工机械等)和专业特性(工艺性、成套性、高速度、高精度等),并且为了适应制造业自动化、智能化发展的趋势,新一代复杂机械产品的设计过程不再仅仅关注于产品的三维建模,而是需要多领域学科知识更紧密协调的集成化研发。然而,当前主流的云架构CAD软件仍然更加关注于对机械产品进行三维几何造型,缺乏将仿真优化、电气设计、自动控制、运行维护等多领域工程技术知识融入软件的集成化、一体化研发过程中。
因此,需要发挥云架构CAD软件支持云端协同设计的优势,研发支持CAE、CAM、PDM等集设计、仿真、制造、数据管理为一体的云架构CAD软件,整合不同学科背景的工程技术人员,协同完成复杂机械产品的设计工作。一方面,需要总结和归纳形成集设计、仿真、制造、数据管理等多领域技术于一体的SaaS软件架构,并抽象出在云环境中开发、部署和运维时的基本原理。另一方面,需要研究面向复杂机械产品云端协同设计的多领域知识统一建模方法,确保产品在云端协同设计过程中精度、功能、性能等属性之间的统一性。
4.2 5G驱动的云—端协同实时高保真绘制
云架构CAD软件作为完全基于云环境运行的SaaS工业软件,其数据处理与渲染依赖于云端服务器实现,使得设计人员能够在网络环境下实现云端协同设计。然而,网络环境往往面临着带宽不统一,请求高并发,甚至不明网络攻击等多方面不利因素的耦合干扰,导致采用云端渲染处理再传输到Web浏览器或移动终端的3D图形绘制模式会给云端服务器带来巨大的高并发计算压力。该压力轻则影响工程技术团队远程协同设计的效率,重则可能酝酿工程事故,造成严重后果。
5G通信,即第五代移动通信技术(5th Generation Mobile Networks),作为最新一代蜂窝移动通信技术,具有覆盖广泛、低延迟和低功耗等优点,能够使云架构CAD软件中三维CAD模型的云—端协同实时高保真绘制成为可能,为云架构CAD软件提供面向分布式异地协同设计的信息高速公路。因此,需要以5G通信技术为驱动力,研究云—端协同的CAD模型实时高保真绘制原理,将运行在单一GPU上的3D图形绘制流水线,借助5G通讯映射到本地或远程的多个GPU上来高效协同绘制三维CAD模型,真正做到CAD模型设计与渲染的高保真、低延迟协同。
4.3 多模态信息感知驱动的人机自然交互式建模
多模态自然人机交互是下一代人机交互的发展趋势。当前,无论是基于客户端的传统CAD软件,还是已经上线运行的云架构CAD软件,大都采用“鼠标+键盘”操作的人机交互方式,需要操作者经过专业培训后方能熟练掌握软件使用技巧,在应对复杂机械产品设计时建模效率低下。而多模态自然人机交互能够感知并耦合视觉、听觉、触觉等多模态信息,随后基于人工智能处理算法形成知识,并通过专家系统检索形成个性化的CAD操作反馈,大幅度提升复杂机械产品设计效率。
因此,为使云架构CAD软件向着更高层次的智能化工业软件迈进,一方面需要研究面向CAD软件操作的多模态信息表示和耦合技术,通过理解不同模态数据信息的语义并映射到同一计算空间中,形成个性化的CAD操作反馈以提升设计效率。另一方面,考虑到多模态信息的采集依赖于计算机外部硬件,需要研究多模态信息数据边缘计算与云架构CAD软件服务端云计算的协同联动机制,减轻云计算负荷,提升软件响应速度。
4.4 基于云的数字孪生虚拟融合建模
工业互联网时代,需要构建制造资源物理实体在虚拟空间中的精确数字化映射,即创建几何造型、制造语义特征、运行仿真、行为/规则、事件、传感/传输等多维度信息融合的数字孪生虚拟模型,即数字孪生建模。当前,云架构CAD软件所创建的数字化3D模型仍然仅能够反映几何造型以及部分制造语义特征,而诸如SolidWorks和NX等成熟商业化CAD软件所创建MBD模型,其对于制造资源物理实体的全生命周期信息表示,仍然不足以支撑其作为数字孪生层级的虚拟模型。
因此,为充分利用云架构CAD软件自身作为SaaS工业软件的特点,需要研究融合制造资源物理实体多维度、全生命周期属性,且满足云架构CAD软件云端高效传输、处理、渲染的CAD模型数据表示方法,使CAD模型数据表现出面向制造物联网的信息物理融合特质,让云架构CAD软件成为工业互联网时代构建基于云的数字孪生模型的强有力工具。
5 结束语
在工业软件领域上云、用云、云架构化的趋势下,以云架构CAD软件为代表的新型工业软件,正引发全球制造业产业形态和制造模式的重大变革。本文通过梳理国内外云架构CAD软件领域的相关文献,总结了云架构CAD软件的概念和特征,阐述了SaaS云计算服务、3D模型轻量级可视化、三维几何造型、CAD模型数据交换等关键技术,以及其在基于3D打印云平台的在线3D建模和基于云工业及产品设计领域的应用现状,并分析了云架构CAD软件面临的技术挑战与趋势。云架构CAD软件的研究和应用还处于初级阶段,在智能设计和智能制造驱动的大背景下,结合5G、AI、数字孪生等先进技术,进一步推动工业技术软件化、智能化,仍是后续研究面临的重大挑战。