mirror of
https://github.com/nophead/Mendel90.git
synced 2025-08-06 05:17:26 +02:00
Added vero_bed config option for huxley.
Moved screw sizes to vitamins.scad so it can be used stand alone. Added capped option to hole_support. Fixed bug in rounded_cylinder().
This commit is contained in:
@@ -3761,10 +3761,17 @@ solid OpenSCAD_Model
|
|||||||
facet normal 1.15659e-005 -1 2.563e-006
|
facet normal 1.15659e-005 -1 2.563e-006
|
||||||
outer loop
|
outer loop
|
||||||
vertex 106.939 9.53672e-007 14.8407
|
vertex 106.939 9.53672e-007 14.8407
|
||||||
vertex 107.06 1.4732e-012 13.9238
|
vertex 107.06 0 13.9238
|
||||||
vertex 106.939 9.53674e-007 14.8407
|
vertex 106.939 9.53674e-007 14.8407
|
||||||
endloop
|
endloop
|
||||||
endfacet
|
endfacet
|
||||||
|
facet normal 3.98948e-006 1 -5.14922e-007
|
||||||
|
outer loop
|
||||||
|
vertex 106.939 9.53672e-007 14.8407
|
||||||
|
vertex 107.06 1.4732e-012 13.9238
|
||||||
|
vertex 107.06 0 13.9238
|
||||||
|
endloop
|
||||||
|
endfacet
|
||||||
facet normal 0.991443 0 -0.130537
|
facet normal 0.991443 0 -0.130537
|
||||||
outer loop
|
outer loop
|
||||||
vertex 106.939 9.53674e-007 11.1593
|
vertex 106.939 9.53674e-007 11.1593
|
||||||
@@ -3793,13 +3800,6 @@ solid OpenSCAD_Model
|
|||||||
vertex 106.999 3 14.3823
|
vertex 106.999 3 14.3823
|
||||||
endloop
|
endloop
|
||||||
endfacet
|
endfacet
|
||||||
facet normal 3.9895e-006 1 -5.14922e-007
|
|
||||||
outer loop
|
|
||||||
vertex 106.939 9.53674e-007 14.8407
|
|
||||||
vertex 107.06 1.4732e-012 13.9238
|
|
||||||
vertex 107.06 0 13.9238
|
|
||||||
endloop
|
|
||||||
endfacet
|
|
||||||
facet normal 0.991443 0 -0.130537
|
facet normal 0.991443 0 -0.130537
|
||||||
outer loop
|
outer loop
|
||||||
vertex 106.999 3 11.6177
|
vertex 106.999 3 11.6177
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -1441,7 +1441,7 @@ solid OpenSCAD_Model
|
|||||||
vertex 106.739 3 10.2565
|
vertex 106.739 3 10.2565
|
||||||
endloop
|
endloop
|
||||||
endfacet
|
endfacet
|
||||||
facet normal 0.953721 0 0.300692
|
facet normal 0.953721 -0 0.300692
|
||||||
outer loop
|
outer loop
|
||||||
vertex 106.461 9.53673e-007 16.6254
|
vertex 106.461 9.53673e-007 16.6254
|
||||||
vertex 106.739 0 15.7435
|
vertex 106.739 0 15.7435
|
||||||
@@ -1595,7 +1595,7 @@ solid OpenSCAD_Model
|
|||||||
vertex 106.939 9.53672e-007 11.1593
|
vertex 106.939 9.53672e-007 11.1593
|
||||||
endloop
|
endloop
|
||||||
endfacet
|
endfacet
|
||||||
facet normal 1 -0 0
|
facet normal 1 0 0
|
||||||
outer loop
|
outer loop
|
||||||
vertex 106.739 9.53672e-007 15.7435
|
vertex 106.739 9.53672e-007 15.7435
|
||||||
vertex 106.739 9.53674e-007 15.7435
|
vertex 106.739 9.53674e-007 15.7435
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -7,14 +7,12 @@
|
|||||||
//
|
//
|
||||||
// Configuration file
|
// Configuration file
|
||||||
//
|
//
|
||||||
|
|
||||||
function sqr(x) = x * x; // shortcut
|
|
||||||
|
|
||||||
bom = $bom == undef ? 0: $bom; // 0 no bom, 1 assemblies and stls, 2 vitamins as well
|
bom = $bom == undef ? 0: $bom; // 0 no bom, 1 assemblies and stls, 2 vitamins as well
|
||||||
exploded = $exploded == undef ? 0 : $exploded; // 1 for exploded view
|
exploded = $exploded == undef ? 0 : $exploded; // 1 for exploded view
|
||||||
|
|
||||||
show_jigs = true; // show printed jigs required to build the machine
|
show_jigs = true; // show printed jigs required to build the machine
|
||||||
show_support = true; // show support structures, must be set when generating STLs
|
show_support = true; // show support structures, must be set when generating STLs
|
||||||
|
show_rays = false; // show light and camera rays to check orientation is correct
|
||||||
|
|
||||||
// Real-world colors for various parts & vitamins
|
// Real-world colors for various parts & vitamins
|
||||||
use_realistic_colors = false; // true for "real" colors, false for "distinct" colors (useful during design and for build instructions)
|
use_realistic_colors = false; // true for "real" colors, false for "distinct" colors (useful during design and for build instructions)
|
||||||
@@ -27,49 +25,7 @@ eta = 0.01; // small fudge factor to stop CSG barfing on coi
|
|||||||
$fa = 5;
|
$fa = 5;
|
||||||
$fs = 0.5;
|
$fs = 0.5;
|
||||||
|
|
||||||
//
|
function sqr(x) = x * x; // shortcut
|
||||||
// Hole sizes
|
|
||||||
//
|
|
||||||
No2_pilot_radius = 1.7 / 2; // self tapper into ABS
|
|
||||||
No4_pilot_radius = 2.0 / 2; // wood screw into soft wood
|
|
||||||
No6_pilot_radius = 2.0 / 2; // wood screw into soft wood
|
|
||||||
|
|
||||||
No2_clearance_radius = 2.5 / 2;
|
|
||||||
No4_clearance_radius = 3.5 / 2;
|
|
||||||
No6_clearance_radius = 4.0 / 2;
|
|
||||||
|
|
||||||
M2_tap_radius = 1.6 / 2;
|
|
||||||
M2_clearance_radius = 2.4 / 2;
|
|
||||||
M2_nut_trap_depth = 2.5;
|
|
||||||
|
|
||||||
M2p5_tap_radius = 2.05 / 2;
|
|
||||||
M2p5_clearance_radius= 2.8 / 2; // M2.5
|
|
||||||
M2p5_nut_trap_depth = 2.5;
|
|
||||||
|
|
||||||
M3_tap_radius = 2.5 / 2;
|
|
||||||
M3_clearance_radius = 3.3 / 2;
|
|
||||||
M3_nut_radius = 6.5 / 2;
|
|
||||||
M3_nut_trap_depth = 3;
|
|
||||||
|
|
||||||
M4_tap_radius = 3.3 / 2;
|
|
||||||
M4_clearance_radius = 2.2;
|
|
||||||
M4_nut_radius = 8.2 / 2;
|
|
||||||
M4_nut_trap_depth = 4;
|
|
||||||
|
|
||||||
M5_tap_radius = 4.2 / 2;
|
|
||||||
M5_clearance_radius = 5.3 / 2;
|
|
||||||
M5_nut_radius = 9.2 / 2;
|
|
||||||
M5_nut_depth = 4;
|
|
||||||
|
|
||||||
M6_tap_radius = 5 / 2;
|
|
||||||
M6_clearance_radius = 6.4 / 2;
|
|
||||||
M6_nut_radius = 11.6 / 2;
|
|
||||||
M6_nut_depth = 5;
|
|
||||||
|
|
||||||
M8_tap_radius = 6.75 / 2;
|
|
||||||
M8_clearance_radius = 8.4 / 2;
|
|
||||||
M8_nut_radius = 15.4 / 2;
|
|
||||||
M8_nut_depth = 6.5;
|
|
||||||
|
|
||||||
cnc_tool_dia = 2.4;
|
cnc_tool_dia = 2.4;
|
||||||
layer_height = 0.4;
|
layer_height = 0.4;
|
||||||
@@ -83,7 +39,6 @@ feed_tube_tape_rad = 6.2 / 2;
|
|||||||
feed_tube_tape = 12;
|
feed_tube_tape = 12;
|
||||||
nozzle_length = 54; // how far nozzle is below top of carriage
|
nozzle_length = 54; // how far nozzle is below top of carriage
|
||||||
|
|
||||||
|
|
||||||
include <colors.scad>
|
include <colors.scad>
|
||||||
include <utils.scad>
|
include <utils.scad>
|
||||||
include <vitamins.scad>
|
include <vitamins.scad>
|
||||||
@@ -112,6 +67,7 @@ extruder = Wades; // Default extruder
|
|||||||
raspberry_pi = false; // Raspberry pi mounted on PSU
|
raspberry_pi = false; // Raspberry pi mounted on PSU
|
||||||
raspberry_pi_camera = false; // RPI camera on bar across the back
|
raspberry_pi_camera = false; // RPI camera on bar across the back
|
||||||
light_strip = false;
|
light_strip = false;
|
||||||
|
vero_bed = false; // Bed made from vero board rather than custom PCB.
|
||||||
include <machine.scad> // this file is generated from the command line parameter to include one of the machine configs
|
include <machine.scad> // this file is generated from the command line parameter to include one of the machine configs
|
||||||
|
|
||||||
screw_clearance_radius = screw_clearance_radius(cap_screw);
|
screw_clearance_radius = screw_clearance_radius(cap_screw);
|
||||||
@@ -130,6 +86,7 @@ limit_switch_offset = 1; // the over travel to reach the limit sw
|
|||||||
X_carriage_clearance = 2; // how close the X carriage is to the XZ plane
|
X_carriage_clearance = 2; // how close the X carriage is to the XZ plane
|
||||||
// how close the Y carriage is to the window in the XZ plane
|
// how close the Y carriage is to the window in the XZ plane
|
||||||
Y_carriage_clearance = 2 + (clip_handles ? (bulldog_handle_length(small_bulldog) - (Y_carriage_width - bed_width) / 2) : 0);
|
Y_carriage_clearance = 2 + (clip_handles ? (bulldog_handle_length(small_bulldog) - (Y_carriage_width - bed_width) / 2) : 0);
|
||||||
|
Y_carriage_rad = 3; // corner radius
|
||||||
Z_clearance = 10; // How close the top of the object gets to the gantry
|
Z_clearance = 10; // How close the top of the object gets to the gantry
|
||||||
belt_clearance = 0.2; // clearance of belt clamp slots
|
belt_clearance = 0.2; // clearance of belt clamp slots
|
||||||
|
|
||||||
|
@@ -13,24 +13,32 @@ include <../utils/teardrops.scad>
|
|||||||
include <../utils/cables.scad>
|
include <../utils/cables.scad>
|
||||||
include <../utils/shields.scad>
|
include <../utils/shields.scad>
|
||||||
|
|
||||||
|
function round_to_layer(z) = ceil(z / layer_height) * layer_height;
|
||||||
|
|
||||||
module slot(h, r, l, center = true)
|
module slot(h, r, l, center = true)
|
||||||
linear_extrude(height = h, convexity = 6, center = center)
|
linear_extrude(height = h, convexity = 6, center = center)
|
||||||
hull() {
|
hull() {
|
||||||
translate([l/2,0,0])
|
translate([l/2,0,0])
|
||||||
circle(r = r, center = true);
|
circle(r);
|
||||||
translate([-l/2,0,0])
|
translate([-l/2,0,0])
|
||||||
circle(r = r, center = true);
|
circle(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
module hole_support(r, h, max_r = 999, closed = false) {
|
module hole_support(r, h, max_r = 999, closed = false, capped = false) {
|
||||||
n = sides(r);
|
n = sides(r);
|
||||||
cr = corrected_radius(r, n);
|
cr = corrected_radius(r, n);
|
||||||
ir = min(cr, max_r - 2.25 * filament_width);
|
ir = min(cr, max_r - 2.25 * filament_width);
|
||||||
or = ir + 2 * filament_width;
|
or = ir + 2 * filament_width;
|
||||||
difference() {
|
difference() {
|
||||||
cylinder(r = or, h = h, $fn = n);
|
cylinder(r = or, h = h, $fn = n);
|
||||||
translate([0, 0, closed ? layer_height : -1])
|
difference() {
|
||||||
cylinder(r = ir, h = h + 2, $fn = n);
|
translate([0, 0, closed ? layer_height : -1])
|
||||||
|
cylinder(r = ir, h = h + 2, $fn = n);
|
||||||
|
|
||||||
|
if(capped)
|
||||||
|
translate([0, 0, h - 4 * layer_height])
|
||||||
|
cylinder(r = or, h = 3 * layer_height + eta);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,7 +113,7 @@ module rounded_square(w, h, r)
|
|||||||
for(x = [-w/2 + r, w/2 - r])
|
for(x = [-w/2 + r, w/2 - r])
|
||||||
for(y = [-h/2 + r, h/2 - r])
|
for(y = [-h/2 + r, h/2 - r])
|
||||||
translate([x, y])
|
translate([x, y])
|
||||||
circle(r = r);
|
circle(r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,11 +131,14 @@ module rounded_rectangle(size, r, center = true)
|
|||||||
module rounded_cylinder(r, h, r2)
|
module rounded_cylinder(r, h, r2)
|
||||||
{
|
{
|
||||||
rotate_extrude()
|
rotate_extrude()
|
||||||
union() {
|
hull() {
|
||||||
square([r - r2, h]);
|
square([1, h]);
|
||||||
square([r, h - r2]);
|
square([r, 1]);
|
||||||
translate([r - r2, h - r2])
|
translate([r - r2, h - r2])
|
||||||
circle(r = r2);
|
intersection() {
|
||||||
|
circle(r2);
|
||||||
|
square(r2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +168,7 @@ module tube(or, ir, h, center = true) {
|
|||||||
module explode(v, offset = [0,0,0]) {
|
module explode(v, offset = [0,0,0]) {
|
||||||
if(exploded) {
|
if(exploded) {
|
||||||
translate(v * exploded)
|
translate(v * exploded)
|
||||||
child();
|
children();
|
||||||
render() hull() {
|
render() hull() {
|
||||||
sphere(0.2);
|
sphere(0.2);
|
||||||
translate(v * exploded + offset)
|
translate(v * exploded + offset)
|
||||||
@@ -165,16 +176,5 @@ module explode(v, offset = [0,0,0]) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
child();
|
children();
|
||||||
}
|
}
|
||||||
//
|
|
||||||
// Restore the view point
|
|
||||||
//
|
|
||||||
module view(t,r,d = 1000)
|
|
||||||
rotate([55, 0, 25])
|
|
||||||
translate([0, 0, -d + 500])
|
|
||||||
rotate([-r[0], 0, 0])
|
|
||||||
rotate([0, -r[1], 0])
|
|
||||||
rotate([0, 0, -r[2]])
|
|
||||||
translate(-t)
|
|
||||||
child();
|
|
||||||
|
@@ -7,6 +7,50 @@
|
|||||||
//
|
//
|
||||||
// Off the shelf parts
|
// Off the shelf parts
|
||||||
//
|
//
|
||||||
|
//
|
||||||
|
// Hole sizes
|
||||||
|
//
|
||||||
|
No2_pilot_radius = 1.7 / 2; // self tapper into ABS
|
||||||
|
No4_pilot_radius = 2.0 / 2; // wood screw into soft wood
|
||||||
|
No6_pilot_radius = 2.0 / 2; // wood screw into soft wood
|
||||||
|
|
||||||
|
No2_clearance_radius = 2.5 / 2;
|
||||||
|
No4_clearance_radius = 3.5 / 2;
|
||||||
|
No6_clearance_radius = 4.0 / 2;
|
||||||
|
|
||||||
|
M2_tap_radius = 1.6 / 2;
|
||||||
|
M2_clearance_radius = 2.4 / 2;
|
||||||
|
M2_nut_trap_depth = 2.5;
|
||||||
|
|
||||||
|
M2p5_tap_radius = 2.05 / 2;
|
||||||
|
M2p5_clearance_radius= 2.8 / 2; // M2.5
|
||||||
|
M2p5_nut_trap_depth = 2.5;
|
||||||
|
|
||||||
|
M3_tap_radius = 2.5 / 2;
|
||||||
|
M3_clearance_radius = 3.3 / 2;
|
||||||
|
M3_nut_radius = 6.5 / 2;
|
||||||
|
M3_nut_trap_depth = 3;
|
||||||
|
|
||||||
|
M4_tap_radius = 3.3 / 2;
|
||||||
|
M4_clearance_radius = 2.2;
|
||||||
|
M4_nut_radius = 8.2 / 2;
|
||||||
|
M4_nut_trap_depth = 4;
|
||||||
|
|
||||||
|
M5_tap_radius = 4.2 / 2;
|
||||||
|
M5_clearance_radius = 5.3 / 2;
|
||||||
|
M5_nut_radius = 9.2 / 2;
|
||||||
|
M5_nut_depth = 4;
|
||||||
|
|
||||||
|
M6_tap_radius = 5 / 2;
|
||||||
|
M6_clearance_radius = 6.4 / 2;
|
||||||
|
M6_nut_radius = 11.6 / 2;
|
||||||
|
M6_nut_depth = 5;
|
||||||
|
|
||||||
|
M8_tap_radius = 6.75 / 2;
|
||||||
|
M8_clearance_radius = 8.4 / 2;
|
||||||
|
M8_nut_radius = 15.4 / 2;
|
||||||
|
M8_nut_depth = 6.5;
|
||||||
|
|
||||||
include <../vitamins/washers.scad>
|
include <../vitamins/washers.scad>
|
||||||
include <../vitamins/nuts.scad>
|
include <../vitamins/nuts.scad>
|
||||||
include <../vitamins/screws.scad>
|
include <../vitamins/screws.scad>
|
||||||
|
2
stls.py
2
stls.py
@@ -100,4 +100,4 @@ if __name__ == '__main__':
|
|||||||
stls(sys.argv[1], sys.argv[2:])
|
stls(sys.argv[1], sys.argv[2:])
|
||||||
else:
|
else:
|
||||||
print("usage: stls dibond|mendel|sturdy|your_machine [part.stl ...]")
|
print("usage: stls dibond|mendel|sturdy|your_machine [part.stl ...]")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
Reference in New Issue
Block a user