Пара вопросов по драфтингу

Программирование для CATIA.

Пара вопросов по драфтингу

Сообщение Artem » 26 май 2008 16:08

Люди добрые (верю что остались такие)..помогите кто чем может...
Вопрос 1:Как прикрутить апдейт своего фичера в основной апдейт в драфтинге? Создал фабрику
(ну правда тут были сомнения то ли расширять View(что собственно и сделал), толи,по примеру- CATDrwCont (в примере с комбинед курвой был CATPrtCont))-все нормально при создании(вызове апдейта программно) мой билд вызывался.....Но при изменении входного параметра - полное безмолвие(См вопрос 2)

2)Входным параметром я сделал Drwtext создаваемый собственно в фабрике...сначала попытался агрегировать:
Exe для каталога:
.
CATUnicodeString TextMain("TextMain");
CATISpecAttribute *piTextMain = pisvrSU -> AddAttribute(TextMain,tk_component,sp_NEUTRAL);
piTextMain -> Release();
piTextMain = NULL;
.
Фабрика:
CATIDrwAnnotationFactory_var spAnnFactory = spBgView;//CATIDrwText_var
MessageBox (0,L"1",L"Начинаем создание",1);
CATISpecObject_var spText1 = spAnnFactory->CreateDrwText(940., 40., MyStr);
//CATISpecObject * spText22 = spText1;
CATIDrwTextProperties_var spTextProp1 = spText1;
//CAAIsvarcaFactory *psvarcaFactory = NULL;
MessageBox (0,L"2",L"Начинаем Апдейт",1);
spBgView->Update(NULL_var);
piSpecAttrKeysvarcaSZTM = piSpecAttrAccessOnCC->GetAttrKey("TextMain");
MessageBox (0,L"3",L"Начинаем внедрение",1);
piSpecAttrAccessOnCC->SetSpecObject(piSpecAttrKeysvarcaSZTM,spText1);
MessageBox (0,L"4",L"Заканчиваем внедрение",1);

-При этом катькина сессия вылетает на piSpecAttrAccessOnCC->SetSpecObject(piSpecAttrKeysvarcaSZTM,spText1);
Нормально отработал вариант со ссылкой:
Exe для каталога:
.
CATUnicodeString TextMain("TextMain");
CATISpecAttribute *piTextMain = pisvrSU -> AddAttribute(TextMain,tk_specobject, sp_IN);
piTextMain -> Release();
piTextMain = NULL;
С той же фабрикой.....
Вопрос 2:Как добавлять агрегированные элементы?
Благодарю за любую помощь....
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Пара вопросов по драфтингу

Сообщение Artem » 18 июн 2008 18:07

Уважаемые а кто нибудь с деревом в драфтинге работал?
А то SetIconName ( да и GetIconName) у CATIIcon интерфейса (вида или листа - не важно) не хочет возвращать значение/устанавливать значение (Обращение правильное - проверял на парте)
Еще беда попробовал вот так:
CATListValCATBaseUnknown_var * pNodeList = NULL ;
pNodeList = pNavigBox->GetAllRoots();
if ( NULL != pNodeList )
{
int nbNodes = pNodeList->Size();
for ( int i= 1 ; i <= nbNodes ; i++ )
{
CATBaseUnknown_var graphNode = (*pNodeList)[i];
if ( NULL_var != graphNode )
{
CATIGraphNode *iccc = NULL;
if (FAILED(graphNode->QueryInterface(IID_CATIGraphNode , ( void**) &iccc )))
{
MessageBox (0,L"Облом с узлом",L"Error 7",1);
}
else
{
MessageBox (0,L"Есть интерфейс для узла",L"OK",1);
iccc->SetPixelImage ("I_MyFeat");
.........
Говорит что нету такого интерфейса :( ...Там что нестандартно реализованное дерево или я чтото не понимаю?
PS.С предыдущим вроде потихоньку разобрался... но только апдейт моего фичера проходит если вызывается общий апдейт....Может какой интерфейс надо добавить?Или как то по особенному внедрить в вид?
PSS.Интересно - у дрввелдинга и роугнесс символа хоть апдейть, хоть не апдейть чертеж,остается статус неапдейченных(IsUpToDate ) ......
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14


Вернуться в CAA-RADE

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6