Initial commit

This commit is contained in:
2025-02-25 12:13:03 +00:00
parent 3476f37b84
commit 659001351e
52 changed files with 1542 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
include <../../config.scad>;
use <../fixings/tube_clamp_round_tee_long_104.scad>;
use <../fixings/tube_clamp_round_base_plate_132.scad>;
use <../rear_drive/rear_leg_fixing.scad>;
use <../rear_drive/rear_wheel_fastener.scad>;
use <../common/washer.scad>;
use <../common/wheel.scad>;
module rear_drive_assembly() {
echo("Rear drive assembly:");
L_shaft_short_leg_to_axle = get_L_shaft_short_round_tee_long_104(D_AXLE_REAR);
L_shaft_long_leg_to_axle = get_L_shaft_long_round_tee_long_104(D_AXLE_REAR);
// L_axial_rear_wheel_fastener = SPACING_WASHER_AXLE_REAR_WHEEL_POSITIONING + T_WASHER_AXLE_REAR_WHEEL_POSITIONING + D_WASHER_BOLT_REAR_WHEEL_POSITIONING;
// x_pos_wheel_centre = X_POS_AXLE_LEG_REAR + L_shaft_long_leg_to_axle / 2 + L_axial_rear_wheel_fastener + T_WHEEL / 2;
L_axle = 2 * (X_POS_WHEEL_CENTRE + T_WHEEL / 2 + SPACING_WASHER_AXLE_REAR_WHEEL_POSITIONING + T_WASHER_AXLE_REAR_WHEEL_POSITIONING + D_WASHER_BOLT_REAR_WHEEL_POSITIONING);
translate([0, Y_POS_AXLE_REAR, -R_BED[2] / 2]) union() {
for (index_side_bed = [0:1:1]) {
mirror([index_side_bed, 0, 0]) {
// leg fixings
translate([X_POS_AXLE_LEG_REAR, 0, 0]) rear_leg_fixing();
// wheels
translate([X_POS_WHEEL_CENTRE, 0, -Z_OFFSET_BED_TO_AXLE]) wheel();
translate([X_POS_WHEEL_CENTRE, 0, -Z_OFFSET_BED_TO_AXLE]) for(index_side_wheel = [0:1:1]) {
mirror([index_side_wheel, 0, 0]) translate([T_WHEEL / 2 + SPACING_WASHER_AXLE_REAR_WHEEL_POSITIONING + T_WASHER_AXLE_REAR_WHEEL_POSITIONING + D_WASHER_BOLT_REAR_WHEEL_POSITIONING / 2, 0, 0]) {
// wheel positioning fasteners
rear_wheel_fastener();
// washer
translate([-D_WASHER_BOLT_REAR_WHEEL_POSITIONING / 2 - T_WASHER_AXLE_REAR_WHEEL_POSITIONING / 2, 0, 0]) rotate([0, 90, 0]) washer(T_WASHER_AXLE_REAR_WHEEL_POSITIONING, D_WASHER_AXLE_REAR_WHEEL_POSITIONING, D_AXLE_REAR);
}
}
}
}
// axle
color(COLOUR_BEAM_ALUMINIUM) translate([0, 0, -Z_OFFSET_BED_TO_AXLE]) rotate([0, 90, 0]) cylinder(L_axle, D_AXLE_REAR / 2, D_AXLE_REAR / 2, center = true);
}
// Shopping
// Rear leg fixing
// Wheel
// Rear wheel fastener
// echo(str("Rear wheel positioning axle washer: Washer Φ", D_WASHER_AXLE_REAR_WHEEL_POSITIONING, "mm x ", T_WASHER_AXLE_REAR_WHEEL_POSITIONING, "mm - x4")); // Rear wheel positioning axle washer
echo(str("Rear axle: Round Aluminium bar Φ", D_AXLE_REAR, "mm x ", L_axle, "mm - x1"));
}
rear_drive_assembly();

View File

@@ -0,0 +1,45 @@
include <../../config.scad>;
use <../fixings/tube_clamp_round_tee_long_104.scad>;
use <../fixings/tube_clamp_round_base_plate_132.scad>;
use <../common/metric_bolt.scad>;
use <../common/washer.scad>;
module rear_leg_fixing() {
echo("Rear leg fixing:");
R_base_plate = get_R_plate_round_base_plate_132(D_AXLE_REAR);
h_leg = Z_OFFSET_BED_TO_AXLE - R_base_plate[2] - D_AXLE_REAR / 2;
offset_y_hole_base_plate = get_offset_hole_y_round_base_plate_132(D_AXLE_REAR);
size_hole_base_plate = get_diameter_hole_round_base_plate_132(D_AXLE_REAR);
h_bolt_head = get_metric_bolt_head_height(size_hole_base_plate);
L_fastener = h_bolt_head * 2 + T_WASHER_BASE_PLATE * 2 + R_base_plate[2] + R_BED[2] + L_BOLT_EXTENSION;
union() {
// bracket bed
rotate([0, 180, 0]) tube_clamp_round_base_plate_132(D_AXLE_REAR); // cylinder(R_fixing[2], R_fixing[0] / 2, R_fixing[0] / 2, center = true); // cube(R_fixing, center = true);
for (index_side_y = [0 : 1 : 1]) {
mirror([0, index_side_y, 0]) {
// bracket at bed fastener
translate([0, offset_y_hole_base_plate, L_fastener / 2 - R_base_plate[2] - L_BOLT_EXTENSION - h_bolt_head - T_WASHER_BASE_PLATE]) metric_bolt(size_hole_base_plate, L_fastener, true, L_BOLT_EXTENSION);
translate([0, offset_y_hole_base_plate, h_bolt_head / 2 - 0* T_WASHER_BASE_PLATE / 2]) for (index_side_z = [0 : 1 : 1]) {
mirror([0, 0, index_side_z]) {
// bracket fastener washers
translate([0, 0, L_fastener / 2 - L_BOLT_EXTENSION / 2 - h_bolt_head - T_WASHER_BASE_PLATE / 2]) washer(T_WASHER_BASE_PLATE, D_WASHER_BASE_PLATE, size_hole_base_plate);
}
}
}
}
// leg
color(COLOUR_BEAM_ALUMINIUM) translate([0, 0, -R_base_plate[2] - h_leg / 2]) cylinder(h_leg, D_AXLE_REAR / 2, D_AXLE_REAR / 2, center = true); // cube([t_beam, t_beam, h_leg], center = true);
// bracket axle-side
translate([0, 0, -Z_OFFSET_BED_TO_AXLE]) rotate([0, -90, 0]) tube_clamp_round_tee_long_104(D_AXLE_REAR); // cylinder(R_fixing[2], R_fixing[0] / 2, R_fixing[0] / 2, center = true);
}
// Shopping
// bracket at bed
// bracket bolt
// echo(str("Base plate fastening washers: Washer Φ", D_WASHER_BASE_PLATE, "mm x ", T_WASHER_BASE_PLATE, "mm - x4")); // Base plate fastening washers
echo(str("Leg: Round Aluminium bar Φ", D_AXLE_REAR, "mm x ", h_leg, "mm - x1"));
// bracket at axle
}
rear_leg_fixing();

View File

@@ -0,0 +1,28 @@
include <../../config.scad>;
use <../common/metric_bolt.scad>;
use <../common/washer.scad>;
module rear_wheel_fastener() {
echo("Rear wheel fastener:");
height_bolt_head = get_metric_bolt_head_height(SIZE_BOLT_REAR_WHEEL_POSITIONING);
count_washers_each_end = 7;
L_bolt = D_AXLE_REAR + 2 * height_bolt_head + 2 * T_WASHER_BOLT_REAR_WHEEL_POSITIONING * count_washers_each_end + L_BOLT_EXTENSION;
union() {
// bolt
translate([0, 0, -L_BOLT_EXTENSION / 2]) metric_bolt(SIZE_BOLT_REAR_WHEEL_POSITIONING, L_bolt, true, L_BOLT_EXTENSION);
for (index_side_bolt = [0 : 1 : 1]) {
mirror([0, 0, index_side_bolt]) {
// washer
for (index_washer = [0 : 1 : max(0, count_washers_each_end - 1)]) {
translate([0, 0, D_AXLE_REAR / 2 + T_WASHER_BOLT_REAR_WHEEL_POSITIONING * (index_washer + 1/2)]) washer(T_WASHER_BOLT_REAR_WHEEL_POSITIONING, D_WASHER_BOLT_REAR_WHEEL_POSITIONING, SIZE_BOLT_REAR_WHEEL_POSITIONING);
}
}
}
}
// Shopping
// bolt
// echo(str("Bolt washer: Washer Φ", D_WASHER_BOLT_REAR_WHEEL_POSITIONING, "mm x ", T_WASHER_BOLT_REAR_WHEEL_POSITIONING, "mm - x", 2 * count_washers_each_end)); // Rear wheel fastener bolt washers
}
rear_wheel_fastener();