Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
docs
|
|
|
visuals/positioning
command
Generates the visual reference for docs/content/positioning.md.
|
Generates the visual reference for docs/content/positioning.md. |
|
examples
|
|
|
3dp_nutbolt
command
|
|
|
angle
command
|
|
|
arrow
command
|
|
|
axochord
command
|
|
|
axoloti
command
|
|
|
beehive
command
|
|
|
benchmark
command
|
|
|
bezier
command
|
|
|
birdhouse
command
|
|
|
bjj
command
|
|
|
bolt_container
command
|
|
|
bucky
command
|
|
|
camshaft
command
|
|
|
cap
command
|
|
|
carburetor
command
|
|
|
challenge
command
|
|
|
cylinder_head
command
|
|
|
dc2test
command
|
|
|
delta
command
|
|
|
devo
command
|
|
|
draincover
command
|
|
|
drone
command
|
|
|
dust_collection
command
|
|
|
eurorack
command
|
|
|
extrusion
command
|
|
|
fidget
command
|
|
|
finial
command
|
|
|
flask
command
|
|
|
gas_cap
command
|
|
|
gears
command
|
|
|
geneva
command
|
|
|
gridfinity
command
|
|
|
gyroid
command
|
|
|
helix
command
SweepHelix showcase: sweeps a variety of 2D profiles along helical paths with and without flatEnds.
|
SweepHelix showcase: sweeps a variety of 2D profiles along helical paths with and without flatEnds. |
|
hole_patterns
command
|
|
|
holes
command
|
|
|
hollowing_stl
command
|
|
|
hpe
command
|
|
|
inlet_hood
command
|
|
|
joko
command
|
|
|
keycap
command
|
|
|
loadcell
command
|
|
|
maestro
command
|
|
|
maixgo
command
|
|
|
mcg
command
|
|
|
mesh_test
command
|
|
|
midget
command
|
|
|
monkey_hat
command
|
|
|
msquare
command
|
|
|
nordic
command
|
|
|
nutcover
command
|
|
|
nutsandbolts
command
|
|
|
offset_box
command
|
|
|
opengate
command
|
|
|
panel_box
command
|
|
|
phone
command
|
|
|
pico_cnc
command
|
|
|
picorx
command
|
|
|
pillar_holder
command
|
|
|
pipe_connectors
command
|
|
|
pool
command
|
|
|
pottery_wheel
command
|
|
|
radio
command
|
|
|
ringnut_tool
command
|
|
|
rpi
command
|
|
|
screw_assortment
command
Screw assortment: renders an array of screw configurations covering all thread profiles (ISO, ACME, buttress, plastic-buttress), multi-start, left-hand, tapered, and extreme dimensions.
|
Screw assortment: renders an array of screw configurations covering all thread profiles (ISO, ACME, buttress, plastic-buttress), multi-start, left-hand, tapered, and extreme dimensions. |
|
servo
command
|
|
|
simple_stl
command
|
|
|
spiral
command
|
|
|
sprue
command
|
|
|
square_flange
command
|
|
|
tabbox
command
|
|
|
tacho_bracket
command
|
|
|
tapers
command
|
|
|
test
command
|
|
|
text
command
|
|
|
voronoi
command
|
|
|
Package layout returns position arrays meant to be spread into the variadic .Multi(positions...) on Solid and Shape.
|
Package layout returns position arrays meant to be spread into the variadic .Multi(positions...) on Solid and Shape. |
|
Package mesh provides triangle-mesh utilities and types that complement the SDF-based shape and solid packages.
|
Package mesh provides triangle-mesh utilities and types that complement the SDF-based shape and solid packages. |
|
Package obj provides parametric helper constructors for parts you'd otherwise build by hand.
|
Package obj provides parametric helper constructors for parts you'd otherwise build by hand. |
|
Package plane provides 3D plane helpers for slicing operations.
|
Package plane provides 3D plane helpers for slicing operations. |
|
Package render provides output formats and renderer constructors used internally by the *solid.Solid and *shape.Shape STL/3MF/DXF/SVG/PNG methods.
|
Package render provides output formats and renderer constructors used internally by the *solid.Solid and *shape.Shape STL/3MF/DXF/SVG/PNG methods. |
|
Package shape is the 2D side of fluent-sdfx: a chainable wrapper around sdfx's SDF2 type with primitives, transforms, booleans, polygon and bezier builders, text, threads, cams, and gears.
|
Package shape is the 2D side of fluent-sdfx: a chainable wrapper around sdfx's SDF2 type with primitives, transforms, booleans, polygon and bezier builders, text, threads, cams, and gears. |
|
Package solid is the 3D side of fluent-sdfx: a chainable wrapper around sdfx's SDF3 type with primitives, transforms, booleans, smooth blends, and anchor-based positioning.
|
Package solid is the 3D side of fluent-sdfx: a chainable wrapper around sdfx's SDF3 type with primitives, transforms, booleans, smooth blends, and anchor-based positioning. |
|
tools
|
|
|
decimate-stl
command
decimate-stl reads a binary STL, simplifies the mesh via meshoptimizer to a target triangle count, and writes the result back as binary STL.
|
decimate-stl reads a binary STL, simplifies the mesh via meshoptimizer to a target triangle count, and writes the result back as binary STL. |
|
tutorial
|
|
|
02-project-setup/01-hello-part
command
Project setup: a minimal main.go that proves your fluent-sdfx install works.
|
Project setup: a minimal main.go that proves your fluent-sdfx install works. |
|
04-quickstart/01-cylinder
command
Quickstart step 1: a plain cylinder.
|
Quickstart step 1: a plain cylinder. |
|
04-quickstart/02-with-one-hole
command
Quickstart step 2: drill one hole down the middle with Cut.
|
Quickstart step 2: drill one hole down the middle with Cut. |
|
04-quickstart/03-with-four-holes
command
Quickstart step 3: drill four holes via Multi β places copies of the tool at the given positions, then Cut subtracts them all in one op.
|
Quickstart step 3: drill four holes via Multi β places copies of the tool at the given positions, then Cut subtracts them all in one op. |
|
04-quickstart/04-with-rounded-edges
command
Quickstart step 4: round the body's top and bottom edges by setting the round parameter.
|
Quickstart step 4: round the body's top and bottom edges by setting the round parameter. |
|
04-quickstart/05-polished-final
command
Quickstart step 5: print-shrinkage compensation and mesh decimation for a smaller STL.
|
Quickstart step 5: print-shrinkage compensation and mesh decimation for a smaller STL. |
|
05-vectors-types/01-vectors-demo
command
Vectors demo: build a small assembly using v2, v3, and p2 constructors.
|
Vectors demo: build a small assembly using v2, v3, and p2 constructors. |
|
06-shapes-2d/01-rect
command
2D shapes: a rounded rectangle.
|
2D shapes: a rounded rectangle. |
|
06-shapes-2d/02-circle
command
2D shapes: a circle.
|
2D shapes: a circle. |
|
06-shapes-2d/03-polygon
command
2D shapes: an arbitrary polygon from a list of vertices.
|
2D shapes: an arbitrary polygon from a list of vertices. |
|
06-shapes-2d/04-hexagon
command
2D shapes: a regular hexagon by inscribed radius.
|
2D shapes: a regular hexagon by inscribed radius. |
|
06-shapes-2d/05-star
command
2D shapes: a 5-pointed star with outer/inner radius and point count.
|
2D shapes: a 5-pointed star with outer/inner radius and point count. |
|
06-shapes-2d/06-polybuilder-with-arcs
command
2D shapes: a fluent polygon builder with smoothed and chamfered corners.
|
2D shapes: a fluent polygon builder with smoothed and chamfered corners. |
|
06-shapes-2d/07-bezier
command
2D shapes: a closed bezier curve via NewBezier with slope handles.
|
2D shapes: a closed bezier curve via NewBezier with slope handles. |
|
07-solids-3d/01-box
command
3D solids: a rounded box via solid.Box(size, round).
|
3D solids: a rounded box via solid.Box(size, round). |
|
07-solids-3d/02-cylinder
command
3D solids: a cylinder via solid.Cylinder(height, radius, round).
|
3D solids: a cylinder via solid.Cylinder(height, radius, round). |
|
07-solids-3d/03-sphere
command
3D solids: a sphere via solid.Sphere(radius).
|
3D solids: a sphere via solid.Sphere(radius). |
|
07-solids-3d/04-cone
command
3D solids: a truncated cone β bottom radius 10, top radius 4, height 18.
|
3D solids: a truncated cone β bottom radius 10, top radius 4, height 18. |
|
07-solids-3d/05-capsule
command
3D solids: a capsule β a cylinder with hemispherical caps.
|
3D solids: a capsule β a cylinder with hemispherical caps. |
|
07-solids-3d/06-torus
command
3D solids: a torus with a major radius (centre-to-tube distance) and a minor radius (tube radius).
|
3D solids: a torus with a major radius (centre-to-tube distance) and a minor radius (tube radius). |
|
08-booleans/01-union
command
Booleans: Union joins two solids into one.
|
Booleans: Union joins two solids into one. |
|
08-booleans/02-cut
command
Booleans: Cut subtracts the tool from the body (set difference).
|
Booleans: Cut subtracts the tool from the body (set difference). |
|
08-booleans/03-intersect
command
Booleans: Intersect keeps only the volume common to both solids.
|
Booleans: Intersect keeps only the volume common to both solids. |
|
08-booleans/04-multi-cut
command
Booleans: Cut is variadic β pass any number of tools and they're all removed from the body in a single operation.
|
Booleans: Cut is variadic β pass any number of tools and they're all removed from the body in a single operation. |
|
09-transforms/01-translate
command
Transforms: Translate moves a solid by a vector.
|
Transforms: Translate moves a solid by a vector. |
|
09-transforms/02-rotate
command
Transforms: RotateX / Y / Z take an angle in degrees.
|
Transforms: RotateX / Y / Z take an angle in degrees. |
|
09-transforms/03-scale
command
Transforms: Scale takes a per-axis vector; ScaleUniform a single factor.
|
Transforms: Scale takes a per-axis vector; ScaleUniform a single factor. |
|
09-transforms/04-mirror
command
Transforms: Mirror operations reflect a solid across an axis plane.
|
Transforms: Mirror operations reflect a solid across an axis plane. |
|
09-transforms/05-chained
command
Transforms: every transform returns a new *Solid, so they chain.
|
Transforms: every transform returns a new *Solid, so they chain. |
|
09a-positioning/01-anchor-basics
command
Positioning: every Solid has 27 named anchors on its bounding box β 6 face centers (Top, Bottom, Left, Right, Front, Back), 12 edge midpoints (TopRight, BottomFront, ...) and 8 corners (TopFrontRight, ...).
|
Positioning: every Solid has 27 named anchors on its bounding box β 6 face centers (Top, Bottom, Left, Right, Front, Back), 12 edge midpoints (TopRight, BottomFront, ...) and 8 corners (TopFrontRight, ...). |
|
09a-positioning/02-stack-on
command
Positioning: stack a cap on top of a body in one chain.
|
Positioning: stack a cap on top of a body in one chain. |
|
09a-positioning/03-flush-edge
command
Positioning: place a tab so its right face is flush with the host's right face, inset slightly, with its bottom on the floor.
|
Positioning: place a tab so its right face is flush with the host's right face, inset slightly, with its bottom on the floor. |
|
09a-positioning/04-radial-layout
command
Positioning: layout.Polar(radius, n) returns n positions evenly spaced on a circle in the XY plane.
|
Positioning: layout.Polar(radius, n) returns n positions evenly spaced on a circle in the XY plane. |
|
09a-positioning/05-grid-corners
command
Positioning: layout.RectCorners returns the 4 XY corners of a rectangle centered on the origin β perfect for standoffs around a panel.
|
Positioning: layout.RectCorners returns the 4 XY corners of a rectangle centered on the origin β perfect for standoffs around a panel. |
|
10-2d-to-3d/01-extrude
command
2D β 3D: linear extrusion of a 2D profile.
|
2D β 3D: linear extrusion of a 2D profile. |
|
10-2d-to-3d/02-extrude-rounded
command
2D β 3D: extrusion with rounded top and bottom edges.
|
2D β 3D: extrusion with rounded top and bottom edges. |
|
10-2d-to-3d/03-twist-extrude
command
2D β 3D: extrusion that twists the profile around Z over the height.
|
2D β 3D: extrusion that twists the profile around Z over the height. |
|
10-2d-to-3d/04-scale-extrude
command
2D β 3D: extrusion that scales the profile linearly over the height.
|
2D β 3D: extrusion that scales the profile linearly over the height. |
|
10-2d-to-3d/05-revolve
command
2D β 3D: full revolution of a 2D profile around the Y axis.
|
2D β 3D: full revolution of a 2D profile around the Y axis. |
|
10-2d-to-3d/06-revolve-angle
command
2D β 3D: partial revolution β a wedge of a full revolve.
|
2D β 3D: partial revolution β a wedge of a full revolve. |
|
10-2d-to-3d/07-loft
command
2D β 3D: loft transitions between two 2D profiles over a height.
|
2D β 3D: loft transitions between two 2D profiles over a height. |
|
10-2d-to-3d/08-sweep-helix
command
2D β 3D: SweepHelix sweeps a 2D profile along a helical path.
|
2D β 3D: SweepHelix sweeps a 2D profile along a helical path. |
|
10-2d-to-3d/09-screw
command
2D β 3D: Screw revolves a thread profile around Z to make screw threads.
|
2D β 3D: Screw revolves a thread profile around Z to make screw threads. |
|
11-smooth-blends/01-round-min
command
Smooth blends: SmoothUnion with a RoundMin blend function fillets the junction between two solids with a circular radius.
|
Smooth blends: SmoothUnion with a RoundMin blend function fillets the junction between two solids with a circular radius. |
|
11-smooth-blends/02-chamfer-min
command
Smooth blends: ChamferMin produces a 45Β° chamfer at the union seam instead of a fillet.
|
Smooth blends: ChamferMin produces a 45Β° chamfer at the union seam instead of a fillet. |
|
11-smooth-blends/03-smooth-cut
command
Smooth blends: SmoothCut fillets the *inside* corner where a tool is subtracted from a body.
|
Smooth blends: SmoothCut fillets the *inside* corner where a tool is subtracted from a body. |
|
11-smooth-blends/04-smooth-array
command
Smooth blends: SmoothArray repeats a solid in a grid where each neighbour is smooth-unioned to its peers, producing soft webs between what would otherwise be discrete copies.
|
Smooth blends: SmoothArray repeats a solid in a grid where each neighbour is smooth-unioned to its peers, producing soft webs between what would otherwise be discrete copies. |
|
12-modifiers/01-shell
command
Modifiers: Shell hollows out a solid, leaving a wall of the given thickness.
|
Modifiers: Shell hollows out a solid, leaving a wall of the given thickness. |
|
12-modifiers/02-offset
command
Modifiers: Offset moves every surface along its outward normal by the given distance.
|
Modifiers: Offset moves every surface along its outward normal by the given distance. |
|
12-modifiers/03-shrink-grow
command
Modifiers: Shrink/Grow uniformly inset or expand all surfaces by a scalar.
|
Modifiers: Shrink/Grow uniformly inset or expand all surfaces by a scalar. |
|
12-modifiers/04-elongate
command
Modifiers: Elongate stretches a solid along the given axes by inserting a flat-walled "extrusion" between the two halves of the SDF.
|
Modifiers: Elongate stretches a solid along the given axes by inserting a flat-walled "extrusion" between the two halves of the SDF. |
|
13-patterns/01-array
command
Patterns: Array repeats a solid on a regular grid.
|
Patterns: Array repeats a solid on a regular grid. |
|
13-patterns/02-rotate-copy
command
Patterns: RotateCopyZ duplicates a solid n times around the Z axis, evenly spaced.
|
Patterns: RotateCopyZ duplicates a solid n times around the Z axis, evenly spaced. |
|
13-patterns/03-line-of
command
Patterns: LineOf places copies of a solid along a line from p0 to p1.
|
Patterns: LineOf places copies of a solid along a line from p0 to p1. |
|
13-patterns/04-multi
command
Patterns: Multi places copies of a solid at an explicit list of positions.
|
Patterns: Multi places copies of a solid at an explicit list of positions. |
|
13-patterns/05-orient
command
Patterns: Orient places copies of a solid pointed in a list of directions.
|
Patterns: Orient places copies of a solid pointed in a list of directions. |
|
14-cross-sections/01-slice-z
command
Cross-sections: SliceAt cuts a 2D cross-section through a 3D solid.
|
Cross-sections: SliceAt cuts a 2D cross-section through a 3D solid. |
|
14-cross-sections/02-slice-arbitrary-plane
command
Cross-sections: plane.At lets you slice on any oriented plane, not just axis-aligned ones.
|
Cross-sections: plane.At lets you slice on any oriented plane, not just axis-aligned ones. |
|
14-cross-sections/03-slice-to-svg
command
Cross-sections: a slice can be exported directly to SVG/DXF for laser cutting or 2D documentation.
|
Cross-sections: a slice can be exported directly to SVG/DXF for laser cutting or 2D documentation. |
|
15-text-2d-output/01-text-to-png
command
Text & 2D output: render a string with a TrueType font, write as PNG.
|
Text & 2D output: render a string with a TrueType font, write as PNG. |
|
15-text-2d-output/02-text-to-dxf
command
Text & 2D output: render a string and write to DXF (vector format used by laser cutters and CAD software).
|
Text & 2D output: render a string and write to DXF (vector format used by laser cutters and CAD software). |
|
15-text-2d-output/03-text-extruded-3d
command
Text & 2D output: extrude a text profile into 3D with rounded edges.
|
Text & 2D output: extrude a text profile into 3D with rounded edges. |
|
16-obj-overview/01-hex-bolt
command
Parametric helpers: a hex-head bolt via obj.Bolt.
|
Parametric helpers: a hex-head bolt via obj.Bolt. |
|
16-obj-overview/02-panel
command
Parametric helpers: a Panel3D with rounded corners and mounting holes.
|
Parametric helpers: a Panel3D with rounded corners and mounting holes. |
|
16-obj-overview/03-standoff
command
Parametric helpers: a PCB standoff via obj.Standoff3D.
|
Parametric helpers: a PCB standoff via obj.Standoff3D. |
|
16-obj-overview/04-gridfinity
command
Parametric helpers: a 2x1 Gridfinity base.
|
Parametric helpers: a 2x1 Gridfinity base. |
|
17-output-resolution/01-low-res
command
Output: cellsPerMM=0.5 β fast preview render.
|
Output: cellsPerMM=0.5 β fast preview render. |
|
17-output-resolution/02-high-res
command
Output: cellsPerMM=8 β final-quality render.
|
Output: cellsPerMM=8 β final-quality render. |
|
17-output-resolution/03-decimated
command
Output: high-res render decimated to 25% triangle count.
|
Output: high-res render decimated to 25% triangle count. |
|
17-output-resolution/04-3mf
command
Output: ThreeMF (.3mf) is the modern alternative to STL β a zipped XML format with explicit units, colour, and metadata.
|
Output: ThreeMF (.3mf) is the modern alternative to STL β a zipped XML format with explicit units, colour, and metadata. |
|
18-cookbook-bolt/01-bolt-only
command
Bolt assembly cookbook step 1: a single hex bolt.
|
Bolt assembly cookbook step 1: a single hex bolt. |
|
18-cookbook-bolt/02-with-shank
command
Bolt assembly cookbook step 2: bolt with a smooth shank.
|
Bolt assembly cookbook step 2: bolt with a smooth shank. |
|
18-cookbook-bolt/03-different-thread
command
Bolt assembly cookbook step 3: try a different thread standard.
|
Bolt assembly cookbook step 3: try a different thread standard. |
|
18-cookbook-bolt/04-matching-nut
command
Bolt assembly cookbook step 4: a matching nut.
|
Bolt assembly cookbook step 4: a matching nut. |
|
18-cookbook-bolt/05-washer
command
Bolt assembly cookbook step 5: a washer.
|
Bolt assembly cookbook step 5: a washer. |
|
18-cookbook-bolt/06-assembly
command
Bolt assembly cookbook step 6: the full assembly β bolt, washer, nut.
|
Bolt assembly cookbook step 6: the full assembly β bolt, washer, nut. |
|
19-cookbook-enclosure/01-panel
command
Enclosure cookbook step 1: a panel-mounted front face.
|
Enclosure cookbook step 1: a panel-mounted front face. |
|
19-cookbook-enclosure/02-with-standoffs
command
Enclosure cookbook step 2: panel with PCB standoffs at the corners.
|
Enclosure cookbook step 2: panel with PCB standoffs at the corners. |
|
19-cookbook-enclosure/03-panelbox
command
Enclosure cookbook step 3: switch to obj.PanelBox3D for a full panel-and-shell assembly.
|
Enclosure cookbook step 3: switch to obj.PanelBox3D for a full panel-and-shell assembly. |
|
19-cookbook-enclosure/04-mounts
command
Enclosure cookbook step 4: add internal screw mounts to a single shell.
|
Enclosure cookbook step 4: add internal screw mounts to a single shell. |
|
19-cookbook-enclosure/05-assembly
command
Enclosure cookbook step 5: the full enclosure with a tray shell, four PCB standoffs, and a separate screw-on lid.
|
Enclosure cookbook step 5: the full enclosure with a tray shell, four PCB standoffs, and a separate screw-on lid. |
|
20-cookbook-gear/01-gear-profile
command
Gear cookbook step 1: a 2D involute gear profile.
|
Gear cookbook step 1: a 2D involute gear profile. |
|
20-cookbook-gear/02-with-hub
command
Gear cookbook step 2: extrude the gear to thickness and add a centre hub.
|
Gear cookbook step 2: extrude the gear to thickness and add a centre hub. |
|
20-cookbook-gear/03-shaft-bore
command
Gear cookbook step 3: drill a shaft bore through gear and hub.
|
Gear cookbook step 3: drill a shaft bore through gear and hub. |
|
20-cookbook-gear/04-final
command
Gear cookbook step 4: the polished final gear β chamfered tooth tops, shaft bore with set-screw hole, and shrinkage compensation.
|
Gear cookbook step 4: the polished final gear β chamfered tooth tops, shaft bore with set-screw hole, and shrinkage compensation. |
|
21-cookbook-lantern/01-body
command
Lantern cookbook step 1: a rounded cylindrical body sitting flush on the build plate.
|
Lantern cookbook step 1: a rounded cylindrical body sitting flush on the build plate. |
|
21-cookbook-lantern/02-pocket
command
Lantern cookbook step 2: hollow out the tea light pocket.
|
Lantern cookbook step 2: hollow out the tea light pocket. |
|
21-cookbook-lantern/03-side-slots
command
Lantern cookbook step 3: punch decorative slots through the wall.
|
Lantern cookbook step 3: punch decorative slots through the wall. |
|
21-cookbook-lantern/04-feet
command
Lantern cookbook step 4: 4 small feet under the body.
|
Lantern cookbook step 4: 4 small feet under the body. |
|
21-cookbook-lantern/05-finial
command
Lantern cookbook step 5: cap the lantern and add a finial knob.
|
Lantern cookbook step 5: cap the lantern and add a finial knob. |
|
internal/tutorialfont
Package tutorialfont embeds a TrueType font (Computer Modern, cmr10) so every tutorial step that needs text can run with no external assets.
|
Package tutorialfont embeds a TrueType font (Computer Modern, cmr10) so every tutorial step that needs text can run with no external assets. |
|
Package units re-exports common numeric constants and helpers from sdfx.
|
Package units re-exports common numeric constants and helpers from sdfx. |
|
Package validate inspects a solid's rendered mesh for printability and regression-test signals: triangle count, surface area, volume, watertightness (boundary-edge count), and overhang area for FDM-style 3D printing.
|
Package validate inspects a solid's rendered mesh for printability and regression-test signals: triangle count, surface area, volume, watertightness (boundary-edge count), and overhang area for FDM-style 3D printing. |
|
vec
|
|
|
p2
Package p2 provides a 2D polar vector type.
|
Package p2 provides a 2D polar vector type. |
|
v2
Package v2 provides a 2D vector type with method-chainable arithmetic.
|
Package v2 provides a 2D vector type with method-chainable arithmetic. |
|
v2i
Package v2i provides a 2D integer vector type with method-chainable arithmetic.
|
Package v2i provides a 2D integer vector type with method-chainable arithmetic. |
|
v3
Package v3 provides a 3D vector type with method-chainable arithmetic.
|
Package v3 provides a 3D vector type with method-chainable arithmetic. |
|
v3i
Package v3i provides a 3D integer vector type with method-chainable arithmetic.
|
Package v3i provides a 3D integer vector type with method-chainable arithmetic. |
Click to show internal directories.
Click to hide internal directories.
