mirror of
https://github.com/DJSundog/NopSCADlib.git
synced 2025-01-11 10:12:43 -05:00
Added kp_pillow_blocks.
This commit is contained in:
parent
8649d59e8a
commit
f961874ce3
34
tests/kp_pillow_blocks.scad
Normal file
34
tests/kp_pillow_blocks.scad
Normal file
@ -0,0 +1,34 @@
|
||||
//
|
||||
// NopSCADlib Copyright Chris Palmer 2018
|
||||
// nop.head@gmail.com
|
||||
// hydraraptor.blogspot.com
|
||||
//
|
||||
// This file is part of NopSCADlib.
|
||||
//
|
||||
// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the
|
||||
// GNU General Public License as published by the Free Software Foundation, either version 3 of
|
||||
// the License, or (at your option) any later version.
|
||||
//
|
||||
// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along with NopSCADlib.
|
||||
// If not, see <https://www.gnu.org/licenses/>.
|
||||
//
|
||||
include <../core.scad>
|
||||
use <../utils/layout.scad>
|
||||
|
||||
include <../vitamins/kp_pillow_blocks.scad>
|
||||
include <../vitamins/nuts.scad>
|
||||
|
||||
module kp_pillow_blocks() {
|
||||
screws = [M4_cap_screw, M5_cap_screw, M5_cap_screw];
|
||||
nuts = [M4_sliding_t_nut, M5_sliding_t_nut, M5_nut];
|
||||
layout([for(k = kp_pillow_blocks) 2 * kp_size(k)[1]])
|
||||
kp_pillow_block_assembly(kp_pillow_blocks[$i], screw_type = screws[$i], nut_type = nuts[$i]);
|
||||
}
|
||||
|
||||
if($preview)
|
||||
kp_pillow_blocks();
|
||||
|
@ -18,7 +18,9 @@
|
||||
//
|
||||
BB624 = ["624", 4, 13, 5, "blue"]; // 624 ball bearing for idlers
|
||||
BB608 = ["608", 8, 22, 7, "OrangeRed"]; // 608 bearings for wades
|
||||
BB6200 = ["6200", 10, 30, 9, "black"]; // 6200 bearings for KP pillow blocks
|
||||
BB6201 = ["6201", 12, 32, 10, "black"]; // 6201 bearings for KP pillow blocks
|
||||
|
||||
ball_bearings = [BB624, BB608];
|
||||
ball_bearings = [BB624, BB608, BB6200, BB6201];
|
||||
|
||||
use <ball_bearing.scad>
|
||||
|
117
vitamins/kp_pillow_block.scad
Normal file
117
vitamins/kp_pillow_block.scad
Normal file
@ -0,0 +1,117 @@
|
||||
//
|
||||
// NopSCADlib Copyright Chris Palmer 2018
|
||||
// nop.head@gmail.com
|
||||
// hydraraptor.blogspot.com
|
||||
//
|
||||
// This file is part of NopSCADlib.
|
||||
//
|
||||
// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the
|
||||
// GNU General Public License as published by the Free Software Foundation, either version 3 of
|
||||
// the License, or (at your option) any later version.
|
||||
//
|
||||
// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along with NopSCADlib.
|
||||
// If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
//
|
||||
//! KP pillow block bearings
|
||||
//
|
||||
include <../core.scad>
|
||||
use <../utils/tube.scad>
|
||||
|
||||
include <screws.scad>
|
||||
use <washer.scad>
|
||||
use <ball_bearing.scad>
|
||||
|
||||
kp_pillow_block_color = grey70;
|
||||
|
||||
function kp_diameter(type) = type[1]; //! Rod hole diameter
|
||||
function kp_hole_offset(type) = type[2]; //! Rod hole offset
|
||||
function kp_size(type) = [type[3],type[8],type[5]]; //! Size of bracket
|
||||
function kp_base_height(type) = type[7]; //! Height of base containing the bolts
|
||||
function kp_screw_separation(type) = type[4]; //! Separation of bolts in the base
|
||||
|
||||
|
||||
module kp_pillow_block(type) { //! Draw the KP pillow block
|
||||
vitamin(str("kp_pillow_block(", type[0], "): ", type[0], " pillow block"));
|
||||
|
||||
d = kp_diameter(type);
|
||||
H = kp_hole_offset(type);
|
||||
L = kp_size(type)[0];
|
||||
J = kp_screw_separation(type);
|
||||
A = kp_size(type)[2];// sizeZ, includes protruding center
|
||||
N = type[6];
|
||||
H1 = kp_base_height(type);
|
||||
H0 = kp_size(type)[1];
|
||||
K = type[9];
|
||||
S = type[10];
|
||||
b = type[11];
|
||||
bolthole_radius = type[12];
|
||||
|
||||
color(kp_pillow_block_color)
|
||||
translate([0, -H, 0]) {
|
||||
fillet = 1;
|
||||
squareSizeX = (L - H0) / 2 + fillet;
|
||||
rotate([-90, 0, 0])
|
||||
linear_extrude(H1)
|
||||
difference() {
|
||||
union() {
|
||||
for(i = [-L / 2, L / 2 - squareSizeX])
|
||||
translate([i, -A / 2])
|
||||
rounded_square([squareSizeX, A], fillet, center = false);
|
||||
}
|
||||
for(i = [-J / 2, J / 2])
|
||||
translate([i, 0])
|
||||
circle(r = bolthole_radius);
|
||||
}
|
||||
|
||||
translate_z(-A / 2) {
|
||||
for(x = [- L / 2 + squareSizeX - fillet, L / 2 - squareSizeX + fillet - 2])
|
||||
translate([x, 0, 0])
|
||||
cube([2, H, A]);
|
||||
stripLength = J - 2 * bolthole_radius;
|
||||
stripThickness = 4;
|
||||
translate([-stripLength / 2, 0, (H1 + stripThickness) / 2])
|
||||
cube([stripLength, H1, stripThickness]);
|
||||
translate([0 , H, 0])
|
||||
tube(H0 / 2, b / 2, A, center = false);
|
||||
}
|
||||
}
|
||||
|
||||
not_on_bom() no_explode()
|
||||
ball_bearing(type[13]);
|
||||
}
|
||||
|
||||
module kp_pillow_block_hole_positions(type) { //! Place children at hole positions
|
||||
for(x = [-kp_screw_separation(type), kp_screw_separation(type)])
|
||||
translate([x / 2, kp_base_height(type) - kp_hole_offset(type), 0])
|
||||
rotate([-90,0,0])
|
||||
children();
|
||||
}
|
||||
|
||||
module kp_pillow_block_assembly(type, part_thickness = 2, screw_type = M5_cap_screw, nut_type = undef) { //! Assembly with fasteners in place
|
||||
kp_pillow_block(type);
|
||||
|
||||
screw_washer_thickness = washer_thickness(screw_washer(screw_type));
|
||||
nut_type = is_undef(nut_type) ? screw_nut(screw_type) : nut_type;
|
||||
nut_washer_type = nut_washer(nut_type);
|
||||
nut_washer_thickness = nut_washer_type ? washer_thickness(nut_washer_type) : 0;
|
||||
|
||||
nut_offset = kp_base_height(type) + part_thickness;
|
||||
screw_length = screw_shorter_than(nut_offset + screw_washer_thickness + nut_thickness(nut_type) + nut_washer_thickness);
|
||||
|
||||
kp_pillow_block_hole_positions(type) {
|
||||
screw_and_washer(screw_type, screw_length);
|
||||
|
||||
translate_z(-nut_offset)
|
||||
vflip()
|
||||
if(nut_washer_type)
|
||||
nut_and_washer(nut_type);
|
||||
else
|
||||
sliding_t_nut(nut_type);
|
||||
}
|
||||
}
|
||||
|
35
vitamins/kp_pillow_blocks.scad
Normal file
35
vitamins/kp_pillow_blocks.scad
Normal file
@ -0,0 +1,35 @@
|
||||
//
|
||||
// NopSCADlib Copyright Chris Palmer 2018
|
||||
// nop.head@gmail.com
|
||||
// hydraraptor.blogspot.com
|
||||
//
|
||||
// This file is part of NopSCADlib.
|
||||
//
|
||||
// NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the
|
||||
// GNU General Public License as published by the Free Software Foundation, either version 3 of
|
||||
// the License, or (at your option) any later version.
|
||||
//
|
||||
// NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// See the GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along with NopSCADlib.
|
||||
// If not, see <https://www.gnu.org/licenses/>.
|
||||
//
|
||||
|
||||
//
|
||||
//! KP pillow block bearings
|
||||
//
|
||||
|
||||
include <../core.scad>
|
||||
include <screws.scad>
|
||||
include <ball_bearings.scad>
|
||||
|
||||
// d H L J A N H1 H0 K S b bolthole bearing
|
||||
KP08 = ["KP08", 8, 18, 55, 42, 13, 4.5, 5, 29, 0.0, 0, 22, M4_clearance_radius, BB608];
|
||||
KP000 = ["KP000", 10, 18, 67, 53, 16, 7.0, 6, 35, 14.0, 4, 30, M6_clearance_radius, BB6200];
|
||||
KP001 = ["KP001", 12, 19, 71, 56, 16, 7.0, 6, 38, 14.5, 4, 32, M6_clearance_radius, BB6201];
|
||||
|
||||
kp_pillow_blocks = [KP08, KP000, KP001];
|
||||
|
||||
use <kp_pillow_block.scad>
|
Loading…
x
Reference in New Issue
Block a user