Initial commit
This commit is contained in:
commit
5e70566edc
60
centrifuge.scad
Normal file
60
centrifuge.scad
Normal file
@ -0,0 +1,60 @@
|
||||
$fn=360;
|
||||
|
||||
AXLE_DIAMETER=5;
|
||||
BASE_HEIGHT=100;
|
||||
BASE_LOWER_DIAMETER=100;
|
||||
BASE_UPPER_DIAMETER=50;
|
||||
TEST_TUBE_HEIGHT=150;
|
||||
TEST_TUBE_DIAMETER=10;
|
||||
TEST_TUBE_ANGLE=33;
|
||||
TEST_TUBE_SPREAD=100;
|
||||
|
||||
module testTube(height, diameter) {
|
||||
cylinder(height, diameter, diameter);
|
||||
}
|
||||
|
||||
module arrangedTestTubes(angle, spread, rotation) {
|
||||
rotate([0, 0, rotation]) {
|
||||
translate([0, spread, 10]) {
|
||||
rotate([angle, 0, 0]) {
|
||||
testTube(TEST_TUBE_HEIGHT, TEST_TUBE_DIAMETER);
|
||||
}
|
||||
}
|
||||
translate([0, -spread, 10]) {
|
||||
rotate([-angle, 0, 0]) {
|
||||
testTube(TEST_TUBE_HEIGHT, TEST_TUBE_DIAMETER);
|
||||
}
|
||||
}
|
||||
translate([spread, 0, 10]) {
|
||||
rotate([0, -angle, 0]) {
|
||||
testTube(TEST_TUBE_HEIGHT, TEST_TUBE_DIAMETER);
|
||||
}
|
||||
}
|
||||
translate([-spread, 0, 10]) {
|
||||
rotate([0, angle, 0]) {
|
||||
testTube(TEST_TUBE_HEIGHT, TEST_TUBE_DIAMETER);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module base(height, lowerDiameter, upperDiameter) {
|
||||
cylinder(height, lowerDiameter, upperDiameter);
|
||||
}
|
||||
|
||||
module axle(height, diameter) {
|
||||
translate([0, 0, -1]) {
|
||||
cylinder(height, diameter, diameter);
|
||||
}
|
||||
}
|
||||
|
||||
module centrifuge() {
|
||||
difference() {
|
||||
base(BASE_HEIGHT, BASE_LOWER_DIAMETER, BASE_UPPER_DIAMETER);
|
||||
axle(BASE_HEIGHT + 2, AXLE_DIAMETER);
|
||||
arrangedTestTubes(TEST_TUBE_ANGLE, TEST_TUBE_SPREAD, 0);
|
||||
arrangedTestTubes(TEST_TUBE_ANGLE, TEST_TUBE_SPREAD, 45);
|
||||
}
|
||||
}
|
||||
|
||||
centrifuge();
|
Loading…
Reference in New Issue
Block a user