actualizar

This commit is contained in:
2023-08-08 14:39:58 -04:00
parent 7082967ca5
commit 5895c04b55
130 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
//modulos
use <"./component--joint--tee.scad">;
joint_tee();

View File

@@ -0,0 +1,5 @@
module joint_tee(size=60)
{
cube(size,center=true);
};
joint_tee();

View File

@@ -0,0 +1,6 @@
module pipe(diam=30, hight=500)
{
cylinder(d=diam,h=hight,center=true);
};
pipe();

View 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);

View 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);
}
}
}