$fn=128; rotate ([90,0,0]) { color ([0.35,0.35,0.35]) Koppelinghelft_B (); difference() { union() { color ([0.55,0.55,0.55]) Koppelinghelft_A (); // verenpakketten color ([0.6,0.7,0.8]) { for (i=[-44,40]) translate ([-110,i,0]) cube ([220,4,40]); for (i=[-48,44]) translate ([-86,i,0]) cube ([172,4,40]); for (i=[-52,48]) translate ([-63,i,0]) cube ([126,4,40]); }; // drukplaten color ([0.55,0.55,0.55]) for (i=[-62,52]) translate ([-40,i,0]) cube ([80,10,40]); }; // einde union for (i=[-27,27]) translate ([i,-125,20]) rotate ([-90,0,0]) cylinder (250,5,5); }; // einde difference color ([0.6,0.7,0.8]) { // assen for (i=[-206,0]) translate ([0,0,i]) cylinder (200,20,20); // bouten for (i=[-27,27]) translate ([i,-80,20]) rotate ([-90,0,0]) cylinder (160,5,5); // moeren for (j=[-70,62]) for (i=[-27,27]) translate ([i,j,20]) rotate ([-90,0,0]) cylinder (8,10,10,$fn=6); // contramoeren for (j=[-78,70]) for (i=[-27,27]) translate ([i,j,20]) rotate ([-90,30,0]) cylinder (8,10,10,$fn=6); }; // einde color }; // einde rotate all module Koppelinghelft_A () { difference() { union() { cylinder (80,40,40); for (i=[-30,30]) translate ([i,0,0]) cylinder (40,40,40); translate ([-30,-40,0]) cube ([60,80,40]); }; // einde union // asboring translate ([0,0,-50]) cylinder (250,20,20); }; // einde difference }; // einde module Koppelinghelft_A module Koppelinghelft_B () { difference() { union() { translate ([0,0,-17]) cylinder (14,120,120); translate ([0,0,-42]) cylinder (25,120,120); translate ([0,0,-83]) cylinder (41,40,40); }; // einde union // asboring translate ([0,0,-100]) cylinder (200,20,20); }; // einde difference difference() { translate ([0,0,-3]) cylinder (44,120,120); translate ([0,0,-10]) cylinder (60,109,109); for (i=[-46,40]) translate ([-200,i,-10]) cube ([400,6,100]); }; // einde difference }; // einde module Koppelinghelft_B