Three Torus Geometry
Donuts, hoops and horseshoes
- geometry
Every 3D tool has a torus, and it's never just for donuts. A torus is a ring - a tire, a hoop, a cable run, a necklace, a handle, a bracelet - and once you know that the arc field can leave it open, it's also a horseshoe, a coil end, or any partial ring you need to cap an object. WASThreeTorusGeometry is the Three family's version, and like the other primitives it's a couple of sliders away from a surprising range of shapes.
What it is
A torus is a circle of tube. Two numbers define it: radius, the distance from the center to the middle of the tube, and tube, the thickness of the tube itself. The tooltip's example scales are worth internalizing - radius 1.0 with a tube of 0.4 reads as a fat donut; radius 1.0 with a tube of 0.05 is a wire hoop. Thin tube + small radius = ring or gasket; thick tube + big radius = tire.
The output is a THREE_GEOMETRY, so it feeds a Three Mesh exactly like the sphere or plane nodes do. Wire a Three Standard Material into the same mesh and you've got a colored ring; give that material an emissive color and it glows like a neon hoop.
The inputs that matter
- radius and tube - the two shape numbers above.
- radial_segments - divisions around the tube's own cross-section. 16 reads round; drop to 3 and the tube becomes a triangle, which is a fast way to get an angular look.
- tubular_segments - divisions around the ring. 100 looks smooth; 6 gives a hexagonal ring.
- arc - how far the ring sweeps, in degrees. 360 closes it into a full ring; 180 gives a horseshoe. This is the field that turns a boring ring into a partial arc, and it's easy to miss because it defaults to "everything."
If a rendered ring looks faceted, raise the two segment counts; if it looks perfect but costs too much, they're also the first things to lower.
Where it fits
It's a genuine workhorse in assembled scenes - a torus is the natural handle or rim on an object you're building from primitives, and it pairs well with Three Transform Object to rotate it into place or Three Material Mix to give it a two-tone surface. Combined with Three Mesh and the group/scene pipeline it renders exactly like every other shape, with no special handling.
Install
WASThreeTorusGeometry ships with WAS Node Suite v3. Install through ComfyUI Manager (search WAS Node Suite v3) or:
cd ComfyUI/custom_nodes
git clone https://github.com/WASasquatch/was-node-suite-comfyui.git
Restart after. Requires ComfyUI 0.14.0+ and Python 3.10+, no extra packages. If the node's missing from Add Node, the Three family is gated by features.threejs in <ComfyUI user dir>/was-node-suite/config.yaml - on by default in current releases - so check that key and restart.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| radius | FLOAT | 1.000.0001–100000 | Centre to the middle of the tube, in scene units. 1.0 with a tube of 0.4 reads as a donut. |
| tube | FLOAT | 0.400.0001–100000 | Thickness of the tube itself. 0.4 is a fat donut, 0.05 a wire hoop. |
| radial_segments | INT | 163–2048 | Divisions around the tube's own cross section. 16 looks round, 3 gives a triangular tube. |
| tubular_segments | INT | 1003–8192 | Divisions around the ring. 100 looks smooth, 6 gives a hexagonal ring. |
| arc | FLOAT | 360.00.01–360 | How far the ring sweeps, in degrees. 360.0 closes it, 180.0 gives a horseshoe. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| geometry | THREE_GEOMETRY | The ring shape, for the geometry socket on Three Mesh. |