Атрибуты изделия
Сведения об изделии, которые передаются через конвертер, включают в себя:
Информация о компоненте: тип (деталь или сборочная единица), идентификатор, название, комментарий;
Визуальные свойства, свойства материала, элементарные атрибуты;
Информация об авторе и организации.
Указанная информация передаётся посредством атрибутов MbProductInfo и MbPersonOrganizationInfo и любых элементарных атрибутов (MbElementaryAttribute) соответственно.
Информация о компоненте MbProductInfo
Класс MbProductInfo нужно назначать на элемент модели MbItem, который нужно выделить как компонент, либо на элемент модели типа MbInstance в том случае, когда наименование, обозначение или комментарий вставки отличаются от соответствующих данных используемого компонента.
Основной конструктор класса MbProductInfo имеет следующую сигнатуру:
MbProcuctInfo( const c3d::string_t & initId,
const c3d::string_t & initName,
const c3d::string_t & initDesc,
bool isAssm );
Аргумент initId используется для передачи идентификатора (обозначения) компонента, initName – наименование компонента, initDesc – комментарии, isAssm – признак того, является ли компонент сборочной единицей.
Основным способом получения строковых данных об изделии является вызов метода
void GetData( c3d::string_t & oId,
c3d::string_t & oName,
c3d::string_t & oDesc ) const;
Входные параметры oId, oName, oDesc используются для передачи идентификатора, наименования и комментария соответственно.
Для получения информации о том, является ли компонент сборочной единицей, используется метод
bool IsAssembly() const;
Класс MbProductInfo содержит также методы, принимающие строки типа std::string. Эти методы осуществляют преобразования с помощью функций c3d::ToSTDstring() и c3d::ToC3Dstring().
Класс MbProductInfo содержит конструктор:
MbProductInfo( bool isAssm,
const std::string & initId,
const std::string & initName,
const std::string & initDesc );
Получение информации об изделии осуществляется методом
void GetDataStd( std::string & oId,
std::string & oName,
std::string & oDesc ) const.