Импорт конфигураций модели
При импорте моделей формата c3d, а также моделей доступных через плагины SolidWorks, NX, Creo, Inventor, Solid Edge есть возможность прочитать модель в разных конфигурациях (исполнениях). Импорт конфигураций из Catia не реализован, поскольку конфигурации в Catia сохранены в параметрическом виде, который C3D Converter не поддерживает.
Существует два способа задания выборщика конфигураций:
Передать указатель на IConfigurationSelector в метод LoadForeignReader() при загрузке плагина для последующего использования в методах импорта через явно указанный плагин.
Использовать метод IConverter3D::SetConfigurationSelector() для последующего использования в методах импорта через автоматически подгруженный плагин.
Для работы с этими методами необходимо реализовать интерфейс IConfigurationSelector (conv_requestor.h).
Методы интерфейса IConfigurationSelector:
// Добавить конфигурацию для выбора пользователем.
virtual void AddConfiguration( const c3d::string_t & configurationName ) = 0;
// Добавить конфигурацию для выбора пользователем, не содержащую модель.
virtual void AddEmptyConfiguration( const c3d::string_t & configurationName )
{
AddConfiguration( configurationName );
}
// Добавить конфигурацию для выбора пользователем, требующую обновления.
virtual void AddNeedsUpdateConfiguration( const c3d::string_t & configurationName )
{
AddConfiguration( configurationName );
}
// Указать индекс активной конфигурации.
virtual void SetActiveConfiguration( const size_t index ) = 0;
// Получить индекс конфигурации, выбранной пользователем.
virtual size_t GetConfiguration() const = 0;
// Индекс конфигурации для прекращения чтения по запросу пользователя.
static const size_t configurationIdToCancel = SYS_MAX_T;
Без явного указания GetConfiguration() будет загружена конфигурация по умолчанию, заданная через SetActiveConfiguration().
Методы AddEmptyConfiguration() и AddNeedsUpdateConfiguration() носят прежде всего информативный характер, т.к. в отличие от метода AddConfiguration() они не позволяют получить полноценную модель в силу ограничений сохранения модели из исходной САПР.