@ -10,42 +10,60 @@
/ / / / / / / / / / / / / / / / / / VARIABLES / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
/ / / / / Render
/ / lock
/ / tux
/ / moneybox minimum hight 200 mm
renderer = "moneybox" ;
/ / Dimention in mm
/ / For moneybox the minimal hight is :
/ / euro = 150 mm
/ / dollar = 170 mm
/ / sterling = 190 mm
hight = 200 ;
wall = 5 ;
wall = hight * 0.05 ;
/ / currency for the coinhole
/ / Options :
/ / - euro
/ / - dollar
/ / - pfund ( without Ten Pounds )
currency = "euro" ;
/ / Numb of Fragments
$fn = 20 ;
inside = true ;
/ / / / / Render
/ / verschluss
/ / Tux
renderer = "inside" ;
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
/ / / / / / / / / / / / / / / / / / RENDERS / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
if ( renderer = = " verschluss ") {
translate ( [ 0 , 0 , hight * 0.06 ] ) rotate ( [ 180 , 0 , 0 ] ) verschluss ( hight ) ;
if ( renderer = = " lock ") {
translate ( [ 0 , 0 , hight * 0.06 ] ) rotate ( [ 180 , 0 , 0 ] ) lock ( hight ) ;
}
if ( renderer = = " T ux") {
if ( renderer = = " t ux") {
difference ( ) {
tux ( hight ) ;
tux ( hight ) ;
}
}
if ( renderer = = "moneybox" ) {
difference ( ) {
tux ( hight , true ) ;
if ( inside = = true ) {
inside ( hight ) ;
}
cutLock ( hight ) ;
coinhole ( hight , currency ) ;
}
}
if ( renderer = = " inside ") {
if ( renderer = = " test ") {
difference ( ) {
tux ( hight );
tux ( hight , true );
cutLock ( hight ) ;
coinhole ( hight , currency ) ;
cube ( 200 ) ;
}
@ -55,7 +73,7 @@ if (renderer == "inside"){
/ / / / / / / / / / / / / / / / / / / MODULES / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
module verschluss ( size ) {
module lock ( size ) {
translate ( [ 0 , 0 , size * 0.05 ] ) cube ( [ size * 0.4 , size * 0.05 , size * 0.02 ] , center = true ) ;
difference ( ) {
union ( ) {
@ -69,46 +87,43 @@ module verschluss(size){
translate ( [ 0 , 0 , size * 0.022 / 2 ] ) cube ( [ size * 0.322 , size * 0.032 , size * 0.022 ] , center = true ) ;
}
module inside ( size ) {
module coinhole ( size , currency = "euro" ) {
/ / Dimension Dollar "Half Dollar" : r = 30.61 mm h = 2.15 mm
/ / Dimension Euro "2 Euro" : r = 25.75 mm h = 2.2 mm
/ / Dimension Sterling "Ten pounds" : r = 65 mm h = 2.5 mm
/ / innerpart
difference ( ) {
union ( ) {
body ( size * 0.965 ) ;
translate ( [ 0 , 0 , size * 0.1 ] ) cylinder ( r = size * 0.11 , size * 0.82 ) ;
}
difference ( ) {
translate ( [ 0 , 0 , size * 0.01 ] ) cylinder ( r = size * 0.30 , h = size * 0.05 ) ;
translate ( [ 0 , 0 , size * 0.04 ] ) cylinder ( r = size * 0.22 , h = size * 0.02 ) ;
translate ( [ 0 , 0 , size * 0.02 ] ) cube ( [ size * 0.06 , size * 0.41 , size * 0.07 ] , center = true ) ;
}
if ( currency = = "euro" ) {
if ( size < 170 ) echo ( "The minimal hight is 150mm" ) ;
translate ( [ 0 , size * 0.05 , size * 0.95 ] ) rotate ( [ 0 , 0 , 90 ] ) cube ( [ 3 , 30 , size * 0.3 ] , center = true ) ;
translate ( [ 0 , 0 , size * 0.60 ] ) cylinder ( r = 35 / 2 , h = size * 0.2 ) ;
}
/ / Coinhole
# translate ( [ 0 , size * 0.05 , size * 0.85 ] ) rotate ( [ 0 , 0 , 90 ] ) cube ( [ 3 , 28 , size * 0.3 ] , center = true ) ;
difference ( ) {
union ( ) {
translate ( [ 0 , 1 , size * 0.83 ] )
rotate ( [ 30 , 0 , 0 ] )
resize ( newsize = [ size * 0.30 , size * 0.30 , size * 0.30 ] )
sphere ( size * 0.16 ) ;
}
translate ( [ 0 , - size * 0.16 , size * 0.83 ] )
cube ( [ size * 0.25 , size * 0.10 , size * 0.25 ] , center = true ) ;
if ( currency = = "dollar" ) {
if ( size < 170 ) echo ( "The minimal hight is 170mm" ) ;
translate ( [ 0 , size * 0.05 , size * 0.95 ] ) rotate ( [ 0 , 0 , 90 ] ) cube ( [ 3 , 35 , size * 0.3 ] , center = true ) ;
translate ( [ 0 , 0 , size * 0.60 ] ) cylinder ( r = 40 / 2 , h = size * 0.2 ) ;
}
if ( currency = = "sterling" ) {
if ( size < 190 ) echo ( "The minimal hight is 190mm" ) ;
translate ( [ 0 , size * 0.05 , size * 0.95 ] ) rotate ( [ 0 , 0 , 90 ] ) cube ( [ 4 , 43 , size * 0.3 ] , center = true ) ;
translate ( [ 0 , 0 , size * 0.60 ] ) cylinder ( r = 45 / 2 , h = size * 0.2 ) ;
}
}
module cutLock ( size ) {
translate ( [ 0 , 0 , size * 0.04 ] ) cylinder ( r = size * 0.21 , h = size * 0.022 ) ;
/ / Verschluss mit aussparungen .
verschluss ( size * 1.01 ) ;
lock ( size * 1.01 ) ;
translate ( [ 0 , 0 , size * 0.02 ] ) cube ( [ size * 0.06 , size * 0.41 , size * 0.07 ] , center = true ) ;
translate ( [ 0 , 0 , size * 0.04 ] ) cube ( [ size * 0.41 , size * 0.06 , size * 0.006 ] , center = true ) ;
cylinder ( r = size * 0.18 , h = size * 0.025 ) ;
}
module tux ( size ) {
module tux ( size , inside = false ) {
difference ( ) {
union ( ) {
arm ( size , "right" ) ;
@ -129,10 +144,16 @@ module tux(size){
body ( size ) ;
head ( size ) ;
}
body ( size , wall + 5 ) ;
head ( size , wall + 5 ) ;
if ( inside = = true ) {
body ( size , wall + 5 ) ;
head ( size , wall + 5 ) ;
}
translate ( [ 0 , 0 , - size * 0.7 ] ) cube ( [ size * 1.4 , size * 1.4 , size * 1.4 ] , center = true ) ;
}
/ / Botton
resize ( newsize = [ size * 0.60 , size * 0.52 , 0 ] )
cylinder ( r = size * 0.2 , h = size * 0.06 ) ;
}
module head ( size , wthikness = 0 ) {
@ -209,8 +230,10 @@ module body(size, wthikness = 0){
}
/ / tail
translate ( [ 0 , size * 0.24 , size * 0.09 ] )
sphere ( size * 0.09 - wthikness / 2 ) ;
if ( wthikness = = 0 ) {
translate ( [ 0 , size * 0.24 , size * 0.09 ] )
sphere ( size * 0.09 ) ;
}
}
/ / ARMS