new bed frame with leveling capability
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -13,3 +13,6 @@
|
||||
[submodule "electronics/runout_sensor"]
|
||||
path = electronics/runout_sensor
|
||||
url = https://gitlab.com/salfter/runout_sensor
|
||||
[submodule "bed_frame_v2/20mm-tslot"]
|
||||
path = bed_frame_v2/20mm-tslot
|
||||
url = https://gitlab.com/salfter/20mm-tslot
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
$fn=45;
|
||||
|
||||
// frame mount...print in ABS
|
||||
difference()
|
||||
{
|
||||
rotate([90,0,0])
|
||||
linear_extrude(20, convexity=10)
|
||||
polygon([[0,0],[0,20],[20,0]]);
|
||||
|
||||
translate([0,-10,10])
|
||||
rotate([0,90,0])
|
||||
cylinder(d=5.4, h=20);
|
||||
|
||||
translate([2,-10,10])
|
||||
rotate([0,90,0])
|
||||
cylinder(d=11, h=20);
|
||||
|
||||
translate([10,-10,0])
|
||||
cylinder(d=6, h=20);
|
||||
}
|
||||
|
||||
// foot for screw end...print in ABS
|
||||
translate([10,10,0])
|
||||
difference()
|
||||
{
|
||||
cylinder(d1=10, d2=8, h=5);
|
||||
translate([0,0,2])
|
||||
cylinder(d=5, h=10);
|
||||
}
|
||||
|
||||
// TODO: thumbwheel
|
||||
Binary file not shown.
1
bed_frame_v2/20mm-tslot
Submodule
1
bed_frame_v2/20mm-tslot
Submodule
Submodule bed_frame_v2/20mm-tslot added at 2fac289429
211
bed_frame_v2/bed_frame.scad
Normal file
211
bed_frame_v2/bed_frame.scad
Normal file
@@ -0,0 +1,211 @@
|
||||
$fn=45;
|
||||
|
||||
use <leveler/leveler.scad>
|
||||
|
||||
model(); // view frame within bed assembly
|
||||
//production(); // view frame halves by themselves
|
||||
|
||||
module production()
|
||||
{
|
||||
translate([0,350,0])
|
||||
bed_frame_top();
|
||||
bed_frame_bottom();
|
||||
}
|
||||
|
||||
module bed_frame_bottom()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
bed_frame_norm();
|
||||
translate([0,0,2.5])
|
||||
cube([270,315,11]);
|
||||
}
|
||||
}
|
||||
|
||||
module bed_frame_top()
|
||||
{
|
||||
translate([0,0,-2.5])
|
||||
difference()
|
||||
{
|
||||
bed_frame_norm();
|
||||
cube([270,315,2.5]);
|
||||
}
|
||||
}
|
||||
|
||||
module bed_frame_norm()
|
||||
{
|
||||
translate([-70,20,-25])
|
||||
bed_frame();
|
||||
}
|
||||
|
||||
module extrusion(h)
|
||||
{
|
||||
color("gray")
|
||||
translate([-25,30,0])
|
||||
linear_extrude(h, convexity=10)
|
||||
import("20mm-tslot/20mm-M5-W1pt6-X1.dxf");
|
||||
}
|
||||
|
||||
module z_carriage()
|
||||
{
|
||||
// extrusions
|
||||
|
||||
translate([0,0,20])
|
||||
{
|
||||
translate([25,20,0])
|
||||
rotate([-90,0,0])
|
||||
%extrusion(235);
|
||||
translate([365,20,0])
|
||||
rotate([-90,0,0])
|
||||
%extrusion(235);
|
||||
rotate([0,90,0])
|
||||
%extrusion(410);
|
||||
translate([0,255,0])
|
||||
rotate([0,90,0])
|
||||
%extrusion(410);
|
||||
}
|
||||
|
||||
// brackets
|
||||
|
||||
translate([35,10,10])
|
||||
rotate([90,0,90])
|
||||
color("red")
|
||||
%import("../frame_braces/hc300_z_carriage_t_bracket.stl");
|
||||
|
||||
translate([375,10,10])
|
||||
rotate([90,0,90])
|
||||
color("red")
|
||||
%import("../frame_braces/hc300_z_carriage_t_bracket.stl");
|
||||
|
||||
translate([35,265,10])
|
||||
rotate([90,0,-90])
|
||||
color("red")
|
||||
%import("../frame_braces/hc300_z_carriage_t_bracket.stl");
|
||||
|
||||
translate([375,265,10])
|
||||
rotate([90,0,-90])
|
||||
color("red")
|
||||
%import("../frame_braces/hc300_z_carriage_t_bracket.stl");
|
||||
|
||||
translate([90,-20,50])
|
||||
rotate([0,-90,0])
|
||||
color("red")
|
||||
%import("../z_carriage/original/HC300_Z_Carriage_Left_Make_2.stl");
|
||||
|
||||
translate([320,-20,50])
|
||||
mirror([1,0,0])
|
||||
rotate([0,-90,0])
|
||||
color("red")
|
||||
%import("../z_carriage/original/HC300_Z_Carriage_Left_Make_2.stl");
|
||||
|
||||
translate([320,295,50])
|
||||
rotate([0,-90,180])
|
||||
color("red")
|
||||
%import("../z_carriage/original/HC300_Z_Carriage_Left_Make_2.stl");
|
||||
|
||||
translate([90,295,50])
|
||||
mirror([1,0,0])
|
||||
rotate([0,-90,180])
|
||||
color("red")
|
||||
%import("../z_carriage/original/HC300_Z_Carriage_Left_Make_2.stl");
|
||||
|
||||
// levelers
|
||||
|
||||
color("red")
|
||||
translate([70,0,20])
|
||||
rotate([0,180,90])
|
||||
%frame_mount();
|
||||
|
||||
color("red")
|
||||
translate([320,0,20])
|
||||
rotate([0,180,90])
|
||||
%frame_mount();
|
||||
|
||||
color("red")
|
||||
translate([215,275,20])
|
||||
rotate([0,180,-90])
|
||||
%frame_mount();
|
||||
}
|
||||
|
||||
module screw_locations()
|
||||
{
|
||||
// screw locations
|
||||
|
||||
translate([80,-10,15])
|
||||
{
|
||||
%cylinder(d=1, h=10);
|
||||
translate([0,0,12])
|
||||
rotate([180,0,0])
|
||||
color("red")
|
||||
%screw_foot();
|
||||
}
|
||||
|
||||
translate([330,-10,15])
|
||||
{
|
||||
%cylinder(d=1, h=10);
|
||||
translate([0,0,12])
|
||||
rotate([180,0,0])
|
||||
color("red")
|
||||
%screw_foot();
|
||||
}
|
||||
|
||||
translate([205,285,15])
|
||||
{
|
||||
%cylinder(d=1, h=10);
|
||||
translate([0,0,12])
|
||||
rotate([180,0,0])
|
||||
color("red")
|
||||
%screw_foot();
|
||||
}
|
||||
}
|
||||
|
||||
module bed()
|
||||
{
|
||||
translate([55,-12.5,30])
|
||||
color("silver")
|
||||
%cube([300,300,6.35]);
|
||||
}
|
||||
|
||||
module model()
|
||||
{
|
||||
z_carriage();
|
||||
screw_locations();
|
||||
bed();
|
||||
bed_frame();
|
||||
}
|
||||
|
||||
module bed_frame()
|
||||
{
|
||||
translate([70,-20,25])
|
||||
front_edge();
|
||||
translate([320,-20,25])
|
||||
front_edge();
|
||||
translate([215,295,25])
|
||||
rotate([0,0,180])
|
||||
front_edge();
|
||||
|
||||
translate([70,20,25])
|
||||
rotate([0,0,-28])
|
||||
cube([20,273,5]);
|
||||
|
||||
translate([340,20,25])
|
||||
mirror([-1,0,0])
|
||||
rotate([0,0,-28])
|
||||
cube([20,273,5]);
|
||||
|
||||
translate([80,10,25])
|
||||
cube([250,20,5]);
|
||||
}
|
||||
|
||||
module front_edge()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
cube([20,40,5]);
|
||||
translate([10,10,0])
|
||||
cylinder(d=10.5, h=2);
|
||||
}
|
||||
translate([0,0,2])
|
||||
cube([20,7,8]);
|
||||
}
|
||||
|
||||
BIN
bed_frame_v2/bed_frame_bot_1.3mf
Normal file
BIN
bed_frame_v2/bed_frame_bot_1.3mf
Normal file
Binary file not shown.
BIN
bed_frame_v2/bed_frame_bot_2.3mf
Normal file
BIN
bed_frame_v2/bed_frame_bot_2.3mf
Normal file
Binary file not shown.
BIN
bed_frame_v2/bed_frame_bottom.stl
Normal file
BIN
bed_frame_v2/bed_frame_bottom.stl
Normal file
Binary file not shown.
BIN
bed_frame_v2/bed_frame_top.stl
Normal file
BIN
bed_frame_v2/bed_frame_top.stl
Normal file
Binary file not shown.
BIN
bed_frame_v2/bed_frame_top_1.3mf
Normal file
BIN
bed_frame_v2/bed_frame_top_1.3mf
Normal file
Binary file not shown.
BIN
bed_frame_v2/bed_frame_top_2.3mf
Normal file
BIN
bed_frame_v2/bed_frame_top_2.3mf
Normal file
Binary file not shown.
43
bed_frame_v2/leveler/leveler.scad
Normal file
43
bed_frame_v2/leveler/leveler.scad
Normal file
@@ -0,0 +1,43 @@
|
||||
$fn=45;
|
||||
|
||||
// frame mount...print in ABS
|
||||
module frame_mount()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
// main body shape
|
||||
rotate([90,0,0])
|
||||
linear_extrude(20, convexity=10)
|
||||
polygon([[0,0],[0,20],[20,0]]);
|
||||
|
||||
// hole for M5 screw
|
||||
translate([0,-10,10])
|
||||
rotate([0,90,0])
|
||||
cylinder(d=5.4, h=20);
|
||||
|
||||
// countersink for M5 screw
|
||||
translate([2,-10,10])
|
||||
rotate([0,90,0])
|
||||
cylinder(d=11, h=20);
|
||||
|
||||
// hole for M4 threaded insert (https://www.prusa3d.com/content/wysiwyg/fotky/cnc-k/heatset_inserts_all_drawing.png)
|
||||
translate([10,-10,0])
|
||||
cylinder(d=5.6, h=20);
|
||||
}
|
||||
}
|
||||
|
||||
// foot for screw end...print in ABS
|
||||
module screw_foot()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
cylinder(d1=10, d2=8, h=5);
|
||||
translate([0,0,2])
|
||||
cylinder(d=4.8, h=10);
|
||||
}
|
||||
}
|
||||
|
||||
frame_mount();
|
||||
|
||||
translate([10,10,0])
|
||||
screw_foot();
|
||||
BIN
bed_frame_v2/leveler/leveler.stl
Normal file
BIN
bed_frame_v2/leveler/leveler.stl
Normal file
Binary file not shown.
Reference in New Issue
Block a user