11$ fn= 100 ;
2+ // Tisch Zeug
23tischXYZ= [200 ,50 ,70 ]; tischPlatteDicke= 2 ;tischEcke= 5 ;
34bankXYZ= [200 ,25 ,45 ]; bankPlatteDicke= 2 ;bankEcke= 5 ;
45beinDicke= 2 ;
5- // beispiel bein aus dem Internet
6- * rotate ([90 ,0 ,90 ]) scale ([.5 ,.5 ,.5 ]) import("Bierbank_Leg.stl" ,1 );
7- // echter Tisch
8- // #translate([0,bankEcke/2+bankXYZ.y+5,0]) cube(tischXYZ);
9-
6+ // Box Zeug
7+ wiggle= .02 ;
8+ boxAussenD= 30 ;
9+ boxAussenH= 2 ;
10+ boxInnenD= 28 ;
11+ boxInnenH= 2 ;
12+ boxXYZ= [35 ,25 ,45 ];
1013
1114module tischPlatte () {
1215 hull () {
@@ -49,24 +52,48 @@ module Bein(maase,ecke,kreuzH) {
4952 }
5053 }
5154}
55+
56+ module lautsprecher() {
57+ translate ([0 ,0 ,- (boxAussenH+ boxInnenH)]) {
58+ cylinder (h= boxInnenH+ wiggle,d= boxInnenD);
59+ translate ([0 ,0 ,boxInnenH]) cylinder (h= boxAussenH+ wiggle,d= boxAussenD);
60+ // loch
61+ translate ([0 ,0 ,- boxXYZ.y+ 2 ]) cylinder (h= boxXYZ.y+ wiggle,d= boxInnenD);
62+ }
63+ }
64+
5265// drucken
5366groesse= .5 ;
54- // tisch
55- scale (groesse) tischPlatte();
56- // bänke
57- scale (groesse) translate ([0 ,57 ,0 ]) bankPlatte();
58- scale (groesse) translate ([0 ,- 32 ,0 ]) bankPlatte();
59- // beine
60- scale (groesse) translate ([148 ,86 ,0 ]) rotate ([0 ,- 90 ,270 ]) Bein(bankXYZ,bankEcke,15 );
61- scale (groesse) translate ([13 ,86 ,0 ]) rotate ([0 ,- 90 ,270 ]) Bein(bankXYZ,bankEcke,15 );
62- scale (groesse) translate ([93 ,93 ,0 ]) rotate ([0 ,- 90 ,0 ]) Bein(bankXYZ,bankEcke,15 );
63- scale (groesse) translate ([146 ,93 ,0 ]) rotate ([0 ,- 90 ,0 ]) Bein(bankXYZ,bankEcke,15 );
64- scale (groesse) translate ([42 ,86 ,0 ]) rotate ([0 ,- 90 ,270 ]) Bein(tischXYZ,tischEcke,25 );
65- scale (groesse) translate ([95 ,86 ,0 ]) rotate ([0 ,- 90 ,270 ]) Bein(tischXYZ,tischEcke,25 );
67+ * scale (groesse) {
68+ // tisch
69+ tischPlatte();
70+ // bänke
71+ translate ([0 ,57 ,0 ]) bankPlatte();
72+ translate ([0 ,- 32 ,0 ]) bankPlatte();
73+ // beine
74+ translate ([148 ,86 ,0 ]) rotate ([0 ,- 90 ,270 ]) Bein(bankXYZ,bankEcke,15 );
75+ translate ([13 ,86 ,0 ]) rotate ([0 ,- 90 ,270 ]) Bein(bankXYZ,bankEcke,15 );
76+ translate ([93 ,93 ,0 ]) rotate ([0 ,- 90 ,0 ]) Bein(bankXYZ,bankEcke,15 );
77+ translate ([146 ,93 ,0 ]) rotate ([0 ,- 90 ,0 ]) Bein(bankXYZ,bankEcke,15 );
78+ translate ([42 ,86 ,0 ]) rotate ([0 ,- 90 ,270 ]) Bein(tischXYZ,tischEcke,25 );
79+ translate ([95 ,86 ,0 ]) rotate ([0 ,- 90 ,270 ]) Bein(tischXYZ,tischEcke,25 );
80+ }
6681// ansehen
67- // //tisch
68- // translate([0,bankEcke/2+bankXYZ.y+5,tischXYZ.z]) tischPlatte();
69- // //bank
70- // translate([0,bankEcke/2,bankXYZ.z])
71- // translate([0,-beinDicke/2,0]) Bein(bankXYZ,bankEcke,15);
72- // translate([0,tischEcke/2+bankXYZ.y+1.5,0]) Bein(tischXYZ,tischEcke,25);
82+ translate ([50 ,0 ,0 ]) scale (groesse) {
83+ color ("yellow" ) {
84+ // tisch
85+ translate ([0 ,bankEcke/2 + bankXYZ.y+ 5 ,tischXYZ.z]) tischPlatte();
86+ // bank
87+ translate ([0 ,bankEcke/2 ,bankXYZ.z]) bankPlatte();
88+ }
89+ color ("green" ) {
90+ translate ([10 ,- beinDicke/2 ,0 ]) Bein(bankXYZ,bankEcke,15 );
91+ translate ([10 ,tischEcke/2 + bankXYZ.y+ 1.5 ,0 ]) Bein(tischXYZ,tischEcke,25 );
92+ translate ([190 ,31 ,0 ]) rotate ([0 ,0 ,180 ]) Bein(bankXYZ,bankEcke,15 );
93+ translate ([190 ,86 ,0 ]) rotate ([0 ,0 ,180 ]) Bein(tischXYZ,tischEcke,25 );
94+ }
95+ }
96+ difference (){
97+ color ("grey" ) cube (boxXYZ);
98+ translate ([boxXYZ.x/2 ,0 ,boxXYZ.z/2 ]) rotate ([90 ,0 ,0 ]) lautsprecher();
99+ }
0 commit comments