Аналог Product.ReferenceProduct.Parent.FullName в С++.

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

Аналог Product.ReferenceProduct.Parent.FullName в С++.

Сообщение Vladimir » 28 мар 2011 14:50

Доброе время суток.

В Automation есть возможность узнать физическое расположение файла Part/Product через Product.ReferenceProduct.Parent.FullName. Где мне искать аналогичную функцию в CAA Rade? Или, по крайней мере, в каком направлении копать?
Vladimir
Новичок
Новичок
 
Сообщения: 31
Images: 0
Зарегистрирован: 10 фев 2008 15:44
Откуда: TLT

Re: Аналог Product.ReferenceProduct.Parent.FullName в С++.

Сообщение Vladimir » 28 мар 2011 15:55

Извиняюсь, проблему решил. Не знаю на сколько правильно.
Код: Выделить всё
      
 CATILinkableObject * piLinkableObject = NULL;
 rc = spRef->QueryInterface( IID_CATILinkableObject, (void**)& piLinkableObject );                           

 if ( SUCCEEDED(rc) )
 {
       CATDocument * pDocument = NULL ;
   pDocument = piLinkableObject->GetDocument();
   CATUnicodeString nameF =pDocument->StorageName();
}
Vladimir
Новичок
Новичок
 
Сообщения: 31
Images: 0
Зарегистрирован: 10 фев 2008 15:44
Откуда: TLT

Re: Аналог Product.ReferenceProduct.Parent.FullName в С++.

Сообщение Черешня » 28 мар 2011 20:35

Кстати, есть еще вариант pDocument->DisplayName();
Вроде как они возвращают разные значения , но мои эксперименты различий не выявили – оба метода возвращали полный путь!

…если я правильно поняла, то StorageName() выдает более полный путь, тогда как DisplayName может вернуть лишь имя файла.
Может,Вы чего узнали на этот счет?!...
Аватара пользователя
Черешня
Новичок
Новичок
 
Сообщения: 22
Зарегистрирован: 20 сен 2010 23:22

Re: Аналог Product.ReferenceProduct.Parent.FullName в С++.

Сообщение Vladimir » 29 мар 2011 09:56

Я особо не экспериментировал, но в помощи про DisplayName написано :
For instance it could be just the name of the document, not the whole path (environment are dealing with meaningfull user name)

То есть, в вольном переводе, "Например это может содержать только имя документа, а не целый путь".
Vladimir
Новичок
Новичок
 
Сообщения: 31
Images: 0
Зарегистрирован: 10 фев 2008 15:44
Откуда: TLT

Re: Аналог Product.ReferenceProduct.Parent.FullName в С++.

Сообщение Черешня » 30 мар 2011 00:15

Vladimir писал(а):... в вольном переводе, "Например это может содержать только имя документа, а не целый путь".


Вот-вот, и я про тоже - только вот вопрос, чем же обусловлено это абстрактное "МОЖЕТ содержать"...
Аватара пользователя
Черешня
Новичок
Новичок
 
Сообщения: 22
Зарегистрирован: 20 сен 2010 23:22

Re: Аналог Product.ReferenceProduct.Parent.FullName в С++.

Сообщение booSter » 30 мар 2011 11:35

Для C++ я бы рекомендовал решение на основе CATILinkableObject::GetDocument, CATDocument::StorageName

А ещё есть нюанс связанный с тем как документ появился в сессии:
Если документ был открыт из файла или был (хотя бы раз) сохранён - то всё нормально,
а вот со "свеже-созданным" документом могут быть нюансы...
Сделаешь доброе дело за деньги - скажут спасибо,
Сделаешь бесплатно - сядут на шею...
©пёрто
Аватара пользователя
booSter
Moderator
 
Сообщения: 227
Images: 15
Зарегистрирован: 09 фев 2008 16:48
Откуда: Minsk

Re: Аналог Product.ReferenceProduct.Parent.FullName в С++.

Сообщение Vladimir » 30 мар 2011 14:13

to booSter Спасибо, так и поступим.

Черешня писал(а): Вот-вот, и я про тоже - только вот вопрос, чем же обусловлено это абстрактное "МОЖЕТ содержать"...

Ну поверим разработчику на слово. :-).
Vladimir
Новичок
Новичок
 
Сообщения: 31
Images: 0
Зарегистрирован: 10 фев 2008 15:44
Откуда: TLT


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

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

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