summaryrefslogtreecommitdiffstats
path: root/cad/assembly.py
diff options
context:
space:
mode:
Diffstat (limited to 'cad/assembly.py')
-rw-r--r--cad/assembly.py69
1 files changed, 68 insertions, 1 deletions
diff --git a/cad/assembly.py b/cad/assembly.py
index c850532..10e65fe 100644
--- a/cad/assembly.py
+++ b/cad/assembly.py
@@ -4,6 +4,9 @@ from solid.utils import *
from . import parameters
+gap = 0.5 # dissociate parts (do not add it in other calculations)
+
+
def motherboard_holes(datum=parameters.motherboard_datum):
return [
datum,
@@ -51,8 +54,72 @@ def motherboard_support():
return color(parameters.colors.metal)(render()(support))
+def wood_rear_plate():
+ thick = parameters.wood_thickness
+ size = parameters.external_size
+ rear_plate = cube([size[0] - 2*thick, thick, size[2]])
+ tpsu = [thick + gap, -gap, thick + gap + parameters.powersupply_offset_up]
+ psu_hole = translate(tpsu)(
+ cube([parameters.powersupply_size[2],
+ thick + 2*gap,
+ parameters.powersupply_size[0]])
+ )
+ return rear_plate - psu_hole
+
+
+def powersupply():
+ size = parameters.powersupply_size
+ psu = cube(size)
+ psu -= translate([size[0]/2, size[1]/2, -gap])(
+ cylinder(r=60, h=20)
+ )
+ return color(parameters.colors.psu)(render()(psu))
+
+
+def wood_case():
+ thick = parameters.wood_thickness
+ size = parameters.external_size
+ bottom_plate = translate([thick + gap, thick + gap, 0])(
+ cube([size[0] - 2*thick, size[1] - 2*thick, thick])
+ )
+ right_left_plate = cube([thick, size[1] - thick, size[2]])
+ right_plate = translate([size[0] - thick + 2*gap, thick + gap, 0])(
+ right_left_plate
+ )
+ left_plate = translate([0, thick + gap, 0])(right_left_plate)
+ rear_plate = translate([thick + gap, size[1] - thick + 2*gap, 0])(
+ wood_rear_plate()
+ )
+ front_plate = cube([size[0], thick, size[2]])
+ all_plates = (
+ bottom_plate + right_plate + left_plate + rear_plate + front_plate
+ )
+ return color(parameters.colors.wood)(render()(all_plates))
+
+
def main():
#d = motherboard()
- d = motherboard_support()
+ thick = parameters.wood_thickness
+ hup = parameters.motherboard_support_mount_height \
+ + parameters.motherboard_support_size[2]/2 \
+ + parameters.motherboard_size[2]/2
+ motherboard_assembly = motherboard_support() + up(hup)(motherboard())
+ d = wood_case()
+ d += translate([thick + gap + parameters.powersupply_size[2],
+ thick + gap,
+ thick + gap])(
+ translate([parameters.motherboard_support_size[0]/2,
+ parameters.motherboard_support_size[1]/2,
+ parameters.motherboard_support_size[2]/2])(
+ motherboard_assembly
+ )
+ )
+ #d = wood_rear_plate()
+ psu = translate([parameters.powersupply_size[2] + 2*thick + gap,
+ parameters.external_size[1] - thick - gap - parameters.powersupply_size[1],
+ thick + gap + parameters.powersupply_offset_up])(
+ rotate([0, -90, 0])(powersupply())
+ )
+ d += psu
scad_render_to_file(d, 'assembly.scad',
include_orig_code=False)