$fn=128; Rail_Platte_Kar (); module Rail_Platte_Kar () { // wielstellen color ("gray") for (i=[-1,1]) translate ([i*35,0,18]) rotate ([0,0,90]) Rail_Wielstel (); // lagerblokken color ("gray") for (i=[-35,35]) { for (j=[-34,39]) { translate ([i,j,18]) rotate ([90,0,0]) cylinder (5,6,6); translate ([i,j-2.5,23]) cube ([16,5,3],true); }; }; L=120; // frame - langsbalken color ("gray") translate ([0,0,32]) for (j=[0,1]) mirror ([0,j,0]) { for (i=[-1,1]) { translate ([-i*L/2,35,i*8]) rotate ([0,i*90,0]) Algemeen_Hoekijzer (L); translate ([0,i*35.5,0]) cube ([L,1,16],true); }; }; // frame - bufferbalken color ("gray") translate ([0,0,32]) for (j=[0,1]) mirror ([j,0,0]) { for (i=[-1,1]) translate ([-L/2-1,0,i*8]) rotate ([0,i*90,90]) translate ([0,0,-39]) Algemeen_Hoekijzer (78); }; // hoekverbindingen en middenbalk color ("gray") for (j=[0,1]) for (i=[0,1]) rotate ([0,0,i*180]) mirror ([0,j,0]) { translate ([-60,-35,32]) Algemeen_L_balk (16); translate ([1,-35,32]) Algemeen_L_balk (16); translate ([60,-39,24]) cube ([1,40,16]); translate ([0,-35,24]) cube ([1,38,16]); }; // planken voor de vloer color ([0.4,0.2,0,1]) for (i=[-2:1:2]) translate ([0,i*17,41]) cube ([L+10,16.5,4],true); }; // einde module Rail_Platte_Kar module Rail_Wielstel () { for (i=[0,1]) rotate ([0,0,i*180]) translate ([27,0,0]) rotate ([0,90,0]) { difference() { union() { difference() { // wielband cylinder (6,18,17); color ([1,1,1,1]) translate ([0,0,5]) cylinder (6,11,12); color ([1,1,1,1]) translate ([0,0,-5]) cylinder (6,12,11); }; difference() { // flens cylinder (1,19,19); color ([1,1,1,1]) translate ([0,0,-5]) cylinder (6,12,11); }; // naaf translate ([0,0,-1]) cylinder (4,6,7); translate ([0,0,3]) cylinder (4,7,6); }; // asboringen translate ([0,0,-8]) cylinder (20,3,3); }; }; // as rotate ([0,90,0]) translate ([0,0,-35]) cylinder (70,3,3); }; // einde module Rail_Wielstel module Algemeen_Hoekijzer (L) { //translate ([0,0,-L/2]) linear_extrude (height=L,convexity=10) polygon ([[0,0],[0,4],[0.75,4],[0.75,0.75],[5,0.75],[5,0]]); }; // einde module Algemeen_Hoekijzer module Algemeen_L_balk (L) { translate ([0,0,-L/2]) linear_extrude (height=L,convexity=10) polygon ([[0,0],[0,5],[1,5],[1,1],[5,1],[5,0]]); }; // einde module Algemeen_L_balk