Usage: you must use this class as is. You should never derive it.
public class CATPcbImportExportServices
Class exposing services dedicated to Import and Export of IDF Files.
Role: To provide services for Importing and Exporting IDF files
To Import IDF file use API ImportIDFFile. To Export file use API ExportAsIDFFile. Location of IDF file to Import/Export can be in Database or in local directory
public static ExportAsIDFFile( | const | iExportMode, |
iRootBoardAssembly) |
CATPcbImportExportMode *pModeExport = NULL; CATIPrdObject_var hRootProduct; ..... CATUnicodeString strNameFile; pModeExport = new CATPcbImportExportMode(); if(NULL != pModeExport) { CATPcbImportExportMode::PLMdocumentAttachment PLMDocumentAttachmentOption = CATPcbImportExportMode::ATTACHED; CATPcbImportExportMode::PLMDocumentVersioning PLMDocumentVersioningOption = CATPcbImportExportMode::NEWVERSION; CATPcbImportExportMode::PLMDocumentCreationType PLMDocumentCreationTypeOption = CATPcbImportExportMode::CREATE_NEWDOC; CATPcbImportExportMode::ImportExportMode IDFImportExportMode = CATPcbImportExportMode::FILEBASEMODE; pModeExport->SetExportUnit("MM"); pModeExport->SetExportedFileVersion(3); pModeExport->SetDecimalSeparator("."); if ( IDF is to be exported to a file in a local directory) { strNameFile = "...\MyIDF.idf"; pModeExport->SetFileName(strNameFile); } else if(IDF is to be exported to a new document and attached to the root product) { strNameFile = "MyExportedIDF_AS_PLMDoc"; IDFImportExportMode = CATPcbImportExportMode::PLMDOCUMENTMODE; PLMDocumentCreationTypeOption = CATPcbImportExportMode::CREATE_NEWDOC; PLMDocumentAttachmentOption = CATPcbImportExportMode::ATTACHED; pModeExport->SetFileName(strNameFile); pModeExport->SetIDFImportExportMode(IDFImportExportMode); pModeExport->SetPLMDocumentCreationTypeOption(PLMDocumentCreationTypeOption); pModeExport->SetPLMDocumentAttachmentOption(PLMDocumentAttachmentOption); } else if (IDF is to be exported to a new document and NOT to be attached to the root product) { strNameFile = "MyExportedIDF_AS_PLMDoc"; IDFImportExportMode = CATPcbImportExportMode::PLMDOCUMENTMODE; PLMDocumentCreationTypeOption = CATPcbImportExportMode::CREATE_NEWDOC; PLMDocumentAttachmentOption = CATPcbImportExportMode::NOTATTACHED; pModeExport->SetFileName(strNameFile); pModeExport->SetIDFImportExportMode(IDFImportExportMode); pModeExport->SetPLMDocumentCreationTypeOption(PLMDocumentCreationTypeOption); pModeExport->SetPLMDocumentAttachmentOption(PLMDocumentAttachmentOption); } else if (Existing IDF stored as PLM document is to be updated and new version is to be created i.e. existing document is NOT overwritten) { strNameFile = "MyExportedIDF_AS_PLMDoc"; IDFImportExportMode = CATPcbImportExportMode::PLMDOCUMENTMODE; PLMDocumentCreationTypeOption = CATPcbImportExportMode::UPDATE_EXISTING_DOC; PLMDocumentVersioningOption = CATPcbImportExportMode::NEWVERSION; pModeExport->SetFileName(strNameFile); pModeExport->SetIDFImportExportMode(IDFImportExportMode); pModeExport->SetPLMDocumentCreationTypeOption(PLMDocumentCreationTypeOption); pModeExport->SetPLMDocumentVersioningOption(PLMDocumentVersioningOption); } else if (Existing IDF stored as PLM document is to be updated and overwritten; NO new version is created) { strNameFile = "MyExportedIDF_AS_PLMDoc"; IDFImportExportMode = CATPcbImportExportMode::PLMDOCUMENTMODE; PLMDocumentCreationTypeOption = CATPcbImportExportMode::UPDATE_EXISTING_DOC; PLMDocumentVersioningOption = CATPcbImportExportMode::CRUSHOLDER; pModeExport->SetFileName(strNameFile); pModeExport->SetIDFImportExportMode(IDFImportExportMode); pModeExport->SetPLMDocumentCreationTypeOption(PLMDocumentCreationTypeOption); pModeExport->SetPLMDocumentVersioningOption(PLMDocumentVersioningOption); } else if (IDF file is to be exported to design central) { strNameFile = = "MyExportedIDF_AS_VersionedDocument"; IDFImportExportMode = CATPcbImportExportMode::DESIGNERCENTRALMODE; pModeExport->SetFileName(strNameFile); pModeExport->SetIDFImportExportMode(IDFImportExportMode); } HESULT RC = CATPcbImportExportServices::ExportAsIDFFile (pModeExport,hRootProduct); if(SUCCEEDED(RC)) { ... } delete pModeExport; pModeExport = NULL; }
public static ImportIDFFile( | const | iImportMode, |
oRootBoardAssembly, | ||
oBag) |
CATIPrdObject* pRootBoardAssembly = NULL; CATPcbImportExportMode * pImportMode = NULL; pImportMode = new CATPcbImportExportMode(); CATUnicodeString strIDFFileToImport; CATUnicodeString strLIBFileName; CATPcbImportExportMode::ImportExportMode IDFLocation = CATPcbImportExportMode::FILEBASEMODE; CATPcbImportExportMode::ImportExportMode LIBLocation = CATPcbImportExportMode::FILEBASEMODE; if(NULL != pImportMode ) { if (both IDF and Lib files are from local directory) { strIDFFileToImport = "...\MyIDF.idf"; strLIBFileName = "...\MyLib.lib"; CATPcbImportExportMode::ImportExportMode IDFLocation = CATPcbImportExportMode::FILEBASEMODE; CATPcbImportExportMode::ImportExportMode LIBLocation = CATPcbImportExportMode::FILEBASEMODE; } else if(IDF file is PLMDocument stored in database and lib file location is local directory) { strIDFFileToImport = "MyIDF_AS_PLMDoc"; strLIBFileName = "...\MyLib.lib"; IDFLocation = CATPcbImportExportMode::PLMDOCUMENTMODE; LIBLocation = CATPcbImportExportMode::FILEBASEMODE; } else if(IDF file is in local directory and lib file is PLMDocument stored in database) { strIDFFileToImport = "...\MyIDF.idf"; strLIBFileName = "MyLIB_AS_PLMDoc"; IDFLocation = CATPcbImportExportMode::FILEBASEMODE; LIBLocation = CATPcbImportExportMode::PLMDOCUMENTMODE; } else if(Both IDF and Lib files are PLMDocument's stored in database ) { strIDFFileToImport = "MyIDF_AS_PLMDoc"; strLIBFileName = "MyLIB_AS_PLMDoc"; IDFLocation = CATPcbImportExportMode::PLMDOCUMENTMODE; LIBLocation = CATPcbImportExportMode::PLMDOCUMENTMODE; } pImportMode->SetIDFImportExportMode(IDFLocation); pImportMode->SetFileName(strIDFFileToImport); pImportMode->SetLibraryImportExportMode(LIBLocation); pImportMode->SetLibName(strLIBFileName); HRESULT RC = CATPcbImportExportServices::ImportIDFFile(pImportMode , pRootBoardAssembly); if((SUCCEEDED(RC)) && (NULL_var != pRootBoardAssembly)) { ...... } }
Copyright © 1999-2014, Dassault Systèmes. All rights reserved.