[ gelöst ] OpenSCAD FOR-Schleife 10. January 2021 05:47 |
Registrierungsdatum: 5 Jahre zuvor Beiträge: 8 |
$fn = 200; $drd = 2; // Drahtdurchmesser $drb = 20; // Gitterbreite $drh = 100; // Gitterhöhe $drbs = 10; // Länge der Spitze $v = 4; // Stababstand module machma_strebe(){ rotate ([90,90,0]) cylinder(h=$drb, d=$drd , center=true); translate([0 ,-$drb/2 ,$drh/2])cylinder(h=$drh, d=$drd , center=true); translate([0 ,-$drb/2 , 0]) sphere(d=$drd ) ; translate([0 ,0 , $drh]) rotate ([90,90,0]) cylinder(h=$drb, d=$drd , center=true); translate([0 ,-$drb/2 , $drh]) sphere(d=$drd ) ; translate([0 ,+$drb/2+$drbs/2 , $drh])rotate ([270,0,0]) cylinder(h=$drbs, d=$drd,d2=1 , center=true); translate([0 ,+$drb/2+$drbs/2 , 0])rotate ([270,0,0]) cylinder(h=$drbs, d=$drd,d2=1 , center=true); } for (i=[0:3]){ $v=$v+$drd; translate([$v ,0 , 0]) machma_strebe(); }
Re: OpenSCAD FOR-Schleife 10. January 2021 06:12 |
Administrator Registrierungsdatum: 16 Jahre zuvor Beiträge: 13.874 |
Re: OpenSCAD FOR-Schleife 10. January 2021 07:06 |
Registrierungsdatum: 6 Jahre zuvor Beiträge: 20 |
$fn = 200; $drd = 2; // Drahtdurchmesser $drb = 20; // Gitterbreite $drh = 100; // Gitterhöhe $drbs = 10; // Länge der Spitze $v = 4; // Stababstand module machma_strebe(){ rotate ([90,90,0]) cylinder(h=$drb, d=$drd , center=true); translate([0 ,-($drb/2) ,($drh/2)])cylinder(h=$drh, d=$drd , center=true); translate([0 ,-($drb/2) , 0]) sphere(d=$drd ) ; translate([0 ,0 , $drh]) rotate ([90,90,0]) cylinder(h=$drb, d=$drd , center=true); translate([0 ,-$drb/2 , $drh]) sphere(d=$drd ) ; translate([0 ,+($drb/2)+($drbs/2) , $drh])rotate ([270,0,0]) cylinder(h=$drbs, d1=$drd,d2=1 , center=true); translate([0 ,+($drb/2)+($drbs/2) , 0])rotate ([270,0,0]) cylinder(h=$drbs, d1=$drd,d2=1 , center=true); } for (i=[0:3]){ translate([(i*$v+$drd) ,0 , 0]) machma_strebe(); }
Re: OpenSCAD FOR-Schleife 10. January 2021 09:46 |
Registrierungsdatum: 5 Jahre zuvor Beiträge: 8 |
/***************************************************************** * Königinnen Zusetzkäfig * * (c) Dirk Unvrzagt * * www.modellbau-yodi.de/imker * * www.youtube.com/channel/UCotr73if133Efw8GJBuqIjg * * * * Frei für nicht kommerzielle Nutzung * * * * benutzung auf eigene Gefahr * *****************************************************************/ $fn = 100; $drd = 2; // Drahtdurchmesser $drb = 20; // Gitterbreite $drh = 100; // Gitterhöhe $drbs = 10; // Länge der Spitze $v = 3.55; // Stababstand $anz = 19; // Anzahl der stäbe $ea = 12; // Durchmesser eingang $rand = 5; // Rand um Eingang echo ("*******************************" ); echo ("länge",($anz*$drd)+(($anz-1)*$v),"mm"); echo ("*******************************" ); module machma_strebe(){ rotate ([90,90,0]) cylinder(h=$drb, d=$drd , center=true); translate([0 ,-$drb/2 ,$drh/2])cylinder(h=$drh, d=$drd , center=true); translate([0 ,-$drb/2 , 0]) sphere(d=$drd ) ; translate([0 ,0 , $drh]) rotate ([90,90,0]) cylinder(h=$drb, d=$drd , center=true); translate([0 ,-$drb/2 , $drh]) sphere(d=$drd ) ; translate([0 ,+$drb/2+$drbs/2 , $drh])rotate ([270,0,0]) cylinder(h=$drbs, d1=$drd,d2=0.5 , center=true); translate([0 ,+$drb/2+$drbs/2 , 0])rotate ([270,0,0]) cylinder(h=$drbs, d1=$drd,d2=0.5 , center=true); } difference(){ $a=$v+$drd; for (i=[0:$a$anz-1)*$a]){ translate([i ,0 , 0]) machma_strebe(); } translate([$drh/2 ,-$drb/2 , $drh-$ea/2-8]) rotate ([90,0,0])cylinder(h=$drd*2, d=$ea , center=true); } difference(){ $a=$v+$drd; for (i=[0:$a$anz-1)*$a]){ translate([0 ,0 , i]) rotate ([0,90,0]) machma_strebe(); } translate([$drh/2 ,-$drb/2 , $drh-$ea/2-8]) rotate ([90,0,0])cylinder(h=$drd*2, d=$ea , center=true); } difference(){ translate([$drh/2 ,-$drb/2 , $drh-$ea/2-8]) rotate ([90,0,0])cylinder(h=$drd, d=$ea+$rand*2 , center=true); translate([$drh/2 ,-$drb/2 , $drh-$ea/2-8]) rotate ([90,0,0])cylinder(h=$drd*2, d=$ea , center=true); } translate([0 ,-$drb/2+8 ,$drh/2]) cylinder(h=$drh, d=$drd , center=true); translate([$drh ,-$drb/2+8 ,$drh/2]) cylinder(h=$drh, d=$drd , center=true); translate([$drh/2 ,-$drb/2+8 ,0]) rotate ([0,90,0]) cylinder(h=$drh, d=$drd , center=true); translate([$drh/2 ,-$drb/2+8 ,$drh]) rotate ([0,90,0]) cylinder(h=$drh, d=$drd , center=true);