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