= Trim NURBS surfaces = == Create or edit profile (trim) curves == Houdini supports _curves on surfaces_ (also known as _trim curves_ and _profile curves_). Profile curves are 2D curves that exist in the parametric (UV) space of their parent surface. Houdini draws profile curves as dotted lines on the surface. tasks>> Create a profile curve on a surface: * Use the [Project surface node|Node:sop/project] to project a curve onto a surface. Note that you cannot project [quadratic primitives|primitive_shapes]. * Use the [Surfsect node|Node:sop/surfsect] to create profile curves where two surfaces intersect. Trim a NURBS surface with a profile curve: # Create one or more profile curves on the NURBS surface you want to trim. # Select the surface you want to trim. # In the viewer, use the [tab menu|/baiscs/tab_menu] to choose the [Trim node|Node:sop/trim]. # In the parameter editor, choose whether you want to trim inside or outside the areas defined by the profile curve(s). Extract a profile curve to a 3D curve: # Add a [Profile node|Node:sop/profile] and in the parameter editor click __Extract__. # By default, the operator deletes the surface it extracts the curve from. Turn on __Keep surface__ to prevent the operator from deleting the surface. Transform a profile curve: # In the [display options|/basics/view], turn on display of Profile Numbers. # Note the number for the profile curve you want to delete. This will be in the form `2.0` (for profile curve 0 on surface 2). # Add a [Primitive node|Node:sop/primitive]. In the parameter editor, turn on __Do transformation__ and set the __Source group__ to the ` <>.<> ` profile number of the profile curve you want to transform. # Use the __Translate__, __Rotate__, and __Scale__ parameters or the manipulator in the viewer to transform the profile curve. Delete a profile curve: # In the [display options|/basics/view] or the toolbar on the right side of the viewer, turn on display of Profile Numbers. # Note the number for the profile curve you want to delete. This will be in the form `2.0` (for profile curve 0 on primitive 2). # Add a [Delete node|Node:sop/delete]. In the parameter editor, turn on the __Enable__ checkbox below __Number__. # In the __Pattern__ parameter, enter the `<>.<>` profile number of the profile curve you want to delete. == Notes == - Houdini has polygonal, NURBS, and Bezier profile curves. Each profile curve type is very similar to its 3D equivalent. For example, a NURBS profile can be open or closed, clamped or un-clamped, rational or non-rational, with order between 2 and 11. - The entire profile or part of it can move outside the surface boundaries, and become clipped at the surface edge. A profile curve that is partially or completely clipped is still valid and can be moved back onto the surface. See the Profile and Primitive sops for ways to manipulate a profile. - You can check whether a node's geometry has invisible profile curves by pressing ((MMB)) on the node tile. The pop-up info window shows the number of visible and hidden profile curves in the geometry. - A profile can co-exist with 3D primitives in primitive groups. A resulting mixed group would specify its elements like this: `1 0.2 6 2.9-2.17 4.*`.