diff --git a/dustcover.go b/dustcover.go index 7eeb093..2bba184 100644 --- a/dustcover.go +++ b/dustcover.go @@ -5,9 +5,11 @@ import ( "github.com/deadsy/sdfx/sdf" ) -const DUST_COVER_OUTER_CIRCUM = 37.5 -const DUST_COVER_INNER_CIRCUM = 14.0 -const DUST_COVER_HEIGHT = 1.48 +const ( + DUST_COVER_OUTER_CIRCUM = 37.5 + DUST_COVER_INNER_CIRCUM = 14.0 + DUST_COVER_HEIGHT = 1.48 +) func dustCover() (sdf.SDF3, error) { cutoutHeight := 0.16 diff --git a/insert.go b/insert.go index 7315d16..2325290 100644 --- a/insert.go +++ b/insert.go @@ -4,8 +4,10 @@ import ( "github.com/deadsy/sdfx/sdf" ) -const INSERT_SIZE_CIRCUM = 8.5 -const INSERT_SIZE_HEIGHT = 13.0 +const ( + INSERT_SIZE_CIRCUM = 8.5 + INSERT_SIZE_HEIGHT = 13.0 +) func Insert() (sdf.SDF3, error) { return sdf.Cylinder3D(INSERT_SIZE_HEIGHT, INSERT_SIZE_CIRCUM/2, 0) diff --git a/main.go b/main.go index 995f903..a2f7e71 100644 --- a/main.go +++ b/main.go @@ -8,7 +8,9 @@ func main() { insert, _ := Insert() balltop, _ := balltop() dustCover, _ := dustCover() + shaftCover, _ := shaftCover() render.RenderSTL(insert, 300, "insert.stl") render.RenderSTL(balltop, 300, "balltop.stl") render.RenderSTL(dustCover, 300, "dustcover.stl") + render.RenderSTL(shaftCover, 300, "shaftcover.stl") } diff --git a/shaftcover.go b/shaftcover.go new file mode 100644 index 0000000..3044b15 --- /dev/null +++ b/shaftcover.go @@ -0,0 +1,24 @@ +package main + +import "github.com/deadsy/sdfx/sdf" + +const ( + SHAFT_GIRTH = 1.6 + SHAFT_OUTTER_CIRCUM = 11.7 + SHAFT_INNER_CIRCUM = 9.4 + SHAFT_HEIGHT = 35.0 +) + +func shaftCover() (sdf.SDF3, error) { + sleeve, err := sdf.Circle2D(SHAFT_OUTTER_CIRCUM / 2) + if err != nil { + return Error(err) + } + hole, err := sdf.Circle2D(SHAFT_INNER_CIRCUM / 2) + if err != nil { + return Error(err) + } + shaft := sdf.Difference2D(sleeve, hole) + + return sdf.Extrude3D(shaft, SHAFT_HEIGHT), nil +}