diff options
| author | VG <vg@devys.org> | 2016-12-10 00:53:06 +0100 | 
|---|---|---|
| committer | VG <vg@devys.org> | 2016-12-10 00:53:06 +0100 | 
| commit | bb84a8f375bdd89dfb7bcdc3f8dde4c2a57b2130 (patch) | |
| tree | f9c848f0ff32e623ea7139e0973a3fb5b6cca95b | |
| parent | 1d456a767734b8e0be6a7b60b2ca93b5475c7c75 (diff) | |
| download | catcad-bb84a8f375bdd89dfb7bcdc3f8dde4c2a57b2130.tar.gz catcad-bb84a8f375bdd89dfb7bcdc3f8dde4c2a57b2130.tar.bz2 catcad-bb84a8f375bdd89dfb7bcdc3f8dde4c2a57b2130.zip | |
add details on motherboard and rear plate
| -rw-r--r-- | cad/assembly.py | 55 | ||||
| -rw-r--r-- | cad/parameters.py | 2 | 
2 files changed, 45 insertions, 12 deletions
| diff --git a/cad/assembly.py b/cad/assembly.py index 10e65fe..7380963 100644 --- a/cad/assembly.py +++ b/cad/assembly.py @@ -14,7 +14,7 @@ def motherboard_holes(datum=parameters.motherboard_datum):          [datum[0] + 203.2, datum[1] - 22.86],          [datum[0] - 20.32, datum[1] - 154.94], -        [datum[0], datum[1] - 154.94], +        # [datum[0], datum[1] - 154.94], # not on this motherboard          [datum[0] + 45.72, datum[1] - 154.94],          [datum[0] + 203.2, datum[1] - 154.94], @@ -24,17 +24,25 @@ def motherboard_holes(datum=parameters.motherboard_datum):  def motherboard_hole_objects(datum=parameters.motherboard_datum): +    height = parameters.motherboard_size[2] + gap      return union()([ -        translate([h[0], h[1], 0])(cylinder(h=10, r=3.96/2, center=True)) +        translate([h[0], h[1], 0])(cylinder(h=height, r=3.96/2, center=True))          for h in motherboard_holes(datum)      ])  def motherboard():      hole_objects = motherboard_hole_objects() -    mb_size = parameters.motherboard_size -    board = cube(mb_size, center=True) -    return color(parameters.colors.motherboard)(render()(board - hole_objects)) +    size = parameters.motherboard_size +    board = cube(size, center=True) +    cooler = translate([-size[0]/2 + 100, +                        size[1]/2 - 120 - 30, +                        size[2]/2])(cube([120, 120, 65])) +    ramblock = translate([-size[0]/2 + 87, +                          -size[1]/2 + 30, +                          size[2]/2])(cube([145, 35, 30])) +    objects = board - hole_objects + cooler + ramblock +    return color(parameters.colors.motherboard)(render()(objects))  def motherboard_support(): @@ -57,14 +65,37 @@ def motherboard_support():  def wood_rear_plate():      thick = parameters.wood_thickness      size = parameters.external_size +    connector_size = parameters.connector_panel_size      rear_plate = cube([size[0] - 2*thick, thick, size[2]]) -    tpsu = [thick + gap, -gap, thick + gap + parameters.powersupply_offset_up] +    tpsu = [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 +    vent_r = 10 +    tvent = [size[0] - 2*thick - vent_r - 25, +             thick + gap, +             connector_size[2] + thick + vent_r + 20] +    vent_hole = translate(tvent)( +        rotate([90, 0, 0])( +            cylinder(r=vent_r, h=thick+2*gap) +        ) +    ) +    tconnector = [size[0] - 2*thick - 10 - connector_size[0], -gap, thick] +    connector_hole = translate(tconnector)( +        cube([connector_size[0], thick + 2*gap, connector_size[2]]) +    ) +    return rear_plate - psu_hole - vent_hole - connector_hole + + +def wood_front_plate(): +    thick = parameters.wood_thickness +    size = parameters.external_size +    objects = cube([size[0], thick, size[2]]) +    button = cylinder(r=parameters.button_diameter, h=thick+2*gap) +    objects += button +    return objects  def powersupply(): @@ -90,7 +121,7 @@ def wood_case():      rear_plate = translate([thick + gap, size[1] - thick + 2*gap, 0])(          wood_rear_plate()      ) -    front_plate = cube([size[0], thick, size[2]]) +    front_plate = wood_front_plate()      all_plates = (          bottom_plate + right_plate + left_plate + rear_plate + front_plate      ) @@ -98,7 +129,6 @@ def wood_case():  def main(): -    #d = motherboard()      thick = parameters.wood_thickness      hup = parameters.motherboard_support_mount_height \            + parameters.motherboard_support_size[2]/2 \ @@ -114,12 +144,15 @@ def main():              motherboard_assembly          )      ) -    #d = wood_rear_plate() -    psu = translate([parameters.powersupply_size[2] + 2*thick + gap, +    psu = translate([parameters.powersupply_size[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 +    #d = motherboard() +    #d = wood_rear_plate() +    d = wood_front_plate() +    #d = motherboard()      scad_render_to_file(d, 'assembly.scad',                          include_orig_code=False) diff --git a/cad/parameters.py b/cad/parameters.py index 9d50e0a..3ee4523 100644 --- a/cad/parameters.py +++ b/cad/parameters.py @@ -13,7 +13,7 @@ class colors:  external_size = [370, 270, 180]  connector_panel_size = [158.75, 2, 45] -motherboard_size = [243.84, 243.84, 3] +motherboard_size = [243.84, 225.84, 20]  motherboard_support_size = [280, 280, 1]  motherboard_datum = [motherboard_size[0]/2 - 243.84 + 34.29,                       motherboard_size[1]/2 - 10.16] | 
