Use this interface to create and manage sets of entities.
interop.CimServicesAPI
Cimatron 2024 or later
|
Get, Set |
string |
|
|
interop.CimMdlrAPI.ISet |
( string ) |
|
|
string[] |
( ) |
|
|
interop.CimMdlrAPI.ISet |
( string, interop.CimMdlrAPI.EFilterEnumType ) |
|
|
void |
( string ) |
|
|
void |
( string, interop.CimMdlrAPI.IEntityFilter ) |
|
|
void |
( string[] ) |
|
|
interop.CimMdlrAPI.ISetFolder |
( ) |
|
|
interop.CimMdlrAPI.ISetFolder |
( string[] ) |
|
|
void |
( interop.CimMdlrAPI.ISetFolder ) |
|
|
void |
( interop.CimMdlrAPI.ISet, interop.CimMdlrAPI.ISetFolder, interop.CimMdlrAPI.ISetFolder ) |
NoneĀ
None
// 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")
