| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /* [OpenSCAD] */
- $fn=36;
- /* [Konstruktion] */
- Radius = 5;
- Schlitze = 5;
- Mittelteil = 15;
- M3 = 2.5;
- /* [Debug] */
- debug=false;
- // Auf Z Achse schneiden
- slice_xy = 320; //[0.5:0.5:50]
- // Auf X Achse schneiden
- slice_yz = 260; //[0.5:0.5:30]
- // Auf Y Achse schneiden
- slice_xz = 160; //[0.5:0.5:30]
- /* [Hidden] */
- //build_volume = [ 130, 80, 160];
- build_volume = [ 50, 50, 50];
- module ei(radius, oben=true, unten=true) {
- translate([0,0,radius]) {
- //translate([0,0,-0.1])
- if (unten) intersection() {
- sphere(radius);
- translate([0,0,-2*radius]) cube(4*radius, center=true);
- }
- if (oben) intersection() {
- scale([1,1,2]) sphere(radius);
- translate([0,0,+2*radius]) cube(4*radius, center=true);
- }
- }
- }
- module kopf() {
- difference() {
- ei(Radius);
- ei(Radius-1.5);
- translate([0,0,Radius*1.5]) for(i=[0:360/Schlitze:360]) rotate([45,0,i]) translate([Radius,0,0]) scale([0.5,2,1]) cylinder(r=Radius, h=Radius/5, center=true);
- }
- }
- module stoepsel() {
- translate([0,0,Mittelteil]) kopf();
- translate([0,0,-2*Radius]) ei(Radius, unten=false);
- translate([0,0,-Radius/2]) difference() {
- cylinder(d=Radius-1, h=Mittelteil);
- cylinder(d=M3, h=Mittelteil);
- }
- }
- module adapter() {
- translate([0,0,-2*Radius]) {
- ei(Radius, oben=false);
- cylinder(r1=Radius, d2=M3, h=Radius*2);
- }
- cylinder(d1=M3, d2=M3*3/5, h=Mittelteil);
- }
- !kopf();
- //translate([10,10,0])
- stoepsel();
- //translate([-10,-10,0])
- adapter();
- //
- //// Schnittbild wie im CT/MR:
- //intersection() {
- //
- //
- // if (debug) {
- // cube( [ build_volume.x, build_volume.y, slice_xy ], center=true );
- // cube( [ build_volume.x, slice_xz, build_volume.z ], center=true );
- // cube( [ slice_yz, build_volume.y, build_volume.z ], center=true );
- // }
- //}
- //
|