ISkSpline::GetStartSlope

Use this method to get the vector of a spline slope at its start point. 

Compatibility

Cimatron 2024 or later

Syntax

interop.CimServicesAPI.ISkLine GetStartSlope();

def GetStartSlope()->interop.CimServicesAPI.ISkLine

Return Type

Return: interop.CimServicesAPI.ISkLine

pSlope—a reference to ISkLine interface of line tangent at spline start point

   

Input Type

Input: None  
   

Remarks

None

Example

// 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
interop.CimBaseAPI.ICimDocument aDOC = (interop.CimBaseAPI.ICimDocument)CimApp.GetActiveDoc();
if (aDOC != null) // Check if document was found
{
interop.CimMdlrAPI.IModelContainer aModelCont = (interop.CimMdlrAPI.IModelContainer)aDOC;
// Create the Sketcher procedure depended on the type of the active document. For now we take part document
if (aDOC.Type == interop.CimBaseAPI.DocumentEnumType.cmPart)
{
// If active document is part then get the MdlrModel from model container
interop.CimMdlrAPI.MdlrModel aMdlrModel = (interop.CimMdlrAPI.MdlrModel)aModelCont.Model;
//Create sketcher procedure on Modeler Model
interop.CimMdlrAPI.MdSketcher aMdSketcherProcedure =
(interop.CimMdlrAPI.MdSketcher)aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmSketcherProcedure);
// Cast MdSketcher to IMdSketcher to get sketcher object
interop.CimMdlrAPI.IMdSketcher aIMdSketcher = (interop.CimMdlrAPI.IMdSketcher)aMdSketcherProcedure;
interop.CimServicesAPI.ISketcher aISketcher = (interop.CimServicesAPI.ISketcher)aIMdSketcher.Sketcher;
//Create SkSpline type object
interop.CimServicesAPI.ISkObject aSKSplineObj = aISketcher.CreateObject(interop.CimServicesAPI.SketchObjectType.cmSketchSpline);
interop.CimServicesAPI.ISkSpline aSkSpline = (interop.CimServicesAPI.ISkSpline)aSKSplineObj;
double[] aPoints = new double[10];
aPoints[0] = 0;
aPoints[1] = 0;
aPoints[2] = 5;
aPoints[3] = 10;
aPoints[4] = 10;
aPoints[5] = 50;
aPoints[6] = 20;
aPoints[7] = 20;
aPoints[8] = 30;
aPoints[9] = -20;
aSkSpline.Points = aPoints;
aISketcher.AddObject(aSKSplineObj);
aISketcher.Evaluate();
aMdSketcherProcedure.Execute();

interop.CimServicesAPI.ISkLine aSkStartTangentLine = aSkSpline.GetStartSlope();
}
}  

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())
aDocument = (interop.CimatronE.ICimDocument)(aCimApp.GetActiveDoc())
if (aDocument != None) :
if (aDocument.Type == interop.CimatronE.DocumentEnumType.cmPart) :
aModelCont = (interop.CimMdlrAPI.IModelContainer)(aDocument)
#If active document is part then get the MdlrModel from model container
aMdlrModel = (interop.CimMdlrAPI.MdlrModel)(aModelCont.Model)
aMdSketcherProcedure = (interop.CimMdlrAPI.MdSketcher)(aMdlrModel.CreateProcedure(interop.CimMdlrAPI.MdProcedureType.cmSketcherProcedure))
# Cast MdSketcher to IMdSketcher to get sketcher object
aIMdSketcher = (interop.CimMdlrAPI.IMdSketcher)(aMdSketcherProcedure)
aISketcher = (interop.CimServicesAPI.ISketcher)(aIMdSketcher.Sketcher)
#Create SKSpline type object
aSKSplineObj= (interop.CimServicesAPI.ISkObject)(aISketcher.CreateObject(interop.CimServicesAPI.SketchObjectType.cmSketchSpline))
aSkSpline = (interop.CimServicesAPI.ISkSpline)(aSKSplineObj)
from System import Array, Double
aPoints = Array[Double](10)
aPoints[0] = 0
aPoints[1] = 0
aPoints[2] = 5
aPoints[3] = 10
aPoints[4] = 10
aPoints[5] = 50
aPoints[6] = 20
aPoints[7] = 20
aPoints[8] = 30
aPoints[9] = -20
aSkSpline.Points = aPoints
aISketcher.AddObject(aSKSplineObj)
aISketcher.Evaluate()
aMdSketcherProcedure.Execute()

aSkStartTangentLine = (interop.CimServicesAPI.ISkLine)(aSkSpline.GetStartSlope())