Surfsect SOP
Summary[edit]
The Surfsect SOP 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 (for example, you can cut a grid with a sphere).
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 to be the inside and outside of a trim region depends on the direction of the surface normals. If necessary, use the Primitive SOP to reverse the surface normals by reversing the surface's U or V direction.
Contents
Parameters  Page
Group A groupa
 Subset of NURBS and Bezier surfaces. Accepts patterns, as described in Pattern Matching.
Group B groupb
 Subset of NURBS and Bezier surfaces to intersect with A. Accepts patterns, as described in Pattern Matching.
3D Tolerance tol3d
 World space precision of the intersection.
2D Tolerance tol2d
 Domain precision of the intersection.
Marching Steps step
 Number of steps for tracing each profile span.
Parameters  Boolean Page
Enables boolean operations between the surfaces in A and B:
Operation boolop
 ⊞  Select from the following operations: Union, Intersect, AB, BA, or Userdefined.
If the Operation is set to Userdefined, the following options become available:
 Union
union

 Intersect
intersect

 A minus B
aminusb

 B minus A
bminusa

 User Defined:
other

Keep Inside A insidea
 Preserve the inside sections of the A surfaces.
Keep Inside B insideb
 Preserve the inside sections of the B surfaces.
Keep Outside A outsidea
 Preserve the outside sections of the A surfaces.
Keep Outside B outsideb
 Preserve the outside sections of the B surfaces.
Parameters  Generate Profiles Page
Just create profiles where the surfaces intersect.
Target target
 ⊞  Which surface to output profiles for: A, B, or both.
 A
a

 B
b

 A and B
both

A Profiles Group creategroupa
 Place the A profiles in a userdefined group.
profilesa

B Profiles Group creategroupb
 Place the B profiles in a userdefined group.
profilesb

Avoid Already TrimmedOut Parts mindholes
 Intersect only the visible surface parts and truncate the intersection profile at the trimmedin surface boundaries.
Join Profiles Created by Multiple Surfaces join
 If a surface has several adjacent profiles caused by its intersection with two or more surfaces, the profiles will be joined into a single curveonsurface.
Operator Inputs
 Input 0 
 Input 1 
TouchDesigner Build:
SOPs 

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 
An Operator Family that reads, creates and modifies 3D polygons, curves, NURBS surfaces, spheres, meatballs and other 3D surface data.