From 7e784e07e3f9e39e43a1136f9cfe5f5ebd456ce9 Mon Sep 17 00:00:00 2001 From: Roland Hieber Date: Thu, 6 Jun 2013 23:56:37 +0200 Subject: [PATCH] initial version --- .gitmodules | 6 +++++ README.md | 21 ++++++++++++++++ bottle-clip.scad | 65 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 .gitmodules create mode 100644 README.md create mode 100644 bottle-clip.scad diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..22c084c --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "thing-logos"] + path = thing-logos + url = https://github.com/rohieb/thing-logos.git +[submodule "write"] + path = write + url = https://github.com/rohieb/Write.scad.git diff --git a/README.md b/README.md new file mode 100644 index 0000000..76a3dc8 --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +Bottle clip with name and logo +============================== + +This thing is a simple clip with your name on it which can be used to mark your +bottles. It is based on a previous work of Thingiverse user daniel. +TODO thingiverse link + +The clip is customizable and you can tweak the following parameters: + + * radius on the upper and lower side, for easy adaptation to other bottle + types. The script includes examples for standard 0.5l Club Mate bottles as + well as german 0.33l bottles. + * wall thickness (though the default should be okay for easy clipping) + + +Instructions +------------ + +Open `bottle-clip.scad` in OpenSCAD. At the end of the file, there + +// vim: set et ts=2 sw=2 tw=0: diff --git a/bottle-clip.scad b/bottle-clip.scad new file mode 100644 index 0000000..98a6897 --- /dev/null +++ b/bottle-clip.scad @@ -0,0 +1,65 @@ +include + +// you don't need to change anything of the variables below, instead see the +// examples at the end of this file. + +// defaults for 0.5l Club Mate bottles +// inner radius, upper side (13 mm for 0.5l Club Mate or 0.33l bottles) +ru=13; // [1,30] +// inner radius, lower side (17.5 mm for 0.5l Club Mate bottles, 15 mm for 0.33l bottles) +rl=17.5; // [1,30] +// total height. Keep at 26 mm for the default 0.5l/0.33l values above. +ht=26; // [1,30] +// wall thickness. Keep close to 2.5 mm so you can easily clip it to the bottle. +width=2.5; // [2,8] + +// default logo and font +// logo DXF should be centered on 50mm*50mm to fit perfectly +logo="thing-logos/stratum0-lowres.dxf"; +// font (see Write.scad description page for fonts) +font="write/orbitron.dxf"; + +$fn=50; // approximation steps for the cylinders +e=100; // should be big enough, used for the outer boundary of the text/logo + +module name_tag () { + difference() { + rotate([0,0,-45]) union() { + // main cylinder + cylinder(r1=rl+width, r2=ru+width, h=ht); + // text + writecylinder(name, [0,0,0], rl+0.5, ht/13*7, h=ht/13*4, t=max(rl,ru), + font=font); + // logo + translate([0,0,ht*3/4-0.1]) + rotate([90,0,0]) + scale([ht/100,ht/100,1]) + translate([-25,-25,0.5]) + linear_extrude(height=max(ru,rl)*2) + import(logo); + } + // inner cylinder which is substracted + translate([0,0,-1]) + cylinder(r1=rl, r2=ru, h=ht+2); + // outer cylinder which is substracted, so the text and the logo end + // somewhere on the outside ;-) + difference () { + cylinder(r1=rl+e, r2=ru+e, h=ht); + translate([0,0,-1]) + // Note: bottom edges of characters are hard to print when character depth is > 0.7 + cylinder(r1=rl+width+0.7, r2=ru+width+0.7, h=ht+2); + } + // finally, substract a cube as a gap so we can clip it to the bottle + translate([0,0,-1]) cube([50,50,50]); + } +} + +// template for 4 default bottle name tags +translate([ 22, 22,0]) rotate(180) name_tag(name="YourName"); +//translate([-22, 22,0]) rotate(270) name_tag(name="J. Random Hacker"); +//translate([-22,-22,0]) rotate( 0) name_tag(name="Acid Burn"); +//translate([ 22,-22,0]) rotate( 90) name_tag(name="Zero Cool"); + +// example for 0.33l bottles, different logo and different font +//translate([ 22,-22,0]) rotate( 90) name_tag(name="YourName", ru=13, rl=15, +// logo="yourlogo.dxf", font="Letters.dxf");