Completed design for v2.
This commit is contained in:
172
config.scad
172
config.scad
@@ -1,31 +1,159 @@
|
||||
|
||||
/*
|
||||
use <./models/common/metric_bolt_functions.scad>;
|
||||
use <./models/brake/brake_assembly_functions.scad>;
|
||||
use <./models/fixings/tube_clamp_round_tee_long_104_functions.scad>;
|
||||
use <./models/fixings/tube_clamp_round_3_way_through_116_functions.scad>;
|
||||
use <./models/fixings/tube_clamp_round_base_plate_132_functions.scad>;
|
||||
use <./models/fixings/tube_clamp_square_base_plate_132_functions.scad>;
|
||||
*/
|
||||
use <./models/common/metric_countersunk_head_bolt.scad>;
|
||||
use <./models/common/washer.scad>;
|
||||
|
||||
// Configuration
|
||||
R_INTERNAL = [1200, 900, 900];
|
||||
R_EXTERNAL = [1200, 900, 900];
|
||||
|
||||
D_BEAM_SKELETON = 20;
|
||||
T_BEAM_SKELETON = 1.5;
|
||||
|
||||
COUNT_BEAMS_ON_BOTTOM_FACE_ALONG_X = 2;
|
||||
COUNT_BEAMS_ON_BOTTOM_FACE_ALONG_Y = 2;
|
||||
COUNT_BEAMS_ON_SIDE_FACE_ALONG_Z = 1;
|
||||
|
||||
CLEARANCE_SKIN_TO_SKELETON = 5;
|
||||
T_SKIN = 10;
|
||||
W_SKIN_BORDER_FRONT = 150;
|
||||
|
||||
T_BEAM_SKELETON = 2;
|
||||
DEPTH_SLOT_BEAM_SKELETON = 4;
|
||||
D_SLOT = 6;
|
||||
L_LEG = 150;
|
||||
COUNT_BASE_SUPPORT_BEAMS_ON_Y = 3;
|
||||
COUNT_FEET_PER_BASE_SUPPORT_BEAM_ON_Y = 2;
|
||||
T_PLATE_SUPPORT = 2;
|
||||
D_VENT_DUCT = 100;
|
||||
SIZE_BOLT_VENT = 4;
|
||||
COUNT_BOLTS_PER_VENT = 4;
|
||||
D_WASHER_VENT = 12;
|
||||
T_WASHER_VENT = 0.8;
|
||||
OVERLAP_CLEAR_PANEL_WITH_SKELETON_EACH_SIDE = 3;
|
||||
D_GLOVE_HOLE = 150;
|
||||
SIZE_BOLT_GLOVE = SIZE_BOLT_VENT;
|
||||
COUNT_BOLTS_PER_GLOVE = 4;
|
||||
OFFSET_GLOVE_HOLE_CENTRES_X = 350;
|
||||
OFFSET_NUT_FROM_BOLT_END = 2;
|
||||
OFFSET_NUT_FROM_BOLT_END_CHAMBER = 0.5;
|
||||
D_WASHER_GLOVE = 12;
|
||||
T_WASHER_GLOVE = 2;
|
||||
T_HDPE_SHEET = 3;
|
||||
T_GASKET_RUBBER = 1.5;
|
||||
|
||||
R_EXTERNAL = R_INTERNAL + (D_BEAM_SKELETON * 2) * [1, 1, 1];
|
||||
echo("R_EXTERNAL: ", R_EXTERNAL);
|
||||
COUNT_HINGES = 2;
|
||||
SIZE_BOLT_HINGE = 4.5;
|
||||
R_HINGE = [50, 50, 2];
|
||||
D_WASHER_HINGE = 12;
|
||||
T_WASHER_HINGE = 2;
|
||||
R_T_NUT = [5.7, 11.5, 3.2];
|
||||
OFFSET_LATCH_FROM_SIDE = 300;
|
||||
OFFSET_LATCH_FROM_TOP = 250;
|
||||
R_DOOR_LATCH_SUPPORT_PLATE = [25, 120, 6];
|
||||
SIZE_BOLT_LATCH_PLATE_TO_SKELETON = 4;
|
||||
D_WASHER_LATCH_PLATE_TO_SKELETON = 9;
|
||||
T_WASHER_LATCH_PLATE_TO_SKELETON = 0.8;
|
||||
SIZE_BOLT_LATCH_TO_PLATE = 5;
|
||||
D_WASHER_LATCH_TO_PLATE = 9;
|
||||
T_WASHER_LATCH_TO_PLATE = 0.8;
|
||||
R_LATCH = [21, 125, 2];
|
||||
COUNT_BOLTS_PER_DOOR_GASKET_ON_X_TOP = 3;
|
||||
COUNT_BOLTS_PER_DOOR_GASKET_ON_X_BOTTOM = 5;
|
||||
COUNT_BOLTS_PER_DOOR_GASKET_ON_Z = 4;
|
||||
OFFSET_BOLTS_FROM_SEAL_END = 100;
|
||||
SIZE_BOLT_DOOR_GASKET = SIZE_BOLT_GLOVE;
|
||||
/*
|
||||
D_DOOR_SUPPORT_BEAM = 19;
|
||||
T_DOOR_SUPPORT_BEAM = 1.6;
|
||||
W_DOOR_SUPPORT_BEAM = 19;
|
||||
D_DOOR_SUPPORT_BEAM = 25.4;
|
||||
T_DOOR_SUPPORT_BEAM = 1.6;
|
||||
W_DOOR_SUPPORT_BEAM = 25.4;
|
||||
D_DOOR_SUPPORT_BEAM = 15;
|
||||
T_DOOR_SUPPORT_BEAM = 4;
|
||||
W_DOOR_SUPPORT_BEAM = 30;
|
||||
D_DOOR_SUPPORT_BEAM = 20;
|
||||
T_DOOR_SUPPORT_BEAM = 3;
|
||||
W_DOOR_SUPPORT_BEAM = 40;
|
||||
*/
|
||||
D_DOOR_SUPPORT_BEAM = 25;
|
||||
T_DOOR_SUPPORT_BEAM = 3;
|
||||
W_DOOR_SUPPORT_BEAM = 50;
|
||||
W_DOOR_GASKET = 25;
|
||||
D_WASHER_DOOR_GASKET = 12;
|
||||
T_WASHER_DOOR_GASKET = 2;
|
||||
|
||||
R_SKIN = R_EXTERNAL + ((CLEARANCE_SKIN_TO_SKELETON + T_SKIN) * 2) * [1, 1, 1];
|
||||
echo("R_SKIN: ", R_SKIN);
|
||||
AREA_BEAM_PROFILE_20 = 1.6 * pow(10, -4); // m^2
|
||||
AREA_BEAM_PROFILE_30 = 3.1 * pow(10, -4); // m^2
|
||||
AREA_BEAM_PROFILE_40L = 6.1 * pow(10, -4); // m^2
|
||||
AREA_BEAM_PROFILE_40H = 9.2 * pow(10, -4); // m^2
|
||||
DENSITY_ALUMINIUM = 2700; // kg.m^-3
|
||||
DENSITY_HDPE = 950; // kg.m^-3
|
||||
DENSITY_STAINLESS_STEEL = 8000; // kg.m^-3
|
||||
G = 9.81; // m.s^-2
|
||||
SAFETY_FACTOR = 2;
|
||||
SECOND_MOMENT_OF_AREA_BEAM_20 = 0.7 * pow(10, -8); // m^4
|
||||
SECOND_MOMENT_OF_AREA_BEAM_30 = 2.7 * pow(10, -8); // m^4
|
||||
SECOND_MOMENT_OF_AREA_BEAM_40L = 11.5 * pow(10, -8); // m^4
|
||||
SECOND_MOMENT_OF_AREA_BEAM_40H = 17.7 * pow(10, -8); // m^4
|
||||
YIELD_STRESS_ALUMINIUM = 150 * pow(10, 6); // Pa
|
||||
YIELD_STRESS_HDPE = 25 * pow(10, 6); // Pa
|
||||
YIELD_STRESS_STAINLESS_STEEL = 200 * pow(10, 6); // Pa
|
||||
YOUNG_MODULUS_ALUMINIUM = 69 * pow(10, 9); // Pa
|
||||
YOUNG_MODULUS_HDPE = 1 * pow(10, 9); // Pa
|
||||
YOUNG_MODULUS_STAINLESS_STEEL = 200 * pow(10, 9); // Pa
|
||||
|
||||
|
||||
R_INTERNAL = R_EXTERNAL - D_BEAM_SKELETON * 2 * [1, 1, 1];
|
||||
echo("R_INTERNAL: ", R_INTERNAL);
|
||||
R_SKELETON_BEAM_CENTRES = (R_EXTERNAL + R_INTERNAL) / 2;
|
||||
echo("R_SKELETON_BEAM_CENTRES: ", R_SKELETON_BEAM_CENTRES);
|
||||
|
||||
OFFSET_X_BASE_BEAM_SUPPORTS = R_SKELETON_BEAM_CENTRES[0] / 2 / COUNT_BASE_SUPPORT_BEAMS_ON_Y; // 200;
|
||||
echo("OFFSET_X_BASE_BEAM_SUPPORTS: ", OFFSET_X_BASE_BEAM_SUPPORTS);
|
||||
|
||||
BASE_LOAD_FORCE = 500 * G * SAFETY_FACTOR;
|
||||
echo("BASE_LOAD_FORCE: ", BASE_LOAD_FORCE);
|
||||
|
||||
AREA_BEAM_PROFILE =
|
||||
(D_BEAM_SKELETON == 20) ?
|
||||
AREA_BEAM_PROFILE_20 :
|
||||
(D_BEAM_SKELETON == 30) ?
|
||||
AREA_BEAM_PROFILE_30 :
|
||||
(D_BEAM_SKELETON == 40) ?
|
||||
AREA_BEAM_PROFILE_40H :
|
||||
AREA_BEAM_PROFILE_20
|
||||
;
|
||||
echo("AREA_BEAM_PROFILE: ", AREA_BEAM_PROFILE);
|
||||
SECOND_MOMENT_OF_AREA_BEAM =
|
||||
(D_BEAM_SKELETON == 20) ?
|
||||
SECOND_MOMENT_OF_AREA_BEAM_20 :
|
||||
(D_BEAM_SKELETON == 30) ?
|
||||
SECOND_MOMENT_OF_AREA_BEAM_30 :
|
||||
(D_BEAM_SKELETON == 40) ?
|
||||
SECOND_MOMENT_OF_AREA_BEAM_40H :
|
||||
SECOND_MOMENT_OF_AREA_BEAM_20
|
||||
;
|
||||
echo("SECOND_MOMENT_OF_AREA_BEAM: ", SECOND_MOMENT_OF_AREA_BEAM);
|
||||
|
||||
|
||||
T_DOOR = T_HDPE_SHEET + T_GASKET_RUBBER;
|
||||
echo("T_DOOR: ", T_DOOR, "mm");
|
||||
|
||||
OFFSET_HINGE_HOLE_CENTRES_X = 34;
|
||||
echo("OFFSET_HINGE_HOLE_CENTRES_X: ", OFFSET_HINGE_HOLE_CENTRES_X, "mm");
|
||||
OFFSET_HINGE_HOLE_CENTRES_Y = R_HINGE[1] - 8 * 2;
|
||||
echo("OFFSET_HINGE_HOLE_CENTRES_Y: ", OFFSET_HINGE_HOLE_CENTRES_Y, "mm");
|
||||
|
||||
LENGTH_BOLT_HINGE_ON_CHAMBER = T_WASHER_HINGE + R_HINGE[2] + T_BEAM_SKELETON + R_T_NUT[2] + OFFSET_NUT_FROM_BOLT_END_CHAMBER;
|
||||
echo("LENGTH_BOLT_HINGE_ON_CHAMBER: ", LENGTH_BOLT_HINGE_ON_CHAMBER, "mm");
|
||||
HEIGHT_NUT_HINGE = get_metric_bolt_head_height(SIZE_BOLT_HINGE);
|
||||
echo("HEIGHT_NUT_HINGE: ", HEIGHT_NUT_HINGE, "mm");
|
||||
LENGTH_BOLT_HINGE_ON_DOOR = T_GASKET_RUBBER + T_HDPE_SHEET + T_DOOR_SUPPORT_BEAM + T_WASHER_HINGE + HEIGHT_NUT_HINGE + OFFSET_NUT_FROM_BOLT_END;
|
||||
echo("LENGTH_BOLT_HINGE_ON_DOOR: ", LENGTH_BOLT_HINGE_ON_DOOR, "mm");
|
||||
|
||||
HEIGHT_NUT_DOOR_GASKET = get_metric_bolt_head_height(SIZE_BOLT_DOOR_GASKET);
|
||||
echo("HEIGHT_NUT_DOOR_GASKET: ", HEIGHT_NUT_DOOR_GASKET, "mm");
|
||||
LENGTH_BOLT_DOOR_GASKET = T_GASKET_RUBBER + T_HDPE_SHEET + T_DOOR_SUPPORT_BEAM + T_WASHER_DOOR_GASKET + HEIGHT_NUT_DOOR_GASKET + OFFSET_NUT_FROM_BOLT_END;
|
||||
echo("LENGTH_BOLT_DOOR_GASKET: ", LENGTH_BOLT_DOOR_GASKET, "mm");
|
||||
|
||||
HEIGHT_NUT_LATCH_TO_PLATE = get_metric_bolt_head_height(SIZE_BOLT_LATCH_TO_PLATE);
|
||||
echo("HEIGHT_NUT_LATCH_TO_PLATE: ", HEIGHT_NUT_LATCH_TO_PLATE, "mm");
|
||||
LENGTH_BOLT_LATCH_TO_PLATE = R_LATCH[2] + R_DOOR_LATCH_SUPPORT_PLATE[2] + T_WASHER_LATCH_TO_PLATE + HEIGHT_NUT_LATCH_TO_PLATE + OFFSET_NUT_FROM_BOLT_END_CHAMBER;
|
||||
echo("LENGTH_BOLT_LATCH_TO_PLATE: ", LENGTH_BOLT_LATCH_TO_PLATE, "mm");
|
||||
|
||||
LENGTH_BOLT_LATCH_PLATE_TO_SKELETON = T_WASHER_LATCH_PLATE_TO_SKELETON + R_DOOR_LATCH_SUPPORT_PLATE[2] + T_DOOR_SUPPORT_BEAM + R_T_NUT[2] + OFFSET_NUT_FROM_BOLT_END_CHAMBER;
|
||||
echo("LENGTH_BOLT_LATCH_PLATE_TO_SKELETON: ", LENGTH_BOLT_LATCH_PLATE_TO_SKELETON, "mm");
|
||||
|
||||
OFFSET_X_VENTILATION_HOLES = R_INTERNAL[0] / 2;
|
||||
echo("OFFSET_X_VENTILATION_HOLES: ", OFFSET_X_VENTILATION_HOLES, "mm");
|
||||
Reference in New Issue
Block a user