CircularKnitic Parametric: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
Line 15: Line 15:
p2OD=p2ID+(p2W*2);
p2OD=p2ID+(p2W*2);
p2holeH=75;
p2holeH=75;
p2holeD=2;
p2number=12; //number of sections around circle
p2number=12; //number of sections around circle
p2needles=5; //needles mounted on each p2
  </nowiki>
  </nowiki>



Revision as of 22:52, 3 February 2018

Goal: Replicate CircularKnitic's designs with OpenScad to allow for larger machines to be built


Code

CKvars.scad

needleWidth=1.8;
p2needlegrooveID=274.4;
p2needlegrooveDepth=2.8;
p2H=104;
p2W=4.8;
p2ID=270;
p2OD=p2ID+(p2W*2);
p2holeH=75;
p2holeD=2;
p2number=12; //number of sections around circle
p2needles=5; //needles mounted on each p2
 

CKp2.scad

include <CKvars.scad>;

CKp2();

module CKp2(){
    
    $fn=360/p2number*2*2; //defines resolution of circles.

    
    translate([p2OD/2,0,0]){
    difference(){    
    cylinder(h=p2H,d=p2OD);
    cylinder(h=p2H,d=p2ID);
    translate([-p2OD/2,-p2OD/2,0]){    
    cube([p2OD,p2OD/2,p2H]);
    }
    rotate([0,0,-360/p2number]){
    translate([-p2OD/2,0,0])    
    cube([p2OD,p2OD/2,p2H]);        
    }
    for(i=[1:p2needles]){
        rotate([0,0,(360/p2number/p2needles/2)-(360/p2number/p2needles*i)]){
        translate([-p2OD/2-0.2,-needleWidth/2,0])
   cube([p2needlegrooveDepth+0.2,needleWidth,p2H]);
        }
    }

        rotate([0,0,-360/p2number/p2needles]){
        translate([-p2OD/2-0.2,0,p2holeH])
            rotate([0,90,0]){
   cylinder(h=p2OD-p2ID+0.2, d=p2holeD); 
            }
                
        rotate([0,0,-360/p2number/p2needles*(p2needles-2)]){
        translate([-p2OD/2-0.2,0,p2holeH])
            rotate([0,90,0]){
   cylinder(h=p2OD-p2ID+0.2, d=p2holeD); 
            }
        }           
        }
        
        
        
    }
}
    
    
} //end module
 

Original Files

Media:CircularKnitic.skp

github