Click or drag to resize

SurfaceRefitSimplySplitSurface Method

This routine accepts a 3-d trim curve (trimCrv3d). The trim curve is assumed to run from one surface edge to the opposite edge; this is referred to as a "simple" trim curve, roughly parallel to one of the srf directions (either u or v). We refer to that parameter as the "trim parameter". The routine splits the surface via the trim curve, and then refits either side ("upper" = "above the trim", and "lower" = "below the trim") as a set of untrimmed Nurbs surfaces. The idea is to retain, as much as possible, the Nurbs structure of srf, especially in the trim parameter.

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
Since: 8.0
Syntax
public bool RefitSimplySplitSurface(
	Curve trimCurve3d,
	Vector3d trimProjectionDir,
	double tolerance,
	RefitTrimKnotMode knotAdditionMode,
	int numInsertKnots,
	IEnumerable<double> Knots,
	RefitTrimSectionMode sectionMode,
	int numNonTrimSpans,
	bool meetCurve,
	bool oneSided,
	Point3d PtActive,
	bool outputSurface,
	bool outputCurve,
	ref int numSections,
	List<Surface> lowerSurface,
	List<Surface> upperSurface,
	List<Curve> edgeCurve,
	ref double FitMeasurement,
	ref Curve trimCurveOnSurface,
	ref Curve splitCurve
)

Parameters

trimCurve3d
Type: Rhino.GeometryCurve
curve that will trim from one edge to the opposite
trimProjectionDir
Type: Rhino.GeometryVector3d
Vector for projection, or zero vector for no projection
tolerance
Type: SystemDouble
3d tolerance for projection, splitting, fitting...
knotAdditionMode
Type: Rhino.GeometryRefitTrimKnotMode
0: no, don't add any 1: Yes, add nKnots knots, spaced regularly over the entire surface 2: Yes, add nKnots knots, spaced regularly PER EXISTING SPAN 3: Yes, add nKnots knots, as provided in the array Knots
numInsertKnots
Type: SystemInt32
FOr TrimParamKnots != 3, the number of knots to add
Knots
Type: System.Collections.GenericIEnumerableDouble
For TrimParamKnots=3, the custom knots to add
sectionMode
Type: Rhino.GeometryRefitTrimSectionMode
0: no sections, just output one "upper" and one "lower" surface 1: Yes, divide into sections at each of the input surface's existing knots 2: Yes, divide into sections at each of the "nKnot" added knot values 3: Yes, divide into sections at ALL knot values (i.e. both 1 and 2)
numNonTrimSpans
Type: SystemInt32
number of spans in the non-trim parameter
meetCurve
Type: SystemBoolean
Drag the refit surfaces out to meet the original trim curve
oneSided
Type: SystemBoolean
Inputting an "active" point means you only want one side of the "split" to be refit - In other words, you want a "trim refit". Results will be returned in "srfLower"
PtActive
Type: Rhino.GeometryPoint3d
Active point
outputSurface
Type: SystemBoolean
if true, output fit surfaces: srfLower and, if !bActivePt, srfUpper
outputCurve
Type: SystemBoolean
if true, output fit curve: crvEdge
numSections
Type: SystemInt32

[Missing <param name="numSections"/> documentation for "M:Rhino.Geometry.Surface.RefitSimplySplitSurface(Rhino.Geometry.Curve,Rhino.Geometry.Vector3d,System.Double,Rhino.Geometry.RefitTrimKnotMode,System.Int32,System.Collections.Generic.IEnumerable{System.Double},Rhino.Geometry.RefitTrimSectionMode,System.Int32,System.Boolean,System.Boolean,Rhino.Geometry.Point3d,System.Boolean,System.Boolean,System.Int32@,System.Collections.Generic.List{Rhino.Geometry.Surface},System.Collections.Generic.List{Rhino.Geometry.Surface},System.Collections.Generic.List{Rhino.Geometry.Curve},System.Double@,Rhino.Geometry.Curve@,Rhino.Geometry.Curve@)"]

lowerSurface
Type: System.Collections.GenericListSurface
Surfaces (# = nSections) below trim curve in srf's (u,v) domain
upperSurface
Type: System.Collections.GenericListSurface
Surfaces (# = nSections) above trim curve in srf's (u,v) domain
edgeCurve
Type: System.Collections.GenericListCurve
Curves (# = nSections) fit to trim curve with srf's u/v parameter
FitMeasurement
Type: SystemDouble
Calculated based on trimParamSections
trimCurveOnSurface
Type: Rhino.GeometryCurve
the actual trim curve as it is projected on or pulled to the surface
splitCurve
Type: Rhino.GeometryCurve
the actual fit curve the split the surface

Return Value

Type: Boolean
true for zuccess, false for failure
See Also