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

64 lines
3.5 KiB
OpenSCAD

include <../../config.scad>;
use <./tiller_joint.scad>;
use <../common/metric_bolt.scad>;
use <../fixings/tube_clamp_round_tee_long_104.scad>;
module tiller_assembly(angle_incline_tiller) {
echo("Tiller assembly:");
/*
t_universal_joint = get_universal_joint_thickness();
d_universal_joint = get_universal_joint_d();
d_hole_universal_joint = get_universal_joint_d_hole();
d_hole_bore_universal_joint = get_universal_joint_d_bore_hole();
L_universal_joint = get_universal_joint_length();
joint_axial_offset = get_universal_joint_joint_axial_offset();
pin_axial_offset = get_universal_joint_pin_axial_offset();
L_hole = t_universal_joint + d_hole_universal_joint / 2 + pin_axial_offset;
L_bolt_fastener = D_AXLE_FRONT + d_hole_universal_joint * 4 + T_WASHER_UNIVERSAL_JOINT;
echo("t_universal_joint", t_universal_joint, "mm");
echo("d_hole_universal_joint", d_hole_universal_joint, "mm");
echo("pin_axial_offset", pin_axial_offset, "mm");
echo("L_hole", t_universal_joint + d_hole_universal_joint / 2 + pin_axial_offset, "mm");
echo("L_universal_joint / 2 - joint_axial_offset - L_hole", L_universal_joint / 2 - joint_axial_offset - L_hole, "mm");
*/
union() {
// tiller
color(COLOUR_BEAM_ALUMINIUM) difference() {
// body
rotate([-90, 0, 0]) cylinder(L_TILLER, D_AXLE_FRONT / 2, D_AXLE_FRONT / 2, center = false);
// joint fastening hole normal
translate([L_TILLER - OFFSET_BOLT_JOINT_TILLER_EXTENSION_AXIAL, 0, 0]) cylinder(D_AXLE_FRONT, SIZE_BOLT_JOINT_TILLER_EXTENSION / 2, SIZE_BOLT_JOINT_TILLER_EXTENSION / 2, center = false);
}
/*
// universal joint
translate([L_TILLER - L_hole, 0, 0]) universal_joint();
// tiller universal joint fastening
translate([L_TILLER - L_hole / 2, 0, 0]) metric_bolt(d_hole_universal_joint, L_bolt_fastener);
*/
// tiller joint
translate([0, L_TILLER + L_JOINT_TILLER_EXTENSION / 2 - OFFSET_BOLT_JOINT_TILLER_EXTENSION_AXIAL * 2, 0]) tiller_joint();
// tiller extension
translate([0, L_TILLER + L_JOINT_TILLER_EXTENSION - OFFSET_BOLT_JOINT_TILLER_EXTENSION_AXIAL * 4, 0]) rotate([angle_incline_tiller, 0, 0]) {
color(COLOUR_BEAM_ALUMINIUM) difference() {
// body
rotate([-90, 0, 0]) cylinder(L_TILLER_EXTENSION, D_HANDLE_BAR / 2, D_HANDLE_BAR / 2, center = false);
// joint fastening hole normal
translate([0, OFFSET_BOLT_JOINT_TILLER_EXTENSION_AXIAL, 0]) cylinder(D_AXLE_FRONT, SIZE_BOLT_JOINT_TILLER_EXTENSION / 2, SIZE_BOLT_JOINT_TILLER_EXTENSION / 2, center = false);
}
// handle beam
color(COLOUR_BEAM_ALUMINIUM) translate([0, L_TILLER_EXTENSION + D_HANDLE_BAR / 2, 0]) rotate([0, 90, 0]) cylinder(W_HANDLE_BAR, D_HANDLE_BAR / 2, D_HANDLE_BAR / 2, center = true);
// handle fixing
translate([0, L_TILLER_EXTENSION + D_HANDLE_BAR / 2, 0]) rotate([90, 0, -90]) tube_clamp_round_tee_long_104(D_HANDLE_BAR);
}
}
// Shopping
echo(str("Tiller: Round Aluminium bar Φ", D_AXLE_FRONT, "mm x ", L_TILLER, "mm - x1"));
// Tiller extension joint
echo(str("Tiller extension: Round Aluminium bar Φ", D_HANDLE_BAR, "mm x ", L_TILLER_EXTENSION, "mm - x1"));
echo(str("Handle bar: Round Aluminium bar Φ", D_HANDLE_BAR, "mm x ", W_HANDLE_BAR, "mm - x1"));
// Handle fixing
}
// $fn = 100;
tiller_assembly(20);