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.