TYPE: SOP
TITLE: Surfsect SOP

Surfsect performs boolean operations with NURBS and Bezier surfaces, or only
generates profiles where the surfaces intersect. The individual surfaces do not
need to be solids (i.e. wrap in U and V), nor do they need to form a solid as a
group.

The surfaces in the first input are denoted by "A" in the parameter list. The
surfaces in the second input are denoted by "B". The entire A set is intersected
with the B set, which allows for true CSG operations with spline surfaces. Thus,
if A forms a solid and B forms a solid, any boolean operation between A and B
will produce a solid. If either set has an open topology, the result will also
be open.

What is deemed inside or outside a trim region depends on the direction of the
surface normals. If necessary, use the Primitive operation to reverse the
surface normals by reversing the surface's U or V direction.

Parameters:

    Group A            - Subset of NURBS and Bezier surfaces
    Group B            - Subset of NURBS and Bezier surfaces to intersect with A

    3D Tolerance       - World space precision of the intersection      /tol3d
    2D Tolerance       - Domain precision of the intersection           /tol2d
    Marching Steps     - Number of steps for tracing each profile span   /step

Boolean
    Overview	       - Boolean operations between the surfaces in A and B
    Operation          - Union, intersect, A - B, B - A, or user-defined:
    Keep Inside A      - Preserve the inside  sections of the A surfaces
    Keep Inside B      - Preserve the inside  sections of the B surfaces
    Keep Outside A     - Preserve the outside sections of the A surfaces
    Keep Outside B     - Preserve the outside sections of the B surfaces
    Radius             - The radius to round the intersection with     /radius
    Span Density       - The density to create the rounded fillet.    /density
    Cusp Angle         - The change in angle which triggers a corner    /angle

Generate Profiles
    Overview	       - Just create profiles where the surfaces intersect
    Target             - Which surface to output profiles for: A, B, or both
    A Profiles Group   - Place the A profiles in a user-defined group
    B Profiles Group   - Place the B profiles in a user-defined group

    Avoid Already Trimmed-Out Parts            - Intersect only the visible
                         surface parts and truncate the intersection profile 
                         at the trimmed-in surface boundaries.

    Join Profiles Created By Multiple Surfaces - If a surface has several
                         adjacent profiles caused by its intersection with two
                         or more surfaces, the profiles will be joined into a
                         single curve-on-surface

See also: Curvesect, Boolean, Cookie, Trim, Carve, Round
