Du er her: Hjem --> Annet --> bits & bytes --> 3d-print torxbits

3d-printe torx bit

Det begynte med et ødelagt dusjarmatur. Det endte opp med en kode som kan printe torxbits.

Torx

Torx er et skruehode med stjerne-formet spor. For å kunne jobbe med torx-skruer behøver man en fast torx-trekker, eller et torxjern der man kan sette i avtagbare bits. Jeg har skrevet OpenSCAD kode for å lage avtagbare bits. Man kan spesifisere parametre som antall stjernearmer, vinkelen på hver arm og diameteren på stjernen. På IKEA kan man kjøpe verktøysettet FIXA til 79 kroner, som inneholder et torxjern. Eller man kan selvsagt printe sitt eget torxjern.

Torxbits, torxskruer og torxjern.

Fig. 1 Torxbits og torxjern (venstre), torxskruer. Disse skruene har et 6-armet stjernespor.

OpenSCAD

I OpenSCAD laget jeg en funksjon for tegne opp en vilkårlig stjerne. Input er antall stjernearmer (points), vinkelen i stjernearmen der den er i kontakt med sirkumferensen til sirkelen som stjernen danner, og radius i denne sirkelen. Bildet under viser en enkel bit.

En enkel torxbit.

Fig. 2 En enkel torxbit i OpenSCAD. Nederst til venstre i bildet står input-parametrene (r, v, p osv). I øvre høyre hjørne er bittet tegnet opp uten tupp. Så det er enklere å se geometrien.

Figur 2 viser en torxbit. Nederst til venstre i bildet, under den grafiske fremstillingen, står input-parametrene. r=3, v=70 og p=6 angir yttre radius, vinkelen i hver arm der armen er nærmest ytre sirkel, og antall armer. bladel er lengden på selve torxbladet. shaftl er lengden på "skaftet". shaftr er radius på skaftet, shaftv er vinkelen på stjernen til skaftet, shaftp er antall armer på skaftet. tipl er lengden på tuppen ytterst. På bildet i øvre høyre hjørne er tipl=0. Bittet består av 4 geometrier - skaft, blad, overgang mellom skaft og blad, og tuppen. Det er samme OpenSCAD funksjon (module) som brukes til å tegne opp alle de 4 delene.

Noen torx

Torxbits for skruer og baderoms armaturhåndtak.

Fig. 3 Bittet til venstre passer muligens til skruene i figur 1. Bittet til høyre passer muligens i håndtaket vi printet i 3d-printe armaturhåndtak. Planen er å printe disse to og se om de passer. Og hvor mye de tåler.

Matematikk

For å kunne tegne opp en generell torx må vi ha en formel for punktene torx-stjernen består av. La oss kalle de ytre punktene i stjernen for p_out og de indre for p_in. Figur 3 og 4 nednefor viser utledningen av en matematisk formel for punktene.

Torxbit matematisk utledning, side 1.

Fig. 4 Utledning av formel for punktene i en torx, side 1.

Torxbit matematisk utledning, side 2.

Fig. 5 Utledning av formel for punktene i en torx, side 2.

OpenSCAD kildekode

//Program written by Peder Sverdrup, psdigital a/s
//July 2017
//With this program one can print a simple torxbit. The torxbit can
//be used to turn a torxscrew.
//Input:
// bladel: the length of the torx blade
// shaftl: the length of the torx shaft
// r: torx head radius
// v: the angle of each torx point
// nrofpnts: nr of torx points
//
//
//blade is the profile of the torxhead.
//Input:
//l1 is radius in swept-out circle
//alpha is the torx point angle
//pnts is number of torx points
module blade(l1,alpha,pnts){
    beta=360/pnts;
    k=l1*sqrt(1-pow(sin(beta/2),2));
    l3=2*l1*sin(beta/2);
    phi=asin(2*(l1-k*cos(beta/2))/l3);
    gamma=90-(alpha/2)-phi;
    l4=l3*tan(gamma)/2;
    l2=k-l4;
    arr1 = [for(i=[0:(pnts-1)])[[l1*sin(i*beta),l1*cos(i*beta)],[l2*sin((i+0.5)*beta),l2*cos((i+0.5)*beta)]]];
    arr2 = [for(i=[0:0.5:pnts-0.5])arr1[floor(i)][(2*i)%2]];
    polygon(arr2);
}
//
r = 3; //radius of torx
v = 70; //angle of torx tip points
p = 6; //torx number of points
bladel = 10; //length of torx blade
shaftl = 15; //length of shaft blade
shaftr = 4; //shaft radius
shaftv = 120; //shaft points angle
shaftp = 6; //shaft number of points
tipl = 0; //length of bit tip
tips = 0.1; //scale of bit tip
echo("r=",r,"v=",v,"p=",p);
echo("bladel=",bladel,"shaftl=",shaftl);
echo("shaftr=",shaftr,"shaftv=",shaftv,"shaftp=",shaftp);
echo("tipl=",tipl);
union(){
    translate([0,0,0]){ //the main shaft
        linear_extrude(height = shaftl, center = false, convexity = 10, twist = 0) blade(shaftr,shaftv,shaftp);
    }
    translate([0,0,shaftl]){ //the shaft end - transition to blade
        linear_extrude(height = bladel/2, center = false, convexity = 10, twist = 0, scale=[0.1,0.1]) blade(shaftr,shaftv,shaftp);
    }
    translate([0,0,shaftl-1]){ //the blade
        linear_extrude(height = bladel + 1, center = false, convexity = 10, twist = 0) blade(r,v,p);
    }
    translate([0,0,shaftl + bladel]){ //the tip of the blade
        linear_extrude(height = tipl, center = false, convexity = 10, twist = 0, scale=[tips,tips]) blade(r,v,p);
    }
}

Torxbit 3d-print

Fig. 6 Ferdig printet torxbit. Den var litt mindre solid enn jeg hadde håpet. Og den var litt for stor for torx-jernet. Så her må parametrene justeres, både i Cura og i formelen i OpenSCAD, og ny bit printes.

Konklusjon

Referanser

  1. OpenSCAD hjemmeside
    http://www.openscad.org
  2. Ultimaker hjemmeside
    https://ultimaker.com
Telefon: 67 20 71 21 / 92 60 51 57 Natt-måne bak trærne