• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

доступ к детали в сборке при помощи API 7

Автор safonoval, 25.08.14, 20:22:36

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

safonoval

Добрый день.
Подскажите, как получить  IPart7, имея IParts7

Есть такое
IKompasDocument3D doc3D = NULL;
IPart7 ass;
IParts7 parts;
doc3D = docs.Open(openFileDialog.GetPathName(), true, false);
ass = doc3D.GetTopPart();
AfxMessageBox(ass.GetName());
parts = ass.GetParts();
int counts = parts.GetCount();
str.Format("%d", counts);

Количество деталей вроде считает, как получить интерфейс конкретной детали?

safonoval

По логике необходима функция
Part = iObject.GetPart (Index)

Входные параметры:

Index (Variant)
VT_BSTR - имя компонента,
VT_I4 - индекс компонента.


Как получить этот вариант?





Slaviation

Как то так

по индексу
VARIANTARG index;
VariantInit(&index);
index.vt = VT_I4;
index.intVal = i //индекс парта
Part = iObject.GetPart (Index)

по имени
VARIANTARG name;
VariantInit(&name);
index.vt = VT_BSTR;
index.bstrVal = s // имя компонента
Part = iObject.GetPart (name)