Description:

Offsets a closed curve in the following way: pProject the curve to a plane with given normal. Then, loose Offset the projection by distance + blend_radius and trim off self-intersection. THen, Offset the remaining curve back in the opposite direction by blend_radius, filling gaps with blends. Finally, use the elevations of the input curve to get the correct elevations of the result.

Syntax:
public Curve RibbonOffset(
double distance,
double blendRadius,
Point3d directionPoint,
Vector3d normal,
double tolerance,
out Curve[] crossSections,
out Surface[] ruledSurfaces
)
Parameters:
  • distance
  • Type: double
  • The positive distance to offset the curve.
  • blendRadius
  • Type: 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
  • Type: 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
  • Type: Vector3d
  • A vector that indicates the normal of the plane in which the offset will occur.
  • tolerance
  • Type: double
  • Used to determine self-intersections, not offset error.
  • crossSections
  • Type: Curve[]
  • Contains lines between input and the offset that might be useful as input to Brep.CreateFromSweep or some other surface creation tool.
  • ruledSurfaces
  • Type: 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.
Returns:
Type: Curve
The offset curve if successful.
Available since:
7.0

Description:

Offsets a closed curve in the following way: pProject the curve to a plane with given normal. Then, loose Offset the projection by distance + blend_radius and trim off self-intersection. THen, Offset the remaining curve back in the opposite direction by blend_radius, filling gaps with blends. Finally, use the elevations of the input curve to get the correct elevations of the result.

Syntax:
public Curve RibbonOffset(
double distance,
double blendRadius,
Point3d directionPoint,
Vector3d normal,
double tolerance,
out double outputParameters,
out double curveParameters
)
Parameters:
  • distance
  • Type: double
  • The positive distance to offset the curve.
  • blendRadius
  • Type: 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
  • Type: 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
  • Type: Vector3d
  • A vector that indicates the normal of the plane in which the offset will occur.
  • tolerance
  • Type: double
  • Used to determine self-intersections, not offset error.
  • outputParameters
  • Type: double
  • A list of parameter, paired with curveParameters, from the output curve for creating cross sections.
  • curveParameters
  • Type: double
  • A list of parameter, paired with outputParameters, from the input curve for creating cross sections.
Returns:
Type: Curve
The offset curve if successful.
Available since:
7.0

Description:

Offsets a closed curve in the following way: pProject the curve to a plane with given normal. Then, loose Offset the projection by distance + blend_radius and trim off self-intersection. THen, Offset the remaining curve back in the opposite direction by blend_radius, filling gaps with blends. Finally, use the elevations of the input curve to get the correct elevations of the result.

Syntax:
public Curve RibbonOffset(
double distance,
double blendRadius,
Point3d directionPoint,
Vector3d normal,
double tolerance
)
Parameters:
  • distance
  • Type: double
  • The positive distance to offset the curve.
  • blendRadius
  • Type: 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
  • Type: 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
  • Type: Vector3d
  • A vector that indicates the normal of the plane in which the offset will occur.
  • tolerance
  • Type: double
  • Used to determine self-intersections, not offset error.
Returns:
Type: Curve
The offset curve if successful.
Available since:
7.0

Description:

Ribbon offset method to mimic RibbonOffset command

Syntax:
public Curve RibbonOffset(
RibbonOffsetParameters ribbonParameters,
out Curve[] railCurves,
out Curve[] crossSectionCurves,
out Brep[] brepSurfaces
)
Parameters:
  • railCurves
  • Type: Curve[]
  • on success an array of split curves representing the sweep rail segments, None on failure
  • crossSectionCurves
  • Type: Curve[]
  • on success an array of cross section curves used during brep creation, None on failure
  • brepSurfaces
  • Type: Brep[]
  • on success and array of breps representing the ribbon surfaces, None on failure
Returns:
Type: Curve
return an offset curve on success, None on failure

RibbonOffset method

Class:  Rhino.Geometry.Curve

Nothing found