Разработка геометрического ядра RGK началась в далёком 1984 году, когда в Московском Станкоинструментальном институте (позже МГТУ «Станкин») была организована группа по исследованиям в области геометрического моделирования и разработке 3D ядра под руководством доцента А.В. Рыбакова и доцента В.Ю. Судзиловского. Именно с того момента Леонид Баранов начал заниматься этой работой в качестве математика-программиста, а после завершения учёбы в Станкине возглавил эту группу. Результат работы был существенным. В 1995 году была выпущена версия T-FLEX CAD, в которой функциональность 3D моделирования обеспечивалась собственным геометрическим ядром. Ресурсов у компании на тот момент было недостаточно для ведения столь наукоёмкой и дорогостоящей разработки. Одновременно с этим представилась возможность лицензировать геометрическое ядро ACIS, а потом и Parasolid. В 1996 году была выпущена 6-я версия T-FLEX CAD на геометрическом ядре ACIS, а в 1998 году вышла версия 7 на ядре Parasolid. Таким образом, разработчики T-FLEX CAD получили возможность поработать со всеми основными геометрическими ядрами и оценить их архитектуру и особенности.
Геометрическое ядро RGK обеспечивает моделирование геометрических объектов по классической схеме граничного представления (B-Rep) с «точной» геометрией – с использованием аналитического представления кривых и поверхностей разных типов. Такое представление позволяет моделировать объекты с высокой точностью, одновременно обеспечивая возможность работы с толерантной геометрией, когда вместе с объектами модели хранится точность, с которой они были рассчитаны. Параметры точности толерантной геометрии используются при всех вычислениях, выполняемых в коде ядра. Данная особенность обеспечивает возможности по сохранению целостности геометрической модели даже для очень сложных геометрических форм и невысокой точности исходных данных.
Геометрическое ядро обеспечивает выполнение следующих основных функций:
Классы геометрического ядра RGK, доступные для использования в конечных приложениях, обеспечивают как низкоуровневую функциональность для создания и редактирования геометрии, так и высокоуровневые специализированные функции, которые в ядре называются генераторами. Так, в составе библиотеки классов ядра имеются следующие генераторы: