Перейти к публикации

Creo API (Си). Как обойти все элементы массива "PRO_E_DTMAXIS_CONSTRAINTS (Array of PRO_E_DTMAXIS_CONSTRAINT)"?


Alex_89

Рекомендованные сообщения

Добрый день! Подскажите пожалуйста, как можно обойти программно массив получаемый при обращении к "PRO_E_DTMAXIS_CONSTRAINTS " (Возвращает массив из PRO_E_DTMAXIS_CONSTRAINT)? 

Делю так:

ProError ErrorCreo;

 

ProElement ElementHandleCreo;
ErrorCreo = ProFeatureElemtreeExtract(&m_rFeatureCreo, NULL, PRO_FEAT_EXTRACT_NO_OPTS, &ElementHandleCreo);

 

ProElement* Children{ nullptr };
ErrorCreo = ProArrayAlloc(0, sizeof(ProElement), 1, (ProArray*)&Children);

 

ProElempath Path{};
ErrorCreo = ProElempathAlloc(&Path);
 

ProElempathItem Item[]{ {PRO_ELEM_PATH_ITEM_TYPE_ID, PRO_E_DTMAXIS_CONSTRAINTS}};
ErrorCreo = ProElempathDataSet(Path, Item, std::size(Item));

 

ErrorCreo = ProElementArrayGet(ElementHandleCreo, Path, &Children);

        
int SizeArray{};
ErrorCreo = ProArraySizeGet(Children, &SizeArray);

 

Но не могу понять, как далее обратиться к PRO_E_DTMAXIS_CONSTR_TYPE и PRO_E_DTMAXIS_CONSTR_REF содержащимся в каждом из PRO_E_DTMAXIS_CONSTRAINT полученного массива Children.

 

Дерево

#ifndef PRODTMAXISH
#define PRODTMAXISH

     PRO_E_FEATURE_TREE
       |
       |--PRO_E_FEATURE_TYPE
       |
       |--PRO_E_STD_FEATURE_NAME         (Optional)
       |
       |--PRO_E_DTMAXIS_CONSTRAINTS      (Array of PRO_E_DTMAXIS_CONSTRAINT)     <- нужно обойти этот массив
       |    |--PRO_E_DTMAXIS_CONSTRAINT  <- для каждого 
       |         |--PRO_E_DTMAXIS_CONSTR_TYPE  <- получить это 
       |         |--PRO_E_DTMAXIS_CONSTR_REF   <- и это значение
       |
       |--PRO_E_DTMAXIS_DIM_CONSTRAINTS  (Array of PRO_E_DTMAXIS_DIM_CONSTRAINT)
       |    |--PRO_E_DTMAXIS_DIM_CONSTRAINT
       |         |--PRO_E_DTMAXIS_DIM_CONSTR_REF
       |         |--PRO_E_DTMAXIS_DIM_CONSTR_VAL 
       |--PRO_E_DTMAXIS_FIT              (Optional)
            |--PRO_E_DTMAXIS_FIT_TYPE
            |--PRO_E_DTMAXIS_FIT_REF  If FIT_TYPE = PRO_DTMAXIS_FIT_REFERENCE
            |--PRO_E_DTMAXIS_FIT_LEN  If FIT_TYPE = PRO_DTMAXIS_FIT_LENGTH

Большое спасибо!

Ссылка на сообщение
Поделиться на других сайтах


Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



×
×
  • Создать...