CircularKnitic Parametric: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
Line 27: Line 27:
module CKp2(){
module CKp2(){
      
      
    $fn=360/p2number*2*2; //defines resolution of circles.
      
      
     translate([p2OD/2,0,0]){
     translate([p2OD/2,0,0]){
Line 39: Line 41:
     cube([p2OD,p2OD/2,p2H]);         
     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]);
        }
        }
     }
     }
}
}

Revision as of 22:00, 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;
p2number=12; //number of sections around circle
 

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]);
        }
        }
    }
}
    
    
} //end module
 

Original Files

Media:CircularKnitic.skp

github