mirror of
https://github.com/nophead/NopSCADlib.git
synced 2025-08-19 22:07:31 +02:00
Printed corner blocks now have a short_insert option.
This commit is contained in:
@@ -44,47 +44,49 @@ overshoot = 2; // how far screw can overshoot the insert
|
|||||||
|
|
||||||
function corner_block_screw() = def_screw; //! Default screw type
|
function corner_block_screw() = def_screw; //! Default screw type
|
||||||
|
|
||||||
function corner_block_hole_offset(screw = def_screw) = //! Hole offset from the edge
|
function corner_block_hole_offset(screw = def_screw, short_insert = false) = //! Hole offset from the edge
|
||||||
let(insert = screw_insert(screw))
|
let(insert = screw_insert(screw, short_insert))
|
||||||
insert_length(insert) + max(overshoot + screw_clearance_radius(screw), insert_hole_radius(insert)) + 1;
|
insert_length(insert) + max(overshoot + screw_clearance_radius(screw), insert_hole_radius(insert)) + 1;
|
||||||
|
|
||||||
|
function corner_block_width(screw = def_screw, short_insert = false) = //! Block width, depth and height
|
||||||
|
corner_block_hole_offset(screw, short_insert) + insert_outer_d(screw_insert(screw, short_insert)) / 2 + wall;
|
||||||
|
|
||||||
function corner_block_width(screw = def_screw) = //! Block width, depth and height
|
function corner_block_v_hole(screw = def_screw, short_insert = false) = //! Transform to bottom hole
|
||||||
corner_block_hole_offset(screw) + insert_outer_d(screw_insert(screw)) / 2 + wall;
|
let(offset = corner_block_hole_offset(screw, short_insert))
|
||||||
|
translate([offset, offset]) * rotate([180, 0, 0]);
|
||||||
|
|
||||||
function corner_block_v_hole(screw = def_screw) = let(offset = corner_block_hole_offset(screw)) translate([offset, offset]) * rotate([180, 0, 0]); //! Transform to bottom hole
|
function corner_block_h_holes(screw = def_screw, short_insert = false) = //! List of transforms to side holes
|
||||||
|
let(offset = corner_block_hole_offset(screw, short_insert))
|
||||||
function corner_block_h_holes(screw = def_screw) = //! List of transforms to side holes
|
|
||||||
let(offset = corner_block_hole_offset(screw))
|
|
||||||
[translate([offset, 0, offset]) * rotate([90, 0, 0]),
|
[translate([offset, 0, offset]) * rotate([90, 0, 0]),
|
||||||
translate([0, offset, offset - layer_height]) * rotate([90, 0, -90])];
|
translate([0, offset, offset - layer_height]) * rotate([90, 0, -90])];
|
||||||
|
|
||||||
function corner_block_holes(screw) = concat([corner_block_v_hole(screw)], corner_block_h_holes(screw)); //! List of transforms to all holes
|
function corner_block_holes(screw, short_insert = false) = //! List of transforms to all holes
|
||||||
|
concat([corner_block_v_hole(screw, short_insert)], corner_block_h_holes(screw, short_insert));
|
||||||
|
|
||||||
module corner_block_v_hole(screw = def_screw) //! Place children at the bottom screw hole
|
module corner_block_v_hole(screw = def_screw, short_insert = false) //! Place children at the bottom screw hole
|
||||||
multmatrix(corner_block_v_hole(screw))
|
multmatrix(corner_block_v_hole(screw, short_insert))
|
||||||
children();
|
children();
|
||||||
|
|
||||||
module corner_block_h_holes(screw = def_screw, index = undef) //! Place children at the side screw holes
|
module corner_block_h_holes(screw = def_screw, index = undef, short_insert = false) //! Place children at the side screw holes
|
||||||
for(p = !is_undef(index) ? [corner_block_h_holes(screw)[index]] : corner_block_h_holes(screw))
|
for(p = !is_undef(index) ? [corner_block_h_holes(screw, short_insert)[index]] : corner_block_h_holes(screw, short_insert))
|
||||||
multmatrix(p)
|
multmatrix(p)
|
||||||
children();
|
children();
|
||||||
|
|
||||||
module corner_block_holes(screw = def_screw) //! Place children at all the holes
|
module corner_block_holes(screw = def_screw, short_insert = false) //! Place children at all the holes
|
||||||
for(p = corner_block_holes(screw))
|
for(p = corner_block_holes(screw, short_insert))
|
||||||
multmatrix(p)
|
multmatrix(p)
|
||||||
children();
|
children();
|
||||||
|
|
||||||
module corner_block(screw = def_screw, name = false) { //! Generate the STL for a printed corner block
|
module corner_block(screw = def_screw, name = false, short_insert = false) { //! Generate the STL for a printed corner block
|
||||||
r = 1;
|
r = 1;
|
||||||
cb_width = corner_block_width(screw);
|
cb_width = corner_block_width(screw, short_insert);
|
||||||
cb_height = cb_width;
|
cb_height = cb_width;
|
||||||
cb_depth = cb_width;
|
cb_depth = cb_width;
|
||||||
insert = screw_insert(screw);
|
insert = screw_insert(screw, short_insert);
|
||||||
corner_rad = insert_outer_d(insert) / 2 + wall;
|
corner_rad = insert_outer_d(insert) / 2 + wall;
|
||||||
offset = corner_block_hole_offset(screw);
|
offset = corner_block_hole_offset(screw, short_insert);
|
||||||
|
|
||||||
stl(name ? name : str("corner_block", "_M", screw_radius(screw) * 20))
|
stl(name ? name : str("corner_block", "_M", screw_radius(screw) * 20, short_insert ? "_s": ""))
|
||||||
difference() {
|
difference() {
|
||||||
hull() {
|
hull() {
|
||||||
translate([r, r])
|
translate([r, r])
|
||||||
@@ -110,53 +112,54 @@ module corner_block(screw = def_screw, name = false) { //! Generate the STL for
|
|||||||
rotate([0, 90, 180])
|
rotate([0, 90, 180])
|
||||||
rounded_cylinder(r = corner_rad, h = r, r2 = r);
|
rounded_cylinder(r = corner_rad, h = r, r2 = r);
|
||||||
}
|
}
|
||||||
corner_block_v_hole(screw)
|
corner_block_v_hole(screw, short_insert)
|
||||||
insert_hole(insert, overshoot);
|
insert_hole(insert, overshoot);
|
||||||
|
|
||||||
corner_block_h_holes(screw)
|
corner_block_h_holes(screw, short_insert = short_insert)
|
||||||
insert_hole(insert, overshoot, true);
|
insert_hole(insert, overshoot, true);
|
||||||
|
|
||||||
children();
|
children();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module corner_block_assembly(screw = def_screw, name = false) //! The printed block with inserts
|
module corner_block_assembly(screw = def_screw, name = false, short_insert = false) //! The printed block with inserts
|
||||||
assembly(name ? name : str("corner_block_M", 20 * screw_radius(screw)), ngb = true) {
|
assembly(name ? name : str("corner_block_M", 20 * screw_radius(screw), short_insert ? "_s": ""), ngb = true) {
|
||||||
insert = screw_insert(screw);
|
insert = screw_insert(screw, short_insert);
|
||||||
|
|
||||||
stl_colour(name ? pp2_colour : pp1_colour)
|
stl_colour(name ? pp2_colour : pp1_colour)
|
||||||
render() corner_block(screw, name) children();
|
render() corner_block(screw, name, short_insert) children();
|
||||||
|
|
||||||
corner_block_h_holes(screw)
|
corner_block_h_holes(screw, short_insert = short_insert)
|
||||||
insert(insert);
|
insert(insert);
|
||||||
|
|
||||||
corner_block_v_hole(screw)
|
corner_block_v_hole(screw, short_insert)
|
||||||
insert(insert);
|
insert(insert);
|
||||||
}
|
}
|
||||||
|
|
||||||
module fastened_corner_block_assembly(thickness, screw = def_screw, thickness_below = undef, thickness_side2 = undef, name = false, show_block = true, star_washers = true) { //! Printed block with all fasteners
|
module fastened_corner_block_assembly(thickness, screw = def_screw, thickness_below = undef, thickness_side2 = undef, name = false, show_block = true, star_washers = true, short_insert = false) { //! Printed block with all fasteners
|
||||||
thickness2 = !is_undef(thickness_below) ? thickness_below : thickness;
|
thickness2 = !is_undef(thickness_below) ? thickness_below : thickness;
|
||||||
thickness3 = !is_undef(thickness_side2) ? thickness_side2 : thickness;
|
thickness3 = !is_undef(thickness_side2) ? thickness_side2 : thickness;
|
||||||
function screw_len(t) = screw_length(screw, t + overshoot, star_washers ? 2 : 1, true);
|
insert = screw_insert(screw, short_insert);
|
||||||
|
function screw_len(t) = screw_length(screw, t + overshoot, star_washers ? 2 : 1, insert);
|
||||||
screw_length = screw_len(thickness);
|
screw_length = screw_len(thickness);
|
||||||
screw_length2 = screw_len(thickness2);
|
screw_length2 = screw_len(thickness2);
|
||||||
screw_length3 = screw_len(thickness3);
|
screw_length3 = screw_len(thickness3);
|
||||||
|
|
||||||
if(show_block)
|
if(show_block)
|
||||||
corner_block_assembly(screw, name) children();
|
corner_block_assembly(screw, name, short_insert) children();
|
||||||
|
|
||||||
if(thickness)
|
if(thickness)
|
||||||
corner_block_h_holes(screw, 0)
|
corner_block_h_holes(screw, 0, short_insert)
|
||||||
translate_z(thickness)
|
translate_z(thickness)
|
||||||
screw_and_washer(screw, screw_length, star_washers);
|
screw_and_washer(screw, screw_length, star_washers);
|
||||||
|
|
||||||
if(thickness3)
|
if(thickness3)
|
||||||
corner_block_h_holes(screw, 1)
|
corner_block_h_holes(screw, 1, short_insert)
|
||||||
translate_z(thickness3)
|
translate_z(thickness3)
|
||||||
screw_and_washer(screw, screw_length3, star_washers);
|
screw_and_washer(screw, screw_length3, star_washers);
|
||||||
|
|
||||||
if(thickness2)
|
if(thickness2)
|
||||||
corner_block_v_hole(screw)
|
corner_block_v_hole(screw, short_insert)
|
||||||
translate_z(thickness2)
|
translate_z(thickness2)
|
||||||
screw_and_washer(screw, screw_length2, star_washers);
|
screw_and_washer(screw, screw_length2, star_washers);
|
||||||
}
|
}
|
||||||
@@ -165,6 +168,10 @@ module corner_block_M20_stl() corner_block(M2_cap_screw);
|
|||||||
module corner_block_M25_stl() corner_block(M2p5_cap_screw);
|
module corner_block_M25_stl() corner_block(M2p5_cap_screw);
|
||||||
module corner_block_M30_stl() corner_block(M3_cap_screw);
|
module corner_block_M30_stl() corner_block(M3_cap_screw);
|
||||||
module corner_block_M40_stl() corner_block(M4_cap_screw);
|
module corner_block_M40_stl() corner_block(M4_cap_screw);
|
||||||
|
module corner_block_M20_s_stl() corner_block(M2_cap_screw, short_insert = true);
|
||||||
|
module corner_block_M25_s_stl() corner_block(M2p5_cap_screw, short_insert = true);
|
||||||
|
module corner_block_M30_s_stl() corner_block(M3_cap_screw, short_insert = true);
|
||||||
|
module corner_block_M40_s_stl() corner_block(M4_cap_screw, short_insert = true);
|
||||||
//
|
//
|
||||||
//! 1. Lay the blocks out and place an M2 insert in each upward facing hole.
|
//! 1. Lay the blocks out and place an M2 insert in each upward facing hole.
|
||||||
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
@@ -197,36 +204,69 @@ module corner_block_M30_assembly() corner_block_assembly(M3_cap_screw);
|
|||||||
//
|
//
|
||||||
module corner_block_M40_assembly() corner_block_assembly(M4_cap_screw);
|
module corner_block_M40_assembly() corner_block_assembly(M4_cap_screw);
|
||||||
|
|
||||||
function 2screw_block_width(screw = def_screw) = //! 2 screw block width is narrower, height and depth are as corner_block
|
//
|
||||||
insert_outer_d(screw_insert(screw)) + 2 * wall;
|
//! 1. Lay the blocks out and place an M2 insert in each upward facing hole.
|
||||||
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
|
//! When removing the iron it helps to twist it a little anti-clockwise to release it from the thread.
|
||||||
|
//! 1. Lay the blocks on each of their other two flat sides and repeat.
|
||||||
|
//
|
||||||
|
module corner_block_M20_s_assembly() corner_block_assembly(M2_cap_screw, short_insert = true);
|
||||||
|
|
||||||
function 2screw_block_v_hole(screw = def_screw) = translate([0, corner_block_hole_offset(screw)]) * rotate([180, 0, 0]); //! Transform to bottom hole
|
//
|
||||||
function 2screw_block_h_hole(screw = def_screw) = translate([0, 0, corner_block_hole_offset(screw)]) * rotate([90, 0, 0]); //! Transform to front hole
|
//! 1. Lay the blocks out and place an M2.5 insert in each upward facing hole.
|
||||||
function 2screw_block_holes(screw) = concat([2screw_block_v_hole(screw)], [2screw_block_h_hole(screw)]); //! List of transforms to both holes
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
|
//! When removing the iron it helps to twist it a little anti-clockwise to release it from the thread.
|
||||||
|
//! 1. Lay the blocks on each of their other two flat sides and repeat.
|
||||||
|
//
|
||||||
|
module corner_block_M25_s_assembly() corner_block_assembly(M2p5_cap_screw, short_insert = true);
|
||||||
|
|
||||||
module 2screw_block_v_hole(screw = def_screw) //! Place children at the bottom screw hole
|
//
|
||||||
multmatrix(2screw_block_v_hole(screw))
|
//! 1. Lay the blocks out and place an M3 insert in each upward facing hole.
|
||||||
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
|
//! When removing the iron it helps to twist it a little anti-clockwise to release it from the thread.
|
||||||
|
//! 1. Lay the blocks on each of their other two flat sides and repeat.
|
||||||
|
//
|
||||||
|
module corner_block_M30_s_assembly() corner_block_assembly(M3_cap_screw, short_insert = true);
|
||||||
|
|
||||||
|
//
|
||||||
|
//! 1. Lay the blocks out and place an M4 insert in each upward facing hole.
|
||||||
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
|
//! When removing the iron it helps to twist it a little anti-clockwise to release it from the thread.
|
||||||
|
//! 1. Lay the blocks on each of their other two flat sides and repeat.
|
||||||
|
//
|
||||||
|
module corner_block_M40_s_assembly() corner_block_assembly(M4_cap_screw, short_insert = true);
|
||||||
|
|
||||||
|
|
||||||
|
function 2screw_block_width(screw = def_screw, short_insert = false) = //! 2 screw block width is narrower, height and depth are as corner_block
|
||||||
|
insert_outer_d(screw_insert(screw, short_insert)) + 2 * wall;
|
||||||
|
|
||||||
|
function 2screw_block_v_hole(screw = def_screw, short_insert = false) = translate([0, corner_block_hole_offset(screw, short_insert)]) * rotate([180, 0, 0]); //! Transform to bottom hole
|
||||||
|
function 2screw_block_h_hole(screw = def_screw, short_insert = false) = translate([0, 0, corner_block_hole_offset(screw, short_insert)]) * rotate([90, 0, 0]); //! Transform to front hole
|
||||||
|
function 2screw_block_holes(screw, short_insert = false) = concat([2screw_block_v_hole(screw, short_insert)], [2screw_block_h_hole(screw, short_insert)]); //! List of transforms to both holes
|
||||||
|
|
||||||
|
module 2screw_block_v_hole(screw = def_screw, short_insert = false) //! Place children at the bottom screw hole
|
||||||
|
multmatrix(2screw_block_v_hole(screw, short_insert))
|
||||||
children();
|
children();
|
||||||
|
|
||||||
module 2screw_block_h_hole(screw = def_screw) //! Place children at the front screw hole
|
module 2screw_block_h_hole(screw = def_screw, short_insert = false) //! Place children at the front screw hole
|
||||||
multmatrix(2screw_block_h_hole(screw))
|
multmatrix(2screw_block_h_hole(screw, short_insert))
|
||||||
children();
|
children();
|
||||||
|
|
||||||
module 2screw_block_holes(screw = def_screw) //! Place children at both screw holes
|
module 2screw_block_holes(screw = def_screw, short_insert = false) //! Place children at both screw holes
|
||||||
for(p = 2screw_block_holes(screw))
|
for(p = 2screw_block_holes(screw, short_insert))
|
||||||
multmatrix(p)
|
multmatrix(p)
|
||||||
children();
|
children();
|
||||||
|
|
||||||
module 2screw_block(screw = def_screw, name = false) { //! Generate the STL for a printed 2screw block
|
module 2screw_block(screw = def_screw, name = false, short_insert = false) { //! Generate the STL for a printed 2screw block
|
||||||
r = 1;
|
r = 1;
|
||||||
cb_width = 2screw_block_width(screw);
|
cb_width = 2screw_block_width(screw, short_insert);
|
||||||
cb_height = corner_block_width(screw);
|
cb_height = corner_block_width(screw, short_insert);
|
||||||
cb_depth = cb_height;
|
cb_depth = cb_height;
|
||||||
insert = screw_insert(screw);
|
insert = screw_insert(screw, short_insert);
|
||||||
corner_rad = insert_outer_d(insert) / 2 + wall;
|
corner_rad = insert_outer_d(insert) / 2 + wall;
|
||||||
offset = corner_block_hole_offset(screw);
|
offset = corner_block_hole_offset(screw, short_insert);
|
||||||
|
|
||||||
stl(name ? name : str("2screw_block", "_M", screw_radius(screw) * 20))
|
stl(name ? name : str("2screw_block", "_M", screw_radius(screw) * 20, short_insert ? "_s" : ""))
|
||||||
difference() {
|
difference() {
|
||||||
hull() {
|
hull() {
|
||||||
translate([-cb_width / 2 + r, r])
|
translate([-cb_width / 2 + r, r])
|
||||||
@@ -245,43 +285,44 @@ module 2screw_block(screw = def_screw, name = false) { //! Generate the STL for
|
|||||||
rotate([-90, 0, 180])
|
rotate([-90, 0, 180])
|
||||||
rounded_cylinder(r = corner_rad, h = r, r2 = r);
|
rounded_cylinder(r = corner_rad, h = r, r2 = r);
|
||||||
}
|
}
|
||||||
2screw_block_v_hole(screw)
|
2screw_block_v_hole(screw, short_insert)
|
||||||
insert_hole(insert, overshoot);
|
insert_hole(insert, overshoot);
|
||||||
|
|
||||||
2screw_block_h_hole(screw)
|
2screw_block_h_hole(screw, short_insert)
|
||||||
insert_hole(insert, overshoot, true);
|
insert_hole(insert, overshoot, true);
|
||||||
|
|
||||||
children();
|
children();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module 2screw_block_assembly(screw = def_screw, name = false) //! The printed block with inserts
|
module 2screw_block_assembly(screw = def_screw, name = false, short_insert = false) //! The printed block with inserts
|
||||||
assembly(name ? name : str("2screw_block_M", 20 * screw_radius(screw)), ngb = true) {
|
assembly(name ? name : str("2screw_block_M", 20 * screw_radius(screw), short_insert ? "_s" :""), ngb = true) {
|
||||||
insert = screw_insert(screw);
|
insert = screw_insert(screw, short_insert);
|
||||||
|
|
||||||
stl_colour(name ? pp2_colour : pp1_colour)
|
stl_colour(name ? pp2_colour : pp1_colour)
|
||||||
render() 2screw_block(screw, name) children();
|
render() 2screw_block(screw, name, short_insert) children();
|
||||||
|
|
||||||
2screw_block_holes(screw)
|
2screw_block_holes(screw, short_insert)
|
||||||
insert(insert);
|
insert(insert);
|
||||||
}
|
}
|
||||||
|
|
||||||
module fastened_2screw_block_assembly(thickness, screw = def_screw, thickness_below = undef, name = false, show_block = true, star_washers = true) { //! Printed block with fasteners
|
module fastened_2screw_block_assembly(thickness, screw = def_screw, thickness_below = undef, name = false, show_block = true, star_washers = true, short_insert = false) { //! Printed block with fasteners
|
||||||
thickness2 = !is_undef(thickness_below) ? thickness_below : thickness;
|
thickness2 = !is_undef(thickness_below) ? thickness_below : thickness;
|
||||||
function screw_len(t) = screw_length(screw, t + overshoot, star_washers ? 2 : 1, true);
|
insert = screw_insert(screw, short_insert);
|
||||||
|
function screw_len(t) = screw_length(screw, t + overshoot, star_washers ? 2 : 1, insert);
|
||||||
screw_length = screw_len(thickness);
|
screw_length = screw_len(thickness);
|
||||||
screw_length2 = screw_len(thickness2);
|
screw_length2 = screw_len(thickness2);
|
||||||
|
|
||||||
if(show_block)
|
if(show_block)
|
||||||
2screw_block_assembly(screw, name) children();
|
2screw_block_assembly(screw, name, short_insert) children();
|
||||||
|
|
||||||
if(thickness)
|
if(thickness)
|
||||||
2screw_block_h_hole(screw)
|
2screw_block_h_hole(screw, short_insert)
|
||||||
translate_z(thickness)
|
translate_z(thickness)
|
||||||
screw_and_washer(screw, screw_length, star_washers);
|
screw_and_washer(screw, screw_length, star_washers);
|
||||||
|
|
||||||
if(thickness2)
|
if(thickness2)
|
||||||
2screw_block_v_hole(screw)
|
2screw_block_v_hole(screw, short_insert)
|
||||||
translate_z(thickness2)
|
translate_z(thickness2)
|
||||||
screw_and_washer(screw, screw_length2, star_washers);
|
screw_and_washer(screw, screw_length2, star_washers);
|
||||||
}
|
}
|
||||||
@@ -289,6 +330,11 @@ module 2screw_block_M20_stl() 2screw_block(M2_cap_screw);
|
|||||||
module 2screw_block_M25_stl() 2screw_block(M2p5_cap_screw);
|
module 2screw_block_M25_stl() 2screw_block(M2p5_cap_screw);
|
||||||
module 2screw_block_M30_stl() 2screw_block(M3_cap_screw);
|
module 2screw_block_M30_stl() 2screw_block(M3_cap_screw);
|
||||||
module 2screw_block_M40_stl() 2screw_block(M4_cap_screw);
|
module 2screw_block_M40_stl() 2screw_block(M4_cap_screw);
|
||||||
|
|
||||||
|
module 2screw_block_M20_s_stl() 2screw_block(M2_cap_screw, short_insert = true);
|
||||||
|
module 2screw_block_M25_s_stl() 2screw_block(M2p5_cap_screw, short_insert = true);
|
||||||
|
module 2screw_block_M30_s_stl() 2screw_block(M3_cap_screw, short_insert = true);
|
||||||
|
module 2screw_block_M40_s_stl() 2screw_block(M4_cap_screw, short_insert = true);
|
||||||
//
|
//
|
||||||
//! 1. Lay the blocks out and place an M2 insert in the forward facing hole.
|
//! 1. Lay the blocks out and place an M2 insert in the forward facing hole.
|
||||||
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
@@ -297,6 +343,14 @@ module 2screw_block_M40_stl() 2screw_block(M4_cap_screw);
|
|||||||
//
|
//
|
||||||
module 2screw_block_M20_assembly() 2screw_block_assembly(M2_cap_screw);
|
module 2screw_block_M20_assembly() 2screw_block_assembly(M2_cap_screw);
|
||||||
|
|
||||||
|
//
|
||||||
|
//! 1. Lay the blocks out and place an M2 insert in the forward facing hole.
|
||||||
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
|
//! When removing the iron it helps to twist it a little anti-clockwise to release it from the thread.
|
||||||
|
//! 1. Lay the blocks on each of their other flat side and repeat.
|
||||||
|
//
|
||||||
|
module 2screw_block_M20_s_assembly() 2screw_block_assembly(M2_cap_screw, short_insert = true);
|
||||||
|
|
||||||
//
|
//
|
||||||
//! 1. Lay the blocks out and place an M2.5 insert in the forward facing hole.
|
//! 1. Lay the blocks out and place an M2.5 insert in the forward facing hole.
|
||||||
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
@@ -305,6 +359,14 @@ module 2screw_block_M20_assembly() 2screw_block_assembly(M2_cap_screw);
|
|||||||
//
|
//
|
||||||
module 2screw_block_M25_assembly() 2screw_block_assembly(M2p5_cap_screw);
|
module 2screw_block_M25_assembly() 2screw_block_assembly(M2p5_cap_screw);
|
||||||
|
|
||||||
|
//
|
||||||
|
//! 1. Lay the blocks out and place an M2.5 insert in the forward facing hole.
|
||||||
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
|
//! When removing the iron it helps to twist it a little anti-clockwise to release it from the thread.
|
||||||
|
//! 1. Lay the blocks on each of their other flat side and repeat.
|
||||||
|
//
|
||||||
|
module 2screw_block_M25_s_assembly() 2screw_block_assembly(M2p5_cap_screw, short_insert = true);
|
||||||
|
|
||||||
//
|
//
|
||||||
//! 1. Lay the blocks out and place an M3 insert in the forward facing hole.
|
//! 1. Lay the blocks out and place an M3 insert in the forward facing hole.
|
||||||
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
@@ -313,6 +375,14 @@ module 2screw_block_M25_assembly() 2screw_block_assembly(M2p5_cap_screw);
|
|||||||
//
|
//
|
||||||
module 2screw_block_M30_assembly() 2screw_block_assembly(M3_cap_screw);
|
module 2screw_block_M30_assembly() 2screw_block_assembly(M3_cap_screw);
|
||||||
|
|
||||||
|
//
|
||||||
|
//! 1. Lay the blocks out and place an M3 insert in the forward facing hole.
|
||||||
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
|
//! When removing the iron it helps to twist it a little anti-clockwise to release it from the thread.
|
||||||
|
//! 1. Lay the blocks on each of their other flat side and repeat.
|
||||||
|
//
|
||||||
|
module 2screw_block_M30_s_assembly() 2screw_block_assembly(M3_cap_screw, short_insert = true);
|
||||||
|
|
||||||
//
|
//
|
||||||
//! 1. Lay the blocks out and place an M4 insert in the forward facing hole.
|
//! 1. Lay the blocks out and place an M4 insert in the forward facing hole.
|
||||||
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
@@ -320,3 +390,11 @@ module 2screw_block_M30_assembly() 2screw_block_assembly(M3_cap_screw);
|
|||||||
//! 1. Lay the blocks on each of their other flat side and repeat.
|
//! 1. Lay the blocks on each of their other flat side and repeat.
|
||||||
//
|
//
|
||||||
module 2screw_block_M40_assembly() 2screw_block_assembly(M4_cap_screw);
|
module 2screw_block_M40_assembly() 2screw_block_assembly(M4_cap_screw);
|
||||||
|
|
||||||
|
//
|
||||||
|
//! 1. Lay the blocks out and place an M4 insert in the forward facing hole.
|
||||||
|
//! 1. Push them home with a soldering iron with a conical bit heated to 200°C.
|
||||||
|
//! When removing the iron it helps to twist it a little anti-clockwise to release it from the thread.
|
||||||
|
//! 1. Lay the blocks on each of their other flat side and repeat.
|
||||||
|
//
|
||||||
|
module 2screw_block_M40_s_assembly() 2screw_block_assembly(M4_cap_screw, short_insert = true);
|
||||||
|
42
readme.md
42
readme.md
@@ -4934,32 +4934,32 @@ high lateral rigidity is not required.
|
|||||||
### Functions
|
### Functions
|
||||||
| Function | Description |
|
| Function | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
| `2screw_block_h_hole(screw = def_screw)` | Transform to front hole |
|
| `2screw_block_h_hole(screw = def_screw, short_insert = false)` | Transform to front hole |
|
||||||
| `2screw_block_holes(screw)` | List of transforms to both holes |
|
| `2screw_block_holes(screw, short_insert = false)` | List of transforms to both holes |
|
||||||
| `2screw_block_v_hole(screw = def_screw)` | Transform to bottom hole |
|
| `2screw_block_v_hole(screw = def_screw, short_insert = false)` | Transform to bottom hole |
|
||||||
| `2screw_block_width(screw = def_screw)` | 2 screw block width is narrower, height and depth are as corner_block |
|
| `2screw_block_width(screw = def_screw, short_insert = false)` | 2 screw block width is narrower, height and depth are as corner_block |
|
||||||
| `corner_block_h_holes(screw = def_screw)` | List of transforms to side holes |
|
| `corner_block_h_holes(screw = def_screw, short_insert = false)` | List of transforms to side holes |
|
||||||
| `corner_block_hole_offset(screw = def_screw)` | Hole offset from the edge |
|
| `corner_block_hole_offset(screw = def_screw, short_insert = false)` | Hole offset from the edge |
|
||||||
| `corner_block_holes(screw)` | List of transforms to all holes |
|
| `corner_block_holes(screw, short_insert = false)` | List of transforms to all holes |
|
||||||
| `corner_block_screw()` | Default screw type |
|
| `corner_block_screw()` | Default screw type |
|
||||||
| `corner_block_v_hole(screw = def_screw)` | Transform to bottom hole |
|
| `corner_block_v_hole(screw = def_screw, short_insert = false)` | Transform to bottom hole |
|
||||||
| `corner_block_width(screw = def_screw)` | Block width, depth and height |
|
| `corner_block_width(screw = def_screw, short_insert = false)` | Block width, depth and height |
|
||||||
|
|
||||||
### Modules
|
### Modules
|
||||||
| Module | Description |
|
| Module | Description |
|
||||||
|:--- |:--- |
|
|:--- |:--- |
|
||||||
| `2screw_block(screw = def_screw, name = false)` | Generate the STL for a printed 2screw block |
|
| `2screw_block(screw = def_screw, name = false, short_insert = false)` | Generate the STL for a printed 2screw block |
|
||||||
| `2screw_block_assembly(screw = def_screw, name = false)` | The printed block with inserts |
|
| `2screw_block_assembly(screw = def_screw, name = false, short_insert = false)` | The printed block with inserts |
|
||||||
| `2screw_block_h_hole(screw = def_screw)` | Place children at the front screw hole |
|
| `2screw_block_h_hole(screw = def_screw, short_insert = false)` | Place children at the front screw hole |
|
||||||
| `2screw_block_holes(screw = def_screw)` | Place children at both screw holes |
|
| `2screw_block_holes(screw = def_screw, short_insert = false)` | Place children at both screw holes |
|
||||||
| `2screw_block_v_hole(screw = def_screw)` | Place children at the bottom screw hole |
|
| `2screw_block_v_hole(screw = def_screw, short_insert = false)` | Place children at the bottom screw hole |
|
||||||
| `corner_block(screw = def_screw, name = false)` | Generate the STL for a printed corner block |
|
| `corner_block(screw = def_screw, name = false, short_insert = false)` | Generate the STL for a printed corner block |
|
||||||
| `corner_block_assembly(screw = def_screw, name = false)` | The printed block with inserts |
|
| `corner_block_assembly(screw = def_screw, name = false, short_insert = false)` | The printed block with inserts |
|
||||||
| `corner_block_h_holes(screw = def_screw, index = undef)` | Place children at the side screw holes |
|
| `corner_block_h_holes(screw = def_screw, index = undef, short_insert = false)` | Place children at the side screw holes |
|
||||||
| `corner_block_holes(screw = def_screw)` | Place children at all the holes |
|
| `corner_block_holes(screw = def_screw, short_insert = false)` | Place children at all the holes |
|
||||||
| `corner_block_v_hole(screw = def_screw)` | Place children at the bottom screw hole |
|
| `corner_block_v_hole(screw = def_screw, short_insert = false)` | Place children at the bottom screw hole |
|
||||||
| `fastened_2screw_block_assembly(thickness, screw = def_screw, thickness_below = undef, name = false, show_block = true, star_washers = true)` | Printed block with fasteners |
|
| `fastened_2screw_block_assembly(thickness, screw = def_screw, thickness_below = undef, name = false, show_block = true, star_washers = true, short_insert = false)` | Printed block with fasteners |
|
||||||
| `fastened_corner_block_assembly(thickness, screw = def_screw, thickness_below = undef, thickness_side2 = undef, name = false, show_block = true, star_washers = true)` | Printed block with all fasteners |
|
| `fastened_corner_block_assembly(thickness, screw = def_screw, thickness_below = undef, thickness_side2 = undef, name = false, show_block = true, star_washers = true, short_insert = false)` | Printed block with all fasteners |
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
Reference in New Issue
Block a user