ASCON公司C3D 内核并不是俄罗斯构建的唯一内核。政府还要求构建俄罗斯几何内核 RGK,这是一个 B-rep(边界表示)建模器,它也支持 NURBS 曲线和曲面。 RGK 的描述称,它针对复杂操作进行了优化,包括使用为内核设计的特殊类型的曲线和曲面,因此,它更快、更精确。 RGK由莫斯科大学的俄罗斯数学家开发,与C3D建模器一样,它支持多线程和GPU加速。它基于 OpenCL 作为 GPU 支持库。 RGK 支持 Windows 32 位和 64 位以及 Linux 平台。 RGK 内核的重点是并行性。开发人员表示,RGK 可以使用多种方法创建模型,并支持实体、曲面和线框建模。该应用程序可以同时处理同一模型中的不同类型的数据。该内核还支持模型的可视化技术,包括模型细分和网格生成器函数。当然,这是 GPU 支持变得重要的另一个领域。
RGK,即Russian Geometric Kernel(俄罗斯国家几何内核)工程始于2011年,于2013年完成开发。作为俄罗斯联邦工业与贸易部支持的自主核心研发计划的一部分,该项目集结了俄罗斯联邦内两家知名CAX科技公司,由STANKIN(Moscow State Technical University,即莫斯科国立工业大学)统筹,旨在研发具有世界级的自主可控建模内核。
谢尔盖·科兹洛夫(Sergey Kozlov)讲述了几何核心的创造历史和现状。
事实上,几何核心的开发早在1984年就开始了,当时莫斯科机床研究所(后来的MSTU斯坦金)组织了一个小组,在几何建模领域进行研究,并在副教授 A.V. 雷巴科夫和 V.Yu. 苏济洛夫斯基。正是从那时起,列昂尼德·巴拉诺夫开始以数学家程序员的身份从事这项工作,后来在斯坦金完成学业后,他领导了这个小组。工作成果显着。1995年,发布了T-FLEX CAD版本,其中3D建模功能由其自己的几何内核提供。当时,该公司没有足够的资源来进行如此科学密集且昂贵的开发。同时,可以授权 ACIS 几何内核,然后是 Parasolid。因此,1996 年,T-FLEX CAD 第 6 版在 ACIS 几何内核上发布,1998 年第 7 版在 Parasolid 内核上发布。因此,T-FLEX CAD 开发人员有机会使用所有主要几何内核并评估其架构和功能。
2011年,MSTU“Stankin”获得了俄罗斯几何核心开发合同,作为国内机床项目开发的一部分。作为这项工作的积压工作,采用了“Top Systems”公司的开发。为了提供最新水平的解决方案,内核算法几乎完全现代化,但保留了主要的实现方法。2013年合同工作完成后,Top Systems并没有停止RGK的开发(该产品就是在那时命名的),而是继续开发。
RGK几何核心已在Top Systems受高级研究基金会(FPI)委托于2015-2016年实施的Herbarium项目以及第一阶段的数字企业(SARUS)项目中得到应用。最近完成的。Top Systems 积极参与了该项目的开发。
在其中一次工作会议上,Nikolai Snytnikov (LEDAS) 和 Sergey Kozlov (Top Systems) 与现代几何建模基石 NURBS 样条线的发明者 Ken Versprille 讨论了开发几何内核的技术和组织问题。
LEDAS 执行董事兼负责实施 NURBS 库和构建交叉线算法的开发团队负责人 Nikolai Snytnikov 表示,该项目的成功尤其是由于以下事实:所涉及的人员在几何建模领域已经拥有丰富的经验,总计数百人年。
目前,Top Systems已获得独立开发RGK并将其作为商业产品推向市场的所有机会。该产品将同时针对多个平台发货,包括各种版本的Linux,包括国内认证版本。该产品计划作为用于 C++ 编程语言的类库以及在终端系统中方便使用所需的所有组件提供。开发工具包 (SDK) 包括:
可执行模块;
构建最终应用程序所需的库和头文件;
超文本帮助形式的电子手册文件;
源代码中的一组示例;
可执行程序RGKWorkshop——测试和调试外壳,它既是分析工具,也是调试几何模型的工具;
RGK 模型存储格式的描述 — RGK_XML。
另外,需要注意的是,RGK_XML数据存储格式是开放和指定的。它具有清晰的结构,符合组织 RGK 数据模型的一般原则。该格式可用于标准化目的,以提供这些对象的几何模型的准确表示。
RGK由两家俄罗斯本土知名CAX科技公司共同出力,包括Top Systems和LEDAS。
RGK是高级实体建模库,专为 CAE/CAD/CAM 和其他 PLM 应用程序而开发。其是用于创建、存储、修改、验证和分析精确 3D 模型的C++类库。该内核拥有一整套low-level与high-level的工具,用于管理有关复杂三维对象的信息。
该内核基于经典的BRep模型,使用现代高效的面向对象架构。其支持易于管理的内部和外部并行计算。内核架构旨在提供完整的线程安全性,任何函数或方法的可重进入性,用于同步更改或查询任何模型对象数据的工具。
Top Systems是俄罗斯著名的CAX科技企业,员工150人。在全球拥有5000+客户,其旗舰产品T-Flex涵盖CAE/CAD/CAM及配套全生命周期管理软件。
LEDAS拳头产品是几何约束求解引擎LGS。RGK本身具备直接建模能力,在拥有LGS的能力后实现了变分直接建模功能(VDM)。
俄罗斯大型CAD/CAM软件商:Top Systems更换CAD内核
任何 CAD 程序的关键是其几何内核。过去十年,俄罗斯政府资助了该国自己的 RGK 内核,但由于 ACIS 和 Parasolid 的成熟度以及转换内核的难度,它发现的接受者很少。
Top Systems 曾是 RGK 的开发者之一。由于受到制裁,该公司现在正逐步将其 T-FLEX CAD 系统转移到 RGK。另一个国产内核来自 C3D Labs,它是 ASCON 的衍生产品。
俄罗斯T-FLEX CAD 17 目前使用西门子Parasolid和RGK内核,逐步自主内核替代。
T-Flex CAD号称Parasolid内核最强大的参数化软件
官方回复:T-Flex CAD 17已经运行了Parasolid和RGK两个内核。RGK功能还不足以完全实现,但我们正在快速扩展它们。过渡过程是平稳的。但我们仍然会保留Parasolid,只要有可能,以确保完全兼容性。
列昂尼德·巴拉诺夫(Leonid Baranov)谈到了构建RGK几何核心数据模型的原理、其架构特点以及模块开发人员必须解决的最复杂和有趣的任务。故事附有大量插图和对比测试演示。
RGK 几何内核根据经典边界表示方案 (B-Rep) 和“精确”几何形状提供几何对象建模 - 使用各种类型的曲线和曲面的解析表示。这种表示允许您以高精度对对象进行建模,同时当计算的精度与模型对象一起存储时,提供使用容错几何体的能力。公差几何体的公差设置应用于内核代码中执行的所有计算。即使对于非常复杂的几何形状和源数据的低精度,此功能也能够保持几何模型的完整性。
几何核提供以下主要功能:
几何模型的存储(物体、表面、曲线的几何/拓扑);
创建和编辑几何模型;
几何模型的标识和属性管理;
控制几何模型的完整性和质量;
几何模型的测量与分析;
构建模型的平面表示(曲面细分),以便可视化或准备用于生成计算 (CAE) 网格的数据;
预测和观点的生成。
可在最终应用程序中使用的 RGK 几何核心类提供用于创建和编辑几何图形的低级功能,以及在核心中称为生成器的高级专用功能。例如,内核类库包含以下生成器:
基元(棱柱、环面、球体、圆柱体、圆锥体);
运动学操作(拉伸、旋转、沿轨迹、沿截面);
布尔运算(全局、局部、选择性);
各种类型的平滑操作(倒角、边缘平滑、三面体平滑、面平滑);
壳体/本体 位移/加厚操作;
端面锥度操作;
面部去除/替换/变换操作(所谓的直接建模操作);
缝合/切割操作;
复 制/变换实体的操作,包括沿轴使用不同的比例;
许多低级实体操作以及许多曲线操作。
RGK 中许多发生器的功能都相当先进。让我们详细讨论一下内核支持的一些操作的特性。
例如,“按轨迹”和“按部分”生成器支持许多相当高级的选项。可以单独或组合设置所绘制轮廓的扭转和缩放定律,以及设置多个轨迹及其同步的各种方式。
此外,还支持运动路径上的中断处理
在核心区构建曲面时,要特别注意其质量,既要满足构建精度的要求,又要尽量减少控制点的数量并规范参数化。由于 RGK 开发人员可以直接访问可以说是世界上最好的固态核心 Parasolid 的功能,因此可以进行公正的研究和结果比较。目前,RGK中的表面生成算法的质量总体上与该核心相当,并且还在不断提高,因为开发人员当前的任务是实现与世界上最好的核心的功能对等。在这方面,在开发过程中,进行了大量的研究工作来分析算法的质量,并与“重”级的其他竞争解决方案进行比较。
众所周知,无论是在数学上还是在算法上,最复杂的几何建模问题之一是平滑(圆化)表面的问题。鉴于此,在开发 RGK 内核时,特别关注这一特殊功能。
目前,边缘平滑支持几乎所有基本形状控制模式(从所谓的“重型”类系统的功能中得知):恒定和可变半径的截面;指定宽度,无论是在恒定模式还是可变模式下;具有二阶曲线的可变截面(椭圆、抛物线、双曲线);所有类型平滑的平滑过渡和边缘保留模式;曲率保持 - G2 平滑度;设置从顶点的缩进以进行顶点平滑。
特别值得注意的是该算法的架构,它允许在单一形式中支持边和面的平滑以及三面体平滑,从而提供了算法非常高的灵活性和开发的可能性。在平滑算法的拓扑鲁棒性方面已经做了很多工作。例如,根据给定的半径,算法可以对身体的拓扑结构进行较大的改变
在较小半径上构建较大半径的平滑是可以接受的。这样的问题在实际建模中经常出现
支持各种“溢出”,即过渡到平滑的相邻面,以及必要时保留边缘
RGK 平滑算法处理拓扑元素退化的能力值得特别关注
支持平滑重叠的复杂拓扑,这显着提高了实际使用中算法的质量
在构造变量平滑方面取得了有趣的结果。特别是,通过重新计算重叠区域中的半径变化规律来支持重叠平滑序列的处理
当然,RGK 算法实现了对各种可变半径部分的支持
此外,还开发了构建 n 边形区域的平滑“拉动”的数学方法
这些发展尤其使得解决构造具有顶部凹痕(缩进)的表面的问题成为可能
平滑算法适用于实体和曲面体 - 在 RGK 中,这些拓扑之间没有差异
在RGK核心中,实现了平滑面和边缘的功能,实际上是通过相同的算法实现的——区别仅在于顶层接口,但解决了平滑面的经典问题
由于RGK内核最初是为了与世界上最好的工业内核竞争而开发的,因此在内核工具中添加了重型应用系统所需的各种功能,以解决各种特殊问题。例如,构造面锥度的任务最初被制定为具有任意几何形状的固定边缘以及在操作过程中改变物体拓扑的可能性的任务
当然,也支持相对于分型面的斜率,作为更一般设置的特殊情况
又如:在布尔运算中,除了传统的“全局”运算模式(并、减、交)外,还有局部运算模式,当应用程序可以指定与哪些面进行选择性布尔运算时能够选择原始物体中将保留的部分。此外,还提供了广义布尔运算,可以生成表示沿面和边缘彼此接触的物体的拓扑模型。还需要注意的是,布尔运算适用于实体和曲面体及其组合
布尔运算工具集支持处理实体实例(实例化)的功能 - 用于优化实体数组上布尔运算的技术,实体数组的几何形状仅在实例在空间中的位置上有所不同。此外,当元素沿给定面倍增时,还支持“图案化”操作
在几何核算法中,多线程计算被广泛且积极地使用。该功能从一开始就内置于内核算法中,因为它是提高最终应用程序整体效率的主要工具之一。同时,RGK 支持计算的内部并行化(当并行线程自动启动时)和外部并行化(当在内核函数之外的应用程序代码中创建并行线程时)。与现有的几何内核相比,并行计算使得在许多场景中获得性能的倍数提升成为可能
在大多数其他计算密集型任务中也观察到类似的行为。特别是检查装配体中物体相交、计算距离以及用移除的不可见线构建投影的问题
RGK开发套件(SDK)现已准备好交给第三方开发者试用。那些希望尝试 RGK 的人可以联系 Top Systems。
除了核心本身的工作外,相关工作也在 T-FLEX CAD 17 中完成。特别是,现在支持 RGK (RGK_XML) 格式作为导入/导出功能的一部分,通过系统用户界面和使用开放API。此外,还可以使用 T-FLEX CAD Open API 中的新功能来访问 RGK 格式的模型对象(实体、曲线)。系统的这些功能可以让您以最方便的方式获取RGK格式的CAD系统的几何对象。最新的 T-FLEX CAD 17 更新支持这些新功能。
核心工作正在高速进行,Top Systems公司给自己设定的任务是尽快达到几何建模领域现有西方世界领先者的水平,并可能超越这一水平。
俄罗斯Ledas并行计算专家Nikolay Snytnikov:
Nikolai Snytnikov 本人是 RGK 项目 LEDAS 部分的负责人,也是一位拥有十多年经验的并行计算专家(尤其是他,他就该主题进行了博士论文答辩),为这些研究。
Nikolay Snytnikov 于 2003 年从新西伯利亚国立大学毕业并获得学士学位后,开始在 LEDAS 担任软件工程师,参与一个致力于 CAD 协作设计的研究项目。在 LEDAS 工作的同时,他还获得了硕士学位(2005 年)和博士学位。数学建模和数值模拟领域的学位(2009 年)。
从那时起,N. Snytnikov 作为开发人员、团队领导和项目经理参与了各种软件项目。尤其是,他是达索系统长期研发项目的负责人,参与过俄罗斯国家三维建模引擎:RGK几何内核关键功能的开发,并领导了具有云(客户端-服务器)架构的 BIM/AEC 软件项目的开发. 现在,Snytnikov 博士负责监督 3D 云应用程序、医疗软件、CAD 和 BIM 领域的多个项目,包括 LEDAS 云平台的开发。