IMdLoft

This interface creates a new object that interpolates a series of sections. The solid body is formed throughout the sections.

Namespace

interop.CimMdlrAPI

Compatibility

Cimatron 2024 or later

Properties

Get, Set

SingleFace

int

Get, Set

OpenSolid

int

Get, Set

Entities

interop.CimMdlrAPI.ICimEntityList

Get, Set

FirstSlopeOption

interop.CimMdlrAPI.LoftSlope

Get, Set

ScndSlopeOption

interop.CimMdlrAPI.LoftSlope

Get, Set

FirstSlopeWeight

double

Get, Set

SecondSlopeWeight

double

Get, Set

FirstDirection

double[]

Get, Set

SecondDirection

double[]

Get, Set

FacesConnectionOption

interop.CimMdlrAPI.LoftFacesConnectionOption

Methods

NoneĀ 

Events

NoneĀ 

Remarks

None

Example

Example 1-Between Object FacesExample 1-Between Object Faces
// create Cimatron App Access object
interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
//Get application object from App access
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)aAppAccess.GetApplication();
// Get active document from application
if (CimApp != null)
{
interop.CimatronE.ICimDocument aDoc = CimApp.GetActiveDoc();
if (aDoc != null)
{
// Set model container
interop.CimMdlrAPI.IModelContainer aModelCont = (interop.CimMdlrAPI.IModelContainer)aDoc;

// Create the Sketcher procedure depended on the type of the active document.
// Get model type (can be Part/Assembly/NC)
if (aDoc.Type == interop.CimatronE.DocumentEnumType.cmPart)
{
// If active document is part then get the MdlrModel from document
interop.CimMdlrAPI.MdlrModel aMdlrModel =
(interop.CimMdlrAPI.MdlrModel)aModelCont.Model;
interop.CimMdlrAPI.IModel aIModel = (interop.CimMdlrAPI.IModel)aModelCont.Model;

//Create Loft type procedure
interop.CimMdlrAPI.MdLoft aMdLoftProcedure =
(interop.CimMdlrAPI.MdLoft)aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmLoftProcedure);

interop.CimMdlrAPI.IMdLoft aIMdLoft = (interop.CimMdlrAPI.IMdLoft)aMdLoftProcedure;

interop.CimMdlrAPI.ICimEntity aFirstEntity = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(34, aIModel);
interop.CimMdlrAPI.ICimEntity aSecondEntity = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(12, aIModel);

interop.CimMdlrAPI.ICimEntityList aFaceEntities = (interop.CimMdlrAPI.ICimEntityList)new interop.CimBaseAPI.CimEntityList();

aFaceEntities.Add(aFirstEntity);
aFaceEntities.Add(aSecondEntity);

aIMdLoft.Entities = aFaceEntities;
aIMdLoft.SingleFace = 1;
aIMdLoft.FirstSlopeOption = interop.CimMdlrAPI.LoftSlopeOption.cmLoftOptionTangent;
aIMdLoft.FirstSlopeWeight = 4.0;
aIMdLoft.ScndSlopeOption = interop.CimMdlrAPI.LoftSlopeOption.cmLoftOptionConstant;
aIMdLoft.SecondSlopeWeight = 5.0;
aIMdLoft.FacesConnectionOption = interop.CimMdlrAPI.LoftFacesConnectionOption.cmLoftFreeFacesConnection;
aMdLoftProcedure.Execute();
}
}
}

Example 2-Between FacesExample 2-Between Faces
// create Cimatron App Access object
interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
//Get application object from App access
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)aAppAccess.GetApplication();
// Get active document from application
if (CimApp != null)
{
interop.CimatronE.ICimDocument aDoc = CimApp.GetActiveDoc();
if (aDoc != null)
{
// Set model container
interop.CimMdlrAPI.IModelContainer aModelCont = (interop.CimMdlrAPI.IModelContainer)aDoc;

// Create the Sketcher procedure depended on the type of the active document.
// Get model type (can be Part/Assembly/NC)
if (aDoc.Type == interop.CimatronE.DocumentEnumType.cmPart)
{
// If active document is part then get the MdlrModel from document
interop.CimMdlrAPI.MdlrModel aMdlrModel =
(interop.CimMdlrAPI.MdlrModel)aModelCont.Model;
interop.CimMdlrAPI.IModel aIModel = (interop.CimMdlrAPI.IModel)aModelCont.Model;

//Create Loft type procedure
interop.CimMdlrAPI.MdLoft aMdLoftProcedure =
(interop.CimMdlrAPI.MdLoft)aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmLoftProcedure);

interop.CimMdlrAPI.IMdLoft aIMdLoft = (interop.CimMdlrAPI.IMdLoft)aMdLoftProcedure;

interop.CimMdlrAPI.ICimEntity aFirstEntity = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(11, aIModel);
interop.CimMdlrAPI.ICimEntity aSecondEntity = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(23, aIModel);

interop.CimMdlrAPI.ICimEntityList aFaceEntities = (interop.CimMdlrAPI.ICimEntityList)new interop.CimBaseAPI.CimEntityList();

aFaceEntities.Add(aFirstEntity);
aFaceEntities.Add(aSecondEntity);

aIMdLoft.Entities = aFaceEntities;
aIMdLoft.FirstSlopeOption = interop.CimMdlrAPI.LoftSlopeOption.cmLoftOptionFree;
aIMdLoft.ScndSlopeOption = interop.CimMdlrAPI.LoftSlopeOption.cmLoftOptionConstant;
aIMdLoft.SecondSlopeWeight = 5.0;

double[] aDir = { 0, 0, 1 };
aIMdLoft.SecondDirection = aDir;
aIMdLoft.SingleFace = 0;

aMdLoftProcedure.Execute();
}
}
}

Example 3-Between ContoursExample 3-Between Contours
// create Cimatron App Access object
interop.CimAppAccess.AppAccess aAppAccess = new interop.CimAppAccess.AppAccess();
//Get application object from App access
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)aAppAccess.GetApplication();
// Get active document from application
if (CimApp != null)
{
interop.CimatronE.ICimDocument aDoc = CimApp.GetActiveDoc();
if (aDoc != null)
{
// Set model container
interop.CimMdlrAPI.IModelContainer aModelCont = (interop.CimMdlrAPI.IModelContainer)aDoc;

// Create the Sketcher procedure depended on the type of the active document.
// Get model type (can be Part/Assembly/NC)
if (aDoc.Type == interop.CimatronE.DocumentEnumType.cmPart)
{
// If active document is part then get the MdlrModel from document
interop.CimMdlrAPI.MdlrModel aMdlrModel =
(interop.CimMdlrAPI.MdlrModel)aModelCont.Model;
interop.CimMdlrAPI.IModel aIModel = (interop.CimMdlrAPI.IModel)aModelCont.Model;

//Create Loft type procedure
interop.CimMdlrAPI.MdLoft aMdLoftProcedure =
(interop.CimMdlrAPI.MdLoft)aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmLoftProcedure);

interop.CimMdlrAPI.IMdLoft aIMdLoft = (interop.CimMdlrAPI.IMdLoft)aMdLoftProcedure;

interop.CimMdlrAPI.ICimEntity aFirstEntity = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(66, aIModel);
interop.CimMdlrAPI.ICimEntity aSecondEntity = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(102, aIModel);
interop.CimMdlrAPI.ICimEntity aThirdEntity = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(78, aIModel);
interop.CimMdlrAPI.ICimEntity aFourthEntity = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(72, aIModel);
interop.CimMdlrAPI.ICimEntity aFifthEntity = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(93, aIModel);
interop.CimMdlrAPI.ICimEntity aSixthEntity = (interop.CimMdlrAPI.ICimEntity)aIModel.GetEntityById(84, aIModel);

interop.CimMdlrAPI.ICimEntityList aFaceEntities = (interop.CimMdlrAPI.ICimEntityList)new interop.CimBaseAPI.CimEntityList();

aFaceEntities.Add(aFirstEntity);
aFaceEntities.Add(aSecondEntity);
aFaceEntities.Add(aThirdEntity);
aFaceEntities.Add(aFourthEntity);
aFaceEntities.Add(aFifthEntity);
aFaceEntities.Add(aSixthEntity);

aIMdLoft.Entities = aFaceEntities;
aIMdLoft.SingleFace = 0;
aIMdLoft.OpenSolid = 0;
aIMdLoft.FirstSlopeOption = interop.CimMdlrAPI.LoftSlopeOption.cmLoftOptionConstant;
aIMdLoft.FirstSlopeWeight = 5.0;

double[] aDir = { 0, 0, -1 };
aIMdLoft.FirstDirection = aDir;

aMdLoftProcedure.Execute();
}
}
}

Example 1-Between Object FacesExample 1-Between Object Faces
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 = interop.CimAppAccess.AppAccess()

#Getting instance of CimatronE Application
aCimApp = None
while (aCimApp == None) :
aCimApp = (interop.CimatronE.IApplication)(aCimAppAccess.GetApplication())

aDoc = (interop.CimBaseAPI.ICimDocument)(aCimApp.GetActiveDoc())
aModelCont = (interop.CimMdlrAPI.IModelContainer)(aDoc)
aMdlrModel = (interop.CimMdlrAPI.MdlrModel)(aModelCont.Model)

#Create MdLoft procedure on Modeler Model
aMdLoftProcedure = (interop.CimMdlrAPI.MdLoft)(aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmLoftProcedure))
aIMdLoft = (interop.CimMdlrAPI.IMdLoft)(aMdLoftProcedure)

aIModel = (interop.CimMdlrAPI.IModel)(aModelCont.Model)

#Get the Sheet Bodies with PId
aFirstEntity = aIModel.GetEntityById(34, aIModel)
aSecondEntity = aIModel.GetEntityById(12, aIModel)

aFaceEntities = interop.CimMdlrAPI.ICimEntityList(interop.CimBaseAPI.CimEntityList())
aFaceEntities.Add(aFirstEntity)
aFaceEntities.Add(aSecondEntity)

#Set / assign required properties and methods
aIMdLoft.Entities = aFaceEntities
aIMdLoft.SingleFace = 1
aIMdLoft.FirstSlopeOption = interop.CimMdlrAPI.LoftSlopeOption.cmLoftOptionTangent
aIMdLoft.FirstSlopeWeight = 4.0
aIMdLoft.ScndSlopeOption = interop.CimMdlrAPI.LoftSlopeOption.cmLoftOptionConstant
aIMdLoft.SecondSlopeWeight = 5.0
aIMdLoft.FacesConnectionOption = interop.CimMdlrAPI.LoftFacesConnectionOption.cmLoftFreeFacesConnection
aMdLoftProcedure.Execute()

Example 2-Between FacesExample 2-Between Faces
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
import System

#Getting AppAccess Object
aCimAppAccess = interop.CimAppAccess.AppAccess()

#Getting instance of CimatronE Application
aCimApp = None
while (aCimApp == None) :
aCimApp = (interop.CimatronE.IApplication)(aCimAppAccess.GetApplication())

aDoc = (interop.CimBaseAPI.ICimDocument)(aCimApp.GetActiveDoc())
aModelCont = (interop.CimMdlrAPI.IModelContainer)(aDoc)
aMdlrModel = (interop.CimMdlrAPI.MdlrModel)(aModelCont.Model)

#Create MdLoft procedure on Modeler Model
aMdLoftProcedure = (interop.CimMdlrAPI.MdLoft)(aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmLoftProcedure))
aIMdLoft = (interop.CimMdlrAPI.IMdLoft)(aMdLoftProcedure)

aIModel = (interop.CimMdlrAPI.IModel)(aModelCont.Model)

#Get the Sheet Bodies with PId
aFirstEntity = aIModel.GetEntityById(11, aIModel)
aSecondEntity = aIModel.GetEntityById(23, aIModel)

aFaceEntities = interop.CimMdlrAPI.ICimEntityList(interop.CimBaseAPI.CimEntityList())
aFaceEntities.Add(aFirstEntity)
aFaceEntities.Add(aSecondEntity)

#Set / assign required properties and methods
aIMdLoft.Entities = aFaceEntities
aIMdLoft.FirstSlopeOption = interop.CimMdlrAPI.LoftSlopeOption.cmLoftOptionFree
aIMdLoft.ScndSlopeOption = interop.CimMdlrAPI.LoftSlopeOption.cmLoftOptionConstant
aIMdLoft.SecondSlopeWeight = 5.0
aDir = System.Array[float]([0.0, 0.0, 1.0])
aIMdLoft.SecondDirection = aDir
aIMdLoft.SingleFace = 0
aMdLoftProcedure.Execute()

Example 3-Between ContoursExample 3-Between Contours
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
import System

#Getting AppAccess Object
aCimAppAccess = interop.CimAppAccess.AppAccess()

#Getting instance of CimatronE Application
aCimApp = None
while (aCimApp == None) :
aCimApp = (interop.CimatronE.IApplication)(aCimAppAccess.GetApplication())

aDoc = (interop.CimBaseAPI.ICimDocument)(aCimApp.GetActiveDoc())
aModelCont = (interop.CimMdlrAPI.IModelContainer)(aDoc)
aMdlrModel = (interop.CimMdlrAPI.MdlrModel)(aModelCont.Model)

#Create MdLoft procedure on Modeler Model
aMdLoftProcedure = (interop.CimMdlrAPI.MdLoft)(aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmLoftProcedure))
aIMdLoft = (interop.CimMdlrAPI.IMdLoft)(aMdLoftProcedure)

aIModel = (interop.CimMdlrAPI.IModel)(aModelCont.Model)

#Get the Sheet Bodies with PId
aFirstEntity = aIModel.GetEntityById(66, aIModel)
aSecondEntity = aIModel.GetEntityById(102, aIModel)
aThirdEntity = aIModel.GetEntityById(78, aIModel)
aFourthEntity = aIModel.GetEntityById(72, aIModel)
aFifthEntity = aIModel.GetEntityById(93, aIModel)
aSixthEntity = aIModel.GetEntityById(84, aIModel)

aFaceEntities = interop.CimMdlrAPI.ICimEntityList(interop.CimBaseAPI.CimEntityList())
aFaceEntities.Add(aFirstEntity)
aFaceEntities.Add(aSecondEntity)
aFaceEntities.Add(aThirdEntity)
aFaceEntities.Add(aFourthEntity)
aFaceEntities.Add(aFifthEntity)
aFaceEntities.Add(aSixthEntity)

#Set / assign required properties and methods
aIMdLoft.Entities = aFaceEntities
aIMdLoft.SingleFace = 0
aIMdLoft.OpenSolid = 0
aIMdLoft.FirstSlopeOption = interop.CimMdlrAPI.LoftSlopeOption.cmLoftOptionConstant
aIMdLoft.FirstSlopeWeight = 5.0

aDir = System.Array[float]([0.0, 0.0, -1.0])
aIMdLoft.FirstDirection = aDir

aMdLoftProcedure.Execute()