Commit 6cbcc3a9 by hubert

cleanup of gear parts

renamed planetary gear parts
distributed modules, variables, and assembled gears to different files
1 parent c6d833a9
include <modules.scad>
// projection(cut = false) extractorachse();
translate([55,55,0]) extractorachse();
translate([50,140,0]) Body();
translate([15,15,0]) Sun();
translate([55,55,0]) Annulus();
//extractorachsekombiniert();
//projection(cut = false) stdrad();
//stdrad();
include <modules.scad>
rotate([90,90,0]) {
translate([-29,29,0.5]) Tensioner();
translate([-29,-29,0.5]) Tensioner();
translate([8,17,-8.5]) Tensioner();
translate([8,-17,-8.5]) Tensioner();
Body();
Sun();
Annulus();
extractorachsekombiniert();
}
include <MCAD/gears.scad> include <MCAD/gears.scad>
include <variables.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){ module achse(spiel=0){
translate([0,0,-15]) cylinder(h=30,d=7+spiel,center=0); translate([0,0,-15]) cylinder(h=30,d=7+spiel,center=0);
} }
module stdrad(){ module Planet(){
difference() { difference() {
linear_extrude(height = 2, center = false, convexity = 5,twist = 0) 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); gear(number_of_teeth=20,circular_pitch=200, diametral_pitch=10,pressure_angle=85, clearance = 0.1);
...@@ -55,7 +29,7 @@ module kranz(teeth=25, height=5){ ...@@ -55,7 +29,7 @@ module kranz(teeth=25, height=5){
}} }}
} }
module bandspanner(){ module Tensioner(){
color("Gray") union() { color("Gray") union() {
translate([0,0,3]) cylinder(h=1,d=5,center=true); 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,0]) cylinder(h=5,d=4,center=true);
...@@ -63,15 +37,10 @@ module bandspanner(){ ...@@ -63,15 +37,10 @@ module bandspanner(){
} }
} }
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();
module Body(){
// gehaeuse // gehaeuse
render(convexity=1) {
translate([0,0,-4.5]) union() { translate([0,0,-4.5]) union() {
difference() { difference() {
union() { union() {
...@@ -94,14 +63,16 @@ rotate([90,90,0]) { ...@@ -94,14 +63,16 @@ rotate([90,90,0]) {
translate([0,0,-5]) cylinder(h=8,d=25,center=0); translate([0,0,-5]) cylinder(h=8,d=25,center=0);
translate([0,0,5]) cylinder(h=8,d=8,center=0); translate([0,0,5]) cylinder(h=8,d=8,center=0);
} }
} }
}
}
// antrieb inneres standardrad, muss in zwei teilen gedruckt werden !!(?) module Sun() {
// antrieb inneres standardrad, muss in zwei teilen gedruckt werden !!(?)
color("CadetBlue") rotate([0,0,SMALLROTATION]) difference() { color("CadetBlue") rotate([0,0,SMALLROTATION]) difference() {
union() { union() {
stdrad(); Planet();
translate([0,0,-5]) cylinder(h=6,d=19,center=0); translate([0,0,-5]) cylinder(h=6,d=19,center=0);
translate([0,0,-5]) translate([0,0,-5])
difference() { difference() {
...@@ -111,8 +82,11 @@ rotate([90,90,0]) { ...@@ -111,8 +82,11 @@ rotate([90,90,0]) {
} }
achse(spiel=0.5); achse(spiel=0.5);
} }
}
// antrieb auesseres stdrad module Annulus() {
render(convexity=1) {
// antrieb auesseres Planetrad
color("CadetBlue") rotate([0,0,BIGROTATION]) difference() { color("CadetBlue") rotate([0,0,BIGROTATION]) difference() {
difference() { difference() {
// aeusserer kranz // aeusserer kranz
...@@ -128,37 +102,48 @@ rotate([90,90,0]) { ...@@ -128,37 +102,48 @@ rotate([90,90,0]) {
pressure_angle=85, clearance = 0.1); pressure_angle=85, clearance = 0.1);
}} }}
} }
} }
// zahnriemen auf aeusserem kranz // zahnriemen auf aeusserem kranz
translate([0,0,-2]) kranz(teeth=64, height=5); translate([0,0,-2]) kranz(teeth=64, height=5);
} }
// innerer leerraum // innerer leerraum
translate([0,0,-3.5]) cylinder(h=8,d=64,center=0); translate([0,0,-3.5]) cylinder(h=8,d=64,center=0);
} }
}
}
// aufhängung mit extraktorachse
rotate([0,0,FINALROTATION]){
module extractorachse() {
color("RosyBrown") union() { color("RosyBrown") union() {
translate([0,0,2.5]) { translate([0,0,2.5]) {
achse(spiel=0);
difference() { difference() {
cylinder(h=1.5,d=60,center=0); cylinder(h=1.5,d=60,center=0);
achse(spiel=0.1);
for ( aussparung = [0 : 3] ) { for ( aussparung = [0 : 3] ) {
rotate([0,0,120*aussparung]) translate([0,15,-0.5]) cylinder(h=5,d=20,center=0); rotate([0,0,120*aussparung]) translate([0,15,-0.5]) cylinder(h=5,d=20,center=0);
} }
}
for ( achse = [0 : 3] ) { for ( achse = [0 : 3] ) {
rotate([0,0,120*achse]) translate([20,10,-2.6]) cylinder(h=3,d=6.7,center=0); rotate([0,0,120*achse]) translate([20,10,-1]) cylinder(h=3,d=6.7,center=0);
}
} }
} }
} }
}
module extractorachsekombiniert() {
// aufhängung mit extraktorachse
rotate([0,0,FINALROTATION]){
color("RosyBrown") union() {
extractorachse();
achse(spiel=0);
}
// drei mittlere raeder // drei mittlere raeder
for ( radnummer = [0 : 3] ) { for ( radnummer = [0 : 3] ) {
rotate([0,0,120*radnummer]) translate([20,10]) rotate([0,0,9+MEDIUMROTATION]) { rotate([0,0,120*radnummer]) translate([20,10]) rotate([0,0,9+MEDIUMROTATION]) {
stdrad(); // drei mittlere zapfen
cylinder(h=4,d=6.6,center=0);
Planet();
} }
} }
} }
......
// 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;
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!