diff --git a/c3cat-bottle-clip/c3cat-bottle-clip.scad b/c3cat-bottle-clip/c3cat-bottle-clip.scad index 3c42e6f..19a51e7 100644 --- a/c3cat-bottle-clip/c3cat-bottle-clip.scad +++ b/c3cat-bottle-clip/c3cat-bottle-clip.scad @@ -150,8 +150,13 @@ module bottle_clip(ru=13, rl=17.5, ht=26, width=2.5, name="c3cat", font="write/o if (RENDER_COLOR_ONE) { color("black") difference() { cylinder(r1=rl+width, r2=ru+width, h=ht); - name(name=name, font=font, rl=rl, ht=ht, ru=ru); - logo(logo=logo, rl=rl, ht=ht, ru=ru, width=width); + difference() { + union() { + name(name=name, font=font, rl=rl, ht=ht, ru=ru); + logo(logo=logo, rl=rl, ht=ht, ru=ru, width=width); + } + cylinder(r1=rl+width/2, r2=ru+width/2, h=ht); + } translate([0,0,-1]) cylinder(r1=rl, r2=ru, h=ht+2); // finally, substract a cube as a gap so we can clip it to the bottle @@ -164,7 +169,7 @@ module bottle_clip(ru=13, rl=17.5, ht=26, width=2.5, name="c3cat", font="write/o if (RENDER_COLOR_TWO) { color("orange") difference() { name(name=name, font=font, rl=rl, ht=ht, ru=ru); - cylinder(r1=rl+width, r2=ru+width, h=ht); + cylinder(r1=rl+width/2, r2=ru+width/2, h=ht); outer_cutoff(rl, e, ru, ht, width); } } @@ -172,7 +177,7 @@ module bottle_clip(ru=13, rl=17.5, ht=26, width=2.5, name="c3cat", font="write/o if (RENDER_COLOR_THREE) { color("yellow") difference() { logo(logo=logo, rl=rl, ht=ht, ru=ru, width=2*width); - cylinder(r1=rl+width, r2=ru+width, h=ht); + cylinder(r1=rl+width/2, r2=ru+width/2, h=ht); outer_cutoff(rl, e, ru, ht, width); } } diff --git a/generate_bottle_tag.sh b/generate_bottle_tag.sh new file mode 100755 index 0000000..8ea378d --- /dev/null +++ b/generate_bottle_tag.sh @@ -0,0 +1,57 @@ +#!/bin/sh + +# usage: generate_bottle_tag.sh NAME + +set -u + +VERSION=2.2 +LOGO_FILE='""' +TINY_EARS=false +FN=90 + +NAME="\"$1\"" + +# usage: render NAME PART +render() { + case "$2" in + body) + ONE=true + TWO=false + THREE=false + ;; + name) + ONE=false + TWO=true + THREE=false + ;; + logo) + ONE=false + TWO=false + THREE=true + ;; + *) + echo 'fatal: invalid part' >&2 + exit 1 + ;; + esac + + echo rendering "$1" "$2" + openscad \ + -D "\$fn=${FN}" \ + -D "USE_TINY_EARS=${TINY_EARS}" \ + -D "LOGO_FILE=${LOGO_FILE}" \ + -D "NAME=${NAME}" \ + -D "RENDER_COLOR_ONE=${ONE}" \ + -D "RENDER_COLOR_TWO=${TWO}" \ + -D "RENDER_COLOR_THREE=${THREE}" \ + -o "stls/c3cat-bottle-clip-v${VERSION}_${NAME}_${PART}.stl" \ + c3cat-bottle-clip/c3cat-bottle-clip.scad +} + +cd "$(dirname $0)" + +for PART in body logo name +do + render "$NAME" "$PART" + sleep 1 +done