IMdDriveFace

 

Namespace

interop.CimMdlrAPI

Compatibility

Cimatron 2024 or later

Properties

Get, Set

OptionalPlane

interop.CimMdlrAPI.ICimEntity

Get, Set

PlaneOption

interop.CimMdlrAPI.DrivePlaneOption

Get, Set

Direction

interop.CimMdlrAPI.DriveDirection

Get, Set

ParallelNormal

interop.CimMdlrAPI.DriveParallelNormal

Get, Set

SingleMulti

interop.CimMdlrAPI.DriveSingleMulti

Get, Set

Tolerance

double

Get, Set

SpinePoints

double[]

Get, Set

RailEntities

interop.CimMdlrAPI.ICimEntityList

Get, Set

SpineEntities

interop.CimMdlrAPI.ICimEntityList

Get, Set

SectionEntities

interop.CimMdlrAPI.ICimEntityList

Get, Set

HeightOption

interop.CimMdlrAPI.DriveHeightOption

Get, Set

SplinePoint

interop.CimMdlrAPI.IPointData

Methods

None 

Events

None 

Remarks

None

Example

Example 1-One Section, One Spline, and Normal ModeExample 1-One Section, One Spline, and Normal Mode
interop.CimatronE.IApplication aApplication = null;
// Create Cimatron App Access object
interop.CimAppAccess.AppAccess CimAppAcc = new interop.CimAppAccess.AppAccess();
// Get application object from App access
aApplication = (interop.CimatronE.IApplication)CimAppAcc.GetApplication();
interop.CimatronE.ICimDocument aActiveDoc_1 = null;
// Get active document from application
aActiveDoc_1 = (interop.CimatronE.ICimDocument)aApplication.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer IModelContainer_1 = (interop.CimMdlrAPI.IModelContainer)aActiveDoc_1;
// Get Models
interop.CimMdlrAPI.IModel aActiveModel_1 = (interop.CimMdlrAPI.IModel)IModelContainer_1.Model;
interop.CimMdlrAPI.MdlrModel MdlrModel_1 = (interop.CimMdlrAPI.MdlrModel)IModelContainer_1.Model;
interop.CimMdlrAPI.MdlrModel MdlrModel_2 = (interop.CimMdlrAPI.MdlrModel)aActiveModel_1;
interop.CimMdlrAPI.IMdProcedure IMdProcedure_1 = null;
// Create Drive Face Procedure
IMdProcedure_1 = MdlrModel_2.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmDriveFaceProcedure);
// Cast To IMdDriveFace Procedure
interop.CimMdlrAPI.IMdDriveFace IMdDriveFace_1 = (interop.CimMdlrAPI.IMdDriveFace)IMdProcedure_1;
// Set Parameters to the procedure
interop.CimBaseAPI.ICimEntityList ICimEntityList_1 = new interop.CimBaseAPI.CimEntityList();
interop.CimMdlrAPI.ICimEntityList ICimEntityList_2 = (interop.CimMdlrAPI.ICimEntityList)ICimEntityList_1;
ICimEntityList_2.Add(aActiveModel_1.GetEntityById(14, aActiveModel_1));
IMdDriveFace_1.SectionEntities = ICimEntityList_2;
IMdDriveFace_1.SingleMulti = interop.CimMdlrAPI.DriveSingleMulti.cmDriveMulti;
interop.CimBaseAPI.ICimEntityList ICimEntityList_3 = new interop.CimBaseAPI.CimEntityList();
interop.CimMdlrAPI.ICimEntityList ICimEntityList_4 = (interop.CimMdlrAPI.ICimEntityList)ICimEntityList_3;
ICimEntityList_4.Add(aActiveModel_1.GetEntityById(24, aActiveModel_1));
IMdDriveFace_1.SpineEntities = ICimEntityList_4;
interop.CimBaseAPI.ICimEntityList ICimEntityList_5 = new interop.CimBaseAPI.CimEntityList();
interop.CimMdlrAPI.ICimEntityList ICimEntityList_6 = (interop.CimMdlrAPI.ICimEntityList)ICimEntityList_5;
IMdDriveFace_1.RailEntities = ICimEntityList_6;
IMdDriveFace_1.Tolerance = 0.01;
IMdDriveFace_1.ParallelNormal = interop.CimMdlrAPI.DriveParallelNormal.cmDriveNormal;
IMdDriveFace_1.Direction = interop.CimMdlrAPI.DriveDirection.cmDriveForward;
IMdDriveFace_1.PlaneOption = interop.CimMdlrAPI.DrivePlaneOption.cmDrivePlaneActive;
IMdDriveFace_1.HeightOption = interop.CimMdlrAPI.DriveHeightOption.cmDriveHeightConstant;
// Execute the Procedure
IMdProcedure_1.Execute();

Example 2-One Section, One Spline, and One PointExample 2-One Section, One Spline, and One Point
interop.CimatronE.IApplication aApplication = null;
// Create Cimatron App Access object
interop.CimAppAccess.AppAccess CimAppAcc = new interop.CimAppAccess.AppAccess();
// Get application object from App access
aApplication = (interop.CimatronE.IApplication)CimAppAcc.GetApplication();
interop.CimatronE.ICimDocument aActiveDoc_1 = null;
// Get active document from application
aActiveDoc_1 = (interop.CimatronE.ICimDocument)aApplication.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer IModelContainer_1 = (interop.CimMdlrAPI.IModelContainer)aActiveDoc_1;
// Get Models
interop.CimMdlrAPI.IModel aActiveModel_1 = (interop.CimMdlrAPI.IModel)IModelContainer_1.Model;
interop.CimMdlrAPI.MdlrModel MdlrModel_1 = (interop.CimMdlrAPI.MdlrModel)IModelContainer_1.Model;
interop.CimMdlrAPI.MdlrModel MdlrModel_2 = (interop.CimMdlrAPI.MdlrModel)aActiveModel_1;
interop.CimMdlrAPI.IMdProcedure IMdProcedure_1 = null;
// Create Drive Face Procedure
IMdProcedure_1 = MdlrModel_2.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmDriveFaceProcedure);
// Cast To IMdDriveFace Procedure
interop.CimMdlrAPI.IMdDriveFace IMdDriveFace_1 = (interop.CimMdlrAPI.IMdDriveFace)IMdProcedure_1;
// Set Parameters to the procedure
interop.CimBaseAPI.ICimEntityList ICimEntityList_1 = new interop.CimBaseAPI.CimEntityList();
interop.CimMdlrAPI.ICimEntityList ICimEntityList_2 = (interop.CimMdlrAPI.ICimEntityList)ICimEntityList_1;
ICimEntityList_2.Add(aActiveModel_1.GetEntityById(31, aActiveModel_1));
IMdDriveFace_1.SectionEntities = ICimEntityList_2;
IMdDriveFace_1.SingleMulti = interop.CimMdlrAPI.DriveSingleMulti.cmDriveMulti;
interop.CimBaseAPI.ICimEntityList ICimEntityList_3 = new interop.CimBaseAPI.CimEntityList();
interop.CimMdlrAPI.ICimEntityList ICimEntityList_4 = (interop.CimMdlrAPI.ICimEntityList)ICimEntityList_3;
ICimEntityList_4.Add(aActiveModel_1.GetEntityById(20, aActiveModel_1));
IMdDriveFace_1.SpineEntities = ICimEntityList_4;
interop.CimBaseAPI.ICimEntityList ICimEntityList_5 = new interop.CimBaseAPI.CimEntityList();
interop.CimMdlrAPI.ICimEntityList ICimEntityList_6 = (interop.CimMdlrAPI.ICimEntityList)ICimEntityList_5;
IMdDriveFace_1.RailEntities = ICimEntityList_6;
interop.CimMdlrAPI.IMdlrModel IMdlrModel_1 = (interop.CimMdlrAPI.IMdlrModel)aActiveModel_1;
interop.CimServicesAPI.IGeomServices IGeomServices_1 = (interop.CimServicesAPI.IGeomServices)IMdlrModel_1.GetGeomServicesObj();
interop.CimMdlrAPI.IPointData IPointData_1 = (interop.CimMdlrAPI.IPointData)IGeomServices_1.CreateIPointDataForPointOnCurve((interop.CimServicesAPI.ICimEntity)aActiveModel_1.GetEntityById(4, aActiveModel_1), 96.5840600356689, (interop.CimServicesAPI.EPointType)interop.CimMdlrAPI.EPointType.cmPtEnd);
IMdDriveFace_1.SplinePoint = IPointData_1;
IMdDriveFace_1.Tolerance = 0.2;
IMdDriveFace_1.ParallelNormal = interop.CimMdlrAPI.DriveParallelNormal.cmDriveParallel;
IMdDriveFace_1.Direction = interop.CimMdlrAPI.DriveDirection.cmDriveForward;
IMdDriveFace_1.PlaneOption = interop.CimMdlrAPI.DrivePlaneOption.cmDrivePlaneNone;
IMdDriveFace_1.HeightOption = interop.CimMdlrAPI.DriveHeightOption.cmDriveHeightConstant;
// Execute the Procedure
IMdProcedure_1.Execute();

Example 3-One Section, One Spline, and One RailExample 3-One Section, One Spline, and One Rail
interop.CimatronE.IApplication aApplication = null;
// Create Cimatron App Access object
interop.CimAppAccess.AppAccess CimAppAcc = new interop.CimAppAccess.AppAccess();
// Get application object from App access
aApplication = (interop.CimatronE.IApplication)CimAppAcc.GetApplication();
interop.CimatronE.ICimDocument aActiveDoc_1 = null;
// Get active document from application
aActiveDoc_1 = (interop.CimatronE.ICimDocument)aApplication.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer IModelContainer_1 = (interop.CimMdlrAPI.IModelContainer)aActiveDoc_1;
// Get Models
interop.CimMdlrAPI.IModel aActiveModel_1 = (interop.CimMdlrAPI.IModel)IModelContainer_1.Model;
interop.CimMdlrAPI.MdlrModel MdlrModel_1 = (interop.CimMdlrAPI.MdlrModel)IModelContainer_1.Model;
interop.CimMdlrAPI.MdlrModel MdlrModel_2 = (interop.CimMdlrAPI.MdlrModel)aActiveModel_1;
interop.CimMdlrAPI.IMdProcedure IMdProcedure_1 = null;
// Create Drive Face Procedure
IMdProcedure_1 = MdlrModel_2.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmDriveFaceProcedure);
// Cast To IMdDriveFace Procedure
interop.CimMdlrAPI.IMdDriveFace IMdDriveFace_1 = (interop.CimMdlrAPI.IMdDriveFace)IMdProcedure_1;
// Set Parameters to the procedure
interop.CimBaseAPI.ICimEntityList ICimEntityList_1 = new interop.CimBaseAPI.CimEntityList();
interop.CimMdlrAPI.ICimEntityList ICimEntityList_2 = (interop.CimMdlrAPI.ICimEntityList)ICimEntityList_1;
ICimEntityList_2.Add(aActiveModel_1.GetEntityById(10, aActiveModel_1));
IMdDriveFace_1.SectionEntities = ICimEntityList_2;
IMdDriveFace_1.SingleMulti = interop.CimMdlrAPI.DriveSingleMulti.cmDriveSingle;
interop.CimBaseAPI.ICimEntityList ICimEntityList_3 = new interop.CimBaseAPI.CimEntityList();
interop.CimMdlrAPI.ICimEntityList ICimEntityList_4 = (interop.CimMdlrAPI.ICimEntityList)ICimEntityList_3;
ICimEntityList_4.Add(aActiveModel_1.GetEntityById(7, aActiveModel_1));
IMdDriveFace_1.SpineEntities = ICimEntityList_4;
interop.CimBaseAPI.ICimEntityList ICimEntityList_5 = new interop.CimBaseAPI.CimEntityList();
interop.CimMdlrAPI.ICimEntityList ICimEntityList_6 = (interop.CimMdlrAPI.ICimEntityList)ICimEntityList_5;
ICimEntityList_6.Add(aActiveModel_1.GetEntityById(4, aActiveModel_1));
IMdDriveFace_1.RailEntities = ICimEntityList_6;
IMdDriveFace_1.Tolerance = 0.0127;
IMdDriveFace_1.ParallelNormal = interop.CimMdlrAPI.DriveParallelNormal.cmDriveNormal;
IMdDriveFace_1.Direction = interop.CimMdlrAPI.DriveDirection.cmDriveForward;
IMdDriveFace_1.PlaneOption = interop.CimMdlrAPI.DrivePlaneOption.cmDrivePlaneNone;
IMdDriveFace_1.HeightOption = interop.CimMdlrAPI.DriveHeightOption.cmDriveHeightConstant;
// Execute the Procedure
IMdProcedure_1.Execute();

Example 1-One Section, One Spline, and Normal ModeExample 1-One Section, One Spline, and Normal Mode
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")
clr.AddReference('interop.CIMMiscAPI')

#importing modules from interop dlls
import interop.CimAppAccess
import interop.CimatronE
import interop.CimServicesAPI
import interop.CimBaseAPI
import interop.CimMdlrAPI
import interop.CIMMiscAPI
import System

aApplication = None
# Create Cimatron App Access object
aAppAcc = interop.CimAppAccess.AppAccess()
# Get application object from App access
aApplication = interop.CimatronE.IApplication(aAppAcc.GetApplication())
# Get active document from application
aActiveDoc_1 = interop.CimBaseAPI.ICimDocument(aApplication.GetActiveDoc())
IModelContainer_1 = interop.CimMdlrAPI.IModelContainer(aActiveDoc_1)
# Get Models
aActiveModel_1 = interop.CimMdlrAPI.IModel(IModelContainer_1.Model)
MdlrModel_1 = interop.CimMdlrAPI.MdlrModel(IModelContainer_1.Model)

MdlrModel_2 = interop.CimMdlrAPI.MdlrModel(aActiveModel_1)
IMdProcedure_1 = None
# Create Drive Face Procedure
IMdProcedure_1 = MdlrModel_2.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmDriveFaceProcedure)
# Cast To IMdDriveFace Procedure
IMdDriveFace_1 = interop.CimMdlrAPI.IMdDriveFace(IMdProcedure_1)
# Set Parameters to the procedure
ICimEntityList_1 = interop.CimBaseAPI.CimEntityList()
ICimEntityList_2 = interop.CimMdlrAPI.ICimEntityList(ICimEntityList_1)
ICimEntityList_2.Add(aActiveModel_1.GetEntityById(14, aActiveModel_1))
IMdDriveFace_1.SectionEntities = ICimEntityList_2
IMdDriveFace_1.SingleMulti = interop.CimMdlrAPI.DriveSingleMulti.cmDriveMulti
ICimEntityList_3 = interop.CimBaseAPI.CimEntityList()
ICimEntityList_4 = interop.CimMdlrAPI.ICimEntityList(ICimEntityList_3)
ICimEntityList_4.Add(aActiveModel_1.GetEntityById(24, aActiveModel_1))
IMdDriveFace_1.SpineEntities = ICimEntityList_4
ICimEntityList_5 = interop.CimBaseAPI.CimEntityList()
ICimEntityList_6 = interop.CimMdlrAPI.ICimEntityList(ICimEntityList_5)
IMdDriveFace_1.RailEntities = ICimEntityList_6
IMdDriveFace_1.Tolerance = 0.01
IMdDriveFace_1.ParallelNormal = interop.CimMdlrAPI.DriveParallelNormal.cmDriveParallel
IMdDriveFace_1.Direction = interop.CimMdlrAPI.DriveDirection.cmDriveForward
IMdDriveFace_1.PlaneOption = interop.CimMdlrAPI.DrivePlaneOption.cmDrivePlaneNone
IMdDriveFace_1.HeightOption = interop.CimMdlrAPI.DriveHeightOption.cmDriveHeightConstant
# Execute the Procedure
IMdProcedure_1.Execute()

Example 2-One Section, One Spline, and One PointExample 2-One Section, One Spline, and One Point
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")
clr.AddReference('interop.CIMMiscAPI')

#importing modules from interop dlls
import interop.CimAppAccess
import interop.CimatronE
import interop.CimServicesAPI
import interop.CimBaseAPI
import interop.CimMdlrAPI
import interop.CIMMiscAPI
import System
aApplication = None
# Create Cimatron App Access object
aAppAcc = interop.CimAppAccess.AppAccess()
# Get application object from App access
aApplication = interop.CimatronE.IApplication(aAppAcc.GetApplication())
# Get active document from application
aActiveDoc_1 = interop.CimBaseAPI.ICimDocument(aApplication.GetActiveDoc())
IModelContainer_1 = interop.CimMdlrAPI.IModelContainer(aActiveDoc_1)
# Get Models
aActiveModel_1 = interop.CimMdlrAPI.IModel(IModelContainer_1.Model)
MdlrModel_1 = interop.CimMdlrAPI.MdlrModel(IModelContainer_1.Model)
MdlrModel_2 = interop.CimMdlrAPI.MdlrModel(aActiveModel_1)
IMdProcedure_1 = None
# Create Drive Face Procedure
IMdProcedure_1 = MdlrModel_2.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmDriveFaceProcedure)
# Cast To IMdDriveFace Procedure
IMdDriveFace_1 = interop.CimMdlrAPI.IMdDriveFace(IMdProcedure_1)
# Set Parameters to the procedure
ICimEntityList_1 = interop.CimBaseAPI.CimEntityList()
ICimEntityList_2 = interop.CimMdlrAPI.ICimEntityList(ICimEntityList_1)
ICimEntityList_2.Add(aActiveModel_1.GetEntityById(31, aActiveModel_1))
IMdDriveFace_1.SectionEntities = ICimEntityList_2
IMdDriveFace_1.SingleMulti = interop.CimMdlrAPI.DriveSingleMulti.cmDriveMulti
ICimEntityList_3 = interop.CimBaseAPI.CimEntityList()
ICimEntityList_4 = interop.CimMdlrAPI.ICimEntityList(ICimEntityList_3)
ICimEntityList_4.Add(aActiveModel_1.GetEntityById(6, aActiveModel_1))
IMdDriveFace_1.SpineEntities = ICimEntityList_4
ICimEntityList_5 = interop.CimBaseAPI.CimEntityList()
ICimEntityList_6 = interop.CimMdlrAPI.ICimEntityList(ICimEntityList_5)
IMdDriveFace_1.RailEntities = ICimEntityList_6
IMdlrModel_1 = interop.CimMdlrAPI.IMdlrModel(aActiveModel_1)
IGeomServices_1 = interop.CimServicesAPI.IGeomServices(IMdlrModel_1.GetGeomServicesObj())
IPointData_1 = interop.CimMdlrAPI.IPointData(IGeomServices_1.CreateIPointDataForPointOnCurve(interop.CimServicesAPI.ICimEntity(aActiveModel_1.GetEntityById(18, aActiveModel_1)), 1.12152216540301, interop.CimServicesAPI.EPointType.cmPtStart))
IMdDriveFace_1.SplinePoint = IPointData_1
IMdDriveFace_1.Tolerance = 0.2
IMdDriveFace_1.ParallelNormal = interop.CimMdlrAPI.DriveParallelNormal.cmDriveParallel
IMdDriveFace_1.Direction = interop.CimMdlrAPI.DriveDirection.cmDriveForward
IMdDriveFace_1.PlaneOption = interop.CimMdlrAPI.DrivePlaneOption.cmDrivePlaneNone
IMdDriveFace_1.HeightOption = interop.CimMdlrAPI.DriveHeightOption.cmDriveHeightConstant
# Execute the Procedure
IMdProcedure_1.Execute()

Example 3-One Section, One Spline, and One RailExample 3-One Section, One Spline, and One Rail 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")
clr.AddReference('interop.CIMMiscAPI')

#importing modules from interop dlls
import interop.CimAppAccess
import interop.CimatronE
import interop.CimServicesAPI
import interop.CimBaseAPI
import interop.CimMdlrAPI
import interop.CIMMiscAPI
import System
aApplication = None
# Create Cimatron App Access object
aAppAcc = interop.CimAppAccess.AppAccess()
# Get application object from App access
aApplication = interop.CimatronE.IApplication(aAppAcc.GetApplication())
# Get active document from application
aActiveDoc_1 = interop.CimBaseAPI.ICimDocument(aApplication.GetActiveDoc())
IModelContainer_1 = interop.CimMdlrAPI.IModelContainer(aActiveDoc_1)
# Get Models
aActiveModel_1 = interop.CimMdlrAPI.IModel(IModelContainer_1.Model)
MdlrModel_1 = interop.CimMdlrAPI.MdlrModel(IModelContainer_1.Model)
MdlrModel_2 = interop.CimMdlrAPI.MdlrModel(aActiveModel_1)
IMdProcedure_1 = None
# Create Drive Face Procedure
IMdProcedure_1 = MdlrModel_2.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmDriveFaceProcedure)
# Cast To IMdDriveFace Procedure
IMdDriveFace_1 = interop.CimMdlrAPI.IMdDriveFace(IMdProcedure_1)
# Set Parameters to the procedure
ICimEntityList_1 = interop.CimBaseAPI.CimEntityList()
ICimEntityList_2 = interop.CimMdlrAPI.ICimEntityList(ICimEntityList_1)
ICimEntityList_2.Add(aActiveModel_1.GetEntityById(10, aActiveModel_1))
IMdDriveFace_1.SectionEntities = ICimEntityList_2
IMdDriveFace_1.SingleMulti = interop.CimMdlrAPI.DriveSingleMulti.cmDriveSingle
ICimEntityList_3 = interop.CimBaseAPI.CimEntityList()
ICimEntityList_4 = interop.CimMdlrAPI.ICimEntityList(ICimEntityList_3)
ICimEntityList_4.Add(aActiveModel_1.GetEntityById(4, aActiveModel_1))
IMdDriveFace_1.SpineEntities = ICimEntityList_4
ICimEntityList_5 = interop.CimBaseAPI.CimEntityList()
ICimEntityList_6 = interop.CimMdlrAPI.ICimEntityList(ICimEntityList_5)
ICimEntityList_6.Add(aActiveModel_1.GetEntityById(7, aActiveModel_1))
IMdDriveFace_1.RailEntities = ICimEntityList_6
IMdDriveFace_1.Tolerance = 7.62
IMdDriveFace_1.ParallelNormal = interop.CimMdlrAPI.DriveParallelNormal.cmDriveNormal
IMdDriveFace_1.Direction = interop.CimMdlrAPI.DriveDirection.cmDriveForward
IMdDriveFace_1.PlaneOption = interop.CimMdlrAPI.DrivePlaneOption.cmDrivePlaneNone
IMdDriveFace_1.HeightOption = interop.CimMdlrAPI.DriveHeightOption.cmDriveHeightConstant
# Execute the Procedure
IMdProcedure_1.Execute()