This class represents a modeler procedure for 2D Bounding in Cimatron. 2D Bound will always be created in the XY plane of the active UCS.
interop.CimMdlrAPI
Cimatron 2026 or later
|
Get, Set |
interop.CimMdlrAPI. |
|
|
Get, Set |
interop.CimMdlrAPI.BoundingMode |
|
|
Get, Set |
interop.CimMdlrAPI.WireCreationMode |
|
|
Get, Set |
double |
|
|
Get, Set |
double |
|
|
Get, Set |
double |
|
|
Get, Set |
double |
|
|
Get, Set |
double |
|
|
Get, Set |
double |
|
|
Get, Set |
double |
|
|
Get, Set |
interop.CimMdlrAPI.ICimEntityList |
| None | ||
None
None
Example 1-Create bounding Box with Auto ModeExample 1-Create bounding Box with Auto Mode
// PREREQUISITE: Note PIDs of the entities around which you want to create the bounding box
//Get Active Cimatron Application
interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)aAppAccess.GetActiveApplication();
//Get Active Cimatron Document
interop.CimBaseAPI.ICimDocument aDoc = (interop.CimBaseAPI.ICimDocument)CimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aContainer = (interop.CimMdlrAPI.IModelContainer)aDoc;
interop.CimMdlrAPI.IMdlrModel aMdlrModel = (interop.CimMdlrAPI.IMdlrModel)aContainer.Model;
interop.CimBaseAPI.IModel aModel = (interop.CimBaseAPI.IModel)aMdlrModel;
//Create a 2DBounding Procedure
interop.CimMdlrAPI.IMdProcedure aProc = aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cm2DBoundingProcedure);
interop.CimMdlrAPI.IMd2DBounding aIMd2DBounding = (interop.CimMdlrAPI.IMd2DBounding)aProc;
//Set Parameters to the procedure
interop.CimBaseAPI.ICimEntity aEnt = (interop.CimBaseAPI.ICimEntity)aModel.GetEntityById(11, aModel);
interop.CimBaseAPI.ICimEntity aEnt1 = (interop.CimBaseAPI.ICimEntity)aModel.GetEntityById(53, aModel);
interop.CimBaseAPI.ICimEntityList aEntList = new interop.CimBaseAPI.CimEntityList();
aEntList.Add(aEnt);
aEntList.Add(aEnt1);
aIMd2DBounding.Entities = (interop.CimMdlrAPI.ICimEntityList)aEntList;
aIMd2DBounding.BoundingType = interop.CimMdlrAPI.BoundingType.cmBox;
aIMd2DBounding.BoundingMode = interop.CimMdlrAPI.BoundingMode.cmAuto;
aIMd2DBounding.WireCreationMode = interop.CimMdlrAPI.WireCreationMode.cmWireWithUCS;
aIMd2DBounding.Offset = 10;
//Execute procedure
aProc.Execute();
// PREREQUISITE: Note PIDs of the entities around which you want to create the bounding box
//Get Active Cimatron Application
interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)aAppAccess.GetActiveApplication();
//Get Active Cimatron Document
interop.CimBaseAPI.ICimDocument aDoc = (interop.CimBaseAPI.ICimDocument)CimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aContainer = (interop.CimMdlrAPI.IModelContainer)aDoc;
interop.CimMdlrAPI.IMdlrModel aMdlrModel = (interop.CimMdlrAPI.IMdlrModel)aContainer.Model;
interop.CimBaseAPI.IModel aModel = (interop.CimBaseAPI.IModel)aMdlrModel;
//Create a 2DBounding Procedure
interop.CimMdlrAPI.IMdProcedure aProc = aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cm2DBoundingProcedure);
interop.CimMdlrAPI.IMd2DBounding aIMd2DBounding = (interop.CimMdlrAPI.IMd2DBounding)aProc;
//Set Parameters to the procedure
interop.CimBaseAPI.ICimEntity aEnt = (interop.CimBaseAPI.ICimEntity)aModel.GetEntityById(11, aModel);
interop.CimBaseAPI.ICimEntity aEnt1 = (interop.CimBaseAPI.ICimEntity)aModel.GetEntityById(53, aModel);
interop.CimBaseAPI.ICimEntityList aEntList = new interop.CimBaseAPI.CimEntityList();
aEntList.Add(aEnt);
aEntList.Add(aEnt1);
aIMd2DBounding.Entities = (interop.CimMdlrAPI.ICimEntityList)aEntList;
aIMd2DBounding.BoundingType = interop.CimMdlrAPI.BoundingType.cmBox;
aIMd2DBounding.BoundingMode = interop.CimMdlrAPI.BoundingMode.cmManual;
aIMd2DBounding.Angle = 20;
aIMd2DBounding.CornerRadius = 10;
aIMd2DBounding.WireCreationMode = interop.CimMdlrAPI.WireCreationMode.cmWireWithUCS;
aIMd2DBounding.Height = 50;
aIMd2DBounding.Width = 100;
//Execute procedure
aProc.Execute();
Example 3-Create enclosing polygon 2d boundingExample 3-Create enclosing polygon 2d bounding
// PREREQUISITE: Note PIDs of the entities around which you want to create the bounding box
//Get Active Cimatron Application
interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)aAppAccess.GetActiveApplication();
//Get Active Cimatron Document
interop.CimBaseAPI.ICimDocument aDoc = (interop.CimBaseAPI.ICimDocument)CimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aContainer = (interop.CimMdlrAPI.IModelContainer)aDoc;
interop.CimMdlrAPI.IMdlrModel aMdlrModel = (interop.CimMdlrAPI.IMdlrModel)aContainer.Model;
interop.CimBaseAPI.IModel aModel = (interop.CimBaseAPI.IModel)aMdlrModel;
//Create a 2DBounding Procedure
interop.CimMdlrAPI.IMdProcedure aProc = aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cm2DBoundingProcedure);
interop.CimMdlrAPI.IMd2DBounding aIMd2DBounding = (interop.CimMdlrAPI.IMd2DBounding)aProc;
//Set Parameters to the procedure
interop.CimBaseAPI.ICimEntity aEnt = (interop.CimBaseAPI.ICimEntity)aModel.GetEntityById(11, aModel);
interop.CimBaseAPI.ICimEntity aEnt1 = (interop.CimBaseAPI.ICimEntity)aModel.GetEntityById(53, aModel);
interop.CimBaseAPI.ICimEntityList aEntList = new interop.CimBaseAPI.CimEntityList();
aEntList.Add(aEnt);
aEntList.Add(aEnt1);
aIMd2DBounding.Entities = (interop.CimMdlrAPI.ICimEntityList)aEntList;
aIMd2DBounding.BoundingType = interop.CimMdlrAPI.BoundingType.cmEnclosingPolygon;
aIMd2DBounding.WireCreationMode = interop.CimMdlrAPI.WireCreationMode.cmWireWithPoint;
aIMd2DBounding.Offset = -10;
//Execute procedure
aProc.Execute();
Example 4-Create Circular 2D boundingExample 4-Create Circular 2D bounding
// PREREQUISITE: Note PIDs of the entities around which you want to create the bounding box
//Get Active Cimatron Application
interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)aAppAccess.GetActiveApplication();
//Get Active Cimatron Document
interop.CimBaseAPI.ICimDocument aDoc = (interop.CimBaseAPI.ICimDocument)CimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aContainer = (interop.CimMdlrAPI.IModelContainer)aDoc;
interop.CimMdlrAPI.IMdlrModel aMdlrModel = (interop.CimMdlrAPI.IMdlrModel)aContainer.Model;
interop.CimBaseAPI.IModel aModel = (interop.CimBaseAPI.IModel)aMdlrModel;
//Create a 2DBounding Procedure
interop.CimMdlrAPI.IMdProcedure aProc = aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cm2DBoundingProcedure);
interop.CimMdlrAPI.IMd2DBounding aIMd2DBounding = (interop.CimMdlrAPI.IMd2DBounding)aProc;
//Set Parameters to the procedure
interop.CimBaseAPI.ICimEntity aEnt = (interop.CimBaseAPI.ICimEntity)aModel.GetEntityById(11, aModel);
interop.CimBaseAPI.ICimEntity aEnt1 = (interop.CimBaseAPI.ICimEntity)aModel.GetEntityById(53, aModel);
interop.CimBaseAPI.ICimEntityList aEntList = new interop.CimBaseAPI.CimEntityList();
aEntList.Add(aEnt);
aEntList.Add(aEnt1);
aIMd2DBounding.Entities = (interop.CimMdlrAPI.ICimEntityList)aEntList;
aIMd2DBounding.BoundingType = interop.CimMdlrAPI.BoundingType.cmCircle;
aIMd2DBounding.WireCreationMode = interop.CimMdlrAPI.WireCreationMode.cmWireWithPoint;
aIMd2DBounding.Offset = 100;
//Execute procedure
aProc.Execute();
Example 1-Create bounding Box with Auto ModeExample 1-Create bounding Box with Auto Mode
Example 3-Create enclosing polygon 2d boundingExample 3-Create enclosing polygon 2d bounding
Example 4-Create Circular 2D boundingExample 4-Create Circular 2D bounding
#PREREQUISITE: Note PIDs of the entities around which you want to create the bounding box
#Get Active Cimatron Application
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
aAppAcc = interop.CimAppAccess.AppAccess()
cimApp = None
cimApp = interop.CimatronE.IApplication(aAppAcc.GetApplication())
#Get Active Cimatron Document
aDOC = interop.CimBaseAPI.ICimDocument(cimApp.GetActiveDoc())
aModelCont = interop.CimMdlrAPI.IModelContainer(aDOC)
aMdlrModel = interop.CimMdlrAPI.MdlrModel(aModelCont.Model)
aModel = interop.CimMdlrAPI.IModel(aMdlrModel)
aEntList = interop.CimBaseAPI.ICimEntityList(interop.CimBaseAPI.CimEntityList())
aEntList.Add(aModel.GetEntityById(23, aModel))
aEntList.Add(aModel.GetEntityById(18, aModel))
#Create a 2DBounding Procedure
aProc = aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cm2DBoundingProcedure)
aIMd2DBounding = interop.CimMdlrAPI.IMd2DBounding(aProc)
#Set Parameters to the procedure
aIMd2DBounding.Entities = interop.CimMdlrAPI.ICimEntityList(aEntList)
aIMd2DBounding.BoundingType = interop.CimMdlrAPI.BoundingType.cmEnclosingPolygon
aIMd2DBounding.WireCreationMode = interop.CimMdlrAPI.WireCreationMode.cmWireWithPoint
aIMd2DBounding.Offset = -10
#Execute procedure
aProc.Execute()
