Stap 1: De code...
De dispenser bestaat uit 3 delen:
-de bovenste trechter waarop de fles melk is geplaatst.
-De dispenser mesure dat handmatig worden gedraaid zodat ze afzien van een bepaald volume van melkpoeder
-De dispenser-buis die afzien van de melk in de Babyfles
-Optionele voeten (niet afgebeeld op de afbeelding)
Zoeken bulken de Openscad code voor het genereren van de dispenser-model:
De code is oganised in 3 delen: Parameter en waarde, en een gedeelte per delen
U kunt genereren van het model om een volledig overzicht, of slechts een deel voor het afdrukken te genereren
PARAMETERS ___
r = 22; RADIUS-bol dispenser
EPD = 2; / / dikte dispenser
RB = 13; RADIUS-baby's fles configuratiebestanden
EP = 4; wanddikte
tol = 0,5; tolerantie
h = 30; hoogte van de plaat
R = 130/2; //Radius melk vak
DM = 10; diameter manivelle
SEC = 4; sectie fixatie manivelle
LM = 40; lengh manivelle
DP = 18; diameter handvat
n = 1; Holte nummer in dispenser
H = 155; dispenser hoogte
DP = 10; de diameter van de voeten
res = 100; reslution
AUTOMAAT MEASURE___
Rotate([0,90,0])
Union() {/ / dispenser
difference() {//sphere muur
Sphere(r=r,$FN=res); bol ext
Sphere(r=r-2,$FN=res); bol int
for(i=[1:n])Rotate([i*360/n,0,0]) //quarter gesneden
Translate([-r,EPD,EPD]) {kubus (grootte = [2 * r, r, r]);}
}
difference() {//measure
difference() {}
Sphere(r=r,$FN=res);
for(i=[1:n])Rotate([i*360/n,0,0]) / / kwartaal knippen
Translate([-r,EPD,EPD]) {kubus (grootte = [2 * r, r, r]);}
}
for(i=[1:n])Rotate([i*360/n,0,0]) translate([0,r/1.4,r/1.4]) sphere(r=r,$fn=res); maatregel knippen
}
Translate([-r+tol,0,0])Rotate([0,90,180]) {cilinder (h = 3 * ep, d = dm, $fn = res);} //axe 1
Translate([r+LM-1,0,0]){Rotate([0,90,180]) {cilinder (h = lm, d = dm, $fn res =) ;}} //axe manivelle
Rotate([0,90,0]) {translate([0,0,lm+r-1]) {cilinder (h = r, d = dp, $fn = res);}} //handle
for(i=[1:10])Rotate([i*360/10,0,0]) //grip
Translate([r+LM-1,0,DP/2]){Rotate([0,90,0]) {cilinder (h = r, d = dm, $fn = res);}
}
}
DIPSPENSER TUBE___
Union() {}
difference() {}
cilinder (h = r, r = r + ep, $fn = res);
Sphere(r=r+tol,$FN=res);
cilinder (h = 3 * r, r = rb, $fn = res, Midden = true);
Rotate([0,90,0]) {}
cilinder (h = 3 * r, d = dm + tol, center = true, $fn = res);
}
}
Translate([0,0,r]) {/ / trechter
difference() {}
cilinder (h = r/2, r1 = r + ep, r2 = rb + ep, $fn = res);
cilinder (h = r, r = rb, $fn = res, Midden = true);
cilinder (h = 0,05, r = r + tol, $fn = res, Midden = true); Hallo debug
cilinder (h = 2 * r, r = rb, $fn = res); debug lo
}
}
difference() {/ / fixatie
Union() {}
Translate([0,-r/2-R/2-tol-EP/2,r/2]) {kubus (grootte = [2 * ep, R-r + ep, r], centrum = true);}
Translate([0,-3*r-EP,r/2]) {kubus (grootte = [2 * r, ep, r], centrum = true);}
}
Translate([r/2,-3*r,r/1.3]) {kubus (grootte = [ep, 4 * ep, r/2], centrum = true);}
Translate([-r/2,-3*r,r/1.3]) {kubus (grootte = [ep, 4 * ep, r/2], centrum = true);}
}
}
//TOP FUNEL______________________________________________
Union() {}
Rotate([0,180,0]) {}
difference() {}
cilinder (h = h, r1 = r + ep, r2 = R + ep, $fn = res);
cilinder (h = h + tol, r1 = r + tol, r2 = R-ep, $fn = res);
Translate([0,0,-1]) {cilinder (h = h, r = r + tol, $fn = res);}
Rotate([0,270,0]) {}
cilinder (h = 4 * r, d = dm + tol, center = true, $fn = res);
}
voor (ik = [1:3])rotate([0,180,-60+i*360/3]) {//hole
Translate([R-EP/2,0,-h+EP]) {}
cilinder (h = H + h + r, d = DP, $fn = res);
}}
}
Translate([0,0,h]) {}
difference() {}
cilinder (h = ep, r = R + ep, $fn = res);
cilinder (h = 2 * h, r = R + tol, center = true, $fn = res);
}
}
}
}
OPTIONELE FEET___
* for(i=[1:3])rotate([0,0,-60+i*360/3]){
Translate([R-EP/2,0,-h+EP/3]) {}
cilinder (h = H + h + r + r/2, d = DP);
}
}