IGeom3DCurve

This interface represents the general curve geometry data. More specific data about required curve types may be obtained through the IGeom3DStraight, IGeom3DEllipse, IGeom3DIntCurve, IGeom3DSpline interfaces.

Namespace

interop.CimServicesAPI

Compatibility

Cimatron 2024 or later

Properties

Get

Limit

double[]

Get

CurveLimits

double[]

Get

Sense

int

Get

CurveSense

int

Get

CurveType

interop.CimServicesAPI.GeomCurveType

Get

End

double[]

Get

EndPoint

double[]

Get

Start

double[]

Get

StartPoint

double[]

Get

Length

double

Methods

double[]

Evaluate

( double )

double[]

EvaluatePoint

( double )

double[]

Tangent

( double )

double[]

CurveTangent

( double )

double

BoundedLength

( double, double )

double[]

Bound

( double, double )

double

Extremum

( double[] )

double[]

Curvature

( double )

double

ParamByPoint

( double[], double )

int

TestPoint

( double[], double )

int

IsPeriodic

( )

int

IsClosed

( )

double[]

PrepByPoint

( double[], double )

interop.CimServicesAPI.IPointData

GetPointData

( interop.CimServicesAPI.EPointType )

double[]

Facet

( double, double, double )

double[]

MidPoint

( )

Events

NoneĀ 

Remarks

None

Example

interop.CimAppAccess.AppAccess AppAcc = new interop.CimAppAccess.AppAccess();
interop.CimatronE.IApplication CimApp = (interop.CimatronE.IApplication)AppAcc.GetApplication();
interop.CimatronE.ICimDocument aDoc= CimApp.GetActiveDoc();
interop.CimMdlrAPI.IModelContainer aContainer = (interop.CimMdlrAPI.IModelContainer)aDoc;
interop.CimMdlrAPI.IMdlrModel aMdlrModel = (interop.CimMdlrAPI.IMdlrModel)aContainer.Model;
interop.CimMdlrAPI.IEntityQuery aMdlrQuery = (interop.CimMdlrAPI.IEntityQuery)aMdlrModel;
interop.CimMdlrAPI.IEntityFilter aEntityFilterEdge = aMdlrQuery.CreateFilter(interop.CimMdlrAPI.EFilterEnumType.cmFilterEntityType);
interop.CimBaseAPI.FilterType aEdgeFilter = (interop.CimBaseAPI.FilterType)aEntityFilterEdge;
aEdgeFilter.Add(interop.CimBaseAPI.EntityEnumType.cmEdge);
aMdlrQuery.SetFilter((interop.CimMdlrAPI.IEntityFilter)aEdgeFilter);
interop.CimMdlrAPI.ICimEntityList aEdgeList = aMdlrQuery.Select();
int aEdgeCount = aEdgeList.Count;
//Get One Edge
interop.CimMdlrAPI.ICimEntity aEdge = (interop.CimMdlrAPI.ICimEntity)aEdgeList[1];
int aId = aEdge.ID;
interop.CimMdlrAPI.IGeometry3D aGeom = aEdge.Geometry;
if (aGeom.Type == interop.CimMdlrAPI.GeomType.cmGeomCurve)
{
interop.CimServicesAPI.IGeom3DCurve aCurve = aGeom as interop.CimServicesAPI.IGeom3DCurve;
}

import clr
clr.AddReference("interop.CimAppAccess")
clr.AddReference("interop.CimatronE")
clr.AddReference("interop.CimServicesAPI")
clr.AddReference("interop.CimBaseAPI")
clr.AddReference("interop.CimMdlrAPI")
clr.AddReference("interop.CimNcAPI")
import interop.CimAppAccess
import interop.CimatronE
import interop.CimServicesAPI
import interop.CimBaseAPI
import interop.CimMdlrAPI
import interop.CimNcAPI
import System
aAppAcc = interop.CimAppAccess.AppAccess()
aCimApp = interop.CimatronE.IApplication(aAppAcc.GetApplication())
aDoc= aCimApp.GetActiveDoc()
aContainer = interop.CimMdlrAPI.IModelContainer(aDOC)
aMdlrModel = interop.CimMdlrAPI.IMdlrModel(aContainer.Model)

aMdlrQuery = interop.CimMdlrAPI.IEntityQuery(aMdlrModel)
aEntityFilterEdge = aMdlrQuery.CreateFilter(interop.CimMdlrAPI.EFilterEnumType.cmFilterEntityType)
aEdgeFilter = interop.CimBaseAPI.FilterType(aEntityFilterEdge)

aEdgeFilter.Add(interop.CimBaseAPI.EntityEnumType.cmEdge)
aMdlrQuery.SetFilter(interop.CimMdlrAPI.IEntityFilter(aEdgeFilter))

aEdgeList = aMdlrQuery.Select()
aEdgeCount = aEdgeList.Count

# Get One Edge
aEdge = interop.CimMdlrAPI.ICimEntity(aEdgeList[1])
aId = aEdge.ID
aGeom = aEdge.Geometry
aCurve = None
if aGeom.Type == interop.CimMdlrAPI.GeomType.cmGeomCurve:
aCurve = interop.CimServicesAPI.IGeom3DCurve(aGeom)