|
|
|
@ -1,13 +1,13 @@
@@ -1,13 +1,13 @@
|
|
|
|
|
use <Deckel.scad>; |
|
|
|
|
$fn=128; |
|
|
|
|
|
|
|
|
|
$t = 0.5; // disable for animation |
|
|
|
|
module coupler_holder(){ |
|
|
|
|
difference(){ |
|
|
|
|
translate([0,-2.3,-0.2])cube([3.5,4.6,2.5]); // evtl. können die Außenwände wieder dünner werden |
|
|
|
|
translate([0,-5/2,-0.2])cube([3.5,5,2.5]); // evtl. können die Außenwände wieder dünner werden |
|
|
|
|
translate([-1.0,-2.6/2,0.3])cube([5,2.6,1.5]); |
|
|
|
|
translate([2.5,-4.2/2,0.65])cube([2,4.2,0.7]); |
|
|
|
|
translate([2.5,-4.6/2,0.65])cube([2,4.6,0.7]); |
|
|
|
|
translate([1.3,-4.2/2,0.8])cube([2,4.2,0.4]); |
|
|
|
|
translate([2.5,0,1])rotate([90,0,0])cylinder(d=0.9,h=4.2,center=true); |
|
|
|
|
translate([2.5,0,1])rotate([90,0,0])cylinder(d=0.9,h=4.6,center=true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -46,6 +46,16 @@ module fixed_part(){
@@ -46,6 +46,16 @@ module fixed_part(){
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
module spring(angle=0){ |
|
|
|
|
translate([-1,-4.5,0]) rotate([0,0,angle]){ |
|
|
|
|
translate([-12,-3.2,0])cylinder(d=1,h=0.8,center=true); |
|
|
|
|
hull(){ |
|
|
|
|
translate([-12,-3.2,0])cube([0.6,0.6,0.8],center=true); |
|
|
|
|
translate([0,0,0])cube([0.6,0.6,0.8],center=true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
module moving_part(){ |
|
|
|
|
l1=16.4; |
|
|
|
|
translate([25/2-1.6,0,0.4]){ |
|
|
|
@ -54,15 +64,17 @@ module moving_part(){
@@ -54,15 +64,17 @@ module moving_part(){
|
|
|
|
|
cylinder(d=l1,h=1,center=true); |
|
|
|
|
} |
|
|
|
|
hull(){ |
|
|
|
|
translate([-20,0,0])cylinder(d=1.6,h=0.8,center=true); |
|
|
|
|
translate([-20,0,0])cylinder(d=2,h=0.8,center=true); |
|
|
|
|
translate([-1,-4,0])cylinder(d=1,h=0.8,center=true); |
|
|
|
|
translate([-14,-3,0])cylinder(d=1,h=0.8,center=true); |
|
|
|
|
translate([-1, 4,0])cylinder(d=1,h=0.8,center=true); |
|
|
|
|
translate([-14, 3,0])cylinder(d=1,h=0.8,center=true); |
|
|
|
|
} |
|
|
|
|
translate([-18.6,0,-0.6])cylinder(d=1.6,h=1.8,center=true); |
|
|
|
|
translate([-18.6,0,-1.5])sphere(d=1.6); |
|
|
|
|
translate([-19,0,-0.6])cylinder(d=2,h=1.8,center=true); |
|
|
|
|
translate([-19,0,-1.5])sphere(d=2); |
|
|
|
|
difference(){ |
|
|
|
|
union(){ |
|
|
|
|
translate([-20,0,-3.8]) cylinder(d=1.6,h=4.9,center=true); |
|
|
|
|
translate([-20,0,-3.8]) cylinder(d=2,h=4.9,center=true); |
|
|
|
|
hull(){ |
|
|
|
|
translate([-20,0,-6.5]) cylinder(d=2,h=0.1,center=true); |
|
|
|
|
translate([-18,0,0]) cylinder(d=2,h=0.1,center=true); |
|
|
|
@ -76,21 +88,13 @@ module moving_part(){
@@ -76,21 +88,13 @@ module moving_part(){
|
|
|
|
|
} |
|
|
|
|
translate([-21.5,0,-6.6])rotate([0,0,180])translate([-0.5,-2.6/2,0.3])cube([5,2.6,1.5]); |
|
|
|
|
} |
|
|
|
|
translate([-13,-7.7,0])cylinder(d=1,h=0.8,center=true); |
|
|
|
|
hull(){ |
|
|
|
|
translate([-13,-7.7,0])cube([0.6,0.6,0.8],center=true); |
|
|
|
|
translate([-1,-4.5,0])cube([0.6,0.6,0.8],center=true); |
|
|
|
|
} |
|
|
|
|
translate([-13,7.7,0])cylinder(d=1,h=0.8,center=true); |
|
|
|
|
hull(){ |
|
|
|
|
translate([-13,7.7,0])cube([0.6,0.6,0.8],center=true); |
|
|
|
|
translate([-1,4.5,0])cube([0.6,0.6,0.8],center=true); |
|
|
|
|
} |
|
|
|
|
spring($t>=0.5 ? 32*(0.5-$t) : 0); |
|
|
|
|
mirror([0,180,0]) spring($t<=0.5 ? 32*($t-0.5) : 0); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
module kinematik(angle){ |
|
|
|
|
angle = ($t - 0.5)*30; |
|
|
|
|
angle = ($t - 0.5)*28; |
|
|
|
|
|
|
|
|
|
fixed_part(); |
|
|
|
|
v1 = [-10.9,-8.5,0]; |
|
|
|
@ -104,6 +108,8 @@ module kinematik(angle){
@@ -104,6 +108,8 @@ module kinematik(angle){
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*kinematik(); |
|
|
|
|
moving_part(); |
|
|
|
|
*fixed_part(); |
|
|
|
|
*deckel(); |
|
|
|
|