deadsy/sdfx

A simple CAD package using signed distance functions

Go

630

850 commits

updated Aug 29, 2026

See the code

README

Go Report Card GoDoc

sdfx

A simple CAD package written in Go (https://golang.org/)

  • Objects are modelled with 2d and 3d signed distance functions (SDFs).
  • Objects are defined with Go code.
  • Objects are rendered to an STL/3MF file to be viewed and/or 3d printed.

How To

  1. See the examples.
  2. Write some Go code to define your own object.
  3. Build and run the Go code.
  4. Preview the output in an 3d file viewer (e.g. http://www.meshlab.net/)
  5. Print the STL/3MF file if you like it enough.

SDF Viewer Go or SDFX-UI allow faster development iterations, replacing steps 3 and 4 until the final build.

Why?

  • SDFs make CSG easy.
  • As a language Golang > OpenSCAD.
  • SDFs can easily do filleting and chamfering (hard to do with OpenSCAD).
  • SDFs are hackable to try out oddball ideas.

Development

wheel core_box cylinder_head msquare axoloti text gyroid icosahedron cc16a cc16b cc18b cc18c gear camshaft geneva nutsandbolts extrude1 extrude2 bezier1 bezier2 voronoi

3d
3d-models
3d-printing
3mf
cad
dxf
go
golang
signed-distance-field
signed-distance-functions
stl
svg

deadsy/sdfx

A simple CAD package using signed distance functions

Go

630

850 commits

updated Aug 29, 2026

See the code

README

Go Report Card GoDoc

sdfx

A simple CAD package written in Go (https://golang.org/)

  • Objects are modelled with 2d and 3d signed distance functions (SDFs).
  • Objects are defined with Go code.
  • Objects are rendered to an STL/3MF file to be viewed and/or 3d printed.

How To

  1. See the examples.
  2. Write some Go code to define your own object.
  3. Build and run the Go code.
  4. Preview the output in an 3d file viewer (e.g. http://www.meshlab.net/)
  5. Print the STL/3MF file if you like it enough.

SDF Viewer Go or SDFX-UI allow faster development iterations, replacing steps 3 and 4 until the final build.

Why?

  • SDFs make CSG easy.
  • As a language Golang > OpenSCAD.
  • SDFs can easily do filleting and chamfering (hard to do with OpenSCAD).
  • SDFs are hackable to try out oddball ideas.

Development

wheel core_box cylinder_head msquare axoloti text gyroid icosahedron cc16a cc16b cc18b cc18c gear camshaft geneva nutsandbolts extrude1 extrude2 bezier1 bezier2 voronoi

3d
3d-models
3d-printing
3mf
cad
dxf
go
golang
signed-distance-field
signed-distance-functions
stl
svg

Project health

Overall

2.1/10

Maintained

1/10

Code review

0/10
OpenSSF Scorecard

Significant stargazers

Michael Fogleman

5,737 followers · starred Mar 2017

Máximo Cuadros

410 followers · starred Jul 2017

Quim Muntal

218 followers · starred Nov 2020

Jan

147 followers · starred Mar 2026