CATPCBoardUseItf CATPcbImportExportServices

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


Method Index


o ExportAsIDFFile(CATPcbImportExportMode*,CATIPrdObject*)
Exports Board Assembly to an IDF file.
o ImportIDFFile(CATPcbImportExportMode*,CATIPrdObject**,CATOmbLifeCycleRootsBag&)
Imports an IDF file.

Methods


o ExportAsIDFFile
public static ExportAsIDFFile( const iExportMode,
iRootBoardAssembly)
Exports Board Assembly to an IDF file.
Role:Exports Circuit Board assembly "iRootBoardAssembly" to an IDF file.
Parameters:
iExportMode
A pointer to structure containing information of IDF file to Export.
iRootBoardAssembly
The Reference to the Root Product of the Exported assembly.
Returns:
An HRESULT value.
Legal values:
S_OK
Export successful
E_FAIL
Export failed
Example:
		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;
		}
o ImportIDFFile
public static ImportIDFFile( const iImportMode,
oRootBoardAssembly,
oBag)
Imports an IDF file.
Role:Retrieves Root product of the Board Assembly after successful import of IDF file.
Parameters:
iImportMode
A pointer to structure containing information of IDF file to import.
oRootBoardAssembly
The Root Product of the imported assembly. When the API succeeds it contains valid a value.
oBag
The Bag en which
Returns:
An HRESULT value.
Legal values:
S_OK
Import successful
E_FAIL
Import Failed
Example:
 				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))
				{
            ......
				}
			}

This object is included in the file: CATPcbImportExportServices.h
If needed, your Imakefile.mk should include the module: CAAIDFImportExport

Copyright © 1999-2014, Dassault Systèmes. All rights reserved.