actualizar
This commit is contained in:
		
							
								
								
									
										6
									
								
								3--construir/mobiliario/Nueva carpeta/Untitled.scad
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								3--construir/mobiliario/Nueva carpeta/Untitled.scad
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
//modulos
 | 
			
		||||
 | 
			
		||||
use <"./component--joint--tee.scad">;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
joint_tee();
 | 
			
		||||
@@ -0,0 +1,5 @@
 | 
			
		||||
module joint_tee(size=60)
 | 
			
		||||
{
 | 
			
		||||
cube(size,center=true);
 | 
			
		||||
};
 | 
			
		||||
joint_tee();
 | 
			
		||||
@@ -0,0 +1,6 @@
 | 
			
		||||
module pipe(diam=30, hight=500)
 | 
			
		||||
{
 | 
			
		||||
cylinder(d=diam,h=hight,center=true);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
pipe();
 | 
			
		||||
							
								
								
									
										30
									
								
								3--construir/mobiliario/Nueva carpeta/draw--arc.scad
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								3--construir/mobiliario/Nueva carpeta/draw--arc.scad
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
radius = 20;
 | 
			
		||||
angles = [0, 90];
 | 
			
		||||
width = 5;
 | 
			
		||||
fn = 24;
 | 
			
		||||
 | 
			
		||||
module sector(radius, angles, fn = 24) {
 | 
			
		||||
    r = radius / cos(180 / fn);
 | 
			
		||||
    step = -360 / fn;
 | 
			
		||||
 | 
			
		||||
    points = concat([[0, 0]],
 | 
			
		||||
        [for(a = [angles[0] : step : angles[1] - 360]) 
 | 
			
		||||
            [r * cos(a), r * sin(a)]
 | 
			
		||||
        ],
 | 
			
		||||
        [[r * cos(angles[1]), r * sin(angles[1])]]
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    difference() {
 | 
			
		||||
        circle(radius, $fn = fn);
 | 
			
		||||
        polygon(points);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
module arc(radius, angles, width = 1, fn = 24) {
 | 
			
		||||
    difference() {
 | 
			
		||||
        sector(radius + width, angles, fn);
 | 
			
		||||
        sector(radius, angles, fn);
 | 
			
		||||
    }
 | 
			
		||||
} 
 | 
			
		||||
 | 
			
		||||
linear_extrude(1) arc(radius, angles, width);
 | 
			
		||||
							
								
								
									
										228
									
								
								3--construir/mobiliario/Nueva carpeta/table.scad
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								3--construir/mobiliario/Nueva carpeta/table.scad
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,228 @@
 | 
			
		||||
//modules
 | 
			
		||||
 | 
			
		||||
use <./component--joint--tee.scad>;
 | 
			
		||||
use <./component--pipe.scad>;
 | 
			
		||||
 | 
			
		||||
{ //parameters
 | 
			
		||||
 | 
			
		||||
    {
 | 
			
		||||
    caster_hight=135;
 | 
			
		||||
    caster_widht=50;
 | 
			
		||||
    joint_tee_size=60;
 | 
			
		||||
    pipe_diameter=26.67;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    {
 | 
			
		||||
    table_widht=600;
 | 
			
		||||
    table_length=1800;
 | 
			
		||||
    table_hight=700;
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
    {
 | 
			
		||||
    base_bottom_center=caster_hight+joint_tee_size/2;
 | 
			
		||||
    base_top_center=table_hight-joint_tee_size/2;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    {
 | 
			
		||||
    base_widht=table_widht-2*(0)/2;   
 | 
			
		||||
    base_length=table_length-2*(0)/2;   
 | 
			
		||||
    }
 | 
			
		||||
        
 | 
			
		||||
    {
 | 
			
		||||
    assembly_offset=5;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
{ //operations
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    { //positioning
 | 
			
		||||
        
 | 
			
		||||
    point_node=(
 | 
			
		||||
    [
 | 
			
		||||
        [base_widht/2,base_length/2,base_bottom_center]
 | 
			
		||||
    ]
 | 
			
		||||
    );
 | 
			
		||||
    
 | 
			
		||||
        
 | 
			
		||||
    point_pipe_horizontal=(
 | 
			
		||||
    [
 | 
			
		||||
        [base_widht/4,base_length/2,base_bottom_center],        
 | 
			
		||||
        [base_widht/4,base_length/2,base_top_center],
 | 
			
		||||
        
 | 
			
		||||
    ]
 | 
			
		||||
    );
 | 
			
		||||
    
 | 
			
		||||
        
 | 
			
		||||
    point_central_node=(
 | 
			
		||||
    [
 | 
			
		||||
        [0,base_length/2,base_bottom_center],
 | 
			
		||||
        [0,base_length/2,base_top_center],
 | 
			
		||||
    ]
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    point_pipe=(
 | 
			
		||||
    [
 | 
			
		||||
        [base_widht/2,base_length/2,caster_hight+(base_top_center-caster_hight)/2],
 | 
			
		||||
    ]
 | 
			
		||||
    );
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    point_caster=(
 | 
			
		||||
    [
 | 
			
		||||
        [base_widht/2,base_length/2,caster_hight/2],
 | 
			
		||||
    ]
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    
 | 
			
		||||
    point_crossbar=(
 | 
			
		||||
    [
 | 
			
		||||
        [0,0,base_bottom_center],
 | 
			
		||||
        [0,0,base_top_center],
 | 
			
		||||
    ]
 | 
			
		||||
    );
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
        point_node_top=(
 | 
			
		||||
    [
 | 
			
		||||
        [base_widht/2,base_length/2,base_top_center],
 | 
			
		||||
    ]
 | 
			
		||||
    );
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
}  
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
    { //modules
 | 
			
		||||
        
 | 
			
		||||
color("yellow")
 | 
			
		||||
crossbars();
 | 
			
		||||
laterals();
 | 
			
		||||
        
 | 
			
		||||
    module laterals()      
 | 
			
		||||
    {
 | 
			
		||||
    lateral_mid();
 | 
			
		||||
    lateral_mid_mirror();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
        module lateral_mid()
 | 
			
		||||
        {
 | 
			
		||||
        lateral_quarter();
 | 
			
		||||
        lateral_quarter_mirror();
 | 
			
		||||
        node_pos_central();
 | 
			
		||||
        }  
 | 
			
		||||
        
 | 
			
		||||
            module lateral_quarter()
 | 
			
		||||
            {
 | 
			
		||||
            color("blue")    
 | 
			
		||||
            caster();
 | 
			
		||||
                
 | 
			
		||||
            color("red")
 | 
			
		||||
            for (pos=point_node)
 | 
			
		||||
            translate(pos)
 | 
			
		||||
            node_bottom();
 | 
			
		||||
            
 | 
			
		||||
            color("orange")            
 | 
			
		||||
            pipe_vertical();
 | 
			
		||||
            
 | 
			
		||||
            color("orange")  
 | 
			
		||||
            pipe_horizontal_pos();
 | 
			
		||||
            
 | 
			
		||||
            
 | 
			
		||||
            color("green")  
 | 
			
		||||
            node_top();
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
     
 | 
			
		||||
                module node_bottom()
 | 
			
		||||
                {
 | 
			
		||||
                joint_tee(size=joint_tee_size);
 | 
			
		||||
                };
 | 
			
		||||
                
 | 
			
		||||
                module pipe_vertical()
 | 
			
		||||
                {
 | 
			
		||||
                for (pos=point_pipe)
 | 
			
		||||
                translate(pos)
 | 
			
		||||
                pipe(diam=pipe_diameter,hight=base_top_center-caster_hight-joint_tee_size+2*assembly_offset);
 | 
			
		||||
                };  
 | 
			
		||||
                
 | 
			
		||||
                module pipe_horizontal_pos ()
 | 
			
		||||
                {
 | 
			
		||||
                for (pos=point_pipe_horizontal)
 | 
			
		||||
                translate(pos)
 | 
			
		||||
                pipe_horizontal();    
 | 
			
		||||
                };
 | 
			
		||||
            
 | 
			
		||||
                    module pipe_horizontal()
 | 
			
		||||
                    {
 | 
			
		||||
                    rotate([0,90,0])
 | 
			
		||||
                    pipe(diam=pipe_diameter,hight=base_widht/2-joint_tee_size+2*assembly_offset); 
 | 
			
		||||
                    }; 
 | 
			
		||||
                   
 | 
			
		||||
                module caster()
 | 
			
		||||
                {
 | 
			
		||||
                for (pos=point_caster)
 | 
			
		||||
                translate(pos)
 | 
			
		||||
                rotate([0,90,0])
 | 
			
		||||
                cylinder(h=caster_widht,r=caster_hight/2,center=true);    
 | 
			
		||||
                };           
 | 
			
		||||
            
 | 
			
		||||
                module node_top()
 | 
			
		||||
                {
 | 
			
		||||
                for (pos=point_node_top)
 | 
			
		||||
                translate(pos)
 | 
			
		||||
                cube(size=joint_tee_size,center=true);    
 | 
			
		||||
                };                  
 | 
			
		||||
      
 | 
			
		||||
            module lateral_quarter_mirror()
 | 
			
		||||
            {
 | 
			
		||||
            mirror([1,0,0])
 | 
			
		||||
            lateral_quarter(); 
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
        module lateral_mid_mirror()
 | 
			
		||||
        {
 | 
			
		||||
        mirror([1,0,0])
 | 
			
		||||
        lateral_mid();    
 | 
			
		||||
        }  
 | 
			
		||||
 | 
			
		||||
            module node_pos_central()
 | 
			
		||||
            { 
 | 
			
		||||
            color("red") 
 | 
			
		||||
            for (pos=point_central_node)
 | 
			
		||||
            translate(pos)
 | 
			
		||||
            joint_tee(size=joint_tee_size);   
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        module lateral_mid_mirror()
 | 
			
		||||
        {
 | 
			
		||||
        mirror([0,1,0])
 | 
			
		||||
        lateral_mid();    
 | 
			
		||||
        };
 | 
			
		||||
        
 | 
			
		||||
        
 | 
			
		||||
        
 | 
			
		||||
    module crossbars()
 | 
			
		||||
    { 
 | 
			
		||||
    color("red") 
 | 
			
		||||
    for (pos=point_crossbar)
 | 
			
		||||
    translate(pos)
 | 
			
		||||
    crossbar();   
 | 
			
		||||
    }
 | 
			
		||||
            
 | 
			
		||||
        module crossbar()
 | 
			
		||||
        {
 | 
			
		||||
        rotate([90,0,0])
 | 
			
		||||
        pipe(diam=pipe_diameter,hight=base_length-joint_tee_size+2*assembly_offset); 
 | 
			
		||||
        }
 | 
			
		||||
        }  
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user