.. role:: blue :class: blue Создание тела по пользовательским объектам =========================================== .. _Create_Solid_From_User_Objects: .. версия ядра: 118061 Функция :blue:`ImportSolid`\() предназначена для создания тела по данным, размещённым в контейнере пользовательских объектов :blue:`ObContainer`. Функция формирует импортируемое тело :blue:`solid` на основе набора ob-структур геометрии и топологии и возвращает код завершения операции типа :blue:`MbeConvResType`. Интерфейс функции: .. code-block:: cpp CONV_FUNC( MbeConvResType ) ImportSolid( c3d::SolidSPtr & solid, std::shared_ptr obContainer, IConvertorProperty3D * prop, IProgressIndicator * indicator = nullptr ); Параметры функции: **solid** -- импортируемое твердое тело, которое будет создано по данным из контейнера; **obContainer** -- контейнер пользовательских объектов :blue:`ObContainer`; **prop** -- указатель на реализацию интерфейса свойств конвертера :blue:`IConvertorProperty3D`; **indicator** -- указатель на индикатор хода процесса :blue:`IProgressIndicator` (может быть равен *nullptr*, если отслеживание прогресса не требуется). Контейнер :blue:`ObContainer` заполняется пользовательскими данными, представленными набором ob-структур для описания геометрии и топологии тела. После заполнения контейнер передаётся в функцию :blue:`ImportSolid`\(), которая по исходным данным создаёт твердотельную модель. Функция исправляет некоторые типовые ошибки, характерные для импорта из различных форматов, а также выполняя сшивку и объединение подобных граней; поведение настраивается через :blue:`IConvertorProperty3D` стандартным образом. При возникновении вопросов или ошибок на стороне пользователя исходные данные можно передать в техническую поддержку в виде отладочного текстового файла, формируемого методом :blue:`ObContainer::WriteIntoFile`\(). .. Пример типичного использования функции: