/** * A name tag that can easily be clipped to the neck of your bottle. * Copyright (C) 2013 Roland Hieber * * This file was modified by obelix for the * OHM2013-Logo. If you wish to use other logos please use the original * file. All other parameters were not modified. * * This file was modified again by djerun to use the catars printed * by c3cat: https://www.printables.com/model/35076-cat-ears * as the logo and optionally allow use the easrs from * https://www.thingiverse.com/thing:5029374 * printed at scale 0.2 as glue-ins for additional ears. * * `Ohren_4.stl` and `catears.stl` need to be placed in `../stls/` * for the symlinks to work otherwise `catears.stl` needs to be placed * at `./catears.stl` and `Ohren_4.stl` at `./catear.stl`. * * Version of the modification: 1.0 * * See examples.scad for examples on how to use this module. * * The contents of this file are licenced under CC-BY-SA 3.0 Unported. * See https://creativecommons.org/licenses/by-sa/3.0/deed for the * licensing terms. */ include /** * Creates one instance of a bottle clip name tag. The default values are * suitable for 0.5l Club Mate bottles (and similar bottles). By default, logo * and text are placed on the name tag so they both share half the height. In this * version the logo is fixed. * * Parameters: * ru: the radius on the upper side of the clip * rl: the radius on the lower side of the clip * ht: the height of the clip * width: the thickness of the wall. Values near 2.5 usually result in a good * clippiness for PLA prints. * name: the name that is printed on your name tag. For the default ru/rt/ht * values, this string should not exceed 18 characters to fit on the name tag. * font: the path to a font for Write.scad. */ /* currently openscad fails to render `Ohren_4.stl` outside of the preview mode */ //difference() { rotate(45, [0, 0, 1]) bottle_clip(name="c3cat"); // translate([ 15, 0, 18]) rotate(80, [0, 1, 0]) catear(); // translate([-15, 0, 18]) rotate(-80, [0, 1, 0]) catear(); //} // //translate([0, 5, 0]) catear(); //rotate(180) translate([0, 5, 0]) catear(); module bottle_clip(ru=13, rl=17.5, ht=26, width=2.5, name="c3cat", font="write/orbitron.dxf", logo="") { e=100; // should be big enough, used for the outer boundary of the text/logo difference() { rotate([0,0,-45]) union() { // main cylinder cylinder(r1=rl+width, r2=ru+width, h=ht); // text and logo if(logo == "") { color("orange") writecylinder(name, [0,0,0], rl+0.5, ht/13*7, h=ht/13*4, t=max(rl,ru), font=font); translate([4.7, -rl, ht*1.08]) rotate(-10, [1, 0, 0]) rotate(76, [0, 1, 0]) scale([0.08, 2, 0.08]) color("red") import("catears.stl"); } else { color("orange") writecylinder(name, [0,0,0], rl+0.5, ht/13*7, h=ht/13*4, t=max(rl,ru), font=font); // The logo has been split in 3 parts. /* rotate([0,0,-48]) translate([0,0,ht*3/4-0.1]) rotate([90,0,0]) scale([0.9,0.9,1]) scale([ht/100,ht/100,1]) translate([-25,-29,0.5]) linear_extrude(height=max(ru,rl)*2) import("logo_1.dxf"); */ translate([0,0,ht*3/4-0.1]) rotate([90,0,0]) scale([0.8,0.8,1]) scale([ht/100,ht/100,1]) translate([-18,-22,0.5]) linear_extrude(height=max(ru,rl)*2) import(logo); /* rotate([0,0,44]) translate([0,0,ht*3/4-0.1]) rotate([90,0,0]) scale([0.7,0.7,1]) scale([ht/100,ht/100,1]) translate([-25,-26,0.5]) linear_extrude(height=max(ru,rl)*2) import("logo_3.dxf"); */ } } // 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]); } } module catear() { rotate(-90, [0, 0, 1]) union() { scale([0.2, 0.2, 0.2]) translate([0, -85]) import("catear.stl"); scale([0.2, -0.2, 0.2]) translate([0, -85]) import("catear.stl"); } } /** * Creates one instance of a bottle clip name tag suitable for 0.33l longneck * bottles (like fritz cola, etc.). All parameters are passed to the module * bottle_clip(), see there for their documentation. */ module bottle_clip_longneck(name="c3cat", width=2.5, font="write/orbitron.dxf") { bottle_clip(name=name, ru=13, rl=15, ht=26, width=width, font=font, logo=""); } /** * The Steinie-Tag has been removed since it does not support logos. **/