Three Cylinder Geometry
A cone is just one number set to zero
- geometry
Three Cylinder Geometry is the geometry node that quietly does triple duty: a cylinder, a cone, and a pipe are all this node with different numbers. It builds a cylinder standing on the Y axis, and when the top and bottom radii differ you get a truncated cone. Set radius_top to 0.0 and it closes to a point - that's your cone, no separate cone node needed. Flip open_ended on and the flat caps disappear, which turns a solid into a pipe you can look through.
The controls are straightforward. radius_top and radius_bottom (both 1.0 by default) set the two ends; matching them gives a straight cylinder, and 0.0 at the top is the classic cone trick. height runs along Y, with 1.0 as tall as a unit cube. radial_segments sets how round it looks - 32 is smooth, and dropping it to 6 turns the whole thing into a hexagonal prism for free, which is a neat low-poly shortcut. height_segments divides along the height, and like the segment controls on the box, you leave it at 1 unless a shader has something to bend. open_ended is the pipe switch.
Like every geometry node in the suite, this one describes the shape rather than building it - the actual mesh is constructed in your browser by the bundled three.js, nothing is rendered on the server. The geometry output feeds the geometry socket on Three Mesh, paired with a material. Wire the mesh into a group, and from there it's the usual path: group → Three Scene → Three App → Three Viewer (or Three Render, if you're capturing frames).
Where this node earns its keep over the box: columns and cones are the bones of a huge share of "product hero" scenes - a pedestal, a lamp, a pillar, a spool. It's also where you learn the suite's habit of folding a whole shape family into one node instead of giving each primitive its own menu entry, which is worth knowing before you go hunting for a cone node that doesn't exist.
Installing it
It's in WAS Node Suite v3 - ComfyUI Manager search WAS Node Suite v3, or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
Restart; needs ComfyUI 0.14.0+ / Python 3.10+. No pip installs, no downloads - three.js is bundled. If the Three menu is missing, set features.threejs: true in <ComfyUI user dir>/was-node-suite/config.yaml.
If it looks wrong
A "cone" that's actually a funnel is a radius_top that isn't quite zero - check it's 0.0, not 0.001. And a cylinder that looks faceted from a distance is low radial_segments doing its job; bump it to 32 or 48 for smoothness at render time.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| radius_top | FLOAT | 1.000–100000 | Radius at the top. 0.0 closes it to a point, which makes a cone. |
| radius_bottom | FLOAT | 1.000–100000 | Radius at the base. Matching radius_top at 1.0 gives a straight cylinder. |
| height | FLOAT | 1.000.0001–100000 | Height along Y in scene units. 1.0 is as tall as a unit cube. |
| radial_segments | INT | 323–2048 | Divisions around the axis. 32 looks round, 6 gives a hexagonal prism. |
| height_segments | INT | 11–2048 | Divisions along the height. 1 is enough unless a shader has to bend it. |
| open_ended | BOOLEAN | false | `true` leaves the flat caps off, making a pipe; `false` closes both ends. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| geometry | THREE_GEOMETRY | The cylinder shape, for the geometry socket on Three Mesh. |