Files
glovebox/config.scad

160 lines
5.8 KiB
OpenSCAD

use <./models/common/metric_bolt_functions.scad>;
use <./models/common/metric_countersunk_head_bolt.scad>;
use <./models/common/washer.scad>;
// Configuration
R_EXTERNAL = [1200, 900, 900];
D_BEAM_SKELETON = 20;
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;
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;
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);
R_BASE_PLATE = [R_EXTERNAL[0], R_EXTERNAL[1], 3];
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");