Initial commit
This commit is contained in:
45
models/rear_drive/rear_drive_assembly.scad
Normal file
45
models/rear_drive/rear_drive_assembly.scad
Normal 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();
|
||||
45
models/rear_drive/rear_leg_fixing.scad
Normal file
45
models/rear_drive/rear_leg_fixing.scad
Normal 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();
|
||||
|
||||
28
models/rear_drive/rear_wheel_fastener.scad
Normal file
28
models/rear_drive/rear_wheel_fastener.scad
Normal 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();
|
||||
Reference in New Issue
Block a user