Files
dog_towing_cart/models/bed/bed.scad
2025-02-25 12:13:03 +00:00

41 lines
1.9 KiB
OpenSCAD

include <../../config.scad>;
use <../fixings/tube_clamp_round_base_plate_132.scad>;
module bed() {
offset_hole_y_front = get_offset_hole_y_round_base_plate_132(D_AXLE_FRONT);
d_hole_front = get_diameter_hole_round_base_plate_132(D_AXLE_FRONT);
offset_hole_y_rear = get_offset_hole_y_round_base_plate_132(D_AXLE_REAR);
d_hole_rear = get_diameter_hole_round_base_plate_132(D_AXLE_REAR);
count_shafts_y = 3;
color("burlywood") difference() {
cube(R_BED, center = true);
// front axle leg holes
translate([0, Y_POS_AXLE_FRONT, 0]) for (index_side_y = [0 : 1 : 1]) {
mirror([0, index_side_y, 0]) {
translate([0, offset_hole_y_front, 0]) cylinder(R_BED[2], d_hole_front / 2, d_hole_front / 2, center = true);
}
}
// rear axle leg holes
translate([0, Y_POS_AXLE_REAR, 0]) for (index_side_x = [0 : 1 : 1]) {
mirror([index_side_x, 0, 0]) {
translate([X_POS_AXLE_LEG_REAR, 0, 0]) for (index_side_y = [0 : 1 : 1]) {
mirror([0, index_side_y, 0]) {
translate([0, offset_hole_y_rear, 0]) cylinder(R_BED[2], d_hole_rear / 2, d_hole_rear / 2, center = true);
}
}
}
}
// top crate perimeter shaft holes
for (index_side_x = [0 : 1 : 1]) {
mirror([index_side_x, 0, 0]) {
translate([R_BED[0] / 2 - D_WASHER_SHAFT_TOP_CRATE / 2, 0, 0]) for (index_shaft_y = [0 : 1 : count_shafts_y]) {
translate([0, -R_BED[1] / 2 + D_WASHER_SHAFT_TOP_CRATE / 2 + index_shaft_y * (R_BED[1] - D_WASHER_SHAFT_TOP_CRATE) / (count_shafts_y - 1), 0]) cylinder(R_BED[2], D_SHAFT_TOP_CRATE / 2, D_SHAFT_TOP_CRATE / 2, center = true);
}
}
}
}
// Shopping
echo(str("Bed: MDF board ", R_BED[1], "mm x ", R_BED[0], "mm x ", R_BED[2], "mm - x1"));
}
bed();