Use this method to check if the two LOOPs are the same (LOOP does not have an ID). Note this method does not check geometry.
Cimatron 2026 or later
BOOL IsEqual( interop.CimBaseAPI.ICimEntity pLoopToCheck);
def IsEqual(interop.CimBaseAPI.ICimEntity pLoopToCheck) -> BOOL
|
Return: BOOL |
oCheck - Check result |
|
Input: interop.CimBaseAPI.ICimEntity |
pLoopToCheck - Loop to check with current Loop |
Cimatron must be open and a face entity with the id=30 must be present in the active part document.
interop.CimAppAccess.AppAccess AppAcc = new interop.CimAppAccess.AppAccess();
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)AppAcc.GetApplication();
interop.CimatronE.ICimDocument aDOC = CimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aContainer = (interop.CimMdlrAPI.IModelContainer)aDoc;
interop.CimMdlrAPI.IMdlrModel aMdlrModel = (interop.CimMdlrAPI.IMdlrModel)aContainer.Model;
interop.CimMdlrAPI.IModel aModel = (interop.CimMdlrAPI.IModel)aMdlrModel;
int aEntityID = 30; //Id must the Id of face type object
interop.CimBaseAPI.ICimEntity aEntity = aModel.GetEntityById(aEntityID, aModel);
interop.CimBaseAPI.IFace aFace = aEntity as interop.CimBaseAPI.IFace;
interop.CimBaseAPI.ICimEntityList aLoops = aFace.GetAllLoops();
interop.CimBaseAPI.ILoop aLoop1 = aLoops[1] as interop.CimBaseAPI.ILoop;
interop.CimBaseAPI.ICimEntityList aLoops2 = aFace.GetAllLoops();
interop.CimBaseAPI.ICimEntity aReplicaLoop1 = aLoops2[1];
isEqual = aLoop1.IsEqual(aReplicaLoop1);
import clr
clr.AddReference("interop.CimAppAccess")
clr.AddReference("interop.CimatronE")
clr.AddReference("interop.CimServicesAPI")
clr.AddReference("interop.CimBaseAPI")
clr.AddReference("interop.CimMdlrAPI")
clr.AddReference("interop.CimNcAPI")
import interop.CimAppAccess
import interop.CimatronE
import interop.CimServicesAPI
import interop.CimBaseAPI
import interop.CimMdlrAPI
import interop.CimNcAPI
aAppAcc = interop.CimAppAccess.AppAccess()
aCimApp = interop.CimatronE.IApplication(aAppAcc.GetApplication())
aDOC = aCimApp.GetActiveDoc()
aContainer = interop.CimMdlrAPI.IModelContainer(aDOC)
aMdlrModel = interop.CimMdlrAPI.IMdlrModel(aContainer.Model)
aModel = interop.CimMdlrAPI.IModel(aMdlrModel)
aEntityId = 30 # Entity must be Face type
aEntity = aModel.GetEntityById(aEntityId, aModel)
aFace = interop.CimBaseAPI.IFace(aEntity)
aLoops = aEdge.GetAllLoops()
aLoop = interop.CimBaseAPI.ILoop(aLoops[1])
#get same loop with different com pointer address which internally indicate same loop
aLoops2 = aEdge.GetAllLoops()
aReplicaLoop1 = interop.CimBaseAPI.ICimEntity(aLoops2[1])
isEqual = aLoop.IsEqual(aReplicaLoop1)
