Fillet SOP

From TouchDesigner 088 Wiki


The Fillet SOP is used to create smooth bridging geometry between two curves / polygons or two surfaces / meshes.

Filleting creates a new primitive between each input pair and never affects the original shapes. This is in contrast to the Join and Stitch SOPs. The Join SOP converts and possibly changes the connected ends of primitives, and stitching changes the original shapes but does not change the number of resulting primitives.

Please refer to the Align SOP for a discussion of "left" and "right" primitives as well as the option of an auxiliary input.

Note: Trim curves are not taken into account by a fillet. To do this, use the Join SOP.

PythonIcon.png filletSOP_Class


Group /group - Which primitives to fillet. If blank, it fillets the entire input. Accepts patterns, as described in Pattern Matching.

Fillet /fillet - Can optionally fillet subgroups of N primitives or every nth primitive in a cyclical manner.

Example: Assume there are six primitives numbered for 0 - 5, and N = 2. Then:

  1. Groups will fillet 0-1 2-3 4-5
  2. Skipping will fillet 0-2-6 and 1-3-5.

N /inc - Determines the number of primitives to be either grouped or skipped.

Wrap Last to First /loop - Connects the beginning of the first primitive to the end of the last primitive filleted, or, if only one primitive exists, it creates a fillet between its ends.

Direction /dir - This menu determines the parametric direction of the filleting operation, which can be in U or in V, and is meaningful only when the inputs are surfaces. The U direction is associated with columns; the V direction refers to rows.

Fillet Type /filletType

  • Free Form - Allows full specifications of the fillet.
  • Convex - May negate scale values to ensure convex fillets.
  • Circular - Attempts to build a fillet as close to a radial arc as the shape and orientation of the inputs permit. You do not need to specify a radius - it is automatically determined to ensure a smooth connection between the inputs. As the two inputs come into proximity of each other, the fillet radius decreases. The tangent scales are ignored (as in the Bridge SOP); only the sign of the tangent is taken into account in order to save you from needing to flip the normals of either input.

Primitive Type /primType

  • Input Geometry Type - Builds a fillet of the matching type between pairs of primitives. If the pair of primitives are different types, then the most general type is used (i.e. NURBS over Bzier, Bzier over polygons).
  • Polygon - Builds a polygonal fillet between pairs of primitives.
  • NURBS - Builds a NURBS fillet between pairs of primitives at the given order.
  • Bzier - Builds a Bzier fillet between pairs of primitives at the given order.

Order /order - Order at which to build the spline fillets.

Left UV /leftuv1 /leftuv2 - Parametric point on each left primitive at which to begin the fillet.

Right UV /rightuv1 /rightuv2 - Parametric point on each right primitive at which to begin the fillet.

LR Width /lrwidth1 /lrwidth2 - The first value represents the proportion of the left primitive that the left end of the fillet spans. The second value represents the proportion of the right primitive that the right end of the fillet spans.

LR Scale /lrscale1 /lrscale2 - Use to control the direction and scale of the first and last segments of the fillet.

LR Offset /lroffset1 /lroffset2 - Controls the position of the first and last segments of the fillet.

Match Input to Fillets /seamless - If selected, then the inputs are modified in such a way that the isoparms appear continuous from one primitive, through the fillet to the other primitive. Also, the primitives are promoted to the same type and order. This will minimize if not eliminate any artifacts introduced in rendering at the cost of more refined geometry.

Cut Primitives /cut - If selected, the primitives are trimmed at the point the fillet begins.

See Also