cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Stay updated on what is happening on the PTC Community by subscribing to PTC Community Announcements. X

How to get info about missing files

eclaassen
6-Contributor

How to get info about missing files

Hi,

 

if in a product or in a drawing, one or more references do not exist any more (e.g. some prt-files are deleted accidentally), how can I still get the info, which files are absent?

With the following code:

pfcSession_ptr session = pfcGetProESession();
pfcModelDescriptor_ptr desc = pfcModelDescriptor::CreateFromFileName("test.asm"); // or drawing file
pfcModel_ptr model = session->RetrieveModel(desc);

I get an exception when calling RetrieveModel (If a direct child of the root assembly cannot be found). In ModelDescription or exception, no message about the missing file can be found.

I am running the application in batch mode.

 

Thank you,

Xinyu

 

Update:

I found the documentation for fpcSolid::HasRetrievalErrors:

 

Models may be retrieved even if some component models are missing. The missing components will be suppressed, and geometry referencing these models will be frozen. The retrieval methods will not give an indication that this error occurred. Call this method after retrieval to see if any such errors occurred. pfcSession::BaseSession::RetrieveModel pfcSession::BaseSession::RetrieveModelWithOpts pfcSession::BaseSession::OpenFile pfcSession::BaseSession::RetrieveAssemSimpRep true if errors occurred during retrieval, false if there was no error.

 

But if I get an exception already at "BaseSession::RetrieveModel", I have no chance to get a model and thus no Solid. And this method cannot be called.

Maybe this occurs only in batch-mode?

 

1 REPLY 1
eclaassen
6-Contributor
(To:eclaassen)

I found out, BaseSession::RetreiveModel does not throw exception, if some file is missing, when creo is in interactive mode. So I start Creo with -g:no_graphics but WITHOUT -batch_mode. It may be not good in performance, but it solves the problem.

Announcements
NEW Creo+ Topics: Real-time Collaboration


Top Tags