From 0160edd164fda76dd71e09f6c75cfbf5c7865215 Mon Sep 17 00:00:00 2001 From: Christian Hodgden Date: Wed, 17 Jul 2024 19:06:42 -0500 Subject: added normal dice design --- openscad/normal.scad | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 openscad/normal.scad (limited to 'openscad') diff --git a/openscad/normal.scad b/openscad/normal.scad new file mode 100644 index 0000000..2785182 --- /dev/null +++ b/openscad/normal.scad @@ -0,0 +1,78 @@ + +$fn = 50; +face_width = 14; +bevel_margin = 1; +cube_width = face_width + (2 * bevel_margin); +face_depth = cube_width / 2; +fd = face_depth; +pip_radius = 1.5; +pip_spacing = face_width / 3; +ps = pip_spacing; + +difference() { + minkowski() { + cube(face_width, true); + sphere(bevel_margin); + } + + // I want to take advantage of OpenSCAD's x-y-z dot notation for vectors + // Face 1 is on top (+z), clockwise 1-2-3, (+y,+x) + // Faces 4-5-6, will then be (-x, -y, -z) + // Faces 2 & 3 point together to face 6 + // a wall of face 6 is against face 5 + + // Face 1 + translate([0, 0, fd]) + sphere(pip_radius); + + // Face 2 + translate([ps, fd, -ps]) + sphere(pip_radius); + translate([-ps, fd, ps]) + sphere(pip_radius); + + // Face 3 + translate([fd, ps, -ps]) + sphere(pip_radius); + translate([fd, 0, 0]) + sphere(pip_radius); + translate([fd, -ps, ps]) + sphere(pip_radius); + + // Face 4 + translate([-fd, ps, ps]) + sphere(pip_radius); + translate([-fd, ps, -ps]) + sphere(pip_radius); + translate([-fd, -ps, ps]) + sphere(pip_radius); + translate([-fd, -ps, -ps]) + sphere(pip_radius); + + // Face 5 + translate([ps, -fd, ps]) + sphere(pip_radius); + translate([ps, -fd, -ps]) + sphere(pip_radius); + translate([0, -fd, 0]) + sphere(pip_radius); + translate([-ps, -fd, ps]) + sphere(pip_radius); + translate([-ps, -fd, -ps]) + sphere(pip_radius); + + // Face 6 + translate([ps, ps, -fd]) + sphere(pip_radius); + translate([ps, -ps, -fd]) + sphere(pip_radius); + translate([0, ps, -fd]) + sphere(pip_radius); + translate([0, -ps, -fd]) + sphere(pip_radius); + translate([-ps, ps, -fd]) + sphere(pip_radius); + translate([-ps, -ps, -fd]) + sphere(pip_radius); + +} -- cgit v1.2.3