17 changed files with 4762 additions and 0 deletions
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 86 KiB |
Binary file not shown.
@ -0,0 +1,18 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Adapter for drilling machine in the embedded lab. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 07.06.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Vars |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
crossbar_depth = 175; |
||||
|
crossbar_height = 5; |
||||
|
crossbar_width = 5; |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Action |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
cube([crossbar_width, crossbar_depth, crossbar_height], center = true); |
@ -0,0 +1,86 @@ |
|||||
|
solid OpenSCAD_Model |
||||
|
facet normal -0 0 1 |
||||
|
outer loop |
||||
|
vertex -2.5 87.5 2.5 |
||||
|
vertex 2.5 -87.5 2.5 |
||||
|
vertex 2.5 87.5 2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 0 1 |
||||
|
outer loop |
||||
|
vertex 2.5 -87.5 2.5 |
||||
|
vertex -2.5 87.5 2.5 |
||||
|
vertex -2.5 -87.5 2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 0 -1 |
||||
|
outer loop |
||||
|
vertex -2.5 -87.5 -2.5 |
||||
|
vertex 2.5 87.5 -2.5 |
||||
|
vertex 2.5 -87.5 -2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal -0 0 -1 |
||||
|
outer loop |
||||
|
vertex 2.5 87.5 -2.5 |
||||
|
vertex -2.5 -87.5 -2.5 |
||||
|
vertex -2.5 87.5 -2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 -1 0 |
||||
|
outer loop |
||||
|
vertex -2.5 -87.5 -2.5 |
||||
|
vertex 2.5 -87.5 2.5 |
||||
|
vertex -2.5 -87.5 2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 -1 -0 |
||||
|
outer loop |
||||
|
vertex 2.5 -87.5 2.5 |
||||
|
vertex -2.5 -87.5 -2.5 |
||||
|
vertex 2.5 -87.5 -2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 1 -0 0 |
||||
|
outer loop |
||||
|
vertex 2.5 -87.5 2.5 |
||||
|
vertex 2.5 87.5 -2.5 |
||||
|
vertex 2.5 87.5 2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 1 0 0 |
||||
|
outer loop |
||||
|
vertex 2.5 87.5 -2.5 |
||||
|
vertex 2.5 -87.5 2.5 |
||||
|
vertex 2.5 -87.5 -2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 1 -0 |
||||
|
outer loop |
||||
|
vertex 2.5 87.5 -2.5 |
||||
|
vertex -2.5 87.5 2.5 |
||||
|
vertex 2.5 87.5 2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 1 0 |
||||
|
outer loop |
||||
|
vertex -2.5 87.5 2.5 |
||||
|
vertex 2.5 87.5 -2.5 |
||||
|
vertex -2.5 87.5 -2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal -1 0 0 |
||||
|
outer loop |
||||
|
vertex -2.5 -87.5 -2.5 |
||||
|
vertex -2.5 87.5 2.5 |
||||
|
vertex -2.5 87.5 -2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal -1 -0 0 |
||||
|
outer loop |
||||
|
vertex -2.5 87.5 2.5 |
||||
|
vertex -2.5 -87.5 -2.5 |
||||
|
vertex -2.5 -87.5 2.5 |
||||
|
endloop |
||||
|
endfacet |
||||
|
endsolid OpenSCAD_Model |
@ -0,0 +1,91 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Adapter for drilling machine in the embedded lab. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 10.06.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Vars |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Dimesions holder |
||||
|
holder_height = 160; |
||||
|
holder_width = 15; |
||||
|
holder_depth = 5; |
||||
|
|
||||
|
// Dimensions notch |
||||
|
notch_height = 135; |
||||
|
notch_width = 2; |
||||
|
notch_depth = 3; |
||||
|
|
||||
|
// General allowance |
||||
|
allowance = 0.5; |
||||
|
|
||||
|
// Dimensions crossbar |
||||
|
crossbar_height = 5 + allowance; |
||||
|
crossbar_width = 5 + allowance; |
||||
|
|
||||
|
// Dimensions lid |
||||
|
lid_thickness = 3; |
||||
|
lid_slot_width = 8; |
||||
|
|
||||
|
// Dimensions neck |
||||
|
neck_width = lid_slot_width - allowance; |
||||
|
neck_depth = holder_depth; |
||||
|
neck_height = lid_thickness + allowance; |
||||
|
|
||||
|
// Dimensions head |
||||
|
head_width = holder_width; |
||||
|
head_depth = holder_depth; |
||||
|
head_height = 5; |
||||
|
|
||||
|
// Suitable for M3 screw thread |
||||
|
hole_diameter = 2.5; |
||||
|
|
||||
|
// Height difference between notch for PCB and the actual holder |
||||
|
height_diff_1 = holder_height - notch_height; |
||||
|
|
||||
|
// Width difference between crossbar and holder |
||||
|
width_diff_1 = holder_width - crossbar_width; |
||||
|
|
||||
|
// Width difference between holder and neck |
||||
|
width_diff_2 = holder_width - neck_width; |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Action |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
difference() |
||||
|
{ |
||||
|
union() |
||||
|
{ |
||||
|
// Cube for the base holder |
||||
|
cube([holder_width, holder_depth, holder_height], center = false); |
||||
|
// Head |
||||
|
translate([0, 0, holder_height + neck_height]) |
||||
|
cube([head_width, head_depth, head_height]); |
||||
|
// Neck |
||||
|
translate([width_diff_2/2, 0, holder_height]) |
||||
|
cube([neck_width, neck_depth, neck_height]); |
||||
|
} |
||||
|
|
||||
|
union() |
||||
|
{ |
||||
|
// Cube for notch |
||||
|
translate([holder_width/2 - notch_width/2, -1, height_diff_1/2]) |
||||
|
cube([notch_width, notch_depth, notch_height], center = false); |
||||
|
|
||||
|
// Slots for crossbars |
||||
|
translate([width_diff_1/2, -1, (1/4)*height_diff_1 - crossbar_height/2]) |
||||
|
cube([crossbar_width, holder_depth + 2, crossbar_height], center = false); |
||||
|
translate([width_diff_1/2, -1, (3/4)*height_diff_1 + notch_height - crossbar_height/2]) |
||||
|
cube([crossbar_width, holder_depth + 2, crossbar_height], center = false); |
||||
|
|
||||
|
// Drill holes for screws |
||||
|
translate([0, holder_depth/2, (1/4)*height_diff_1]) |
||||
|
rotate([0, 90, 0]) |
||||
|
cylinder(h = 9, r = hole_diameter/2); |
||||
|
translate([0, holder_depth/2,(3/4)*height_diff_1 + notch_height]) |
||||
|
rotate([0, 90, 0]) |
||||
|
cylinder(h = 9, r = hole_diameter/2); |
||||
|
} |
||||
|
} |
File diff suppressed because it is too large
@ -0,0 +1,91 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Adapter for drilling machine in the embedded lab. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 10.06.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Vars |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Dimesions holder |
||||
|
holder_height = 160; |
||||
|
holder_width = 15; |
||||
|
holder_depth = 5; |
||||
|
|
||||
|
// Dimensions notch |
||||
|
notch_height = 135; |
||||
|
notch_width = 2; |
||||
|
notch_depth = 3; |
||||
|
|
||||
|
// General allowance |
||||
|
allowance = 0.5; |
||||
|
|
||||
|
// Dimensions crossbar |
||||
|
crossbar_height = 5 + allowance; |
||||
|
crossbar_width = 5 + allowance; |
||||
|
|
||||
|
// Dimensions lid |
||||
|
lid_thickness = 3; |
||||
|
lid_slot_width = 8; |
||||
|
|
||||
|
// Dimensions neck |
||||
|
neck_width = lid_slot_width - allowance; |
||||
|
neck_depth = holder_depth; |
||||
|
neck_height = lid_thickness + allowance; |
||||
|
|
||||
|
// Dimensions head |
||||
|
head_width = holder_width; |
||||
|
head_depth = holder_depth; |
||||
|
head_height = 5; |
||||
|
|
||||
|
// Suitable for M3 screw thread |
||||
|
hole_diameter = 2.5; |
||||
|
|
||||
|
// Height difference between notch for PCB and the actual holder |
||||
|
height_diff_1 = holder_height - notch_height; |
||||
|
|
||||
|
// Width difference between crossbar and holder |
||||
|
width_diff_1 = holder_width - crossbar_width; |
||||
|
|
||||
|
// Width difference between holder and neck |
||||
|
width_diff_2 = holder_width - neck_width; |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Action |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
difference() |
||||
|
{ |
||||
|
union() |
||||
|
{ |
||||
|
// Cube for the base holder |
||||
|
cube([holder_width, holder_depth, holder_height], center = false); |
||||
|
// Head |
||||
|
translate([0, 0, holder_height + neck_height]) |
||||
|
cube([head_width, head_depth, head_height]); |
||||
|
// Neck |
||||
|
translate([width_diff_2/2, 0, holder_height]) |
||||
|
cube([neck_width, neck_depth, neck_height]); |
||||
|
} |
||||
|
|
||||
|
union() |
||||
|
{ |
||||
|
// Cube for notch |
||||
|
translate([holder_width/2 - notch_width/2, -1, height_diff_1/2]) |
||||
|
cube([notch_width, notch_depth, notch_height], center = false); |
||||
|
|
||||
|
// Slots for crossbars |
||||
|
translate([width_diff_1/2, -1, (1/4)*height_diff_1 - crossbar_height/2]) |
||||
|
cube([crossbar_width, holder_depth + 2, crossbar_height], center = false); |
||||
|
translate([width_diff_1/2, -1, (3/4)*height_diff_1 + notch_height - crossbar_height/2]) |
||||
|
cube([crossbar_width, holder_depth + 2, crossbar_height], center = false); |
||||
|
|
||||
|
// Drill holes for screws |
||||
|
translate([holder_width/2, holder_depth/2, (1/4)*height_diff_1]) |
||||
|
rotate([0, 90, 0]) |
||||
|
cylinder(h = 9, r = hole_diameter/2); |
||||
|
translate([holder_width/2, holder_depth/2,(3/4)*height_diff_1 + notch_height]) |
||||
|
rotate([0, 90, 0]) |
||||
|
cylinder(h = 9, r = hole_diameter/2); |
||||
|
} |
||||
|
} |
File diff suppressed because it is too large
@ -0,0 +1,74 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Adapter for drilling machine in the embedded lab. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 10.06.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Vars |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Allowance |
||||
|
allowance1 = 0.5; |
||||
|
allowance2 = 1; |
||||
|
|
||||
|
// Dimensions cuvette |
||||
|
glass_thickness = 6; |
||||
|
cuvette_width = 180 + 2*glass_thickness + allowance2; |
||||
|
cuvette_depth = 50 + 2*glass_thickness + allowance2; |
||||
|
|
||||
|
// Dimensions lid |
||||
|
lid_thickness = 3; |
||||
|
lid_width = 180 + 2*glass_thickness + 2*lid_thickness; |
||||
|
lid_depth = 50 + 2*glass_thickness + 2*lid_thickness; |
||||
|
lid_height = 20; |
||||
|
|
||||
|
// Dimensions holder heater |
||||
|
heater_diameter = 30; |
||||
|
heater_offset = 40; |
||||
|
heater_pos = -lid_width/2 + heater_diameter/2 + 2*lid_thickness + 3; |
||||
|
|
||||
|
// Dimensions slot for the PCB holder arms |
||||
|
slot_width = lid_width - heater_diameter - 2*lid_thickness - 20; |
||||
|
slot_depth = 8; |
||||
|
slot_height = 1.5 * lid_height; |
||||
|
slot_pos = heater_pos + heater_diameter/2 + lid_thickness + 3; |
||||
|
|
||||
|
// Dimensions service holes for temp. sensor and air tube |
||||
|
service_hole_width = 10; |
||||
|
service_hole_depth = 10; |
||||
|
service_hole_height = lid_height; |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Action |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
difference() |
||||
|
{ |
||||
|
union() |
||||
|
{ |
||||
|
// Basic lid |
||||
|
translate([0, 0, lid_height/2]) |
||||
|
cube([lid_width, lid_depth, lid_height], center = true); |
||||
|
translate([heater_pos, 0, lid_height - 1]) |
||||
|
cylinder(h = heater_offset + 1, r = heater_diameter/2 + lid_thickness); |
||||
|
} |
||||
|
union() |
||||
|
{ |
||||
|
// Depening to put it over the cuvette |
||||
|
translate([0, 0, (3/8)*lid_height - 1]) |
||||
|
cube([cuvette_width, cuvette_depth, (3/4)*lid_height], center = true); |
||||
|
// Hole for heater |
||||
|
translate([heater_pos, 0, -1]) |
||||
|
cylinder(h = heater_offset + lid_height + 2, r = heater_diameter/2); |
||||
|
// Slot for the PCB holder arms |
||||
|
translate([slot_pos, -slot_depth/2, 0]) |
||||
|
cube([slot_width, slot_depth, slot_height], center = false); |
||||
|
|
||||
|
// Service holes |
||||
|
translate([-lid_width/2 + lid_thickness + 5, -lid_depth/2 + lid_thickness + 1, (1/2)*lid_height]) |
||||
|
cube([service_hole_width, service_hole_depth, service_hole_height]); |
||||
|
translate([lid_width/2 - lid_thickness - service_hole_width -5, -lid_depth/2 + lid_thickness + 1, (1/2)*lid_height]) |
||||
|
cube([service_hole_width, service_hole_depth, service_hole_height]); |
||||
|
|
||||
|
} |
||||
|
} |
File diff suppressed because it is too large
Loading…
Reference in new issue