From 6b64a545c7de5db4a900d560762fa73654d3dde6 Mon Sep 17 00:00:00 2001 From: zeus Date: Fri, 29 Jul 2022 17:22:55 +0200 Subject: [PATCH] added shelf-mounting cublets --- .../own/shelf-mounting/IMG/shelf-mounting.png | Bin 0 -> 45928 bytes .../own/shelf-mounting/STL/shelf-mounting.stl | Bin 0 -> 74684 bytes .../own/shelf-mounting/shelf-mounting.scad | 41 ++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 openscad/own/shelf-mounting/IMG/shelf-mounting.png create mode 100644 openscad/own/shelf-mounting/STL/shelf-mounting.stl create mode 100644 openscad/own/shelf-mounting/shelf-mounting.scad diff --git a/openscad/own/shelf-mounting/IMG/shelf-mounting.png b/openscad/own/shelf-mounting/IMG/shelf-mounting.png new file mode 100644 index 0000000000000000000000000000000000000000..7c891d32ea5274379bb3e72142f46d53b33b288c GIT binary patch literal 45928 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

kmnn^(5`89F{b%cfSnqZy(Ac2iD5CE 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 Pf!yTj>gTe~DWM4fE~RD3 literal 0 HcmV?d00001 diff --git a/openscad/own/shelf-mounting/STL/shelf-mounting.stl b/openscad/own/shelf-mounting/STL/shelf-mounting.stl new file mode 100644 index 0000000000000000000000000000000000000000..c19833a0b5021a0e88d06b1c67adaab416888f9a GIT binary patch literal 74684 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 literal 0 HcmV?d00001 diff --git a/openscad/own/shelf-mounting/shelf-mounting.scad b/openscad/own/shelf-mounting/shelf-mounting.scad new file mode 100644 index 0000000..27584d2 --- /dev/null +++ b/openscad/own/shelf-mounting/shelf-mounting.scad @@ -0,0 +1,41 @@ +// shelf-mounting +// 2022-07-28 by zeus - zeus86@github.com - cc-by-sa-nc 4.0 +// ############################# +// vars: +mnt_w=25; +mnt_d=mnt_w; +mnt_h=mnt_w; +mnt_hole_dia=5; +countersunk=1; +mt=5; +plate_offset=5; //offset from center for the plate-facing screw +wall_offset=2.5; //offset from center for the wall-facing screw +$fn=100; +// ############################# +// model: + +module mountblock(){ + difference(){ + cube([mnt_w,mnt_d,mnt_h],center=true); //base-cube + translate([0,-mt/2,-mt/2])cube([mnt_w-2*mt+0.1,mnt_d-mt+0.1,mnt_h-mt+0.1],center=true); //cutout cube + rotate([90,0,0])translate([0,0,-mnt_d/2+mt/2])translate([0,-wall_offset,0]){ + cylinder(r=mnt_hole_dia/2,h=mt+0.1,center=true); //screwhole, wall-facing + if (countersunk == 1){ + translate([0,0,mt/4])cylinder(r1=mnt_hole_dia/2,r2=mnt_hole_dia,h=mt/2+0.1,center=true); //countersunk if applicable + } + } + rotate([90,0,0]){translate([0,0,plate_offset]) + rotate([90,0,0])translate([0,0,-mnt_d/2+mt/2]){ + cylinder(r=mnt_hole_dia/2,h=mt+0.1,center=true); //screwhole, wall-facing + if (countersunk == 1){ + translate([0,0,mt/4])cylinder(r1=mnt_hole_dia/2,r2=mnt_hole_dia,h=mt/2+0.1,center=true); //countersunk if applicable + } + } + } + } +} + + +// ############################# +// draw models: +mountblock(); \ No newline at end of file