ICimEntityList

This interface represents a container of entities. It can be received, for example, after the IEntityQuery::Select method.

Namespace

interop.CimAppAccess

interop.CimatronE

interop.CimBaseAPI

interop.CimMdlrAPI

interop.CimServicesAPI

interop.CIMMiscAPI

interop.CimNcAPI

Compatibility

Cimatron 2024 or later

Properties

Set

Show

int

Get

Count

int

Get

this[int]

int

Methods

int

IsEntityExist

(interop.CimBaseAPI.ICimEntity)

void

Add

(interop.CimBaseAPI.ICimEntity)

void

Remove

(interop.CimBaseAPI.ICimEntity)

void

AddFromList

(interop.CimBaseAPI.ICimEntityList)

System.Collections.IEnumerator

GetEnumerator

( )

Events

None 

Remarks

Ensure entities in EntityList are indexed starting from index 1. 

Example

interop.CimAppAccess.AppAccess aAppAcc = new interop.CimAppAccess.AppAccess();
 interop.CimatronE.IApplication aCimApp = null;
 while (aCimApp == null)
 {
     aCimApp = (interop.CimatronE.IApplication)aAppAcc.GetApplication();
 }
 
 
 //Get Active Cimatron Document
 interop.CimBaseAPI.ICimDocument aDOC = (interop.CimBaseAPI.ICimDocument)aCimApp.GetActiveDoc();
 //Get Model Container
 interop.CimMdlrAPI.IModelContainer aModelCont = (interop.CimMdlrAPI.IModelContainer)aDOC;
 //Get Model
 interop.CimMdlrAPI.MdlrModel aMdlrModel = (interop.CimMdlrAPI.MdlrModel)aModelCont.Model;
 interop.CimMdlrAPI.IModel aModel = (interop.CimMdlrAPI.IModel)aMdlrModel;
 Console.WriteLine("Enter an Entity PID: ");
 string aPIDstr = Console.ReadLine();
 int aPID = int.Parse(aPIDstr);
 interop.CimBaseAPI.ICimEntity aEnt = (interop.CimBaseAPI.ICimEntity) aModel.GetEntityById(aPID, aModel);
 if (aEnt == null)
 {
     Console.WriteLine("Enitity with given PID does Not Exists");
     return;
 }
 
 //Creating an Entity List 
 interop.CimBaseAPI.CimEntityList aEntList = new interop.CimBaseAPI.CimEntityList();
 
 // Adding an Entity to Entity List
 Console.WriteLine("Adding Entity to a Entity List");
 aEntList.Add(aEnt);
 
 // Checking if count of Entities in list is 1
 if (aEntList.Count == 1)
 {
     Console.WriteLine("Entity added to the list");
 }
 else
 {
     Console.WriteLine("Entity not added to the list");
     return;
 }
 
 // Getting Enumerator for List
 Console.WriteLine("Getting Enumerator for Entity List");
 System.Collections.IEnumerator aEnumerator = aEntList.GetEnumerator();
 
 if (aEnumerator != null)
 Console.WriteLine("Enumerator Created!");
 else
 {
     Console.WriteLine("Enumertor Creation Failed!");
     return;
 }
 
 // Taking Entity by index no. from aEntList
 int aIndex = -1;
 Console.WriteLine("Taking Entity by Index from List.\n Enter Index No.:");
 aIndex = int.Parse(Console.ReadLine());
 if (aIndex > aEntList.Count)
 {
     Console.WriteLine("Index out of bound");
     return;
 }
 interop.CimBaseAPI.ICimEntity aEntByTakenIndex = aEntList[aIndex];
 Console.WriteLine("Entity Taken by Index is of Type: " + aEntByTakenIndex.Type);
 
 
 // Adding Entities from aEntList to aOtherEntList
 Console.WriteLine("Adding Entities from first list to another list");
 interop.CimBaseAPI.CimEntityList aOtherEntList = new interop.CimBaseAPI.CimEntityList();
 aOtherEntList.AddFromList(aEntList);
 
 // Lets check if entered entity aEnt exist in aOtherEntList
 int isExist = aOtherEntList.IsEntityExist(aEnt);
 if (isExist == 1)
 Console.WriteLine("Enitity from Fist List successFully added to another list");
 else
 {
     Console.WriteLine("Entity not added to another list");
     return;
 }
 
 // Remove aEnt from aEntList
 Console.WriteLine("Removing Entitie from first list");
 aEntList.Remove(aEnt);
 Console.WriteLine("Entities in list: " + aEntList.Count);

import clr
 
 clr.AddReference("interop.CimAppAccess")
 clr.AddReference("interop.CimatronE")
 clr.AddReference("interop.CimServicesAPI")
 clr.AddReference("interop.CimBaseAPI")
 clr.AddReference("interop.CimMdlrAPI")
 
 import interop.CimAppAccess as CimAppAccess
 import interop.CimatronE as CimatronE
 import interop.CimServicesAPI as CimServicesAPI
 import interop.CimBaseAPI as CimBaseAPI
 import interop.CimMdlrAPI as CimMdlrAPI
 
 aAppAcc = CimAppAccess.AppAccess()
 aCimApp = None
 while (aCimApp == None) :
     aCimApp = CimatronE.IApplication(aAppAcc.GetApplication())
 
 
 #Get Active Cimatron Document
 aDOC = CimBaseAPI.ICimDocument(aCimApp.GetActiveDoc())
 #Get Model Container
 aModelCont = CimMdlrAPI.IModelContainer(aDOC)
 #Get Model
 aMdlrModel = CimMdlrAPI.MdlrModel(aModelCont.Model)
 aModel = CimMdlrAPI.IModel(aMdlrModel)
 print("Enter an Entity PID: ")
 aPID = int(input())
 aEnt = CimBaseAPI.ICimEntity(aModel.GetEntityById(aPID, aModel))
 if (aEnt == None) :
     print("Enitity with given PID does Not Exists")
 
 
 #Creating an Entity List
 aEntList = CimBaseAPI.CimEntityList()
 
 # Adding an Entity to Entity List
 print("Adding Entity to a Entity List")
 aEntList.Add(aEnt)
 
 # Checking if count of Entities in list is 1
 if (aEntList.Count == 1) :
     print("Entity added to the list")
 else:
        print("Entity not added to the list")
 
 # Getting Enumerator for List
 print("Getting Enumerator for Entity List")
 aEnumerator = aEntList.GetEnumerator()
 
 if (aEnumerator != None) :
     print("Enumerator Created!")
 else:
        print("Enumertor Creation Failed!")
 
 # Taking Entity by index no.from aEntList
 aIndex = -1
 print("Taking Entity by Index from List.\n Enter Index No.:")
 aIndex = int(input())
 if (aIndex > aEntList.Count) :
     print("Index out of bound")
 aEntByTakenIndex = CimBaseAPI.ICimEntity(aEntList[aIndex])
 print("Entity Taken by Index is of Type: " + str(aEntByTakenIndex.Type))
 
 
 # Adding Entities from aEntList to aOtherEntList
 print("Adding Entities from first list to another list")
 aOtherEntList = CimBaseAPI.CimEntityList()
 aOtherEntList.AddFromList(aEntList)
 
 # Lets check if entered entity aEnt exist in aOtherEntList
 isExist = aOtherEntList.IsEntityExist(aEnt)
 if (isExist == 1) :
     print("Enitity from Fist List successFully added to another list")
 else:
        print("Entity not added to another list")
 
 # Remove aEnt from aEntList
 print("Removing Entitie from first list")
 aEntList.Remove(aEnt)
 print("Entities in list: " + str(aEntList.Count))