// Mobius strip // allviews mobius // viewsopts support //Radius of strip //use Radius = 20; //Width of Strip Width = 15; //Thickness of strip Thickness=2; //Half twists 0 is a collar, 1 is the mobius strip, 2 = fulll twist Halftwist=1; //Start Angle - important if Halftwist = 0 Start=90; //Step size in degrees Step = 5; module mobius_strip(radius,width,thickness,step=1, halftwist=3,start=90) { for (i = [0:step:360]) hull() { rotate([0,0,i]) translate([radius,0,0]) rotate([0,start+i * halftwist * 0.5, 0]) cube([width,Delta,thickness], center=true); rotate([0,0,i+step]) translate([radius,0,0]) rotate([0,start+(i+step)* halftwist * 0.5 , 0]) cube([width,Delta,thickness], center=true); } } Delta= 0.1; module oneletter(letter,offy,rotatex,rotatez){ //translate([2,-6,offz]) rotate([rotatex,0,rotatez]) // writesphere(letter, [0,0,0], h=7,t=2,19,font = "orbitron.dxf"); rotate ([0,0,rotatez]) translate([0,30,0]) rotate([90,0,180]) linear_extrude (5) text(letter,size=5); } difference(){ union(){ translate([0,0,8]) mobius_strip(Radius, Width, Thickness, Step, Halftwist,Start); w=12; l=12; //translate([-Radius-l/2-1,-w/2,0]) cube([15,w,7.5]); height=22; outray=11; rcircle=4; translate([-Radius,0,0]) rotate_extrude($fn=40){ translate([outray-5,outray-5,0]) circle(r=rcircle); } *translate([2,-6,-4]) rotate([-30,0,50]) writesphere("Myriam", [0,0,0], h=7,21,font = "orbitron.dxf"); offa=180; oneletter("M",-4,-30,offa+0); oneletter("Y",-4,-30,offa+22); oneletter("R",-1,-20,offa+42); oneletter("I",6,0,offa+62); oneletter("A",0,0,offa+82); oneletter("M",0,0,offa+102); } ray=4; translate ([-Radius,0,-2]) cylinder (r=ray,h=30,$fn=40); }