GeometryCreationUtilities.CreateSweptGeometry(CurveLoop, Int32, Double, IList<CurveLoop>)
Method
Description:
Creates a solid by sweeping one or more closed coplanar curve loops along a path.
Creates a solid by sweeping one or more closed coplanar curve loops along a path.
Remarks:
The profile loops must lie in a plane orthogonal to the sweep path at some attachment point along the path.
The profile loops must lie in a plane orthogonal to the sweep path at some attachment point along the path.
Syntax
Parameters
Parameter | Type | Description |
---|---|---|
sweepPath | CurveLoop | The sweep path, consisting of a set of contiguous curves. The path may be open or closed, but should not otherwise have any self-intersections. The path may be planar or non-planar. |
pathAttachmentCrvIdx | Int32 | The index of the curve in the sweep path where the profile loops are situated. Indexing starts at 0. Together with pathAttachmentParam, this specifies the profile's attachment point. |
pathAttachmentParam | Double | Parameter of the path curve specified by pathAttachmentCrvIdx. The profile curves must lie in the plane orthogonal to the path at this attachment point. |
profileLoops | IList | The curve loops defining the planar domain to be swept along the path. No conditions are imposed on the orientations of the loops: this function will use copies of the input loops that have been oriented as necessary to conform to Revit's orientation conventions. Restrictions: <ul><li>The loops must lie in the plane orthogonal to the path at the attachment point as defined above. </li><li>The curve loop(s) must be closed and should define a single planar domain (one outer loop and, optionally, one or more inner loops) </li><li>The curve loops must be without intersections, self-intersections, or degeneracies. </li><li>No loop may contain just one closed curve - split such loops into two or more curves beforehand. </li></ul> |
Return Value
Type | Description |
---|---|
Solid | The requested solid. |
Exceptions
Exception | Condition |
---|---|
ArgumentException | The input argument sweepPath should at least contain one curve. -or- The input argument pathAttachmentCrvIdx is not valid. The given attachment point doesn't lie in the plane of the Curve Loop. -or- The profile CurveLoops do not satisfy the input requirements. |
ArgumentNullException | A non-optional argument was null |
InvalidOperationException | Failed to create the swept solid. |