DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="0.9.0" />

 ICurveEntity

Get the end Point along the Curve

bool IsClosed { get; }

Determine if the Curve is closed or not

bool IsPlanar { get; }

Determine whether a Curve is planar or not

double Length { get; }

The total arc length of the curve

The normal to the plane where the curve is contained. Only valid for planar curves.

Get the start Point along the Curve

Approximate a Curve with a collection of Arcs and Lines

Returns a CoordinateSystem at specified distance from Curve start Point. Y Axis lies tangent to the Curve, X Axis is the curvature.

Get a CoordinateSystem with origin at the point at the given parameter. The XAxis is aligned with the curve normal and the YAxis is aligned with the curve tangent at this point

double DistanceAtParameter(double param = 0)

Get the arc length along the Curve at the particular parameter.

ICurveEntity[] DivideByDistance(int divisions = 10)

Divides curve into given number of curves with equal distances between start and end of each curve (equal chords).

ICurveEntity[] DivideByDistanceFromParameter(double distance = 1, double parameter = 0)

Divides curve into curves of given distances between start and end (chords) measuring from given location

ICurveEntity[] DivideByLengthFromParameter(double length = 1, double parameter = 0)

Divides curve into curves of given length measuring from given location

ICurveEntity[] DivideEqually(int divisions = 10)

Divides curve into given number of equal length curves

double EndParameter()

Get the end of the domain in which the curve can be evaluated

ICurveEntity Extend(double distance, IPointEntity pickSide)

Extend a Curve by a given distance at a particular end determined by a pick Point. The picked side will be extended. Closed curves like Circles and Ellipses cannot be extended.

ICurveEntity ExtendEnd(double distance = 1)

Extend a Curve by a given distance on its end. Closed curves like Circles and Ellipses cannot be extended.

ICurveEntity ExtendStart(double distance = 1)

Extend a Curve by a given distance on its start side. Closed curves like Circles and Ellipses cannot be extended.

ISurfaceEntity Extrude(double distance = 1)

Extrudes a Curve in the normal Vector direction

Extrudes a Curve in the specified direction, by the length of the input Vector

ISurfaceEntity Extrude(IVectorEntity direction, double distance = 1)

Extrudes a Curve in the specified direction, by the specified distance

ISolidEntity ExtrudeAsSolid(double distance = 1)

Extrudes a Curve in the Normal direction by the specified distance. Curve must be closed.

Extrudes a Curve in the specified direction, by the length of the input Vector. Curve must be closed.

ISolidEntity ExtrudeAsSolid(IVectorEntity direction, double distance = 1)

Extrudes a Curve in the specified direction, by the specified distance. Curve must be closed.

Get a CoordinateSystem with origin at the point at the given parameter

Join this curve and the input curve into a new PolyCurve, maintaining the original curves exactly.

Join set of curves to the start of the end of the polycurve. Flips curves to assure connectivity.

double LengthBetweenParameters(double startParam = 0, double endParam = 1)

Get the arc length between two parameter points on the curve

IVectorEntity NormalAtParameter(double param = 0)

Get a Vector perpendicular to the curve at a specified parameter between StartParameter() and EndParameter()

ICurveEntity Offset(double distance = 1)

Offset a Curve by a specified amount. Curve must be planar, and, if a BSplineCurve/NurbsCurve, must have degree > 1.

double ParameterAtChordLength(double distance = 0.5, double location = 0, bool forward = true)

Get the parameter at a particular chord length along the curve from given location.

double ParameterAtDistance(double distance = 0)

Get the parameter at a particular arc length along the curve.

Get the parameter at a particular point along the Curve

ICurveEntity[] ParameterSplit(double parameter = 0.5)

Split a Curve into two pieces at the given parameter

ICurveEntity[] ParameterSplit(double[] parameters)

Split a Curve into multiple pieces at the given parameters

ICurveEntity ParameterTrim(double startParameter = 0, double endParameter = 1)

Removes the beginning and ends of at the specified parameters.

ICurveEntity ParameterTrimEnd(double endParameter = 1)

Removes the end of the Curve at the specified parameter

ICurveEntity[] ParameterTrimInterior(double startParameter = 0, double endParameter = 1)

Removes the interior portion of a Curve at the specified parameters

ICurveEntity[] ParameterTrimSegments(double[] parameters)

Removes several segments of the curve, discarding the 1st, 3rd, 5th ... segments

ICurveEntity[] ParameterTrimSegments(double[] parameters, bool discardEvenSegments = false)

Removes several segments of the Curve, disgarding 2nd, 4th, 6th ... segments if the bool is true

ICurveEntity ParameterTrimStart(double startParameter = 0)

Removes the start of the Curve at the specified parameter

Patch a closed Curve

IPlaneEntity PlaneAtDistance(double distance = 0)

Returns a Plane at the specified distance along the Curve from the start Point. The normal of the Plane aligns with the tangent of the Curve.

IPlaneEntity PlaneAtParameter(double param = 0)

Returns a Plane whose normal aligns with the tangent of the Curve. Parameters are adjusted such that 0 is always the start Point and 1 is always the end Point.

IPointEntity PointAtDistance(double distance = 0)

Get a Point at a particular arc length along the curve

IPointEntity PointAtParameter(double param = 0)

Get a Point on the Curve at a specified parameter between StartParameter() and EndParameter()

IGeometryEntity[] Project(IGeometryEntity baseGeometry, IVectorEntity projectionDirection)

Project another piece of Geometry onto this along a given direction Vector

Create a curve by pulling onto plane

Pull this Curve onto the input Surface, in the direction of the Surface normals.

Reverse the direction of the curve

ICurveEntity Simplify(double tolerance)

Returns a new Curve approximated with the supplied tolerance

double StartParameter()

Get the start of the domain in which the curve can be evaluated

Sweeps this closed Curve along the path Curve, creating a Solid

Sweeps this Curve along the path Curve, creating a Surface

Get a Vector tangent to the curve at a specified parameter between StartParameter() and EndParameter()

Converts the Curve to a NurbsCurve approximation