3d part design with Openscad #22: Basket module

2 min read
By Bob
3d part design with Openscad #22: Basket module

Copy and paste this code into the editor pane in Openscad:

/* [Basket] */
Show_Basket = true;
Height = 100 ; //[1:.1:400]
Diameter = 100 ; //[1:.1:400]
Density = 15 ; //[1:1:30]
Bowl_shape = 1 ; //[1:.1:12]
Layers_ = 12 ; //[1:1:20]
Reed_thickness = 8 ; //[.1:.01:20]
Reed_shape = 4; //[3:1:40]
Base_height = 2; //[1:.1:100]
Base_size = 1 ; //[1:.5:400]
Base_shape = 100 ; //[3:1:100]
Top_outside_diameter = 7 ; //[0:.5:400]
Top_inside_diameter = 0 ; //[-500:.5:500]
Top_height = 2 ; //[0:.1:100]
Top_outside_shape = 40; //[3:1:40]
Top_inside_shape = 40; //[3:1:40]
Twist_x = -150 ; //[-360:1:360]
Twist_y = 150 ; //[-360:1:360]
Twist_z = 0 ; //[-360:1:360]

module Basket(){
if (Show_Basket){

for(z = [Twist_x,Twist_y,Twist_z])
{ for (i=[0:Density:360]){
rotate([0,0,i])
linear_extrude(height=Height,twist=z,slices= Layers_,scale=Bowl_shape)
translate([Diameter,0,0])
rotate([0,70,0])
circle(r=Reed_thickness,$fn=Reed_shape);

cylinder(r=Diameter+Base_size,h=Base_height,$fn=Base_shape);
translate([0,0,-2*cos(20)+Height])
scale([Bowl_shape,Bowl_shape,Top_height])
difference(){
cylinder(r=Diameter+Top_outside_diameter,h=Top_height,$fn=Top_outside_shape);
translate([0,0,-1])
cylinder(r=Diameter+(Top_inside_diameter*sin(20)),h=30+6,$fn=Top_inside_shape);
}}}}}
//

Basket();
This print has interesting acoustic properties