1
0
mirror of https://github.com/nophead/Mendel90.git synced 2025-01-16 20:38:15 +01: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:
Chris Palmer 2016-01-06 00:49:11 +00:00
parent 04029133e6
commit 805b4ea427
8 changed files with 4549 additions and 4576 deletions

View File

@ -3761,10 +3761,17 @@ solid OpenSCAD_Model
facet normal 1.15659e-005 -1 2.563e-006
outer loop
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
endloop
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
outer loop
vertex 106.939 9.53674e-007 11.1593
@ -3793,13 +3800,6 @@ solid OpenSCAD_Model
vertex 106.999 3 14.3823
endloop
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
outer loop
vertex 106.999 3 11.6177

File diff suppressed because it is too large Load Diff

View File

@ -1441,7 +1441,7 @@ solid OpenSCAD_Model
vertex 106.739 3 10.2565
endloop
endfacet
facet normal 0.953721 0 0.300692
facet normal 0.953721 -0 0.300692
outer loop
vertex 106.461 9.53673e-007 16.6254
vertex 106.739 0 15.7435
@ -1595,7 +1595,7 @@ solid OpenSCAD_Model
vertex 106.939 9.53672e-007 11.1593
endloop
endfacet
facet normal 1 -0 0
facet normal 1 0 0
outer loop
vertex 106.739 9.53672e-007 15.7435
vertex 106.739 9.53674e-007 15.7435

File diff suppressed because it is too large Load Diff

View File

@ -7,14 +7,12 @@
//
// Configuration file
//
function sqr(x) = x * x; // shortcut
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
show_jigs = true; // show printed jigs required to build the machine
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
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;
$fs = 0.5;
//
// 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;
function sqr(x) = x * x; // shortcut
cnc_tool_dia = 2.4;
layer_height = 0.4;
@ -83,7 +39,6 @@ feed_tube_tape_rad = 6.2 / 2;
feed_tube_tape = 12;
nozzle_length = 54; // how far nozzle is below top of carriage
include <colors.scad>
include <utils.scad>
include <vitamins.scad>
@ -112,6 +67,7 @@ extruder = Wades; // Default extruder
raspberry_pi = false; // Raspberry pi mounted on PSU
raspberry_pi_camera = false; // RPI camera on bar across the back
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
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
// 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_rad = 3; // corner radius
Z_clearance = 10; // How close the top of the object gets to the gantry
belt_clearance = 0.2; // clearance of belt clamp slots

View File

@ -13,24 +13,32 @@ include <../utils/teardrops.scad>
include <../utils/cables.scad>
include <../utils/shields.scad>
function round_to_layer(z) = ceil(z / layer_height) * layer_height;
module slot(h, r, l, center = true)
linear_extrude(height = h, convexity = 6, center = center)
hull() {
translate([l/2,0,0])
circle(r = r, center = true);
circle(r);
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);
cr = corrected_radius(r, n);
ir = min(cr, max_r - 2.25 * filament_width);
or = ir + 2 * filament_width;
difference() {
cylinder(r = or, h = h, $fn = n);
translate([0, 0, closed ? layer_height : -1])
cylinder(r = ir, h = h + 2, $fn = n);
difference() {
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(y = [-h/2 + r, h/2 - r])
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)
{
rotate_extrude()
union() {
square([r - r2, h]);
square([r, h - r2]);
hull() {
square([1, h]);
square([r, 1]);
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]) {
if(exploded) {
translate(v * exploded)
child();
children();
render() hull() {
sphere(0.2);
translate(v * exploded + offset)
@ -165,16 +176,5 @@ module explode(v, offset = [0,0,0]) {
}
}
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();

View File

@ -7,6 +7,50 @@
//
// 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/nuts.scad>
include <../vitamins/screws.scad>

View File

@ -100,4 +100,4 @@ if __name__ == '__main__':
stls(sys.argv[1], sys.argv[2:])
else:
print("usage: stls dibond|mendel|sturdy|your_machine [part.stl ...]")
sys.exit(1)
sys.exit(1)