Use this class to get service functions related to catalog, such as creating item document inside the catalog, getting catalog data, and so on.
interop.CimServicesAPI
Cimatron 2026 or later
None
|
void |
( string ) |
|
|
string |
( string ) |
|
|
string[] |
( ) |
|
|
int |
( ) |
|
|
int |
( int ) |
|
|
string[] |
( int ) |
|
|
void |
( int, string ) |
NoneĀ
None
// 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);
