TYPE: SOP
TITLE: Trim SOP

The Trim operation cuts out parts of a spline surface, or uncuts previously cut
pieces. When a portion of the surface is trimmed, it is not actually removed
from the surface.  Instead, that part is made invisible. 

A spline surface can be trimmed only if it contains curves-on-surface, also
known as "profiles" or "profile curves". Use the Project or Surfsect operations
to create curves-on-surface. Examples of profiles include 0.5, 1.2-3.9, and 5.*.

The trim regions can be defined by single, open or closed profiles, or multiple
profiles that intersect and/or cross the surface boundaries. Trim regions can
intersect arbitrarily and nest. The winding rule (rather than the even/odd rule)
is used to determine the cutting regions of intersection loops.

The first time a surface is trimmed, an additional trim loop is created 
automatically if the option is to generate holes ("Keep Outside"). This loop
goes around the surface boundaries, which is why it is known as the "outer
trim loop". It is a closed, rectangular polygon, and can be accessed like any
other profile on the surface.

Parameters:
    Group               - Subset of profiles to use as trim curves.
    Trimming operation  - Lists the types of trimming operations available:
        Keep Outside    - Remove the area of the surface enclosed by the curve.
        Keep Inside     - Remove the area outside the curve.
        Keep Natural    - Trim based on the natural orientation of the profiles,
                          be they open or not. Counter-clockwise profiles keep
                          their interior, generating a result similar to
                          "Keep Inside". Clockwise profiles discard their
                          interior, similar to "Keep Outside", and may require
                          an explicit outer trim-loop if none present.
        Untrim          - Undo the trimming operation associated with the
                          trim curve and turn the trim curve into a plain
                          profile curve. Use the Delete operation to remove the
                          profile entirely; this also applies to explicitly
			  built outer-trim loops, which are regular profiles.
        Change Altitude - If the trim loops are viewed as countours on
                          a map, the altitude is the "sea level" which marks 
                          the transition from trim in to trim out.  
                          $ALTITTUDE is the local variable containing the 
                          surfaces current altitude.
    Process profiles individually    - Generate a trim region out of of each
                                       profile or treat the whole group as one.
    Build outer-trim loop explicitly - Generate a trim loop around the surface
                                       boundary. One is created automatically
                                       when a surface is trimmed for the first
                                       time if "Keep Outside" is on.
    Trimming Tolerance  - How close two trim curves must be to each
                          other or to the edge of the patch to be considered an
                          intersection.                               /trimtol
    Altitude            - The new altitude for the surface.          /altitude

See also: Project, Profile, Surfsect, Carve, Cookie
