CimCatalogTemplate

Use this class to get service functions related to catalog, such as creating item document inside the catalog, getting catalog data, and so on.

Namespace

interop.CimServicesAPI

Compatibility

Cimatron 2026 or later

Properties

None

Methods

void

LoadCatalog

( string )

string

GetParameterValue

( string )

string[]

GetAllCatalogParametersName

( )

int

GetNumberOfRows

( )

int

GetRowIndexByRowNumber

( int )

string[]

GetRowData

( int )

void

CreateDocument

( int, string )

Events

NoneĀ 

Remarks

None

Example

// create Cimatron App Access object
interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
//Get application object from App access
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)aAppAccess.GetApplication();
if (CimApp != null)
{
string catalogFile =FULL_PATH;
interop.CimServicesAPI.ICimCatalogTemplate cimCatalogTemplate = application.GetCimCatalogTemplate() as interop.CimServicesAPI.ICimCatalogTemplate;
cimCatalogTemplate.LoadCatalog(catalogFile);
int numberOfRows = cimCatalogTemplate.GetNumberOfRows();
for (int i = 0; i<numberOfRows; i++)
{
try
{
object data = cimCatalogTemplate.GetRowData(i);
object[] aArray = (object[])data;

//"Record"
string filepath = FOLDER_PATH;
for (int j = 0; j<aArray.Length; j++)
{
if (aArray[j].ToString().ToLower() == "Record".ToLower())
{
filepath = Path.Combine(filepath, aArray[j + 1].ToString() + ".elt");
string pattern = @"[^a-zA-Z0-9\s]"; // Pattern to match forbidden characters
string replacement = "_";


// filepath = Regex.Replace(filepath, pattern, replacement);
break;
}
}
cimCatalogTemplate.CreateDocument(i, filepath);
Console.WriteLine("Exported:\t" + filepath);
}
catch (Exception ex)
{
Console.WriteLine("Exception:\t" + ex.Message);
}
}
}

import clr
#Adding references of required interop dlls
clr.AddReference("interop.CimAppAccess")
clr.AddReference("interop.CimatronE")
clr.AddReference("interop.CimServicesAPI")
clr.AddReference("interop.CimBaseAPI")
clr.AddReference("interop.CimMdlrAPI")

#importing modules from interop dlls
import interop.CimAppAccess
import interop.CimatronE
import interop.CimServicesAPI
import interop.CimBaseAPI
import interop.CimMdlrAPI

#Getting AppAccess Object
aCimAppAccess = interop.CimAppAccess.AppAccess()

#Getting instance of CimatronE Application
aCimApp = None
while (aCimApp == None) :
aCimApp = (interop.CimatronE.IApplication)(aCimAppAccess.GetApplication())

aCimCatalogTemplate = aCimApp.GetCimCatalogTemplate()

aCatalogService = interop.CimServicesAPI.ICimCatalogTemplate(aCimCatalogTemplate)
# Load Catalog file
catalogFile = FULL_PATH.elt";
aCatalogService.LoadCatalog(catalogFile)
# Get Number of items inside the catalog file
numberOfRows =aCatalogService.GetNumberOfRows()
#Get Row Data
for i in range(numberOfRows):
aRowIndex = aCatalogService/GetRowIndexByRowNumber(i)
aRowData = aCatalogService.GetRowData(aRowIndex)
filepath = FULL_PATH.elt"
aCatalogService.CreateDocument(aRowIndex, filepath);