//kolo vrchni 12 pi=3.14159; //Ludolfovo cislo vysz=12; //vyska zubu hlad=107.0; //hlavovy prumer patd=hlad-(vysz*2); //patovy prumer hlok=7.0; //hloubka kola pozu=12; //pocet zubu pats=((pi*patd)/pozu)-3.0; //sirka zubu u paty grav=2.0; //tloustka desky //okolo pismen letter_size=8.0; //velikost pismene letter_height=0.65; //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*1); zubek(-360/pozu*0); zubek(-360/pozu*0); zubek(-360/pozu*0); zubek(-360/pozu*0); zubek(-360/pozu*0); zubek(-360/pozu*0); zubek(-360/pozu*0); zubek(-360/pozu*0); } //strukt(); //pro mozne texty u zubu v uhlu kruznak=95; //prumer kam psat kruznam=70; module psani() union() { rotate([0,0,-360/pozu*0])translate([0,kruznam/2,0])letter("C"); rotate([0,0,-360/pozu*1])translate([0,kruznam/2,0])letter("G"); rotate([0,0,-360/pozu*2])translate([0,kruznam/2,0])letter("D"); rotate([0,0,-360/pozu*3])translate([0,kruznam/2,0])letter("A"); rotate([0,0,-360/pozu*4])translate([0,kruznam/2,0])letter("E"); rotate([0,0,-360/pozu*5])translate([0,kruznam/2,0])letter("H"); rotate([0,0,-360/pozu*6])translate([0,kruznam/2,0])letter("F#"); rotate([0,0,-360/pozu*7])translate([0,kruznam/2,0])letter("C#"); rotate([0,0,-360/pozu*8])translate([0,kruznam/2,0])letter("G#"); rotate([0,0,-360/pozu*9])translate([0,kruznam/2,0])letter("Eb"); rotate([0,0,-360/pozu*10])translate([0,kruznam/2,0])letter("Bb"); rotate([0,0,-360/pozu*11])translate([0,kruznam/2,0])letter("F"); } //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);//zakladni prumer kola translate([0,60,0])cylinder(h=grav,d=10,$fn=60);//manipulacni ousko a oznaceni prvniho tonu translate([0,0,0])cylinder(h=grav+1.25,d=19,$fn=60);//vyvyseny stred //translate([0,0,grav])psani();//vyvyseny text } translate([0,0,0])cylinder(h=hlok,d=14.8,$fn=60);//dira pro klips ozub();//vsechny diry //strukt();//vybrana struktura der translate([0,0,grav-0.6])psani();//vykously text } gramo();