ISetsFactory

Use this interface to create and manage sets of entities.

Namespace

interop.CimServicesAPI

Compatibility

Cimatron 2024 or later

Properties

Get, Set

ActiveSet

string

Methods

interop.CimMdlrAPI.ISet

GetSet

( string )

string[]

GetSetNames

( )

interop.CimMdlrAPI.ISet

CreateSet

( string, interop.CimMdlrAPI.EFilterEnumType )

void

DeleteSet

( string )

void

EditSet

( string, interop.CimMdlrAPI.IEntityFilter )

void

HideOther

( string[] )

interop.CimMdlrAPI.ISetFolder

CreateEmptySetFolder

( )

interop.CimMdlrAPI.ISetFolder

CreateSetFolder

( string[] )

void

DeleteSetFolder

( interop.CimMdlrAPI.ISetFolder )

void

MoveSet

( interop.CimMdlrAPI.ISet, interop.CimMdlrAPI.ISetFolder, interop.CimMdlrAPI.ISetFolder )

Events

NoneĀ 

Remarks

None

Example

// create Cimatron App Access object
interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
//Get application object from App access
interop.CimatronE.IApplication aCimApp = (interop.CimatronE.IApplication)aAppAccess.GetApplication();
interop.CimBaseAPI.ICimDocument aDoc = (interop.CimBaseAPI.ICimDocument)aCimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aContainer = (interop.CimMdlrAPI.IModelContainer)aDoc;
interop.CimBaseAPI.IModel aTmpModel = (interop.CimBaseAPI.IModel)aContainer.Model;
interop.CimBaseAPI.ISetsFactory aSetFac = aTmpModel.GetSetsFactory();
interop.CimBaseAPI.IEntityQuery aEntQuery = (interop.CimBaseAPI.IEntityQuery)aTmpModel;
interop.CimBaseAPI.FilterColor aFilterColor = (interop.CimBaseAPI.FilterColor)aEntQuery.CreateFilter(interop.CimBaseAPI.EFilterEnumType.cmFilterColor);
aFilterColor.Add(50); //Color
interop.CimBaseAPI.ISet aSet = aSetFac.CreateSet("iSetsName", (interop.CimBaseAPI.IEntityFilter)aFilterColor);
interop.CimBaseAPI.ISet oSetsObj = null;
aSetFac.GetSet("iSetsName", out oSetsObj);
aSetFac.EditSet("iSetsName", (interop.CimBaseAPI.IEntityFilter)aFilterColor); // Give different filter
string aActiveSet = aSetFac.ActiveSet;
interop.CimBaseAPI.ICimEntity aEnt = aTmpModel.GetEntityById(31, aTmpModel);
object aObj= aSetFac.WhereUsed(aEnt);
string[] aSetsToHide = { "Planes", "Curves" };
aSetFac.HideOther(aSetsToHide);
object[] aAllSetNames = (object[])aSetFac.GetSetNames();
List<string> RetLayerList = new List<string>();
foreach(object obj in aAllSetNames)
{
RetLayerList.Add(obj.ToString());
}
aSetFac.DeleteSet("iSetsName");

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 = CimAppAccess.AppAccess()

#Getting instance of CimatronE Application
aCimApp = None
while (aCimApp == None) :
aCimApp = CimatronE.IApplication(aCimAppAccess.GetApplication())
aDoc = (interop.CimBaseAPI.ICimDocument)(aCimApp.GetActiveDoc())
ModelDoc = (interop.CimMdlrAPI.IModelContainer)(aDoc)
aTmpModel = (interop.CimMdlrAPI.IModel)(ModelDoc.Model)
aSetFac = (interop.CimBaseAPI.ISetsFactory)(TmpModel.GetSetsFactory())
aEntQuery = (interop.CimBaseAPI.IEntityQuery)(aTmpModel)
aFilterColor = (interop.CimBaseAPI.FilterColor)(aEntQuery.CreateFilter(interop.CimBaseAPI.EFilterEnumType.cmFilterColor)
aFilterColor.Add(50) #Color
aSet = aSetFac.CreateSet("iSetsName", (interop.CimBaseAPI.IEntityFilter)aFilterColor)
oSetsObj = None
aSetFac.GetSet("iSetsName", out oSetsObj)
aSetFac.EditSet("iSetsName", (interop.CimBaseAPI.IEntityFilter)aFilterColor) # Give different filter
aActiveSet = aSetFac.ActiveSet
aEnt = (interop.CimBaseAPI.ICimEntity)(aTmpModel.GetEntityById(31, aTmpModel))
aObj= aSetFac.WhereUsed(aEnt)
from System import Array, str
aSetsToHide = Array[str](2)
aSetsToHide[0]= "Planes"
aSetsToHide[1]= "Curves"
aSetFac.HideOther(aSetsToHide)
object[] aAllSetNames = (object[])aSetFac.GetSetNames()
aSetFac.DeleteSet("iSetsName")