软件定义制造:西门子、三菱等巨头PLC系统架构的演变
全球PLC市场:各玩各的自从PLC技术诞生以来,它在工业控制领域的地位举足轻重,尤其在过去的四十年间,全球知名自动化巨头如西门子、罗克韦尔自动化以及三菱电机等持续推动PLC硬件和软件平台的革新与发展,不断扩大其用户群和市场份额。然而,随着工业自动化的深入发展,不同品牌PLC系统间的互操作性和兼容性问题日益凸显,使得终端用户在面对各自独立且不兼容的软硬件系统时感到困扰。这一现象不仅限制了设备间的信息互通,也在某种程度上给工业控制领域蒙上了一层封闭而复杂的面纱。
工业4.0时代PLC的呼唤与破局步入工业4.0时代,工业物联网、工业云平台以及OT与IT深度融合的概念逐渐成为行业焦点,并逐步渗入到工业控制的方方面面。新一代的“Y”世代工程师们愈发强调开放性和通用性,期待一种能够打破传统PLC封闭体系的新一代控制技术出现。无论是老牌劲旅西门子以其Simatic系列响应市场需求,还是罗克韦尔自动化推出的Logix平台尝试跨越壁垒,抑或是国产PLC品牌如汇川技术、台达电子等紧跟国际步伐,都在积极探寻如何在保持PLC固有优势的基础上,构建更为开放的系统架构。
传统PLC系统架构的特点与局限
PLC能在工业控制中长盛不衰,关键在于其卓越的可靠性、鲁棒性、适应性和高度可编程性。尽管硬件层面各大厂商普遍采用了模块化设计,如西门子的S7系列、三菱Q系列均涵盖了多样化的模块组件以满足多样化应用需求,但在系统间通讯接口及硬件内部实现上,各家标准各异,力图维护自身的市场优势。譬如,罗克韦尔自动化大力推广EtherNet/IP协议,而三菱电机则侧重于CC-Link协议,众多现场总线标准林立,反映了行业内的竞争格局。
在软件层面,PLC虽然围绕IEC61131编程语言建立了相对统一的基础,但具体实现上仍存在显著差异。大品牌如西门子、罗克韦尔等虽采纳了IEC标准,但依然依托自家独特的操作系统和专有Runtime内核;而一些中小品牌可能采用通用RTOS(如VxWorks、Linux、Windows Embedded)及标准内核软件(如菲尼克斯电气的KW multiprog,3S-Smart Software Solutions的CoDeSys)来降低成本并提高兼容性。
现行的经典PLC软件架构严格遵循嵌入式系统的设计原则,底层搭载具备高度实时性能的嵌入式操作系统,其上加载的是独家PLC内核,负责运行IEC61131标准环境下的任务、任务调度、优先级判断以及内存管理。这一设计保证了PLC系统的安全可靠与实时高效,但也造成了用户在编程开发上受限于特定IDE环境,无法直接调用操作系统底层接口,也不能自由选用先进的PC端编程环境。
在信息化与网络化趋势的驱动下,尤其是像西门子推出的TIA Portal这样集成化开发环境的出现,预示着业界正试图寻找一种平衡:既能保持PLC的确定性与实时性,又能引入更多高级语言编程和开源资源。为此,部分厂商开始尝试改进原有架构,通过交叉编译工具链允许在IEC61131环境下间接执行高级语言程序,但这并不能从根本上解决封闭性的问题,而且局限于特定的高级语言和功能范围。
新型PLC架构的可能性
为了应对开放性需求,一些PLC制造商已开始转向基于商业或开源实时操作系统的架构,如西门子在其高端产品中采用Linux系统,三菱电机的部分产品也支持VxWorks。这种架构允许用户在同一个平台上运行IEC内核以及其他如Visual Studio、Matlab Simulink等主流IDE,从而实现更高程度的开放性。然而,脱离了原生PLC内核的任务在实时性和数据管理上面临挑战,开发者必须自行处理实时调度等问题。
另一种双系统架构尝试结合传统实时控制系统与通用开发平台,如罗克韦尔自动化在部分产品中实现了逻辑控制与非实时计算的分离,但这种方案未能彻底解决实时性和开放性的兼顾问题。
总结来说,随着信息技术的快速发展和市场需求的变化,PLC技术正经历一场由封闭向开放转变的深刻变革。未来的PLC内核架构可能会进一步融合实时操作系统、高级语言编程和标准化通信协议,同时维持工业控制所需的高实时性与安全性。国内外品牌,包括西门子、罗克韦尔、三菱以及诸多国产品牌,都将在这个过程中扮演重要角色,共同塑造PLC技术的新纪元。
俄罗斯三维建模引擎:C3D内核
C3D 的几何核心是创建设计系统 ( CAD ) 及其应用程序、计算系统 (CAE)、为 CNC 机器准备控制程序的系统 (CAM) 以及建模工艺流程的关键组件。从 1995 年的开发到 2012 年,Ascon 专门使用这个核心来满足自己的需求,作为CAD KOMPAS-3D 的一个组件。2012 年,Ascon 开放了 C3D 内核进行第三方授权。核心的开发和市场推广由 Ascon的成员C3D Labs 进行,该实验室于 2013 年成为斯科尔科沃的居民。
该解决方案包含在数字科学部的“俄罗斯电子计算机和数据库程序统一登记册”中。
几何建模的核心:
Geometric Modeling Package (也称为 Geometric Core)是一组允许您使用几何(如实体)建模功能的API。许多领先的CAD系统(如CATIA、Pro/E、NX)都是建立在它们自己的几何内核(分别为CGM、GRANITE和Parasolid)的基础上,而其他的(SolidWorks、T-FLEX、ADEM)等)是建立在许可几何内核的基础上的。流行的商业内核(用于大多数 CAD 系统)有Parasolid(来自Siemens PLM Software)、ACIS(来自Spatial Corp.,Dassault Systèmes的子公司)和 GRANITE ( PTC )。Open CASCADE核心在开源中免费分发。国内华云三维DGM
只有来自生产尖端设备和武器的国家的大公司才有这样的内核——美国、法国、德国和中国,俄罗斯,日本几个国家,”MSTU Stankin 工程中心的总经理 Sergey Kuraksin 告诉 Izvestia。- 在俄罗斯,90% 的情况下,使用西方程序,在外国内核的基础上创建,但我们没有自己的内核供国内开发人员使用。
1.核心是什么?
3D 建模在背后拥有30 多年的经验。历史。并非所有提出的想法都富有成效。并非所有 3D 建模公司都能在市场动荡中幸存下来。但最好的经验是在称为 3D 建模内核的软件组件中获得的,它现在是几乎所有 CAD(以及 CAE 和 CAM)的基础。这些组件要么由工程软件开发人员自己设计、编码和维护,要么从第三方技术供应商处获得许可。3D 核心是构建任何现代 CAD 建筑的基础。其他一切都取决于这个基础——各种工具的能力、它们的性能、抗错误能力,甚至系统的整体智能。
从程序员的角度来看,几何内核是一个函数/类库,用于创建几何对象(点、线段/圆弧/曲线、一块曲面、实体),改变它们的形状和大小,创建基于几何对象的新对象他们,在计算机屏幕上可视化模型并与其他程序交换 3D 数据。内核函数的列表可以压缩成一句话,但它们的实现需要几十个几百人年的时间。事实是,在每个基本操作(例如 NURBS 类的两个曲面的交集)背后都有一个计算算法,该算法的实现和调试是一项非常费力的任务,需要对计算数学设备的无懈可击的知识和学科领域的专业知识。
并非所有 CAD 开发人员(尤其是 CAE 和 CAM)都准备好在底层技术上进行如此大量的投资,因此他们中的大多数人更愿意从第三方制造商(有时从他们的直接竞争对手那里)获得现成的 3D 核心的许可),定期向核心开发公司付款(通常包括为每份售出的最终产品支付一定金额)。作为回报,他们有机会使用已经在其他系统中“测试过”的内核,因此它具有丰富的功能和高度的可靠性。最后,通过采用现成的内核,CAD 开发人员将能够快速将其软件产品推向市场。有时这个因素是决定性的——如果你的产品发布晚了一两年,市场可能会被竞争对手占领。最引人注目的例子是 MCAD(机械 CAD)SolidWorks 的发布,它成为世界上第一个 Windows 平台的参数化实体建模系统,并且在销售许可数量方面仍然是 MCAD(机械工程)行业的绝对领导者.这条道路随后被许多其他成功系统的开发人员遵循,包括俄罗斯公司 ADEM 和 Top Systems。
基于 Parasolid 内核的 T-FLEX CAD(顶级系统)
然而,在 CAD 世界中,有少数公司优先考虑完全控制源代码的可能性、及时修复错误和增强功能、快速移植到新平台,因此准备为此付出代价。自己的资源。该集团包括收入数十亿美元的 CAD 市场的四大领导者(达索、Autodesk、西门子和 PTC)和俄罗斯开发商 ASKON以及华云三维:CrownCAD。
KOMPAS-3D (ASCON),基于自己的内核创建
CrownCD (DGM),基于自己的内核创建
下表列出了相当完整的开发人员示例列表,包括第一类和第二类。它表明,获得许可最多的核心是 ACIS(由 Dassault Systemes 的子公司 Spatial 开发和支持)和 Parasolid(Siemens PLM Software)。
Продукт
Производитель
Область
3D-ядро
4MCAD IntelliCAD
4M S.A., Греция
CAD, AEC
Open CASCADE Technology
Adams
MSC Software, США
CAE
Parasolid
ADEM
Группа компаний ADEM, Россия-Израиль-Германия
CAD, CAM, CAPP
ACIS
ADINA Modeler
ADINA R&D Inc., США
CAE
Parasolid и Open CASCADE Technology
Alibre Design
3D Systems, США
MCAD
ACIS
Allplan
Nemetschek AG, Германия
AEC/BIM
SMLib
AMPSolid
AMPS Technologies, США
CAE
ACIS
ANSYS
ANSYS Inc., США
CAE
ACIS и Parasolid
APM Studio
НТЦ АПМ, Россия
MCAD
Собственное (APM Engine)
ArchiCAD
Graphisoft, Венгрия
AEC/BIM
Собственное
ARES
Graebert, Германия
CAD
ACIS
Ashlar-Vellum Cobalt, Xenon, Argon
Ashlar-Vellum, США
MCAD
ACIS
AutoCAD
Autodesk, США
CAD, AEC, GIS
Собственное (ASM), совместимое с ACIS
Autodesk Inventor
Autodesk, США
MCAD
Собственное (ASM), совместимое с ACIS
Autodesk Moldflow
Autodesk, США
CAE
Parasolid
Autodesk Revit Architecture
Autodesk, США
AEC/BIM
Собственное (ASM), совместимое с ACIS
bonzai3d
AutoDesSys, США
CAD
ACIS в комбинации с собственным ядром
Bricscad
Bricsys NV, Бельгия
AEC, MCAD
ACIS
BtoCAD
YuanFang Software Co., Ltd., Китай
CAD
ACIS
CADopia
CADopia Inc., США
CAD
ACIS
CATIA
Dassault Systemes, Франция
CAD/CAM/CAE, AEC
CGM
Cimatron
Cimatron Limited, Израиль
CAM
ACIS
CollabCAD
National Informatics Centre, Индия
CAD/CAM
Open CASCADE Technology
Creo (прежнее название – Pro/Engineer)
Parametric Technology, США
MCAD
GRANITE
Creo Elements/Direct Modeling (прежнее название – CoCreate)
Parametric Technology, США
CAD
ACIS
Edgecam
Planit Software, Великобритания
CAM
Parasolid и GRANITE
ESPRIT
DP Technology Corp., США
CAM
Parasolid
form-Z
AutoDesSys, США
CAD
ACIS в комбинации с собственным ядром
FreeCAD
Открытый онлайн-проект
CAD
Open CASCADE Technology
GibbsCAM
Cimatron, Израиль
CAD/CAM
Parasolid и GRANITE
GstarCAD
Suzhou Gstarsoft Co., Ltd, Китай
CAD
ACIS
IRONCAD
IronCAD LLC, США
MCAD
ACIS и Parasolid
KeyCreator
Kubotek USA Inc., Япония-США
CAD
ACIS
Mastercam
CNC Software, США
CAD/CAM
ACIS
Masterwork
Tecnos G.A., Италия
CAM
Open CASCADE Technology
MicroStation
Bentley Systems, США
AEC
Parasolid (ранние версии – ACIS)
Moment of Inspiration
Triple Squid Software Design, США
CAD
SOLIDS++
NX
Siemens PLM Software, Германия
CAD/CAM/CAE
Parasolid
Patran
MSC Software, США
CAE
Parasolid
Power NURBS
Ideate Inc., США
CAD
SOLIDS++
PowerSHAPE
Delcam plc, Великобритания
CAD/CAM
Parasolid
progeCAD
progeCAD Srl Uninominale, Италия
CAD
ACIS
Radan
Planit, Великобритания
CAD/CAM
ACIS
Rhinoceros
Robert McNeel and Associates, США
CAD
SOLIDS++ (отдельные модули)
Shark LT
Encore, США
CAD
ACIS
SmartCAM
SmartCAMcnc
CAM
ACIS
Solid Edge
Siemens PLM Software, Германия
MCAD
Parasolid (ранние версии – ACIS)
SolidWorks
Dassault Systemes, Франция
MCAD
Parasolid
SpaceClaim
SpaceClaim Corp., США
MCAD
ACIS
STAR-CCM+
CD-adapco, Великобритания-США
CAE
Parasolid
StruCad
AceCad Software, Великобритания
AEC/BIM
Собственное
T-FLEX
Топ Системы, Россия
MCAD
Parasolid
ThinkDesign
Versata, США
MCAD
Собственное ядро
TopSolid
Missler Software, Франция
CAD/CAM
Parasolid
TurboCAD
IMSI/design, США
AEC, MCAD
ACIS
Vectorworks
Nemetschek, Германия
AEC
Parasolid (ранние версии – SMLib)
ViaCAD 2D/3D
Encore, США
CAD
ACIS
ZW3D (прежнее название – VX CAD/CAM)
ZWCAD Software, Китай
MCAD
Собственное ядро (VX Overdrive)
ZWCAD
ZWCAD Software, Китай
CAD
ACIS
SINOVATION
华天软件
MCAD
CRUX V
CrownCAD
华云三维
MCAD,
DGM
目前,有两种主要的几何内核可供许可:Spatial的ACIS(由达索所有)和西门子的Parasolid。这两个模型都是在1985年左右建立的,并在90年代被CAD公司广泛采用。Parasolid是达索SolidWorks、西门子NX和Solid Edge、Bentley MicroStation和Nemetschek Vectorworks的核心建模引擎。ACIS用于多种产品中。它是AutoCAD中的核心建模工具,目前仍用于各种产品,包括SpaceClaim、Bricscad和Kubotek。在开发Inventor时,Autodesk正在开发其ShapeManager(ASM)内核,作为ACIS 7.0的分支。Autodesk现在在ASM上构建其产品。有趣的是,由于使用ACIS开发ASM,Autodesk被达索起诉违反合同。达索最终败诉,因为Autodesk与Spatial的原始交易授予Autodesk进行更改的权利。
达索希望看到CGM成为授权抽奖的主要竞争者,达索也明确表示希望将SolidWorks视为CGM产品,但它必须谨慎行事,以保持对其庞大的SolidWorks用户群的支持。与此同时,大公司正表现出对专利发动机的偏好。PTC拥有自己的Granite引擎,Nemetschek也在内部构建了自己的大部分技术。
这并不是说这些新的几何内核实际上都是新的。达索的CGM和阿斯康的C3D开发始于90年代中期。Autodesk的ShapeManager于2001年开发。
CPDA和CIMdata的分析员肯·维斯普里尔(Ken Versprille)一直深入于所谓的内核战争。作为CAD先锋Computervision的研发主管,他负责监督CADD的开发,CADD现在是PTC产品。Versprille今天在圣彼得堡的C3D发布会上谈到了geometry内核的市场。他说,一些小型独立公司和组织已经构建了几何内核,但他指出,随着新的几何内核的出现,CAD世界正在进入一个新时代。Versprille列举了几个有助于推动新引擎需求的因素。CAD供应商面临着利用并行计算的挑战。对直接制造方法(包括CAM、激光切割、3D打印和FEA)的兴趣激增,也促使人们对创建用于制造的3D模型的新方法产生兴趣。Versprille还对CAD程序适应点云数据的能力感兴趣。他认为这是未来CAD系统的一项重要功能。
在国内有一个误传,就是LEDAS LGS约束求解器并没有用于KOMPAS-3D,ASCON公司有自己的组件部门,自主的C3D内核和约束求解器,只是选项产品VDM(变分建模)用的是LGS组件,一般发行版不提供。
华云三维:CrownCAD内核DGM由梅敬成博士团队2011年开发。
当然,在开发新的 3D 核心时,需要依靠前人的经验,才能从这次经验中汲取精华,不再重蹈覆辙。
2.ASCON C3D内核
苏联和俄罗斯数学流派独特的高水平在世界范围内得到普遍认可,但遗憾的是,其在我国领土上精确实现并获得全球认可的市场技术实施却寥寥无几。此类全球性成就包括 Nikolai Golovanov 与 3D-modeler 相关的工作,该工作多年前出现并开始作为 Askon 的 KOMPAS-3D 的几何核心,并且最近被广泛称为独立分布式 C3D 核心。
ASCON 是设计和数据管理工程软件的领先开发商,推出了几何核心 C3D - 创建设计系统 (CAD) 及其应用程序、计算系统 (CAE)、为 CNC 机器准备控制程序的系统 (CAM) 的关键组件),工艺流程建模。
自 1995 年以来,ASCON 一直在开发自己的几何内核。第一个基于它的计算机辅助设计系统 KOMPAS-3D 5.9 于 2000 年发布。从那时起,核心一直在不断发展,并已达到足以将其作为独立产品推向 PLM 市场的水平。
C3D 内核的潜在用户包括需要处理 3D 模型和 2D 图形的 CAD/CAM/CAE 系统和应用程序的开发人员。其中有供应商公司和大型工业公司的部门,它们为内部需求创建软件。对于第三方开发人员,使用 ASCON 内核将允许扩展其产品的功能,提高其性能和可靠性;基于现有 2D 系统快速创建 3D 建模器;降低自身开发成本。
我们称几何内核为构建真实和虚构对象的数值模型的系统部分。我们的内核是一个单独的模块。它由五组对象和算法组成:第一组 - 基本对象和算法,包括向量、矩阵、点、曲线、曲面、用于构建投影、交集、共轭的算法。
第二组是用于构造物体的对象和算法。
第三组 - 用于构建三角测量的对象和算法,计算模型的惯性特征,检查其元素的碰撞,构建模型的关联投影。
第四组 - 几何约束的对象和算法,在几何模型的元素之间建立变分关系。
第五组 - 提供与其他系统数据交换的转换器的对象和算法。
核心有什么特点?什么标准可以用来比较它们?
首先,几何内核的特点是功能性,即提供给几何建模系统的一组功能、运算、计算等能力。其其他特点是操作的速度和可靠性。整个系统的质量很大程度上取决于几何内核。
对于我们这些开发人员来说,几何内核的结构性、算法的简单性和清晰度非常重要。这些品质使您能够以最少的时间和其他资源投资来开发核心。
“曲面建模”和“实体建模”介绍:
“曲面建模”和“实体建模”这两个术语的出现是由于建立模型的顺序和方法的一些特点。
在曲面建模中,会根据需要创建和修改曲面,这些曲面描述了建模对象的各个元素。然后,通过缝合,从产生的表面组装模型。曲面建模使您可以专注于复杂的形状。在表面建模中,动作是在一组点上执行的,这些点描述了被建模对象的表面。
在实体建模中,工作是通过位于建模对象表面和内部的许多点来完成的。模型构建过程首先创建具有简单形状的模型。然后根据需要更改模型。
几何建模也使用类似于雕刻的建模过程。为此,可以使用任何准备阶段的模型:简单形式的毛坯或几乎完成的模型。这种可能性在我们的系统中尚未实现。已经为此奠定了基础。(1)谁需要几何核?
几何核心是应用程序解决方案开发人员的软件组件。它是一种数学方法的软件实现,用于构建真实和虚构物体的几何形状的数值模型,以及控制这些模型的数学方法。数值模型用于执行建模对象的设计 (CAD)、计算 (CAE) 和生产准备 (CAM) 的系统中。
应用解决方案的每个开发人员都面临着一个选择:是自己编写必要的数学算法还是购买第三方组件。每种方法都有其优点和缺点。
开发人员从使用第三方内核中得到什么?最重要的是能够在不解决几何建模问题的情况下快速增加产品的功能,而是解决应用程序的应用问题。第二个重点是降低产品开发成本,因为数学算法是计算机辅助设计系统中最复杂、最耗时的部分。
几何内核的主要消费者是 CAD 开发人员和 3D 封装制造商。但不要忘记内核对教育机构也很有用!特别是,它将帮助教授学生描述几何、计算机图形学、几何建模和计算几何等课程,以培养未来的数学家-程序员和 CAD 开发人员。对于需要 3D 几何模型的研究和开发项目,您可以直接使用内核(而不是 CAD 系统 API)。此外,几何建模的核心既可用于编写大学专用软件,也可用于在大学积极创建的小型创新企业的框架内创建商业软件。
顺便说一下,关于企业。如果一个组织有复杂的、高度专业化的任务,而市场上没有软件(或由于某种原因无法使用),那么许可内核将允许您自己创建此类软件。当然,企业的员工应该包括具有必要经验和知识的程序员和分析师。
如您所见,几何内核有很多任务,但内核本身很少。成熟的商业几何建模内核已由世界上的各个团队开发,在俄罗斯,ASCON 是唯一成功的公司。现在是谈论我们的 C3D 的时候了。
几何建模包的典型功能是提供一组用于创建线框、曲面、实体或位图建模应用程序的编程接口(数据结构、函数和类)。通常相关的接口被分组为模块,其中有:
基本类型和操作;
边界表示拓扑建模;
几何对象和对它们的操作;
布尔和表面编辑操作;
隐藏线去除和渲染;
用于读取和写入流行格式的几何文件的模块。
(2)什么是 C3D?
上世纪末,俄罗斯几乎所有的CAD系统都有自己的几何内核。然而,在功能方面,这些内核落后于它们的世界同行。此外,系统本身并未进入商业状态。为了使国内系统与世界同类系统竞争,它们需要改进。由于几何内核的开发难度较大,国内很多CAD厂商都离开了自己的开发,购买了现成的几何内核。ASCON 采取了不同的行动:它决定创建自己的核心。因此,KOMPAS-3D系统是目前国内唯一成功与世界同类产品竞争并以自身几何核心运行的CAD系统。
作为创建三维建模系统 KOMPAS-3D 工作的一部分,ASCON 于 1995 年决定编写自己的几何内核,该系统于 2000 年进行商业发布。直到 2012 年,核心才成为商业产品,仅用作其自己的 CAD KOMPAS-3D 的一部分。这些年来它一直在改进,确保了 KOMPAS-3D 的功能开发。让我们列出主要的里程碑:
2000 年:创建了足够数量的三维实体建模算法以用于 CAD;2001 年:实现几何约束求解器和主要交换数据格式的转换器;2002:创建从三维模型构建关联视图的机制;2003年:曲面造型基础的出现;2004 年:描述用于创建表体元素的数学算法;2005:多体建模的实现;2007:支持线框模型;2008 年:实现用于建模机构的运动学耦合;2009:支持几何模型的属性;2010年:出现成熟的曲面建模;2011年:实现跨平台;2012 年:实施直接建模元素。2013年:English documentation localized; support for test applications added2014年:Model conversion to text formats appeared2015年Objects thread safety provided2016年:Development environments extended, theC3D Visionvisualization engine released2017年:FreeC3D Viewerfor reading 3D models from files in standard CAD data formats released2018年:Adding support for new file formats JT, grdecl toC3D Converter与 APM Studio 集成NASA、微软和戴尔的 CAD 供应商将使用 C3D 核心2019年:C3D B-Shaperfor converting polygonal mesh models to B-rep solids releasedC3D 的几何核心成为 Altium Designer 19 和 Altium Nexus 的一部分2021 年:发布 Astra Linux Common Edition 几何内核 C3D 版本17 年来,开发团队一直在开发几何内核:改进其架构、创建新功能、对以前实施的方法进行现代化改造。如果没有基于 KOMPAS-3D 在数万个工作场所的实际应用的独特体验,就不可能谈论将 C3D 发布到免费商业导航中的可能性。没有实践经验,根本不可能从零开始打造具有竞争力的核心。
作为软件开发工具,C3D Toolkit执行三维建模、三维约束求解、多边形网格到B-rep转换、三维可视化和三维文件转换。它包括五个模块:
(1)C3D Modeler构建几何模型,生成模型的平面投影,执行三角剖分,计算模型的惯性特征,并确定模型元素之间是否发生碰撞;
ODA的C3D Modeler通过开放设计联盟的ODA标准“OdDb3DSolid”API实现高级3D建模操作;
(2)C3D解算器在几何模型的元素之间建立连接,并考虑正在编辑的模型的几何约束;
(3)C3D B-Shaper将多边形模型转换为边界表示(B-rep)实体
(4)C3D Vision使用数学仪器和软件以及工作站硬件控制三维模型的渲染质量;
(5)C3D转换器以各种标准交换格式读取和写入几何模型
所有这些模块现在不仅可供 ASCON 内的开发团队使用,而且可供所有人使用。
C3D内核由尼古拉·戈洛瓦诺夫领导的阿斯康团队开发。它是用C++开发的,并在Visual Studio中编写。1995年,Ascon的Kompas 3D内核开始工作。如今,阿斯康表示,他们拥有57000名用户,其中大部分在俄罗斯。显然,C3D作为构建Kompas 3D补充产品和附加组件的工具已经有了坚实的基础。C3D业务团队由Oleg Zykov领导。
阿斯康对其技术和俄罗斯数学家向世界提供更好的几何内核的能力深感自豪。Golovanov说,内核的速度和效率会影响基于它构建的产品的性能。
Zykov说,C3D的产品开发正在进行中,新的改进即将到来。例如,C3D有志于更好地创建一个能够利用现代处理器并行性的建模引擎。到目前为止,遗留CAD在这方面远远落后。此外,正在开发C3D,以更好地使产品能够进行直接建模以及基于约束的建模。
在2D和3D两种方面都能解决问题。它与Parasolid、ACIS或其他内核一样好。
在俄罗斯的活动中,戈洛瓦诺夫告诉观众,C3D内核非常重要,因为它是目前功能最全的建模工具。除三维建模器外,该引擎还包括二维绘图和草图绘制、三维曲面和实体建模、参数化约束以及到大多数主要格式的转换。
戈洛瓦诺夫说,该团队正在继续对C3D建模器进行改进。特别是,他说,他们正专注于内核的直接建模功能,以实现混合工作流。他们也在改进它以导入STL和VRML。目前,C3D读取STEP、IGES、X_T(Parasolid)和SAT(ACIS),并写入STEP、IGES、X_T(Parasolid)、SAT(ACIS)、STL和VRML。C3D支持Windows 32位和64位以及Linux 64位。这家新兴公司的员工将C3D视为小型公司新一代设计工具的推动者。除了三个月的免费评估期外,他们还提供慷慨的支持。他们有早期顾客。除了用于其母公司的Kompas 3D产品外,俄罗斯Esprit CAM分销商ZAO“LO CNITI”也在使用C3D,并将其作为Bazis中心的家具设计工具。
C3D Modeler执行构建二维草图和全尺寸三维模型所需的所有几何计算。它使用边界表示(b-rep)方法定义形状并基于三维实体构建几何模型。对于合成三维实体,它使用曲面和曲线。在创建更复杂的部件之前,它会将生成的三维实体编组为构建块。
除了b-Rep之外,C3D Modeler还支持几何模型的多边形表示。内核通过三角剖分建立多边形三维模型。边界表示和多边形模型的总体结构完全相同,但多边形模型通常由近似的板形和多边形形状的项组成,因此便于进行计算和生成可视化效果。
当实体和框架构建到几何模型中时,它们会生成单独的构建日志。系统记录所有采用的方法、采取的顺序和输入的数据。日志使以后编辑几何图形,然后使用新参数重建模型变得更容易。有关对象几何体(以曲面、曲线和点的形式)的详细信息保存在模型对象的拓扑元素中,如面、边和顶点。每个对象的项或对象作为一个整体的附加信息可以以属性的形式保存在它们内部。
C3D的团队包括经验丰富的专家和年轻员工。他们是莫斯科国立大学莫斯科物理技术学院的毕业生。罗蒙诺索夫和其他大学。球队的“骨干”由亚历山大·马克西缅科、安德烈·彭金、尤里·科祖林组成。他们每个人都负责一个重要的工作领域。我们一直在寻找能够开发新方向的有才华的专家。
从事内核工作的专家受过什么样的教育?去哪里学习才能为你工作?
Nikolai Nikolaevich Golovanov :几何建模。它借鉴了数学领域,如微分几何和数值方法。对于想法的实际实施,需要编程。
具有高等技术教育、了解 C++ 编程语言、数值方法和高等数学知识的专家从事几何核工作。所列知识可以在任何高等技术教育机构获得。专家在数值方法的软件实现方面具有经验以及应用高等数学知识解决实际问题的能力对我们来说很重要。您可以在大学学习期间或毕业后工作期间获得指定的经验和技能。
核心开发:Nikolai Nikolaevich Golovanov
N. Golovanov 的专着“几何建模”的英文翻译的出版和筹备支持以及该翻译的出版由分析机构Cyon Research的支柱和元老之一 Joel Orr 积极开展。在美国版的注释中,乔尔写道:戈洛瓦诺夫创作了一篇课文,让每个几何设计的学生都能充分理解工具箱背后数学的力量和美感,并将其应用到他们的工作中。教材的逻辑性、方法论和清晰的呈现给我留下了深刻的印象。强烈推荐!
同样的注解还引用了 Ken Versprill 的话: 几何建模的作用不断增长……了解几何建模所基于的基本结构将使学生和开发人员获得当今设计水平的能力。尼古拉·戈洛瓦诺夫 (Nikolai Golovanov) 凭借其令人印象深刻的书帮助走上了通往这种理解的道路。
尼古拉·戈洛瓦诺夫出生在柏林,他的父亲是一名军官。像所有军人家庭一样,他们经常搬家:Davlekanovo、Patrikeevo、Borisoglebsk、Balashov。尼古拉毕业于波兰斯普罗塔瓦市的高中。我进入了 MVTU im 的机械工程学院。Bauman 并获得了太空运载火箭设计师的专长。然后他来到了机械工程设计局(Kolomna),ASCON Alexander Golikov 和 Tatyana Yankina 的未来创始人在那里工作,这里成为了 KOMPAS 系统的祖地。尼古拉·戈洛瓦诺夫处理力量:他准备实验,进行计算,包括使用计算机。当时,许多设计局和研究机构正在开发使企业工作自动化的应用程序。在 KBM,系统开发允许使用计算机进行各种工程计算和绘制图纸。除了其他工作外,Nikolai Nikolaevich 还开发了一个分析壳结构强度和稳定性的程序。
1989 年,Alexander Golikov 和 Tatyana Yankina 离开了 KBM,创建了 ASCON 公司。尽管这一切都是从电子绘图板开始的,但即便如此,他们还是构想了一个三维参数化建模系统,该系统将允许以三维模型而不是平面绘图的形式来确定设计理念。ASCON 的创始人与 Nikolai Golovanov 分享了他们的想法,并于 1996 年在 ASCON 找到了一份固定工作。
当时,固态和表面建模系统已经在工作站上运行。KOMPAS 开发人员梦想在一台普通的个人计算机上创建类似甚至更好的东西。三个人在 ASCON 参与了数学问题 - Yuri Pokidov、Vladimir Zorin 和 Nikolai Golovanov。今天,尼古拉·尼古拉耶维奇是三人中唯一的一位。Vladimir Zorin 离开俄罗斯,在 PTC(专业/工程师开发人员)工作,然后转到 SolidWorks。几年前,尤里·波基多夫 (Yuri Pokidov) 因重病去世。
Nikolay Golovanov 和 15 年前一样,继续推导公式并开发算法,用于内核的开发和改进。与他一起工作的年轻专家 - 新一代的数学家。他们共同创造了知识填充物,即 KOMPAS-3D 系统的大脑。
(3)C3D解算器
C3D Solver 是一个强大的 2D 约束求解器,用于 2D 绘图和 3D 草图绘制,以及用于装配和运动分析的 3D 约束求解器。
能够诊断覆盖的约束系统。在 KOMPAS-3D 中,此功能以橙色突出显示“不必要”限制的形式实现。
NURBS 曲线的参数化得到了改进:约束系统的可解性得到了改进,NURBS 与其他曲线的多次接触成为可能。对末端情况给予了特别关注 - 现在提供了带有样条的轮廓的平滑连接
3.C3D组件---C3D Mesh2Brep 将网格转换为实体
C3D 组件:将多边形模型转换为边界表示 (b-rep) 体。名为 C3D Mesh2Brep 的模块添加到C3D 工具包中,旨在与C3D Modeler几何内核一起工作。
B-rep 是大多数现有几何建模系统的主要表示方法。多边形模型最常从 3D 扫描和非 CAD 设计系统中获得。借助 C3D Mesh2Brep,CAD 开发人员将能够将多边形模型转换为 b-rep 实体。生成的 b-rep 模型允许用户使用 CAD 工具进行更改(例如布尔运算和倒角),并生成额外的数据,例如通过投影和截面。
C3D Mesh2Brep 有许多有用的应用。一种可能的用途是在逆向工程领域,它涉及对零件进行 3D 扫描,然后将其转换为可编辑的 CAD 模型。在 CAE 系统中,开发人员可以使用 Mesh2Brep 模块来处理拓扑优化的结果。计算机图形设计人员可以使用新模块进行网格平滑、抽取和应用压缩算法。
C3D Mesh2Brep 如何工作
多边形网格的变换是 C3D Mesh2Brep 的三步过程:
在第一步中,C3D Mesh2Brep 通过将原始网格的多边形集划分为子集(段)来分割网格,同时考虑到它们与特定表面的关系。接下来,这些段用于表面重建。最后,将前面步骤中获得的数据用于构建 b-rep 模型。如果用户发现结果不合适,他们可以使用 C3D Mesh2Brep 中包含的高级工具来编辑分割和表面识别控件。
“我们新的 C3D Mesh2Brep 模块有两种主要模式:全自动和交互式”,C3D Modeler 几何内核的首席开发人员Andrey Tumanin说。«自动模式为高质量多边形网格生成可接受的结果,这些网格是主要包含基本曲面的 CAD 模型的三角剖分。但是,如果多边形网格是由 3D 对象扫描构建的,因此包含一般表面,则用户将必须参与该过程»。
4.C3D组件C3D Toolkit 提供多线程支持
程序员中有一句话提醒我们多线程在应用程序中的重要性,“并行计算是我们的未来。而那是永远的!” 它让我们对并行计算所涉及的内容有一个看法,并暗示了它的复杂性。我们需要添加它,一旦加入,我们就永远无法删除它。
在我们的 C3D 工具包中实现多线程计算的工作始于几年前,并一直持续到今天。工具包中对多线程的支持包括以下功能:
通过内核使用多线程计算保证内核中的数据线程安全,从而为并行计算期间与内核交互的用户应用程序提供安全性OpenMP 是一种开放标准,它通过 С、С++ 和 FORTRAN 等编程语言为软件产品添加并行化。使用 OpenMP 的应用程序还解决了跨平台和兼容性问题。我们将 OpenMP 技术用于 C3D 工具包中的多线程机制。
然而,事实证明编译器在不同程度上支持 OpenMP。Intel 当前的 C++ 编译器实现了 OpenMP v4.5 并且只实现了 OpenMP v5.0 的一些特性,而微软的 C++ 编译器只支持 OpenMP v2.0。
C3D 工具包中的并行计算
在 C3D Toolkit 中,我们主要为以下操作实现了多线程操作:
建筑平面投影计算多边形网格计算质量惯性特性转换文件格式除了列表中的函数,C3D Toolkit 中还提供了多线程操作。
实现独立数据的并行处理通常相对简单有效。但是,当在不同线程中工作的对象相互依赖时,有时会遇到问题,例如当它们都使用相同的数据集时,或者当一个对象参与另一个线程计算时。那么访问数据的线程安全问题就来了。
最简单的解决方案是使用锁定(互斥或“互斥”),其中一个线程通过阻止其他线程访问共享数据来获得对共享数据的独占访问。这种直接的方法往往会导致等待时间增加,这可能会降低并行计算的其他潜在好处,有时甚至会降低整体计算速度。
在 C3D 内核中,我们采用了一种不同的方法,提供了一种称为“多线程缓存”的特殊机制,如下所述。
数据结构的线程安全
计算中使用的一种优化方法是缓存。缓存背后的想法是执行计算的某些重要参数不是任意的,而是遵循一些预定义或统计预测规则。这允许重复使用预先计算的结果。
使用缓存数据对于并行计算下的后续计算通常是有效的,因此当多个线程竞争访问共享缓存数据时,可能会引发所谓的数据竞争。
多线程缓存的工作原理
多线程缓存机制提供了对内核中数据结构的线程安全访问,因此可以实现有效的并行化,其中数据由多个线程同时处理。每个线程创建自己的缓存数据副本。这可以防止线程之间的数据竞争,并最大限度地减少锁的使用。
缓存管理器控制每个对象的多线程缓存,并负责为当前线程的对象创建、保存和检索缓存数据。多线程缓存机制由C3D Toolkit 的多线程模式管理。
多线程缓存对于顺序计算和并行计算都有效,因此它在转换到多线程缓存时提供了无可争议的好处,因为它需要对现有代码进行最少的更改。
C3D Toolkit 的多线程模式
C3D 工具包提供了多种多线程模式来管理结构的线程安全。模式决定了哪个操作将在并行模式下运行:
关闭模式——C3D Toolkit中的多线程关闭,所有操作都按顺序执行;线程安全机制也被禁用标准模式——这是标准的多线程模式,它在 C3D 工具包中启用有限的并行性。并行化只对处理独立数据的操作进行;C3D Toolkit 中禁用了数据结构的线程安全SafeItems 模式——类似于标准模式,但启用了多线程缓存机制的线程安全模式;开发此选项是为了支持用户应用程序中的多线程操作项目模式——最大多线程模式,多线程缓存机制开启,所有可以并行执行的操作都由 C3D 工具包完成在用户应用程序中支持多线程
在SafeItems多线程模式及以上模式下,当启用多线程缓存机制时,C3D Toolkit中的所有几何对象都是线程安全的。同样,大多数操作(包括那些看起来不是多线程的)都是线程安全的,因此当使用 SafeItems 或以上模式时,可以由多个线程使用。
锁在 C3D 工具包中基于系统同步机制实现,例如 Windows 上的 WinAPI 和 Linux 上的 pthread API。这些为具有不同并行化机制的用户应用程序中的用户界面提供数据安全性。
C3D 工具包提供了用于通知工具包并行计算的开始和结束的接口。重要的!从多个线程调用 C3D 接口的自定义应用程序必须在开始和完成并行计算时通知 C3D Toolkit。
管理 C3D Toolkit 的多线程模式
C3D Toolkit 允许用户动态改变多线程模式,如下:
通过打开和关闭多线程缓存来管理 C3D Toolkit 数据对象的线程安全确定哪些 C3D Toolkit 操作将并行化——所有或仅处理独立数据的操作当内部并行 C3D 周期对用户应用程序中的外部并行性能产生影响时,这些开关非常有用。重要的!分析每种特定情况下可切换多线程 C3D 模式的必要性非常重要。
在多线程处理中使用 C3D 接口
在开始在多个线程中使用C3D界面之前,需要确保工具包设置为至少SafeItems或以上的多线程模式。默认情况下,工具包在最大多线程模式下运行。
当使用不同于 OpenMP 的并行机制时,用户应用程序有义务在开始并行会话和完成并行会话时通知工具包。这可以通过以下任何一种方式应用:
类ParallelRegionGuard保护范围内的并行区域函数EnterParallelRegion和ExitParallelRegion 宏ENTER_PARALLEL和EXIT_PARALLELC3D Toolkit 在进入和离开平行区域时的通知示例。结论
C3D 工具包可以针对在自定义应用程序中使用多线程的特定客户需求进行配置。该工具包支持用户应用程序中的多线程,提供工具包中操作的线程安全性,并允许对工具包数据对象的线程安全数据访问。
总之,我们注意到 C3D Toolkit 积极使用其多线程计算的内部机制。此工具包的主要功能是您可以为数学计算选择不同的多线程模式,但我们也允许用户在内部多线程模式之间动态切换。
5.开发用于几何建模的跨平台核心
2021年8月,我们C3D实验室(ASCON)团队首次发布了国内操作系统@AstraLinux的C3D几何内核版本,加入了支持的Linux发行版列表。目前,C3D 几何建模内核可用于多种操作系统上的软件开发:除了 Windows,还有 MacOS、IOS、FreeBSD 和几个 Linux 发行版。内核 SDK 还提供了多种编译器:MSVC 2012 - 2019、GCC 4.8 - 7.2、Clang 6.0 - 10.0。
情况并非总是如此。2012 年,当 C3D 核心作为单独的产品从 KOMPAS-3D CAD 系统中分离出来时,它只适用于 MSVC 编译器的几个版本,当然也只适用于 Windows。但随着时间的推移,核心开发出来的需求和愿望开始强加于它,如果我们想拥有同类产品中真正最好的产品,我们就不能忽视这一点。下面是一个关于我们如何将内核移植到各种操作系统和平台的故事。
相关问答
三菱PLC编程软件GX-developer进入文件夹,“GX8C”,点击“S...
卸载以前安装的三菱PLC编程软件GX-developer,重新下载安装,如果你的系统是WI...英伟达开源GPU内核,用户体验新变革6215浏览1回答dnf60级刷什么好4035浏...
到了工业2025后,现在的PLC工控技术会落后被替代吗?
关注冀工控,我们一起长知识现在是2019年,距离2025年还有六年的时间,题主的问题PLC工控技术会落后被取代吗?我个人观点是不会被取代,下面我就来论证一下我...就...
如何自己搭建机械手?
简单的机械手搭建可以通过PLC带动伺服电机实现,说白了一个伺服电机就是一个轴,通过轴与轴之间的配合达到所需要的动作。硬件部分自己应该是做...这个分硬件软件,...
台达plc解密方法?台达机器人评价怎么样?
[回答]台达plces2解密方法下面我们就深入理解一下Linux内核来理解Linux的基本概念之进程和线程。系统调用是操作系统本身的接口,它对于创建进程和线程...
帮个忙哪位前辈有人知道么:珠海放心的PLC,PLC有哪些公司生产??
[回答]西门子现有PLC:都是10年前的,德国货,严谨,成熟,古板。。。GE的PLC:i5、i7系列是新的,内核是intel奔腾的CPU,美国货,界面人性友好。另外还有Rockw...
为什么没有一种编程语言是中国国内开发出来的?
中国国内开发出来的编程语言很多,像什么易语言、木兰语言等等,但是几乎没有真正大规模运用到生产的,被很多人奚落称玩具,非计算机行业的甚至都不知道中国国内...
工业4.0下,我国智能制造是怎样状况?
行业发展历程:处于初级阶段智能制造发展需经历自动化、信息化、互联化、智能化四个阶段,分别为自动化(淘汰、改造低自动化水平的设备,制造高自动化水平的智能...
世界前十的开源操作系统?
1、AndoridThingsAndoridThings是谷歌推出的物联网操作系统,是“Brillo”操作系统的更新版本,作为Andorid系统的一个分支版本,类似于可穿戴和智能手表.....
Linux能应用在哪些领域呢?
Linux应用的领域有以下几个,最常用的就是服务器领域服务器Linux是免费开源的电脑操作系统,同时也因为Windows是普通老百姓用的家用系统,服务器系统讲究的是...
芯片到底是怎么做出来的?
正好最近在做毕业实习,有幸接触芯片的制作生产,接下来就简单介绍下芯片的制作流程:下图,第一个就是设计的原理图,就是第一个的样子,这个是原理图,我们工...第二...