use use d18=1.8; d12=1.2; cirkularka_size=[44.5,63,30.5]; cirkularka_body=[43,46.5,cirkularka_size.z-d18]; /* Protoze use ty promenne neprenese*/ noha_width=8; podstavec_top=60; podstavec_depth=70; podstavec_width=120; podhled=8; ponk=[200,100,81]; wing=20; module noha(size,poz,rot=0){ translate(poz) rotate([0,0,rot*90])translate([d18,d18,0]){ deska18(size,"x",[0,0,0],"noha"); rotate([0,0,90]) deska18([size[0]+d18,size[1]],"x",[-d18,d18,0],"noha"); }; }; echo("Podstavec na cirkularku"); module StulA(size){ echo( str("StulA ",size.x," x ",size.y," x ",size.z)); deska18([size.x-2*d18-2*d12, size.y-2*d18-2*d12],"",[d18+d12,d18+d12,size.z-d18],"vrsek"); /* nohy */ noha([noha_width,size.z-d18+cirkularka_size.z],[d12,d12,0],0); noha([noha_width,size.z-d18+cirkularka_size.z],[size.x-d12,d12,0],1); noha([noha_width,size.z-d18+cirkularka_size.z],[d12,size.y-d12,0],3); noha([noha_width,size.z-d18+cirkularka_size.z],[size.x-d12,size.y-d12,0],2); /* pricky */ for(i=[podhled+d18,size.z-noha_width-d18]) { if(i>podhled+2) deska18([size.x-4*d18-2*d12,noha_width],"x",[2*d18+d12,2*d18+d12,i],"prickaF"); deska18([size.x-4*d18-2*d12,noha_width],"x",[2*d18+d12,size.y-d18-d12,i],"prickaB"); deska18([size.y-2*d18-2*d12,noha_width],"yx",[d18+d12,d18+d12,i],"prickaS"); deska18([size.y-2*d18-2*d12,noha_width],"yx",[size.x-2*d18-d12,d18+d12,i],"prickaS"); }; /* boky */ deska12([ponk.z-podhled,size.y-d12],"-y",[d12,d12,podhled],"bokS"); deska12([ponk.z-podhled,size.y-d12],"-y",[size.x,d12,podhled],"bokS"); deska12([size.x-2*d12,size.z+cirkularka_size.z-podhled-d18],"x",[d12,size.y,podhled],"bokB"); /* dno */ deska18([size.x-2*d18-2*d12, size.y-2*d18-2*d12],"",[d18+d12,d18+d12,podhled],"dno"); /* podstavecky */ noha([noha_width-d18,podhled],[d12+d18,d12+d18,0]); noha([noha_width-d18,podhled],[size.x-d12-d18,d12+d18,0],1); noha([noha_width-d18,podhled],[d12+d18,size.y-d12-d18,0],3); noha([noha_width-d18,podhled],[size.x-d12-d18,size.y-d12-d18,0],2); /* pristavek */ for(i=[d12,size.x+d18-d12]){ deska18([size.z+cirkularka_size.z-ponk.z-d18,size.y+wing],"-y",[i,d12,ponk.z],"wingS"); }; deska18([size.x+2*d18-2*d12,size.z+cirkularka_size.z-ponk.z-d18],"x",[d12-d18,size.y+wing+d12+d18,ponk.z],"wingB"); deska18([size.x+2*d18-2*d12,wing+4+2*d12+2*d18],"",[d12-d18,size.y-4-d12-d18,size.z+cirkularka_size.z-d18],"backT");/*4=presah k desce pily, odhadem */ deska18([size.x-2*d12,wing+d12],"",[d12,size.y,ponk.z],"backB"); }; module StulB(size){ echo( str("StulB ",size.x," x ",size.y," x ",size.z)); deska18([size.x, size.y],"",[0,0,size.z-d18]); /* nohy */ noha([noha_width,size.z-d18],[d12,d12,0]); noha([noha_width,size.z-d18],[size.x-d12,d12,0],1); noha([noha_width,size.z-d18],[d12,size.y-d12,0],3); noha([noha_width,size.z-d18],[size.x-d12,size.y-d12,0],2); /* pricky */ for(i=[podhled+d18,size.z-noha_width-d18]) { if(i>podhled+2) deska18([size.x-4*d18-2*d12,noha_width],"x",[2*d18+d12,2*d18+d12,i]) ; deska18([size.x-4*d18-2*d12,noha_width],"x",[2*d18+d12,size.y-d18-d12,i]) ; deska18([size.y-2*d18-2*d12,noha_width],"yx",[d18+d12,d18+d12,i]) ; deska18([size.y-2*d18-2*d12,noha_width],"yx",[size.x-2*d18-d12,d18+d12,i]) ; }; /* boky */ deska12([size.z-d18-podhled,size.y-d12],"-y",[d12,d12,podhled]); deska12([size.z-d18-podhled,size.y-d12],"-y",[size.x,d12,podhled]); deska12([size.x-2*d12,size.z-d18-podhled],"x",[d12,size.y,podhled]); /* dno */ deska18([size.x-2*d18-2*d12, size.y-2*d18-2*d12],"",[d18+d12,d18+d12,podhled]); /* podstavecky */ noha([noha_width-d18,podhled],[d12+d18,d12+d18,0]); noha([noha_width-d18,podhled],[size.x-d12-d18,d12+d18,0],1); noha([noha_width-d18,podhled],[d12+d18,size.y-d12-d18,0],3); noha([noha_width-d18,podhled],[size.x-d12-d18,size.y-d12-d18,0],2); }; /* Stul([podstavec_width, podstavec_depth, podstavec_top]);*/ /*color(alpha=0.5) */{ translate([0,0,0]) StulA([cirkularka_size.x+4*d18+2*d12, podstavec_depth, podstavec_top]); translate([(cirkularka_size.x-cirkularka_body.x)/2+2*d18+d12,-(cirkularka_body.y - cirkularka_size.y +5),podstavec_top]) cirkularka(alpha=0.6); *translate([-cirkularka_size.x,0,0]) StulB([cirkularka_size.x, podstavec_depth, podstavec_top+cirkularka_size.z]); *translate([cirkularka_size.x+4*d18+2*d12,0,0]) StulB([cirkularka_size.x, podstavec_depth, podstavec_top+cirkularka_size.z]); }; *color("blue",alpha=0.3) translate([-60,podstavec_depth,0]) cube(ponk,center=false);