IMdChamfer

This interface represents a Chamfer procedure in Cimatron.

Namespace

interop.CimMdlrAPI

Compatibility

Cimatron 2024 or later

Properties

Get, Set

Angle

double

Get, Set

Distance

double

Get, Set

Entities

interop.CimMdlrAPI.ICimEntityList

Get, Set

FlipSide

int

Get, Set

EntityOption

interop.CimMdlrAPI.ChamferEntityOption

Get, Set

SmoothChain

bool

Get, Set

ChamferMode

interop.CimMdlrAPI.ChamferMode

Get, Set

KeepFeatures

bool

Get, Set

GlobalDistance2

double

Get, Set

EqualDistFromVertex

double

Get, Set

Distance1

double

Get, Set

Distance2

double

Get, Set

Distance3

double

Get, Set

VertexDistanceMode

interop.CimMdlrAPI.ChamferVertexDistanceMode

Get, Set

Vertices

object[]

Get, Set

StoppedDistanceFromStart

double

Get, Set

StoppedDistanceFromEnd

double

Methods

None 

Events

None 

Remarks

None 

Example

Prerequisites:

  1. Create a Part in Cimatron
  2. Note the PID of edges to be chamfered

Symmetric ChamferSymmetric Chamfer
int Edge1PID = 28;
int Edge2PID = 30;

interop.CimAppAccess.AppAccess aAppAcc = new interop.CimAppAccess.AppAccess();
interop.CimatronE.IApplication cimApp = null;
cimApp = aAppAcc.GetApplication();

interop.CimBaseAPI.ICimDocument aDOC = (interop.CimBaseAPI.ICimDocument)cimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aModelCont = (interop.CimMdlrAPI.IModelContainer)aDOC;
interop.CimMdlrAPI.MdlrModel aMdlrModel = (interop.CimMdlrAPI.MdlrModel)aModelCont.Model;

interop.CimMdlrAPI.IModel aModel = (interop.CimMdlrAPI.IModel)aMdlrModel;
interop.CimMdlrAPI.ICimEntity Edge1 = aModel.GetEntityById(Edge1PID, aModel);
interop.CimMdlrAPI.ICimEntity Edge2 = aModel.GetEntityById(Edge2PID, aModel);

interop.CimMdlrAPI.IMdProcedure ProcedureChamfer =
(interop.CimMdlrAPI.MdChamfer)aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmChamferProcedure);
interop.CimMdlrAPI.IMdChamfer IMdChamfer = (interop.CimMdlrAPI.IMdChamfer)ProcedureChamfer;

interop.CimMdlrAPI.ICimEntityList aEntList = (interop.CimMdlrAPI.ICimEntityList) new interop.CimBaseAPI.CimEntityList();
aEntList.Add(Edge1);
aEntList.Add(Edge2);


IMdChamfer.IsSymmetric = 1;
IMdChamfer.Distance = 10;
IMdChamfer.Entities = aEntList;

ProcedureChamfer.Execute();

Asymmetric ChamferAsymmetric Chamfer int Edge1PID = 28;
int Edge2PID = 30;

interop.CimAppAccess.AppAccess aAppAcc = new interop.CimAppAccess.AppAccess();
interop.CimatronE.IApplication cimApp = null;
cimApp = aAppAcc.GetApplication();

interop.CimBaseAPI.ICimDocument aDOC = (interop.CimBaseAPI.ICimDocument)cimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aModelCont = (interop.CimMdlrAPI.IModelContainer)aDOC;
interop.CimMdlrAPI.MdlrModel aMdlrModel = (interop.CimMdlrAPI.MdlrModel)aModelCont.Model;


interop.CimMdlrAPI.IModel aModel = (interop.CimMdlrAPI.IModel)aMdlrModel;
interop.CimMdlrAPI.ICimEntity Edge1 = aModel.GetEntityById(Edge1PID, aModel);
interop.CimMdlrAPI.ICimEntity Edge2 = aModel.GetEntityById(Edge2PID, aModel);


interop.CimMdlrAPI.IMdProcedure ProcedureChamfer =
(interop.CimMdlrAPI.MdChamfer)aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmChamferProcedure);
interop.CimMdlrAPI.IMdChamfer IMdChamfer = (interop.CimMdlrAPI.IMdChamfer)ProcedureChamfer;

interop.CimMdlrAPI.ICimEntityList aEntList = (interop.CimMdlrAPI.ICimEntityList) new interop.CimBaseAPI.CimEntityList();
aEntList.Add(Edge1);
aEntList.Add(Edge2);


IMdChamfer.IsSymmetric = 0;
IMdChamfer.Distance = 10;
IMdChamfer.Entities = aEntList;
IMdChamfer.Angle = 30;
IMdChamfer.FlipSide = 0; // Set 1 if want to flip angles

ProcedureChamfer.Execute();  

Symmetric ChamferSymmetric Chamfer
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 as CimAppAccess
import interop.CimatronE as CimatronE
import interop.CimServicesAPI as CimServicesAPI
import interop.CimBaseAPI as CimBaseAPI
import interop.CimMdlrAPI as CimMdlrAPI

Edge1PID = 28
Edge2PID = 30

aAppAcc = CimAppAccess.AppAccess()
cimApp = None
cimApp = CimatronE.IApplication(aAppAcc.GetApplication())

aDOC = CimBaseAPI.ICimDocument(cimApp.GetActiveDoc())
aModelCont = CimMdlrAPI.IModelContainer(aDOC)
aMdlrModel = CimMdlrAPI.MdlrModel(aModelCont.Model)


aModel = CimMdlrAPI.IModel(aMdlrModel)
Edge1 = aModel.GetEntityById(Edge1PID, aModel)
Edge2 = aModel.GetEntityById(Edge2PID, aModel)


aEntList = CimMdlrAPI.ICimEntityList(CimBaseAPI.CimEntityList())
aEntList.Add(Edge1)
aEntList.Add(Edge2)

ProcedureChamfer = CimMdlrAPI.MdChamfer(aMdlrModel.CreateProcedure(CimMdlrAPI.MdProcedureType.cmChamferProcedure))
IMdChamfer = CimMdlrAPI.IMdChamfer(ProcedureChamfer)

IMdChamfer.IsSymmetric = 1
IMdChamfer.Distance = 10
IMdChamfer.Entities = aEntList

ProcedureChamfer.Execute()

Asymmetric ChamferAsymmetric Chamfer
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 as CimAppAccess
import interop.CimatronE as CimatronE
import interop.CimServicesAPI as CimServicesAPI
import interop.CimBaseAPI as CimBaseAPI
import interop.CimMdlrAPI as CimMdlrAPI

Edge1PID = 28
Edge2PID = 30

aAppAcc = CimAppAccess.AppAccess()
cimApp = None
cimApp = CimatronE.IApplication(aAppAcc.GetApplication())

aDOC = CimBaseAPI.ICimDocument(cimApp.GetActiveDoc())
aModelCont = CimMdlrAPI.IModelContainer(aDOC)
aMdlrModel = CimMdlrAPI.MdlrModel(aModelCont.Model)


aModel = CimMdlrAPI.IModel(aMdlrModel)
Edge1 = aModel.GetEntityById(Edge1PID, aModel)
Edge2 = aModel.GetEntityById(Edge2PID, aModel)


aEntList = CimMdlrAPI.ICimEntityList(CimBaseAPI.CimEntityList())
aEntList.Add(Edge1)
aEntList.Add(Edge2)

ProcedureChamfer = CimMdlrAPI.MdChamfer(aMdlrModel.CreateProcedure(CimMdlrAPI.MdProcedureType.cmChamferProcedure))
IMdChamfer = CimMdlrAPI.IMdChamfer(ProcedureChamfer)

IMdChamfer.IsSymmetric = 0
IMdChamfer.Distance = 10
IMdChamfer.Entities = aEntList
IMdChamfer.Angle = 30
IMdChamfer.FlipSide = 0 # Set 1 if want to flip angles

ProcedureChamfer.Execute()