几何内核是每个 CAD 系统的核心,因此十年前,俄罗斯政府资助了俄罗斯几何内核的早期版本的进口替代。RGK因Parasolid的统治而失败——为什么从优秀的内核变成不成熟的内核?但随着去年新发现的紧迫性,RGK 又复活了。首席开发商是莫斯科的 Top Systems,该公司首先通过与 ACIS 合作,然后在其 T-Flex CAD 软件中与 Parasolid 合作获得了知识。
RGK 仍然需要的功能并不神秘:它们必须与 Parasolid 相匹配。“Top Systems公司给自己设定的任务是尽快达到几何建模领域现有西方世界领先者的水平,并可能超越这个水平,”该公司以典型的宏大风格写道。不过,该公司承认该项目需要数年时间才能完成。
唯一的另一个本土开发的内核是 C3D,它是 Ascon Group 的一个分支,该公司已成功将 Ascon 为其 Kompas-3D MCAD 程序编写的内部内核商业化。C3D 缺乏俄罗斯政府的认可,但仍然在国际上取得了成功,例如 Altium 的 PCB 设计软件。
RGK几何内核是Top Systems开发的,是一套提供 产品几何信息表示和修改的基础工具。它旨在开发提供 产品生命周期管理 (PLM) 功能的最终产品。首先,此类产品包括设计系统(CAD)、工程分析系统(CAE)、数控机床控制程序准备系统(CAM)等软件模块。
该产品是一个类库,提供对设计对象的几何模型的控制及其分析功能。
RGK 几何核心根据经典边界表示方案 (B-Rep) 和“精确”几何形状提供几何对象建模 - 使用各种类型的曲线和曲面的分析表示。当计算的精度与模型对象一起存储时,这种表示允许您以高精度对对象进行建模,同时提供使用容差几何体的能力。几何精度设置用于内核代码中执行的所有计算。即使对于非常复杂的几何形状和源数据的低精度,此功能也能够保持几何模型的完整性。
RGK 几何内核的开发始于 1984 年,莫斯科机床研究所(后来的 MSTU Stankin)在 A.V. 副教授的领导下组建了一个几何建模领域的研究小组。Rybakov 和 V.Yu 副教授。苏济洛夫斯基。正是在那时,第一个 3D 内核开发小组成立了。该团体的核心是学生和斯坦金,他们后来成为Top Systems公司的员工,该公司于1992年正式注册。Top Systems 继续开发 3D 核心。
1995年,发布了T-FLEX CAD版本,其中3D建模功能由其自己的几何内核提供。当时,开发像几何内核这样复杂的产品对于开发公司 Top Systems 来说成本太高,该产品的开发工作不得不暂停。
2011 年,MSTU Stankin 获得了一份开发国产几何核心的合同,作为国产机床制造计划开发的一部分。Top Systems 公司的开发成果被用作这项工作的基础。为了提供最现代的解决方案,内核算法几乎完全现代化,但主要的实现方法被保留。2013年合同完成后,Top Systems公司并没有停止RGK的开发(该产品就是在那时命名的),而是继续开发该产品。
RGK 几何核心在 Top Systems 于 2015-2016 年实施的 Herbarium 项目中得到了应用。该项目的开发成果是类库“集成工程软件平台”,使用RGK几何内核。此外,RGK 几何内核还被用作数字企业 (SARUS) 项目的一部分,Top Systems 积极参与了该项目的开发。
Top Systems公司正在积极完善自己的几何建模核心——RGK,这是一个完全国产的产品,吸收了俄罗斯40多年的开发经验和25年以上最好商业几何的使用和测试经验。国外厂家的造型核心。这使得显着优化我们自己的开发成为可能:通过优化由于许多操作中的并行线程而导致的计算操作的性能,我们能够显着超过外国类似物的速度,同时完全保持模拟的质量和准确性。RGK 允许应用程序利用多核硬件并通过多线程计算实现近线性的性能增益。
目前,Top Systems 已开始将 RGK 几何核心作为商业产品推向市场。目前,由合格的数学家和程序员组成的大型团队正在开发该产品,确保其开发符合现代 CAD/CAE/CAM 类产品的要求。开发是利用我们自己开发积累的丰富经验、国外同类产品以及最终应用的需求,特别是T-FLEX CAD来进行的。
目前,Top Systems公司已经获得了独立开发RGK并将其作为商业产品推向市场的所有机会。该产品将同时提供多个平台,包括各种版本的Linux,包括国内认证版本。该产品计划以用于 C++ 编程语言的类库的形式提供,以及在终端系统中方便使用所需的所有组件。该SDK包括:
可执行模块;
构建最终应用程序所需的库和头文件;
超文本帮助形式的电子手册文件;
源代码中的一组示例;
可执行程序RGKWorkshop——测试和调试外壳,它既是分析工具,也是调试几何模型的工具;
RGK 模型存储格式的描述 - RGK_XML。
还值得注意的是,RGK_XML数据存储格式是开放和指定的。它具有清晰的结构,遵循RGK数据模型组织的一般原则。该格式可用于标准化目的,以确保数据对象的准确几何模型的表示。
该部分的第二部分由列昂尼德·巴拉诺夫(Leonid Baranov)领导。他讲述了RGK几何内核数据模型的构建原理、架构特点以及模块开发人员要解决的最复杂、最有趣的问题。故事附有大量插图和对比测试演示。
RGK 几何核心根据经典边界表示方案 (B-Rep) 和“精确”几何形状提供几何对象建模 - 使用各种类型的曲线和曲面的分析表示。当计算的精度与模型对象一起存储时,这种表示允许您以高精度对对象进行建模,同时提供使用容差几何体的能力。公差几何精度设置适用于内核代码中执行的所有计算。即使对于非常复杂的几何形状和源数据的低精度,此功能也能够保持几何模型的完整性。
除了建模功能的开发之外,在过去的一年里Top Systems 还做了大量的工作来改进内核的内部算法,这使得以如此高的速度增加功能成为可能。所有主要组件,包括内部和外部可访问的,都得到了改进:用于构建相交和投影线的算法、布尔运算、faceter、删除不可见线的投影算法、拓扑模型验证器(检查器)等等。一方面,所开展的工作使得进一步统一内核内部工具成为可能,从而简化了其进一步的开发,另一方面,它使我们能够提高程序代码的质量和速度。作为此类工作效果的示例,我想提供几张插图来显示多边形模型生成功能的当前状态和速度变化。下面的所有示例都涉及在同一台计算机上以多线程模式构建具有相同精度参数的网格。
Top Systems 在改进和开发核心用户 API 方面做了大量工作。在这一年里,核心 API 基本上实现了现代化,以满足工业使用的要求。新版本的 API 允许应用程序程序员仅提供发布库和头文件以用于调试和生产目的。Top Systems 认为,API 的一个重要发展是 Python API 的出现及其集成,包括集成到内核测试 shell 中。现在,Python 程序员可以轻松地使用 RGK 工具包编写小型应用程序系统。用于识别模型拓扑元素的新算法已经开发出来 - 现在它们被分配了固定的结构标识符。这使您可以显着简化应用程序代码与内核 API 的交互,并减少存储应用程序代码对拓扑模型元素的引用的内存需求。改进的文档、使用示例、测试应用程序。
正如已经指出的,现在有许多有用且有趣的功能和工具正在开发中。其中一些已经写在上面了。但这并不是完整的作品列表。特别是,用于以不同公式构建中值曲面的算法的开发正在进行中,包括适用于任意几何形状的“真实”中值。计划扩展功能并进一步加速faceter,删除不可见线的程序,检查实体的相交,生成具有复杂边界条件的放样和扫掠曲面以及提高曲面本身的质量,可以消除对G2 平滑拓扑等等。所描述的所有工作现在正在进行,并且没有写入路线图。因此,正如他们所说,请继续关注新闻。也许快于一年。
加速内核开发的另一个激励因素是 Top Systems 公司的旗舰产品(T-FLEX CAD)逐渐过渡到使用 RGK,以及越来越多的开发公司有兴趣在其应用中使用该内核。应用程序。目前,几家领先的俄罗斯工程软件开发商正在对RGK进行试运行,以评估在Top Systems的支持下在其开发中使用该内核的可能性。显然,这只是一个开始。
RGK核心不断发展和改进,自一年前提出的目标:通过使用与世界市场上最好的解决方案公平竞争的国产几何核心来提高我国的技术独立水平以来,这一目标始终没有改变。尽管这项任务雄心勃勃且极其复杂,但过去的一年只是增强了人们对在相对较短的时间内实现这一目标的信心。当然,无论是在添加新功能方面,还是在提高程序代码的速度和健壮性方面,还有很多工作要做,但行者掌握路。