ILoop::IsEqual

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. 

Compatibility

Cimatron 2026 or later

Syntax

BOOL IsEqual( interop.CimBaseAPI.ICimEntity pLoopToCheck);

def IsEqual(interop.CimBaseAPI.ICimEntity pLoopToCheck) -> BOOL

Return Type

Return: BOOL

oCheck - Check result

   

Input Type

Input: interop.CimBaseAPI.ICimEntity

pLoopToCheck - Loop to check with current Loop

   

Remarks

Cimatron must be open and a face entity with the id=30 must be present in the active part document.

Example

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)