Completed design for v2.
This commit is contained in:
63
models/glovebox_rear_panel/glovebox_rear_panel.scad
Normal file
63
models/glovebox_rear_panel/glovebox_rear_panel.scad
Normal file
@@ -0,0 +1,63 @@
|
||||
|
||||
include <../../config.scad>;
|
||||
use <./vent_gasket_holes.scad>;
|
||||
use <../common/metric_bolt.scad>;
|
||||
use <../common/metric_bolt_functions.scad>;
|
||||
|
||||
module glovebox_rear_panel() {
|
||||
r_panel = [
|
||||
R_INTERNAL[0] + OVERLAP_CLEAR_PANEL_WITH_SKELETON_EACH_SIDE * 2
|
||||
, T_HDPE_SHEET
|
||||
, R_INTERNAL[2] + OVERLAP_CLEAR_PANEL_WITH_SKELETON_EACH_SIDE * 2
|
||||
];
|
||||
union() {
|
||||
/*
|
||||
difference() {
|
||||
// clear panel
|
||||
color("white", 0.4) translate([0, 0, 0]) cube(r_panel, center = true);
|
||||
for (index_side = [0 : 1 : 1]) {
|
||||
mirror([index_side, 0, 0]) {
|
||||
translate([R_INTERNAL[0] / 4, 0, -R_INTERNAL[2] / 4]) {
|
||||
// ventilation holes
|
||||
rotate([90, 0, 0]) cylinder(T_HDPE_SHEET, D_VENT_DUCT / 2, D_VENT_DUCT / 2, center = true);
|
||||
// vent duct fastenings
|
||||
rotate([90, 0, 0]) vent_gasket_holes();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
color("white", 1) import("./glovebox_rear_panel_only.stl");
|
||||
// gasket
|
||||
height_nut_vent = get_metric_bolt_head_height(SIZE_BOLT_VENT);
|
||||
length_bolt_vent = T_WASHER_VENT * 2 + T_GASKET_RUBBER + T_HDPE_SHEET + height_nut_vent + OFFSET_NUT_FROM_BOLT_END;
|
||||
for (index_side = [0 : 1 : 1]) {
|
||||
mirror([index_side, 0, 0]) {
|
||||
// Vent gasket
|
||||
translate([
|
||||
R_INTERNAL[0] / 4
|
||||
, r_panel[1] / 2
|
||||
, -R_INTERNAL[2] / 4
|
||||
]) {
|
||||
color("black") translate([0, T_GASKET_RUBBER / 2, 0]) import("./vent_gasket.stl");
|
||||
// Fasteners
|
||||
for (index_hole = [0 : 1 : COUNT_BOLTS_PER_VENT - 1]) {
|
||||
rotate([0, 360 / COUNT_BOLTS_PER_VENT * index_hole, 0]) translate([D_VENT_DUCT / 2, 0, D_VENT_DUCT / 2])
|
||||
{
|
||||
// Bolt and nut
|
||||
translate([0, length_bolt_vent / 2 - r_panel[1] - T_WASHER_VENT, 0]) rotate([90, 0, 0]) metric_bolt(SIZE_BOLT_VENT, length_bolt_vent, true, OFFSET_NUT_FROM_BOLT_END);
|
||||
// Washers
|
||||
translate([0, -r_panel[1] - T_WASHER_VENT / 2, 0]) rotate([90, 0, 0]) washer(T_WASHER_VENT, D_WASHER_VENT, SIZE_BOLT_VENT, centre = true);
|
||||
translate([0, T_GASKET_RUBBER + T_WASHER_VENT / 2, 0]) rotate([90, 0, 0]) washer(T_WASHER_VENT, D_WASHER_VENT, SIZE_BOLT_VENT, centre = true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Shopping
|
||||
}
|
||||
|
||||
// $fn = 250;
|
||||
// test output
|
||||
glovebox_rear_panel();
|
||||
BIN
models/glovebox_rear_panel/glovebox_rear_panel_only.stl
Normal file
BIN
models/glovebox_rear_panel/glovebox_rear_panel_only.stl
Normal file
Binary file not shown.
22
models/glovebox_rear_panel/vent_gasket.scad
Normal file
22
models/glovebox_rear_panel/vent_gasket.scad
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
include <../../config.scad>;
|
||||
use <./vent_gasket_holes.scad>;
|
||||
|
||||
module vent_gasket() {
|
||||
// color("black")
|
||||
rotate([90, 0, 0]) difference() {
|
||||
// Body
|
||||
// cylinder(T_GASKET_RUBBER, D_VENT_DUCT / 2 + W_DOOR_GASKET, D_VENT_DUCT / 2 + W_DOOR_GASKET, center = true);
|
||||
cube([D_VENT_DUCT + W_DOOR_GASKET * 2, D_VENT_DUCT + W_DOOR_GASKET * 2, T_GASKET_RUBBER], center = true);
|
||||
// Duct hole
|
||||
cylinder(T_GASKET_RUBBER, D_VENT_DUCT / 2, D_VENT_DUCT / 2, center = true);
|
||||
// Duct fasteners
|
||||
vent_gasket_holes();
|
||||
}
|
||||
// Shopping
|
||||
echo(str("EDPM rubber: Vent Gasket ", D_VENT_DUCT + W_DOOR_GASKET * 2, "mm x ", D_VENT_DUCT + W_DOOR_GASKET * 2, "mm - x1"));
|
||||
}
|
||||
|
||||
$fn = 250;
|
||||
// test output
|
||||
vent_gasket();
|
||||
BIN
models/glovebox_rear_panel/vent_gasket.stl
Normal file
BIN
models/glovebox_rear_panel/vent_gasket.stl
Normal file
Binary file not shown.
14
models/glovebox_rear_panel/vent_gasket_holes.scad
Normal file
14
models/glovebox_rear_panel/vent_gasket_holes.scad
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
include <../../config.scad>;
|
||||
|
||||
module vent_gasket_holes() {
|
||||
for (index_hole = [0 : 1 : COUNT_BOLTS_PER_VENT - 1]) {
|
||||
rotate([0, 0, 90 * index_hole]) translate([D_VENT_DUCT / 2, D_VENT_DUCT / 2, 0])
|
||||
// rotate([90, 0, 0])
|
||||
cylinder(T_HDPE_SHEET + T_GASKET_RUBBER, SIZE_BOLT_VENT / 2, SIZE_BOLT_VENT / 2, center = true);
|
||||
}
|
||||
// Shopping
|
||||
}
|
||||
|
||||
// test output
|
||||
vent_gasket_holes();
|
||||
Reference in New Issue
Block a user