Commit b00e7709 by hubert

first concept added

1 parent 99c6e7bb
Showing with 165 additions and 0 deletions
include <MCAD/gears.scad>
// geschwindigkeit
TIME = $t*50;
// rotationsrichtung
ROTATESMALL = (TIME);
ROTATEBIG = (TIME);
// x-bewegung
//ROTATESMALL = (-TIME);
//ROTATEBIG = (TIME);
// extractormotor rotiert
//ROTATESMALL = (TIME);
//ROTATEBIG = (TIME);
SMALLROTATION = (ROTATESMALL*18);
BIGROTATION = (ROTATEBIG*6);
// haeh? das macht keinen sinn: (reicht aber fuer eine demo)
MEDIUMROTATION = ((BIGROTATION/2)+(-SMALLROTATION/2))*1.5;
FINALROTATION = (TIME - ((ROTATEBIG/2)+(-ROTATESMALL/2)))*9;
module achse(spiel=0){
translate([0,0,-15]) cylinder(h=30,d=7+spiel,center=0);
}
module stdrad(){
difference() {
linear_extrude(height = 2, center = false, convexity = 5,twist = 0)
gear(number_of_teeth=20,circular_pitch=200, diametral_pitch=10,pressure_angle=85, clearance = 0.1);
translate([0,0,-2]) cylinder(h=5,d=7,center=0);
for ( aussparung = [0 : 5] ) {
rotate([0,0,60*aussparung]) translate([6.5,0,-1]) cylinder(h=4,d=4,center=0);
}
}
}
module kranz(teeth=25, height=5){
diameter = teeth * 1.3;
difference() {
cylinder(h=height,d=diameter,center=0);
translate([0,0,-0.5])
linear_extrude(height = height+1, center = false, convexity = 5,twist = 0) {
gear(number_of_teeth=teeth,
circular_pitch=200, diametral_pitch=0,
pressure_angle=85, clearance = -1);
}}
}
module bandspanner(){
color("Gray") union() {
translate([0,0,3]) cylinder(h=1,d=5,center=true);
translate([0,0,0]) cylinder(h=5,d=4,center=true);
translate([0,0,-3]) cylinder(h=1,d=5,center=true);
}
}
rotate([90,90,0]) {
translate([-29,29,0.5]) bandspanner();
translate([-29,-29,0.5]) bandspanner();
translate([8,17,-8.5]) bandspanner();
translate([8,-17,-8.5]) bandspanner();
// gehaeuse
translate([0,0,-4.5]) union() {
difference() {
union() {
cylinder(h=11,d=80,center=false);
translate([-28,-28,9]) {
minkowski() {
cube([5,57,1],false);
cylinder(h=1,d=10,center=false);
}}
}
translate([0,0,1]) cylinder(h=8,d=77,center=false);
difference(){
union() {
translate([33,0,5]) cube([40,80,15],true);
translate([-33,0,1.5]) cube([40,80,15],true);
}
translate([0,0,0]) cylinder(h=1,d=30,center=0);
}
translate([0,0,-5]) cylinder(h=8,d=25,center=0);
translate([0,0,5]) cylinder(h=8,d=8,center=0);
}
}
// antrieb inneres standardrad, muss in zwei teilen gedruckt werden !!(?)
color("CadetBlue") rotate([0,0,SMALLROTATION]) difference() {
union() {
stdrad();
translate([0,0,-5]) cylinder(h=6,d=19,center=0);
translate([0,0,-5])
difference() {
translate([0,0,-7]) cylinder(h=7,d=30,center=0);
translate([0,0,-6]) kranz(teeth=24, height=5);
}
}
achse(spiel=0.5);
}
// antrieb auesseres stdrad
color("CadetBlue") rotate([0,0,BIGROTATION]) difference() {
difference() {
// aeusserer kranz
translate([0,0,0.-3]) {
difference() {
translate([0,0,0]) {
cylinder(h=7,d=75,center=0);
}
translate([0,0,2.5]) rotate([0,0,9]) {
linear_extrude(height = 3, center = false, convexity = 2,twist = 0) {
gear(number_of_teeth=60,
circular_pitch=200, diametral_pitch=0,
pressure_angle=85, clearance = 0.1);
}}
}
}
// zahnriemen auf aeusserem kranz
translate([0,0,-2]) kranz(teeth=64, height=5);
}
// innerer leerraum
translate([0,0,-3.5]) cylinder(h=8,d=64,center=0);
}
// aufhängung mit extraktorachse
rotate([0,0,FINALROTATION]){
color("RosyBrown") union() {
translate([0,0,2.5]) {
achse(spiel=0);
difference() {
cylinder(h=1.5,d=60,center=0);
for ( aussparung = [0 : 3] ) {
rotate([0,0,120*aussparung]) translate([0,15,-0.5]) cylinder(h=5,d=20,center=0);
}
}
for ( achse = [0 : 3] ) {
rotate([0,0,120*achse]) translate([20,10,-2.6]) cylinder(h=3,d=6.7,center=0);
}
}
}
// drei mittlere raeder
for ( radnummer = [0 : 3] ) {
rotate([0,0,120*radnummer]) translate([20,10]) rotate([0,0,9+MEDIUMROTATION]) {
stdrad();
}
}
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!