Constructors
PolyCurve
#| info (SerializationInfo) | Serialization data. |
| context (StreamingContext) | Serialization stream. |
Properties
Degree
Dimension
The dimension is typically three. For parameter space trimming curves the dimension is two. In rare cases the dimension can be one or greater than three.
Disposed
HasBrepForm
HasUserData
IsClosed
IsDeformable
IsDocumentControlled
IsPeriodic
IsShallowDuplicate
IsSubDFriendly
ObjectType
SpanCount
TangentAtEnd
TangentAtStart
UserData
UserDictionary
Methods
| arc (Arc) | Arc segment to append. |
| curve (Curve) | Segment to append. |
| line (Line) | Line segment to append. |
| curve (Curve) | Segment to append. |
ChangeClosedCurveSeam
| t (double) | Curve parameter of new start/end point. The returned curves domain will start at t. |
| desiredDimension (int) | The desired dimension. |
ClosedCurveOrientation
ClosedCurveOrientation
| plane (Plane) | The plane in which to solve the orientation. |
ClosedCurveOrientation
| xform (Transform) | Transformation to map the curve to the world XY plane. |
ClosedCurveOrientation
| upDirection (Vector3d) | A vector that is considered "up". |
ClosestPoint
| testPoint (Point3d) | Point to project. |
| t (out double) | parameter of local closest point returned here. |
| maximumDistance (double) | The maximum allowed distance. Past this distance, the search is given up and false is returned. Use 0 to turn off this parameter. |
ClosestPoint
ClosestPoints
ClosestPoints
Breps, surfaces, curves and point clouds are examples of objects that can be passed to this function.
| geometry (IEnumerable<GeometryBase>) | A list, an array or any enumerable set of geometry to search. |
| pointOnCurve (out Point3d) | The point on curve. This out parameter is assigned during this call. |
| pointOnObject (out Point3d) | The point on geometry. This out parameter is assigned during this call. |
| whichGeometry (out int) | The index of the geometry. This out parameter is assigned during this call. |
| maximumDistance (double) | Maximum allowable distance. Past this distance, the research is given up and false is returned. |
| ArgumentNullException | If geometry is null. |
ClosestPoints
Breps, surfaces, curves and point clouds are examples of objects that can be passed to this function.
| geometry (IEnumerable<GeometryBase>) | A list, an array or any enumerable set of geometry to search. |
| pointOnCurve (out Point3d) | The point on curve. This out parameter is assigned during this call. |
| pointOnObject (out Point3d) | The point on geometry. This out parameter is assigned during this call. |
| whichGeometry (out int) | The index of the geometry. This out parameter is assigned during this call. |
| ArgumentNullException | If geometry is null. |
CombineShortSegments
| tolerance (double) |
ComponentIndex
ConstructConstObject
Contains
Contains
Contains
| testPoint (Point3d) | Point to test. |
CurvatureAt
| t (double) | Evaluation parameter. |
DataCRC
| currentRemainder (uint) | The current remainder value. |
DeleteAllUserStrings
| key (string) |
DerivativeAt
| t (double) | Curve parameter to evaluate. |
| derivativeCount (int) | Number of derivatives to evaluate, must be at least 0. |
| side (CurveEvaluationSide) | Side of parameter to evaluate. If the parameter is at a kink, it makes a big difference whether the evaluation is from below or above. |
DerivativeAt
Dispose
Dispose
This method is called with argument true when class user calls Dispose(), while with argument false when the Garbage Collector invokes the finalizer, or Finalize() method.
You must reclaim all used unmanaged resources in both cases, and can use this chance to call Dispose on disposable fields if the argument is true.
Also, you must call the base virtual method within your overriding method.
| disposing (bool) | true if the call comes from the Dispose() method; false if it comes from the Garbage Collector finalizer. |
DivideAsContour
DivideByCount
| segmentCount (int) | Segment count. Note that the number of division points may differ from the segment count. |
| includeEnds (bool) | If true, then the point at the start of the first division segment is returned. |
| points (out Point3d[]) | A list of division points. If the function returns successfully, this point-array will be filled in. |
DivideByCount
| segmentCount (int) | Segment count. Note that the number of division points may differ from the segment count. |
| includeEnds (bool) | If true, then the point at the start of the first division segment is returned. |
DivideByLength
| segmentLength (double) | The length of each and every segment (except potentially the last one). |
| includeEnds (bool) | If true, then the point at the start of the first division segment is returned. |
| reverse (bool) | If true, then the divisions start from the end of the curve. |
| points (out Point3d[]) | If function is successful, points at each parameter value are returned in points. |
DivideByLength
| segmentLength (double) | The length of each and every segment (except potentially the last one). |
| includeEnds (bool) | If true, then the point at the start of the first division segment is returned. |
| reverse (bool) | If true, then the divisions start from the end of the curve. |
DivideByLength
| segmentLength (double) | The length of each and every segment (except potentially the last one). |
| includeEnds (bool) | If true, then the point at the start of the first division segment is returned. |
| points (out Point3d[]) | If function is successful, points at each parameter value are returned in points. |
DivideByLength
DivideEquidistant
| distance (double) | The distance between division points. |
| curveParameters (out double[]) | If successful, an array of curve parameters at the point locations. |
DivideEquidistant
| distance (double) | The distance between division points. |
When not overridden in a derived class, this calls DuplicatePolyCurve().
This is the same as Duplicate().
DuplicateSegments
DuplicateShallow
This behavior is overridden by implementing classes.
EnsurePrivateCopy
Extend
| side (CurveEnd) | The end of the curve to extend. |
| style (CurveExtensionStyle) | The style or type of extension to use. |
| geometry (IEnumerable<GeometryBase>) | A collection of objects. Allowable object types are Curve, Surface, Brep. |
Extend
| side (CurveEnd) | The end of the curve to extend. |
| style (CurveExtensionStyle) | The style or type of extension to use. |
| endPoint (Point3d) | A new end point. |
Extend
| side (CurveEnd) | Curve end to extend. |
| length (double) | Length to add to the curve end. |
| style (CurveExtensionStyle) | Extension style. |
Extend
| t0 (double) | Start of extension domain, if the start is not inside the Domain of this curve, an attempt will be made to extend the curve. |
| t1 (double) | End of extension domain, if the end is not inside the Domain of this curve, an attempt will be made to extend the curve. |
Extend
| domain (Interval) | Extension domain. |
ExtendByArc
| side (CurveEnd) | The end of the curve to extend. |
| geometry (IEnumerable<GeometryBase>) | A collection of objects. Allowable object types are Curve, Surface, Brep. |
ExtendByLine
| side (CurveEnd) | The end of the curve to extend. |
| geometry (IEnumerable<GeometryBase>) | A collection of objects. Allowable object types are Curve, Surface, Brep. |
ExtendOnSurface
ExtendOnSurface
ExtremeParameters
| direction (Vector3d) | The direction in which to perform the calculation. |
Fair
| distanceTolerance (double) | Maximum allowed distance the faired curve is allowed to deviate from the input. |
| angleTolerance (double) | (in radians) kinks with angles <= angleTolerance are smoothed out 0.05 is a good default. |
| clampStart (int) | The number of (control vertices-1) to preserve at start. 0 = preserve start point 1 = preserve start point and 1st derivative 2 = preserve start point, 1st and 2nd derivative |
| clampEnd (int) | Same as clampStart. |
| iterations (int) | The number of iterations to use in adjusting the curve. |
FilletSurfaceToCurve
| face (BrepFace) | the face being filleted. |
| t (double) | A parameter on the curve, indicating region of fillet. |
| u (double) | A parameter in the u direction of the face indicating which side of the curve to fillet. |
| v (double) | A parameter in the v direction of the face indicating which side of the curve to fillet. |
| radius (double) | The radius of the constant-radius fillet desired. NOTE: using arcSliders will change the shape of the arcs themselves |
| alignToCurve (int) | Does the user want the fillet to align to the curve? 0 - No, ignore the curve's b-spline structure 1 - Yes, match the curves's degree, spans, CVs as much as possible 2 - Same as 1, but iterate to fit to tolerance Note that a value of 1 or 2 will cause nBezierSrfs to be ignored |
| railDegree (int) | Desired fillet degree (3 or 5) in the u-direction, along the curve |
| arcDegree (int) | Desired fillet degree (2, 3, 4, or 5) in the v-direction, along the fillet arcs.If 2, then the surface is rational in v |
| arcSliders (IEnumerable<double>) | Array of 2 sliders to shape the fillet in the arc direction, used for arcDegree = 3, 4, or 5; input { 0.0, 0.0 } to ignore [0] (-1 to 1) slides tangent arms from base (-1) to theoretical(1) [1] (-1 to 1) slides inner CV(s) from base (-1) to theoretical(1) |
| numBezierSrfs (int) | If >0, this indicates the number of equally-spaced fillet surfaces to be output in the rail direction, each surface Bézier in u. |
| tolerance (double) | The tolerance. In in doubt, the document's absolute tolerance. |
| out_fillets (List<Brep>) | he results of the fillet calculation. |
| fitResults (out double[]) | array of doubles indicating fitting results: [0] max 3d point deviation along curve [1] max 3d point deviation along face [2] max angle deviation along face(in degrees) [3] max angle deviation between Bézier surfaces(in degrees) [4] max curvature difference between Bézier surfaces |
FilletSurfaceToRail
| faceWithCurve (BrepFace) | The first face on which the curve exists |
| secondFace (BrepFace) | The second face |
| u1 (double) | A parameter in the u direction of the second face at the side you want to keep after filleting. |
| v1 (double) | A parameter in the v direction of the second face at the side you want to keep after filleting. |
| railDegree (int) | Desired fillet degree (3 or 5) in the u-direction, along the rails |
| arcDegree (int) | esired fillet degree (2, 3, 4, or 5) in the v-direction, along the fillet arcs.If 2, then the surface is rational in v |
| arcSliders (IEnumerable<double>) | Array of 2 sliders to shape the fillet in the arc direction, used for arcDegree = 3, 4, or 5; input { 0.0, 0.0 } to ignore [0] (-1 to 1) slides tangent arms from base (-1) to theoretical(1) [1] (-1 to 1) slides inner CV(s) from base (-1) to theoretical(1) |
| numBezierSrfs (int) | If >0, this indicates the number of equally-spaced fillet surfaces to be output in the rail direction, each surface Bézier in u. |
| extend (bool) | If true, then when one input surface is longer than the other, the fillet surface is extended to the input surface edges. |
| split_type (FilletSurfaceSplitType) | The split type |
| tolerance (double) | The tolerance. In in doubt, the document's absolute tolerance. |
| out_fillets (List<Brep>) | The results of the fillet calculation. |
| out_breps0 (List<Brep>) | The trim or split results of the Brep owned by faceWithCurve. |
| out_breps1 (List<Brep>) | The trim or split results of the Brep owned by pFace1. |
| fitResults (out double[]) | array of doubles indicating fitting results: [0] max 3d point deviation along surface 0 [1] max 3d point deviation along surface 1 [2] max angle deviation along surface 0 (in degrees) [3] max angle deviation along surface 1 (in degrees) [4] max angle deviation between Bézier surfaces(in degrees) [5] max curvature difference between Bézier surfaces |
FindLocalInflection
| N (Vector3d) | This vector and the curve tangent define a plane. In this plane, there is a vector V perpendicular to the tangent. |
| subDomain (Interval) | Subdomain of curve to evaluate. This must not be empty. |
| seed (double) | A seed parameter, which must be included in the subdomain. |
| curveParameter (out double) | The parameter on the curve if successful, RhinoMath.UnsetValue if unsuccessful. |
| angleError (out double) | The measure, in radians, of the angle between N and V. The angle will be zero when the result is an inflection. |
Fit
| degree (int) | The degree of the returned Curve. Must be bigger than 1. |
| fitTolerance (double) | The fitting tolerance. If fitTolerance is RhinoMath.UnsetValue or <=0.0, the document absolute tolerance is used. |
| angleTolerance (double) | The kink smoothing tolerance in radians. If angleTolerance is 0.0, all kinks are smoothed If angleTolerance is >0.0, kinks smaller than angleTolerance are smoothed If angleTolerance is RhinoMath.UnsetValue or <0.0, the document angle tolerance is used for the kink smoothing |
FrameAt
GetBoundingBox
| accurate (bool) | If true, a physically accurate bounding box will be computed. If not, a bounding box estimate will be computed. For some geometry types there is no difference between the estimate and the accurate bounding box. Estimated bounding boxes can be computed much (much) faster than accurate (or "tight") bounding boxes. Estimated bounding boxes are always similar to or larger than accurate bounding boxes. |
GetBoundingBox
GetBoundingBox
| plane (Plane) | Orientation plane for BoundingBox. |
GetBoundingBox
| xform (Transform) | Transformation to apply to object prior to the BoundingBox computation. The geometry itself is not modified. |
GetConicSectionType
GetConicSectionType
GetCurveParameterFromNurbsFormParameter
GetLength
GetLength
| fractionalTolerance (double) | Desired fractional precision. fabs(("exact" length from start to t) - arc_length)/arc_length <= fractionalTolerance. |
| subdomain (Interval) | The calculation is performed on the specified sub-domain of the curve (must be non-decreasing). |
GetLength
| fractionalTolerance (double) | Desired fractional precision. fabs(("exact" length from start to t) - arc_length)/arc_length <= fractionalTolerance. |
GetLength
| subdomain (Interval) | The calculation is performed on the specified sub-domain of the curve (must be non-decreasing). |
GetLocalPerpPoint
GetLocalTangentPoint
GetNextDiscontinuity
| continuityType (Continuity) | Type of continuity to search for. |
| t0 (double) | Search begins at t0. If there is a discontinuity at t0, it will be ignored. This makes it possible to repeatedly call GetNextDiscontinuity() and step through the discontinuities. |
| t1 (double) | (t0 != t1) If there is a discontinuity at t1 it will be ignored unless continuityType is a locus discontinuity type and t1 is at the start or end of the curve. |
| cosAngleTolerance (double) | default = cos(1 degree) Used only when continuity is G1_continuous or G2_continuous. If the cosine of the angle between two tangent vectors is <= cosAngleTolerance, then a G1 discontinuity is reported. For G2, values tighter than cos(1 degree) are treated as cos(1 degree), and angles less than about 18 degrees are doubled for the curvature direction test. With the default, a G2 discontinuity is reported if the curvature vectors differ by more than 2 degrees. |
| curvatureTolerance (double) | (default = RhinoMath.SqrtEpsilon) Used only when continuity is G2_continuous. If K0 and K1 are curvatures evaluated from above and below and |K0 - K1| <= curvatureTolerance, then the curvature is considered continuous. Otherwise, a curvature discontinuity is reported if the curvature direction test fails or ||K0| - |K1|| > 0.05 * max(|K0|, |K1|). Increasing curvatureTolerance can only loosen the test. |
| t (out double) | If a discontinuity is found, then t reports the parameter at the discontinuity. |
GetNextDiscontinuity
| continuityType (Continuity) | Type of continuity to search for. |
| t0 (double) | Search begins at t0. If there is a discontinuity at t0, it will be ignored. This makes it possible to repeatedly call GetNextDiscontinuity() and step through the discontinuities. |
| t1 (double) | (t0 != t1) If there is a discontinuity at t1 it will be ignored unless continuityType is a locus discontinuity type and t1 is at the start or end of the curve. |
| t (out double) | If a discontinuity is found, then t reports the parameter at the discontinuity. |
GetNurbsFormParameterFromCurveParameter
GetObjectData
| info (SerializationInfo) | The System.Runtime.Serialization.SerializationInfo to populate with data. |
| context (StreamingContext) | The destination (see System.Runtime.Serialization.StreamingContext) for this serialization. |
GetPerpendicularFrames
| parameters (IEnumerable<double>) | A collection of strictly increasing curve parameters to place perpendicular frames on. |
| InvalidOperationException | Thrown when the curve parameters are not increasing. |
GetSubCurves
| key (string) | id used to retrieve the string. |
GetUserStrings
HasNurbsForm
InflectionPoints
InflectionPoints
| curveParameters (out double[]) | An array of curve parameters at the inflection points. |
IsArc
IsArc
| tolerance (double) | Tolerance to use when checking. |
IsCircle
IsCircle
| tolerance (double) | Tolerance to use when checking. |
IsClosable
| tolerance (double) | Maximum allowable distance between start and end. If start - end gap is greater than tolerance, this function will return false. |
| minimumAbsoluteSize (double) | If greater than 0.0 and none of the interior sampled points are at least minimumAbsoluteSize from start, this function will return false. |
| minimumRelativeSize (double) | If greater than 1.0 and chord length is less than minimumRelativeSize*gap, this function will return false. |
IsClosable
| tolerance (double) | Maximum allowable distance between start and end. If start - end gap is greater than tolerance, this function will return false. |
IsContinuous
| continuityType (Continuity) | Type of continuity to test for. |
| t (double) | Parameter to test. |
IsEllipse
IsEllipse
| tolerance (double) | Tolerance to use for checking. |
IsInPlane
| testPlane (Plane) | Plane to test for. |
IsLinear
IsLinear
| tolerance (double) | Tolerance to use when checking linearity. |
| tolerance (double) | Tolerance to use when checking. |
IsPolyline
IsShort
| tolerance (double) | Length threshold value for "shortness". |
IsValidWithLog
| log (out string) | A textual log. This out parameter is assigned during this call. |
LcoalClosestPoint
LengthParameter
| segmentLength (double) | Length of segment to measure. Must be less than or equal to the length of the sub-domain. |
| t (out double) | Parameter such that the length of the curve from the start of the sub-domain to t is s. |
| fractionalTolerance (double) | Desired fractional precision. fabs(("exact" length from start to t) - arc_length)/arc_length <= fractionalTolerance. |
| subdomain (Interval) | The calculation is performed on the specified sub-domain of the curve rather than the whole curve. |
LengthParameter
| segmentLength (double) | Length of segment to measure. Must be less than or equal to the length of the curve. |
| t (out double) | Parameter such that the length of the curve from the curve start point to t equals s. |
| fractionalTolerance (double) | Desired fractional precision. fabs(("exact" length from start to t) - arc_length)/arc_length <= fractionalTolerance. |
LengthParameter
| segmentLength (double) | Length of segment to measure. Must be less than or equal to the length of the sub-domain. |
| t (out double) | Parameter such that the length of the curve from the start of the sub-domain to t is s. |
| subdomain (Interval) | The calculation is performed on the specified sub-domain of the curve rather than the whole curve. |
LengthParameter
LocalClosestPoint
MakeClosed
| tolerance (double) | If nonzero, and the gap is more than tolerance, curve cannot be made closed. |
MakeDeformable
MaxCurvaturePoints
MaxCurvaturePoints
| curveParameters (out double[]) | An array of curve parameters at the maximum curvature points. |
MemoryEstimate
NonConstOperation
Defines the necessary implementation to free the instance from being constant.
NormalizedLengthParameter
| s (double) | Normalized arc length parameter. E.g., 0 = start of curve, 1/2 = midpoint of curve, 1 = end of curve. |
| t (out double) | Parameter such that the length of the curve from its start to t is arc_length. |
| fractionalTolerance (double) | Desired fractional precision. fabs(("exact" length from start to t) - arc_length)/arc_length <= fractionalTolerance. |
| subdomain (Interval) | The calculation is performed on the specified sub-domain of the curve. |
NormalizedLengthParameter
| s (double) | Normalized arc length parameter. E.g., 0 = start of curve, 1/2 = midpoint of curve, 1 = end of curve. |
| t (out double) | Parameter such that the length of the curve from its start to t is arc_length. |
| fractionalTolerance (double) | Desired fractional precision. fabs(("exact" length from start to t) - arc_length)/arc_length <= fractionalTolerance. |
NormalizedLengthParameter
| s (double) | Normalized arc length parameter. E.g., 0 = start of curve, 1/2 = midpoint of curve, 1 = end of curve. |
| t (out double) | Parameter such that the length of the curve from its start to t is arc_length. |
| subdomain (Interval) | The calculation is performed on the specified sub-domain of the curve. |
NormalizedLengthParameter
NormalizedLengthParameters
| s (double[]) | Array of normalized arc length parameters. E.g., 0 = start of curve, 1/2 = midpoint of curve, 1 = end of curve. |
| absoluteTolerance (double) | If absoluteTolerance > 0, then the difference between (s[i+1]-s[i])*curve_length and the length of the curve segment from t[i] to t[i+1] will be <= absoluteTolerance. |
| fractionalTolerance (double) | Desired fractional precision for each segment. fabs("true" length - actual length)/(actual length) <= fractionalTolerance. |
| subdomain (Interval) | The calculation is performed on the specified sub-domain of the curve. A 0.0 s value corresponds to sub-domain->Min() and a 1.0 s value corresponds to sub-domain->Max(). |
NormalizedLengthParameters
| s (double[]) | Array of normalized arc length parameters. E.g., 0 = start of curve, 1/2 = midpoint of curve, 1 = end of curve. |
| absoluteTolerance (double) | If absoluteTolerance > 0, then the difference between (s[i+1]-s[i])*curve_length and the length of the curve segment from t[i] to t[i+1] will be <= absoluteTolerance. |
| fractionalTolerance (double) | Desired fractional precision for each segment. fabs("true" length - actual length)/(actual length) <= fractionalTolerance. |
NormalizedLengthParameters
| s (double[]) | Array of normalized arc length parameters. E.g., 0 = start of curve, 1/2 = midpoint of curve, 1 = end of curve. |
| absoluteTolerance (double) | If absoluteTolerance > 0, then the difference between (s[i+1]-s[i])*curve_length and the length of the curve segment from t[i] to t[i+1] will be <= absoluteTolerance. |
| subdomain (Interval) | The calculation is performed on the specified sub-domain of the curve. A 0.0 s value corresponds to sub-domain->Min() and a 1.0 s value corresponds to sub-domain->Max(). |
NormalizedLengthParameters
| s (double[]) | Array of normalized arc length parameters. E.g., 0 = start of curve, 1/2 = midpoint of curve, 1 = end of curve. |
| absoluteTolerance (double) | If absoluteTolerance > 0, then the difference between (s[i+1]-s[i])*curve_length and the length of the curve segment from t[i] to t[i+1] will be <= absoluteTolerance. |
Offset
| plane (Plane) | Offset solution plane. |
| distance (double) | The positive or negative distance to offset. |
| tolerance (double) | The offset or fitting tolerance. |
| cornerStyle (CurveOffsetCornerStyle) | Corner style for offset kinks. |
Offset
| directionPoint (Point3d) | A point that indicates the direction of the offset. |
| normal (Vector3d) | The normal to the offset plane. |
| distance (double) | The positive or negative distance to offset. |
| tolerance (double) | The offset or fitting tolerance. |
| cornerStyle (CurveOffsetCornerStyle) | Corner style for offset kinks. |
Offset
| directionPoint (Point3d) | A point that indicates the direction of the offset. |
| normal (Vector3d) | The normal to the offset plane. |
| distance (double) | The positive or negative distance to offset. |
| tolerance (double) | The offset or fitting tolerance. |
| angleTolerance (double) | The angle tolerance, in radians, used to decide whether to split at kinks. |
| loose (bool) | If false, offset within tolerance. If true, offset by moving edit points. |
| cornerStyle (CurveOffsetCornerStyle) | Corner style for offset kinks. |
| endStyle (CurveOffsetEndStyle) | End style for non-loose, non-closed curve offsets. |
OffsetNormalToSurface
| surface (Surface) | Surface from which normals are calculated. |
| height (double) | Offset distance. |
OffsetOnSurface
| face (BrepFace) | The brep face on which to offset. |
| distance (double) | A distance to offset (+)left, (-)right. |
| fittingTolerance (double) | A fitting tolerance. |
| ArgumentNullException | If face is null. |
OffsetOnSurface
This overload allows to specify different offsets for different curve parameters.
| face (BrepFace) | The brep face on which to offset. |
| curveParameters (double[]) | Curve parameters corresponding to the offset distances. |
| offsetDistances (double[]) | distances to offset (+)left, (-)right. |
| fittingTolerance (double) | A fitting tolerance. |
| ArgumentNullException | If face, curveParameters or offsetDistances are null. |
OffsetOnSurface
This overload allows to specify a surface point at which the offset will pass.
| face (BrepFace) | The brep face on which to offset. |
| throughPoint (Point2d) | 2d point on the brep face to offset through. |
| fittingTolerance (double) | A fitting tolerance. |
| ArgumentNullException | If face is null. |
OffsetOnSurface
| surface (Surface) | A surface on which to offset. |
| distance (double) | A distance to offset (+)left, (-)right. |
| fittingTolerance (double) | A fitting tolerance. |
| ArgumentNullException | If surface is null. |
OffsetOnSurface
This overload allows to specify different offsets for different curve parameters.
| surface (Surface) | A surface on which to offset. |
| curveParameters (double[]) | Curve parameters corresponding to the offset distances. |
| offsetDistances (double[]) | Distances to offset (+)left, (-)right. |
| fittingTolerance (double) | A fitting tolerance. |
| ArgumentNullException | If surface, curveParameters or offsetDistances are null. |
OffsetOnSurface
This overload allows to specify a surface point at which the offset will pass.
| surface (Surface) | A surface on which to offset. |
| throughPoint (Point2d) | 2d point on the brep face to offset through. |
| fittingTolerance (double) | A fitting tolerance. |
| ArgumentNullException | If surface is null. |
OffsetTangentToSurface
| surface (Surface) | Surface from which tangents are calculated. |
| height (double) | Offset distance. |
OnSwitchToNonConst
PerpendicularFrameAt
| t (double) | Evaluation parameter. |
PointAtLength
| length (double) | Length along the curve between the start point and the returned point. |
PointAtNormalizedLength
| length (double) | Normalized length along the curve between the start point and the returned point. |
PullToBrepFace
| ArgumentNullException | If face is null. |
PullToMesh
| mesh (Mesh) | Mesh to project onto. |
| tolerance (double) | Input tolerance. When in doubt, the document's model absolute tolerance. |
| loose (bool) | If true, the curve's edit points are pulled back to the mesh. If any edit point misses the mesh, the curve will not be created. |
PullToMesh
Rebuild
RebuildToMatchTemplateCurve
| templateCurve (Curve) | The curve to match. |
| flipSourceDirection (bool) | If true and this curve is open, its direction is flipped (reversed) before sampling. Set this when this curve runs opposite the template. |
| preserveEndTangents (bool) | If true and the result is open with at least 4 control points, the interior end control points are adjusted so the result's end tangents match this curve's. |
| makeSubDFriendly (bool) | If true, the result is converted to a SubD friendly curve. |
| maximumDeviation (out Line) | A line from this curve to the rebuilt curve at the point of maximum separation (the "from" point is on this curve, the "to" point is on the rebuilt curve), or Line.Unset if it cannot be computed. |
RemoveShortSegments
| tolerance (double) | Tolerance which defines "short" segments. |
| tolerance (double) | The repair tolerance. |
Reparameterize
RibbonOffset
| distance (double) | The positive distance to offset the curve. |
| blendRadius (double) | Positive, typically the same as distance. When the offset results in a self-intersection that gets trimmed off at a kink, the kink will be blended out using this radius. |
| directionPoint (Point3d) | A point that indicates the direction of the offset. If the offset is inward, the point's projection to the plane should be well within the curve. It will be used to decide which part of the offset to keep if there are self-intersections. |
| normal (Vector3d) | A vector that indicates the normal of the plane in which the offset will occur. |
| tolerance (double) | Used to determine self-intersections, not offset error. |
| crossSections (out Curve[]) | Contains lines between input and the offset that might be useful as input to Brep.CreateFromSweep or some other surface creation tool. |
| ruledSurfaces (out Surface[]) | Contain ruled surfaces between the input and the parts of the offset that correspond exactly. Note, there will be gaps between these at blends. |
RibbonOffset
| distance (double) | The positive distance to offset the curve. |
| blendRadius (double) | Positive, typically the same as distance. When the offset results in a self-intersection that gets trimmed off at a kink, the kink will be blended out using this radius. |
| directionPoint (Point3d) | A point that indicates the direction of the offset. If the offset is inward, the point's projection to the plane should be well within the curve. It will be used to decide which part of the offset to keep if there are self-intersections. |
| normal (Vector3d) | A vector that indicates the normal of the plane in which the offset will occur. |
| tolerance (double) | Used to determine self-intersections, not offset error. |
| outputParameters (out double[]) | A list of parameter, paired with curveParameters, from the output curve for creating cross sections. |
| curveParameters (out double[]) | A list of parameter, paired with outputParameters, from the input curve for creating cross sections. |
RibbonOffset
| distance (double) | The positive distance to offset the curve. |
| blendRadius (double) | Positive, typically the same as distance. When the offset results in a self-intersection that gets trimmed off at a kink, the kink will be blended out using this radius. |
| directionPoint (Point3d) | A point that indicates the direction of the offset. If the offset is inward, the point's projection to the plane should be well within the curve. It will be used to decide which part of the offset to keep if there are self-intersections. |
| normal (Vector3d) | A vector that indicates the normal of the plane in which the offset will occur. |
| tolerance (double) | Used to determine self-intersections, not offset error. |
RibbonOffset
| ribbonParameters (RibbonOffsetParameters) | The ribbon offset parameters |
| railCurves (out Curve[]) | on success an array of split curves representing the sweep rail segments, null on failure |
| crossSectionCurves (out Curve[]) | on success an array of cross section curves used during brep creation, null on failure |
| brepSurfaces (out Brep[]) | on success and array of breps representing the ribbon surfaces, null on failure |
Rotate
Scale
| scaleFactor (double) | The uniform scaling factor. |
| index (int) | Index of segment to retrieve. |
| polycurveParameter (double) | Parameter on PolyCurve to convert. |
| segmentIndex (int) | Index of segment. |
| polycurveParameter (double) | Parameter on polycurve for segment lookup. |
| subdomain (Interval) | Domain on this PolyCurve. |
| segmentIndex0 (out int) | Index of first segment that overlaps the sub-domain. |
| segmentIndex1 (out int) | Index of last segment that overlaps the sub-domain. Note that segmentIndex0 <= i < segmentIndex1. |
SetEndPoint
| point (Point3d) | New end point of curve. |
SetStartPoint
| point (Point3d) | New start point of curve. |
SetUserString
Simplify
The PolyCurve has the following properties
1. All the PolyCurve segments are LineCurve, PolylineCurve, ArcCurve, or NurbsCurve.
2. The NURBS Curves segments do not have fully multiple interior knots.
3. Rational NURBS curves do not have constant weights.
4. Any segment for which IsLinear() or IsArc() is true is a Line, Polyline segment, or an Arc.
5. Adjacent co-linear or co-circular segments are combined.
6. Segments that meet with G1-continuity have there ends tuned up so that they meet with G1-continuity to within machine precision.
| options (CurveSimplifyOptions) | Simplification options. |
| distanceTolerance (double) | A distance tolerance for the simplification. |
| angleToleranceRadians (double) | An angle tolerance for the simplification. |
SimplifyEnd
| end (CurveEnd) | If CurveEnd.Start the function simplifies the last two start side segments, otherwise if CurveEnd.End the last two end side segments are simplified. |
| options (CurveSimplifyOptions) | Simplification options. |
| distanceTolerance (double) | A distance tolerance for the simplification. |
| angleToleranceRadians (double) | An angle tolerance for the simplification. |
Smooth
| smoothFactor (double) | The smoothing factor, which controls how much control points move towards the average of the neighboring control points. Note that this smoothFactor is equivalent to twice the smooth factor used in the Smooth command: on a polyline, Rhino _Smooth with a factor of 0.2 is the same as Polyline.Smooth(double) with a factor of 0.4. |
| bXSmooth (bool) | When true control points move in X axis direction. |
| bYSmooth (bool) | When true control points move in Y axis direction. |
| bZSmooth (bool) | When true control points move in Z axis direction. |
| bFixBoundaries (bool) | When true the curve ends don't move. |
| coordinateSystem (SmoothingCoordinateSystem) | The coordinates to determine the direction of the smoothing. |
| plane (Plane) | If SmoothingCoordinateSystem.CPlane specified, then the construction plane. |
Smooth
| smoothFactor (double) | The smoothing factor, which controls how much control points move towards the average of the neighboring control points. Note that this smoothFactor is equivalent to twice the smooth factor used in the Smooth command: on a polyline, Rhino _Smooth with a factor of 0.2 is the same as Polyline.Smooth(double) with a factor of 0.4. |
| bXSmooth (bool) | When true control points move in X axis direction. |
| bYSmooth (bool) | When true control points move in Y axis direction. |
| bZSmooth (bool) | When true control points move in Z axis direction. |
| bFixBoundaries (bool) | When true the curve ends don't move. |
| coordinateSystem (SmoothingCoordinateSystem) | The coordinates to determine the direction of the smoothing. |
SpanDomain
| spanIndex (int) | Index of span. |
SpanVector
Split
Split
Split
| t (double) | Parameter to split the curve at in the interval returned by Domain(). |
Split
| t (IEnumerable<double>) | Parameters to split the curve at in the interval returned by Domain(). |
Split
Split
Split
TangentAt
| t (double) | Evaluation parameter. |
ToArcsAndLines
| tolerance (double) | The tolerance. This is the maximum deviation from arc midpoints to the curve. When in doubt, use the document's model space absolute tolerance. |
| angleTolerance (double) | The angle tolerance in radians. This is the maximum deviation of the arc end directions from the curve direction. When in doubt, use the document's model space angle tolerance. |
| minimumLength (double) | The minimum segment length. |
| maximumLength (double) | The maximum segment length. |
ToJSON
| options (SerializationOptions) |
ToNurbsCurve
ToNurbsCurve
| subdomain (Interval) | The NURBS representation for this portion of the curve is returned. |
ToPolyline
| tolerance (double) | The tolerance. This is the maximum deviation from line midpoints to the curve. When in doubt, use the document's model space absolute tolerance. |
| angleTolerance (double) | The angle tolerance in radians. This is the maximum deviation of the line directions. When in doubt, use the document's model space angle tolerance. |
| minimumLength (double) | The minimum segment length. |
| maximumLength (double) | The maximum segment length. |
ToPolyline
| mainSegmentCount (int) | If mainSegmentCount <= 0, then both subSegmentCount and mainSegmentCount are ignored. If mainSegmentCount > 0, then subSegmentCount must be >= 1. In this case the NURBS will be broken into mainSegmentCount equally spaced chords. If needed, each of these chords can be split into as many subSegmentCount sub-parts if the subdivision is necessary for the mesh to meet the other meshing constraints. In particular, if subSegmentCount = 0, then the curve is broken into mainSegmentCount pieces and no further testing is performed. |
| subSegmentCount (int) | An amount of subsegments. |
| maxAngleRadians (double) | ( 0 to pi ) Maximum angle (in radians) between unit tangents at adjacent vertices. |
| maxChordLengthRatio (double) | Maximum permitted value of (distance chord midpoint to curve) / (length of chord). |
| maxAspectRatio (double) | If maxAspectRatio < 1.0, the parameter is ignored. If 1 <= maxAspectRatio < sqrt(2), it is treated as if maxAspectRatio = sqrt(2). This parameter controls the maximum permitted value of (length of longest chord) / (length of shortest chord). |
| tolerance (double) | If tolerance = 0, the parameter is ignored. This parameter controls the maximum permitted value of the distance from the curve to the polyline. |
| minEdgeLength (double) | The minimum permitted edge length. |
| maxEdgeLength (double) | If maxEdgeLength = 0, the parameter is ignored. This parameter controls the maximum permitted edge length. |
| keepStartPoint (bool) | If true the starting point of the curve is added to the polyline. If false the starting point of the curve is not added to the polyline. |
| curveDomain (Interval) | This sub-domain of the NURBS curve is approximated. |
ToPolyline
| mainSegmentCount (int) | If mainSegmentCount <= 0, then both subSegmentCount and mainSegmentCount are ignored. If mainSegmentCount > 0, then subSegmentCount must be >= 1. In this case the NURBS will be broken into mainSegmentCount equally spaced chords. If needed, each of these chords can be split into as many subSegmentCount sub-parts if the subdivision is necessary for the mesh to meet the other meshing constraints. In particular, if subSegmentCount = 0, then the curve is broken into mainSegmentCount pieces and no further testing is performed. |
| subSegmentCount (int) | An amount of subsegments. |
| maxAngleRadians (double) | ( 0 to pi ) Maximum angle (in radians) between unit tangents at adjacent vertices. |
| maxChordLengthRatio (double) | Maximum permitted value of (distance chord midpoint to curve) / (length of chord). |
| maxAspectRatio (double) | If maxAspectRatio < 1.0, the parameter is ignored. If 1 <= maxAspectRatio < sqrt(2), it is treated as if maxAspectRatio = sqrt(2). This parameter controls the maximum permitted value of (length of longest chord) / (length of shortest chord). |
| tolerance (double) | If tolerance = 0, the parameter is ignored. This parameter controls the maximum permitted value of the distance from the curve to the polyline. |
| minEdgeLength (double) | The minimum permitted edge length. |
| maxEdgeLength (double) | If maxEdgeLength = 0, the parameter is ignored. This parameter controls the maximum permitted edge length. |
| keepStartPoint (bool) | If true the starting point of the curve is added to the polyline. If false the starting point of the curve is not added to the polyline. |
TorsionAt
| t (double) | The evaluation parameter. |
Transform
| xform (Transform) | Transformation to apply to geometry. |
Translate
Translate
| translationVector (Vector3d) | A moving vector. |
Trim
Trim
Trim
| domain (Interval) | Trimming interval. |
TrimInterval
TrimInterval
| domain (Interval) | Trimming interval. |
TryGetArc
TryGetArc
| arc (out Arc) | On success, the Arc will be filled in. |
TryGetArc
TryGetArc
TryGetCircle
TryGetCircle
| circle (out Circle) | On success, the Circle will be filled in. |
TryGetEllipse
TryGetEllipse
| ellipse (out Ellipse) | On success, the Ellipse will be filled in. |
TryGetEllipse
TryGetEllipse
TryGetPlane
| plane (out Plane) | On success, the plane parameters are filled in. |
TryGetPolyline
TryGetPolyline
| polyline (out Polyline) | If true is returned, then the polyline form is returned here. |