From 29c77da0beccbec65e1d21b8efd55d9a6932acbd Mon Sep 17 00:00:00 2001 From: Michael Sippel <micha@fragmental.art> Date: Sat, 29 Mar 2025 13:50:58 +0100 Subject: [PATCH 1/2] first ogre snack --- items/ogre-snack.scad | 107 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 items/ogre-snack.scad diff --git a/items/ogre-snack.scad b/items/ogre-snack.scad new file mode 100644 index 0000000..f4bb72c --- /dev/null +++ b/items/ogre-snack.scad @@ -0,0 +1,107 @@ + +module hinge() { + rotate([0,90,0]) + cylinder(d=1, h=3, $fn=64, center=true); + + translate([-0.5,0,-1.5]) + rotate([90,0,0]) + cylinder(d=0.5, h=1, $fn=64, center=true); + translate([0.5,0,-1.5]) + rotate([90,0,0]) + cylinder(d=0.5, h=1, $fn=64, center=true); + + translate([-0.5,0,1.5]) + rotate([90,0,0]) + cylinder(d=0.5, h=1, $fn=64, center=true); + translate([0.5,0,1.5]) + rotate([90,0,0]) + cylinder(d=0.5, h=1, $fn=64, center=true); + + hull() { + cube([3, 0.5, 0.5], center=true); + + translate([0,0.5,-2]) + rotate([90,0,0]) + cylinder(d=1, h=1, $fn=64, center=true); + + translate([0,0.5,2]) + rotate([90,0,0]) + cylinder(d=1, h=1, $fn=64, center=true); + } +} + + + + +// hinges +translate([0,-8.5,0]) +{ + translate([-9,0,0]) + hinge(); + translate([9,0,0]) + hinge(); + hinge(); +} + + +difference() { + union() { + translate([0,0,-10]) + cube([30, 17, 1], center=true); + + translate([0,0,-5]) + cube([30, 15, 10], center=true); + + translate([0,0,1]) + cube([30, 17, 1], center=true); + translate([0,0,-1]) + cube([30, 17, 1], center=true); + + translate([0,0,7.5]) + cube([30, 1, 1], center=true); + + rotate([0,90,0]) + { + cylinder(d=15, h=30, $fn=64, center=true); + + + intersection(){ + cylinder(d=17, h=3, $fn=64, center=true); + + translate([0,0,-25]) + cube([50,50,50]); + } + + intersection() + { + cylinder(d=17, h=1, $fn=64, center=true); + + translate([-51,-30,-25]) + cube([50,50,50]); + } + + + translate([0,0,-15]) + { + cylinder(d=17, h=2, $fn=64); + translate([5,0,1]) + cube([10, 17, 2], center=true); + } + + translate([0,0,13]) + { + cylinder(d=17, h=2, $fn=64); + translate([5,0,1]) + cube([10, 17, 2], center=true); + } + + } + } + + + d=0.5; + difference() { + cube([35, 35, 0.6], center=true); + cube([30-d, 17-d, 0.6], center=true); + } +} \ No newline at end of file From c28dfc40ab7e25a17e0ed45bddbe4c0e9fbb6e0c Mon Sep 17 00:00:00 2001 From: Michael Sippel <micha@fragmental.art> Date: Sat, 29 Mar 2025 14:20:13 +0100 Subject: [PATCH 2/2] add dice --- dice/letter_die.scad | 53 ++++++++++++++++++++++++++++++++++++++++++++ dice/number_die.scad | 53 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 dice/letter_die.scad create mode 100644 dice/number_die.scad diff --git a/dice/letter_die.scad b/dice/letter_die.scad new file mode 100644 index 0000000..0f5be40 --- /dev/null +++ b/dice/letter_die.scad @@ -0,0 +1,53 @@ + +r=10; +r2=8.5; + +hull() { + translate([-r2,-r2,-r2]) + sphere(r=2, $fn=64); + + translate([r2,-r2,-r2]) + sphere(r=2, $fn=64); + + translate([r2,r2,-r2]) + sphere(r=2, $fn=64); + + translate([-r2,r2,-r2]) + sphere(r=2, $fn=64); + + translate([-r2,-r2,r2]) + sphere(r=2, $fn=64); + + translate([r2,-r2,r2]) + sphere(r=2, $fn=64); + + translate([r2,r2,r2]) + sphere(r=2, $fn=64); + + translate([-r2,r2,r2]) + sphere(r=2, $fn=64); +} + +color([1,0,0]) +{ + rotate([0,0,0]) + translate([0,0,r]) + text("A", halign="center", valign="center", size=15, font="Open Sans"); + rotate([0,180,0]) + translate([0,0,r]) + text("F", halign="center", valign="center", size=15, font="Open Sans"); + + rotate([90,0,0]) + translate([0,0,r]) + text("B", halign="center", valign="center", size=15, font="Open Sans"); + rotate([-90,180,0]) + translate([0,0,r]) + text("E", halign="center", valign="center", size=15, font="Open Sans"); + + rotate([90,0,90]) + translate([0,0,r]) + text("C", halign="center", valign="center", size=15, font="Open Sans"); + rotate([-90,180,90]) + translate([0,0,r]) + text("D", halign="center", valign="center", size=15, font="Open Sans"); +} diff --git a/dice/number_die.scad b/dice/number_die.scad new file mode 100644 index 0000000..8758c54 --- /dev/null +++ b/dice/number_die.scad @@ -0,0 +1,53 @@ + +r=10; +r2=8.5; + +hull() { + translate([-r2,-r2,-r2]) + sphere(r=2, $fn=64); + + translate([r2,-r2,-r2]) + sphere(r=2, $fn=64); + + translate([r2,r2,-r2]) + sphere(r=2, $fn=64); + + translate([-r2,r2,-r2]) + sphere(r=2, $fn=64); + + translate([-r2,-r2,r2]) + sphere(r=2, $fn=64); + + translate([r2,-r2,r2]) + sphere(r=2, $fn=64); + + translate([r2,r2,r2]) + sphere(r=2, $fn=64); + + translate([-r2,r2,r2]) + sphere(r=2, $fn=64); +} + +color([0,1,0]) +{ + rotate([0,0,0]) + translate([0,0,r]) + text("1", halign="center", valign="center", size=15, font="Open Sans"); + rotate([0,180,0]) + translate([0,0,r]) + text("6", halign="center", valign="center", size=15, font="Open Sans"); + + rotate([90,0,0]) + translate([0,0,r]) + text("2", halign="center", valign="center", size=15, font="Open Sans"); + rotate([-90,180,0]) + translate([0,0,r]) + text("5", halign="center", valign="center", size=15, font="Open Sans"); + + rotate([90,0,90]) + translate([0,0,r]) + text("3", halign="center", valign="center", size=15, font="Open Sans"); + rotate([-90,180,90]) + translate([0,0,r]) + text("4", halign="center", valign="center", size=15, font="Open Sans"); +}