This interface represents a container of entities. It can be received, for example, after the IEntityQuery::Select method.
interop.CimAppAccess
interop.CimatronE
interop.CimBaseAPI
interop.CimMdlrAPI
interop.CimServicesAPI
interop.CIMMiscAPI
interop.CimNcAPI
Cimatron 2024 or later
|
Set |
int |
|
|
Get |
int |
|
|
Get |
int |
|
int |
(interop.CimBaseAPI.ICimEntity) |
|
|
void |
(interop.CimBaseAPI.ICimEntity) |
|
|
void |
(interop.CimBaseAPI.ICimEntity) |
|
|
void |
(interop.CimBaseAPI.ICimEntityList) |
|
|
System.Collections.IEnumerator |
( ) |
None
Ensure entities in EntityList are indexed starting from index 1.
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))
