c3cat-bottle-tag v2.2 + generation script #21
2 changed files with 66 additions and 4 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
57
generate_bottle_tag.sh
Executable file
57
generate_bottle_tag.sh
Executable file
|
@ -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
|
Loading…
Reference in a new issue