//kolo ozubene nebo okenka pi=3.14159; //Ludolfovo cislo vysz=9; //vyska zubu hlad=100.0; //hlavovy prumer patd=hlad-(vysz*2); //patovy prumer hlok=7.0; //hloubka kola pozu=24; //pocet zubu pats=((pi*patd)/pozu)-1; //sirka zubu u paty grav=2.0; //tloustka desky //okolo pismen letter_size=6.5; //velikost pismene letter_height=1.5; //hloubka pismene font="Liberation Sans"; //typ fontu p9smen //jeden textĂ­k extruzĂ­ module letter(l) { linear_extrude(height = letter_height) { text(l, size = letter_size, font = font, halign = "center", valign = "center", $fn = 16); } } //letter("Ami"); //profil jednoho zubu module zubek(alik) rotate([0,0,alik]) translate([0,patd/2,hlok/2]) rotate([-90,0,0]) linear_extrude(height = vysz, scale =[1,1]) square([pats, hlok], center = true); //pro mozne zobrazeni vsech zubu v kruhu module ozub() for (i = [0:(360/pozu):360]) { zubek(i); }; //ozub(); //pro mozne zobrazeni jen nekterych zubu module strukt() union() { zubek(-360/pozu*0); zubek(-360/pozu*2); zubek(-360/pozu*0); zubek(-360/pozu*4); zubek(-360/pozu*5); zubek(-360/pozu*7); zubek(-360/pozu*9); zubek(-360/pozu*11); zubek(-360/pozu*12); zubek(-360/pozu*0); } //strukt(); //pro mozne texty u zubu v uhlu kruznak=110; //prumer kam psat kruznam=40; module psani() union() { rotate([0,0,-360/pozu*0])translate([0,kruznak/2,0])letter("1"); rotate([0,0,-360/pozu*1])translate([0,kruznak/2,0])letter(""); rotate([0,0,-360/pozu*2])translate([0,kruznak/2,0])letter("2"); rotate([0,0,-360/pozu*3])translate([0,kruznak/2,0])letter(""); rotate([0,0,-360/pozu*4])translate([0,kruznak/2,0])letter("3"); rotate([0,0,-360/pozu*5])translate([0,kruznak/2,0])letter("4"); rotate([0,0,-360/pozu*6])translate([0,kruznak/2,0])letter(""); rotate([0,0,-360/pozu*7])translate([0,kruznak/2,0])letter("5"); rotate([0,0,-360/pozu*8])translate([0,kruznak/2,0])letter(""); rotate([0,0,-360/pozu*9])translate([0,kruznak/2,0])letter("6"); rotate([0,0,-360/pozu*10])translate([0,kruznak/2,0])letter(""); rotate([0,0,-360/pozu*11])translate([0,kruznak/2,0])letter("M7"); rotate([0,0,-360/pozu*12])translate([0,kruznak/2,0])letter("8"); rotate([0,0,-360/pozu*6])translate([0,kruznam/2,0])letter("DUR"); } //psani(); //kolecko s dirou ve stredu a s vysekanymi zuby module gramo() difference() { union() { translate([0,0,0])cylinder(h=grav,d=120,$fn=60); translate([0,0,0])cylinder(h=grav+1.25,d=19,$fn=60); translate([0,60,0])cylinder(h=grav,d=10,$fn=60);//manipulacni ousko a oznaceni prvniho tonu //translate([0,0,grav])psani(); } translate([0,0,0])cylinder(h=hlok,d=14.8,$fn=60); translate([0,0,grav-0.6])psani(); //ozub(); strukt(); } gramo();