Create a spiral, helix in Houdini
Create a spiral, helix
spiral with adjustable diameter
(starts off with a small radius and grows larger each turn then fades of again at the end, i.e. snail shell, octopus arms) add spiral node turns: 5.31 increase per turn: 0.1 check radius ramp set 2 points, first low and second high construction: clockwise start angle: 203 divisions per turn: 100 add circle node primitive type: polygon orientation: XY plane check reverse radius: 0.1 0.1 add sweep node feed spiral in first input (backbone curves) and circle in second (cross section) end cap type: single polygon to vary the radius, diameter: check apply scale along curve scale ramp: ,,.--.,
create outside pointing normals
(click Display Normals button next to viewport) add polyframe node entity: points style: primitive centroid uncheck normal name check tangent name: N add normal node uncheck compute normals check reverse normals
cut away a part (beginning, end) of sweep
add carve node use FirstU and Second U for start/end points alternatively use clip/knife node (also add a resample node because clip/knife can only operate on a polycurve)
sweep with multiple cross sections
use sequence blend node and for each loops for the points on the spline then use enumerate node to assign the attribute variant to each point of the spline and also the primitives then add a sweeps node and use the variant attribute construction tab -> cross section attribute: variant see this for example files: https://www.sidefx.com/forum/topic/74714/?page=1#post-320023 or this: https://procegen.konstantinmagnus.de/blending-multiple-cross-sections or use rhino for a more easy workflow: https://www.youtube.com/watch?v=w5iY7JcV_1A
creating a twisted donut
add labs spiral node radius: 0.01 0.025 height: 0.2 loops: 2 helix count: 2 add fuse node group: select top 2 points uncheck snap distance
check if multiple primitives
click on display primitives numbers icon (on right side of viewport) add polypath node to connect the 2 curves add polywire node wire radius: 0.03 add subdivide node
creating a circular tube with randomly scaled cross sections
add circle node (geometry to copy) radius: 0.2 add another circle node (geometry for creating points to copy to) orientation: ZX plane add polyframe node uncheck normal name check tangent name: N add attribute randomize node attribute name: pscale add copy to points node (and feed circle and attribute randomize) add skin node
v1 for bottles
add labs spiral node add polywire node add transform node to move it into position (add polyextrude node reduce size of endings)
v2
add curve node, vertical with 2 points add resample node uncheck max. length segments: 100 add point(old!) node values: sin($PT/$NPT * 360 * 5) $PT/$NPT cos($PT/$NPT * 360 * 5) then add another resample node check max segm Treat Polygon As: Interpolating Curves