commit
6591c88e42
18 changed files with 461901 additions and 0 deletions
@ -0,0 +1,91 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// File for all dimensions, so they can be changed globally. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 17.06.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
// Allowance |
||||
|
allowance05 = 0.5; |
||||
|
allowance1 = 1; |
||||
|
allowance2 = 2; |
||||
|
|
||||
|
// Dimesions holder |
||||
|
holder_height = 172; |
||||
|
holder_width = 18; |
||||
|
holder_depth = 8; |
||||
|
|
||||
|
// Dimensions notch |
||||
|
notch_height = 161; |
||||
|
// Calculations to construct a triangle which can take a PCB |
||||
|
biggest_pcb = 2; |
||||
|
c = biggest_pcb + allowance05; |
||||
|
x = c; |
||||
|
y = sqrt( pow(x,2) - pow(c/2,2) ); |
||||
|
|
||||
|
// Dimensions cuvette |
||||
|
glass_thickness = 6; |
||||
|
cuvette_width = 180 + 2*glass_thickness + allowance2; |
||||
|
cuvette_depth = 50 + 2*glass_thickness + allowance2; |
||||
|
|
||||
|
// Dimensions lid |
||||
|
lid_thickness = 4; |
||||
|
lid_width = 180 + 2*glass_thickness + 2*lid_thickness + allowance2; |
||||
|
lid_depth = 50 + 2*glass_thickness + 2*lid_thickness + allowance2; |
||||
|
lid_height = 20; |
||||
|
|
||||
|
// Dimensions holder heater |
||||
|
heater_diameter = 25 + allowance1; |
||||
|
heater_offset = 55; |
||||
|
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 = holder_depth + allowance05; |
||||
|
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; |
||||
|
|
||||
|
// Dimensions crossbar |
||||
|
crossbar_height = 2.5 + allowance05; |
||||
|
crossbar_width = 8 + allowance05; |
||||
|
crossbar_depth = slot_width; |
||||
|
|
||||
|
// Dimensions lid |
||||
|
lid_thickness = 4; |
||||
|
lid_slot_width = 8; |
||||
|
|
||||
|
// Dimensions neck |
||||
|
neck_diameter = holder_depth; |
||||
|
neck_height = lid_thickness + allowance05; |
||||
|
|
||||
|
// Dimensions head |
||||
|
head_width = holder_width; |
||||
|
head_depth = holder_depth; |
||||
|
head_height = 5; |
||||
|
|
||||
|
// Suitable for M3 screw thread |
||||
|
hole_diameter = 2.5; |
||||
|
|
||||
|
// Air system diameter |
||||
|
air_system = 10; |
||||
|
|
||||
|
// 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; |
||||
|
|
||||
|
// Dimensions bar that PCB does not fall down |
||||
|
bar_width = holder_width/2; |
||||
|
bar_depth = 6; |
||||
|
// The height of this thing should exactely use the space which is available |
||||
|
// between the notch for the PBC and the crossbar slot |
||||
|
bar_height = height_diff_1/4 - crossbar_height/2; |
||||
|
|
||||
|
// My color for everything |
||||
|
myColor = "FireBrick"; |
@ -0,0 +1,17 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Adapter for drilling machine in the embedded lab. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 17.06.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Includes |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
include <dimensions.scad> |
||||
|
use <dimensions.scad> |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Action |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
cube([crossbar_width - allowance05, crossbar_depth, crossbar_height - allowance05], center = true); |
@ -0,0 +1,86 @@ |
|||||
|
solid OpenSCAD_Model |
||||
|
facet normal -0 0 1 |
||||
|
outer loop |
||||
|
vertex -4 74 1.25 |
||||
|
vertex 4 -74 1.25 |
||||
|
vertex 4 74 1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 0 1 |
||||
|
outer loop |
||||
|
vertex 4 -74 1.25 |
||||
|
vertex -4 74 1.25 |
||||
|
vertex -4 -74 1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 0 -1 |
||||
|
outer loop |
||||
|
vertex -4 -74 -1.25 |
||||
|
vertex 4 74 -1.25 |
||||
|
vertex 4 -74 -1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal -0 0 -1 |
||||
|
outer loop |
||||
|
vertex 4 74 -1.25 |
||||
|
vertex -4 -74 -1.25 |
||||
|
vertex -4 74 -1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 -1 0 |
||||
|
outer loop |
||||
|
vertex -4 -74 -1.25 |
||||
|
vertex 4 -74 1.25 |
||||
|
vertex -4 -74 1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 -1 -0 |
||||
|
outer loop |
||||
|
vertex 4 -74 1.25 |
||||
|
vertex -4 -74 -1.25 |
||||
|
vertex 4 -74 -1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 1 -0 0 |
||||
|
outer loop |
||||
|
vertex 4 -74 1.25 |
||||
|
vertex 4 74 -1.25 |
||||
|
vertex 4 74 1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 1 0 0 |
||||
|
outer loop |
||||
|
vertex 4 74 -1.25 |
||||
|
vertex 4 -74 1.25 |
||||
|
vertex 4 -74 -1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 1 -0 |
||||
|
outer loop |
||||
|
vertex 4 74 -1.25 |
||||
|
vertex -4 74 1.25 |
||||
|
vertex 4 74 1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal 0 1 0 |
||||
|
outer loop |
||||
|
vertex -4 74 1.25 |
||||
|
vertex 4 74 -1.25 |
||||
|
vertex -4 74 -1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal -1 0 0 |
||||
|
outer loop |
||||
|
vertex -4 -74 -1.25 |
||||
|
vertex -4 74 1.25 |
||||
|
vertex -4 74 -1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
facet normal -1 -0 0 |
||||
|
outer loop |
||||
|
vertex -4 74 1.25 |
||||
|
vertex -4 -74 -1.25 |
||||
|
vertex -4 -74 1.25 |
||||
|
endloop |
||||
|
endfacet |
||||
|
endsolid OpenSCAD_Model |
After Width: | Height: | Size: 79 KiB |
@ -0,0 +1,41 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Floor protection for cuvette. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 12.06.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Includes |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
include <roundy.scad> |
||||
|
use <roundy.scad> |
||||
|
include <dimensions.scad> |
||||
|
use <dimensions.scad> |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Action |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
color(myColor) |
||||
|
difference() |
||||
|
{ |
||||
|
union() |
||||
|
{ |
||||
|
// Basic lid |
||||
|
translate([0, 0, lid_height/2]) |
||||
|
roundy(lid_width, lid_depth, lid_height, true); |
||||
|
translate([-lid_width/2 + 5, -lid_depth/2 + 2, lid_height/2]) |
||||
|
rotate([90, 0, 0]) |
||||
|
linear_extrude(height = 6, center = true, convexity = 10, twist = 0) |
||||
|
union() |
||||
|
{ |
||||
|
translate([0, 4, 0]) |
||||
|
text("Etching Machine of the Embedded Systems Master", size = 6, valign = "center"); |
||||
|
translate([0, -4, 0]) |
||||
|
text("Designed by Maximilian Stiefel 2017", size = 6, valign = "center"); |
||||
|
} |
||||
|
} |
||||
|
// Depening to put it over the cuvette |
||||
|
translate([0, 0, lid_height - lid_thickness]) |
||||
|
cube([cuvette_width, cuvette_depth, lid_height], center = true); |
||||
|
} |
File diff suppressed because it is too large
After Width: | Height: | Size: 131 KiB |
After Width: | Height: | Size: 89 KiB |
@ -0,0 +1,88 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Left holder part to anchor PCB with in the etching bath. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 17.06.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Includes |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
include <dimensions.scad> |
||||
|
use <dimensions.scad> |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Vars |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Action |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
color(myColor) |
||||
|
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([holder_width/2, holder_depth/2, holder_height]) |
||||
|
cylinder(h = neck_height, r = neck_diameter/2); |
||||
|
|
||||
|
// Bar, that PCB does not fall |
||||
|
translate([holder_width/2 - bar_width/2, -bar_depth, height_diff_1/2 - bar_height]) |
||||
|
cube([bar_width, bar_depth, bar_height]); |
||||
|
|
||||
|
// Text |
||||
|
translate([holder_width/2 + 4, holder_depth, 0.2*holder_height]) |
||||
|
rotate([90,0,180]) |
||||
|
linear_extrude(height = 3, center = true, convexity = 10, twist = 0) |
||||
|
text("L", size = 10, valign = "center"); |
||||
|
translate([0, holder_depth -1, (1/4)*height_diff_1 + 6]) |
||||
|
rotate([90, 0, 270]) |
||||
|
linear_extrude(height = 2, center = true, convexity = 10, twist = 0) |
||||
|
text("M3", size = 3, valign = "center"); |
||||
|
translate([0, holder_depth/2, holder_height/2]) |
||||
|
rotate([90, -90, 270]) |
||||
|
linear_extrude(height = 2, center = true, convexity = 10, twist = 0) |
||||
|
text("Maximilian Stiefel 2017", size = 3, valign = "center"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
union() |
||||
|
{ |
||||
|
// Cube for notch |
||||
|
//translate([holder_width/2 - notch_width/2, -notch_depth +2, height_diff_1/2]) |
||||
|
//cube([notch_width, notch_depth, notch_height], center = false); |
||||
|
|
||||
|
// Triangular notch |
||||
|
translate([-c/2 + holder_width/2, -0.01, height_diff_1/2]) |
||||
|
linear_extrude(height = notch_height, center = false) |
||||
|
polygon(points=[[0,0],[c/2,y], [c,0]], paths = [[0,1,2]]); |
||||
|
|
||||
|
// 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([-1, 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); |
||||
|
|
||||
|
// Holes for the air system |
||||
|
// translate([holder_width/2, holder_depth + 1, 0]) |
||||
|
// rotate([90, 0, 0]) |
||||
|
// cylinder(h = holder_depth + 2, r = air_system/2); |
||||
|
} |
||||
|
} |
File diff suppressed because it is too large
@ -0,0 +1,88 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Left holder part to anchor PCB with in the etching bath. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 17.06.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Includes |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
include <dimensions.scad> |
||||
|
use <dimensions.scad> |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Vars |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Action |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
color(myColor) |
||||
|
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([holder_width/2, holder_depth/2, holder_height]) |
||||
|
cylinder(h = neck_height, r = neck_diameter/2); |
||||
|
|
||||
|
// Bar, that PCB does not fall |
||||
|
translate([holder_width/2 - bar_width/2, -bar_depth, height_diff_1/2 - bar_height]) |
||||
|
cube([bar_width, bar_depth, bar_height]); |
||||
|
|
||||
|
// Text |
||||
|
translate([holder_width/2 +5, holder_depth, 0.2*holder_height]) |
||||
|
rotate([90,0,180]) |
||||
|
linear_extrude(height = 3, center = true, convexity = 10, twist = 0) |
||||
|
text("R", size = 10, valign = "center"); |
||||
|
translate([holder_width, 1, (1/4)*height_diff_1 + 6]) |
||||
|
rotate([90, 0,90]) |
||||
|
linear_extrude(height = 2, center = true, convexity = 10, twist = 0) |
||||
|
text("M3", size = 3, valign = "center"); |
||||
|
translate([holder_width, holder_depth/2, holder_height/2]) |
||||
|
rotate([90, -90, 90]) |
||||
|
linear_extrude(height = 2, center = true, convexity = 10, twist = 0) |
||||
|
text("Maximilian Stiefel 2017", size = 3, valign = "center"); |
||||
|
|
||||
|
} |
||||
|
|
||||
|
union() |
||||
|
{ |
||||
|
// Cube for notch |
||||
|
//translate([holder_width/2 - notch_width/2, -notch_depth +2, height_diff_1/2]) |
||||
|
//cube([notch_width, notch_depth, notch_height], center = false); |
||||
|
|
||||
|
// Triangular notch |
||||
|
translate([-c/2 + holder_width/2, -0.01, height_diff_1/2]) |
||||
|
linear_extrude(height = notch_height, center = false) |
||||
|
polygon(points=[[0,0],[c/2,y], [c,0]], paths = [[0,1,2]]); |
||||
|
|
||||
|
// 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 + 1, holder_depth/2, (1/4)*height_diff_1]) |
||||
|
rotate([0, 90, 0]) |
||||
|
cylinder(h = 9, r = hole_diameter/2); |
||||
|
translate([holder_width/2 + 1, holder_depth/2,(3/4)*height_diff_1 + notch_height]) |
||||
|
rotate([0, 90, 0]) |
||||
|
cylinder(h = 9, r = hole_diameter/2); |
||||
|
|
||||
|
// Holes for the air system |
||||
|
// translate([holder_width/2, holder_depth + 1, 0]) |
||||
|
// rotate([90, 0, 0]) |
||||
|
// cylinder(h = holder_depth + 2, r = air_system/2); |
||||
|
} |
||||
|
} |
@ -0,0 +1,69 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Lid for cuvette with pcb holder slots and a possibility to put a heater. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 17.06.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Includes |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
include <roundy.scad> |
||||
|
use <roundy.scad> |
||||
|
include <dimensions.scad> |
||||
|
use <dimensions.scad> |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Action |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
color(myColor) |
||||
|
difference() |
||||
|
{ |
||||
|
union() |
||||
|
{ |
||||
|
// Basic lid |
||||
|
translate([0, 0, lid_height/2]) |
||||
|
roundy(lid_width, lid_depth, lid_height, true); |
||||
|
//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); |
||||
|
|
||||
|
// Uppsala University Logo |
||||
|
translate([0, 5, lid_height]) |
||||
|
linear_extrude(height = 1) |
||||
|
scale(0.08) |
||||
|
import("uppsla_university.dxf"); |
||||
|
|
||||
|
// Text |
||||
|
translate([-lid_width/2 + 5, -lid_depth/2 + 2, lid_height/2]) |
||||
|
rotate([90, 0, 0]) |
||||
|
linear_extrude(height = 6, center = true, convexity = 10, twist = 0) |
||||
|
union() |
||||
|
{ |
||||
|
translate([0, 4, 0]) |
||||
|
text("Embedded Etcher", size = 6, valign = "center"); |
||||
|
translate([0, -4, 0]) |
||||
|
text("Revision 1.0", size = 6, valign = "center"); |
||||
|
} |
||||
|
} |
||||
|
union() |
||||
|
{ |
||||
|
// Depening to put it over the cuvette |
||||
|
translate([0, 0, lid_height/2 - lid_thickness]) |
||||
|
cube([cuvette_width, cuvette_depth, 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 + 3, (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 + 3, (1/2)*lid_height]) |
||||
|
cube([service_hole_width, service_hole_depth, service_hole_height]); |
||||
|
|
||||
|
} |
||||
|
} |
File diff suppressed because it is too large
After Width: | Height: | Size: 88 KiB |
@ -0,0 +1,37 @@ |
|||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
// Module for a open box with rounded edges. |
||||
|
// |
||||
|
// Author: Maximilian Stiefel |
||||
|
// Last modification: 26.04.2017 |
||||
|
///////////////////////////////////////////////////////////////////////////////// |
||||
|
|
||||
|
module roundy(width, depth, height, center) |
||||
|
{ |
||||
|
///////////////////////////////////////////////////////////////////////// |
||||
|
// Vars |
||||
|
///////////////////////////////////////////////////////////////////////// |
||||
|
edge_rounding = 8; |
||||
|
transx = -width/2; |
||||
|
transy = -depth/2; |
||||
|
transz = -height/2; |
||||
|
|
||||
|
///////////////////////////////////////////////////////////////////////// |
||||
|
// Action |
||||
|
///////////////////////////////////////////////////////////////////////// |
||||
|
// Hull 4 cylinders |
||||
|
translate([transx, transy, transz]) |
||||
|
hull(){ |
||||
|
// x=0, y=0 |
||||
|
translate([edge_rounding, edge_rounding, 0]) |
||||
|
cylinder(r = edge_rounding, h = height); |
||||
|
// x=width, y=0 |
||||
|
translate([width - edge_rounding, edge_rounding, 0]) |
||||
|
cylinder(r = edge_rounding, h = height); |
||||
|
// x=0, y=depth |
||||
|
translate([edge_rounding, depth - edge_rounding,0]) |
||||
|
cylinder(r = edge_rounding, h = height); |
||||
|
//x=width, y=length |
||||
|
translate([width - edge_rounding, depth - edge_rounding,0]) |
||||
|
cylinder(r = edge_rounding, h = height); |
||||
|
} |
||||
|
} |
@ -0,0 +1,37 @@ |
|||||
|
ISO-10303-21; |
||||
|
HEADER; |
||||
|
FILE_DESCRIPTION(('FreeCAD Model'),'2;1'); |
||||
|
FILE_NAME('/home/maximilian/UppSense/cad/etching_machine/v2.0/test.step' |
||||
|
,'2017-06-17T18:55:45',('Author'),(''), |
||||
|
'Open CASCADE STEP processor 6.8','FreeCAD','Unknown'); |
||||
|
FILE_SCHEMA(('AUTOMOTIVE_DESIGN_CC2 { 1 2 10303 214 -1 1 5 4 }')); |
||||
|
ENDSEC; |
||||
|
DATA; |
||||
|
#1 = APPLICATION_PROTOCOL_DEFINITION('committee draft', |
||||
|
'automotive_design',1997,#2); |
||||
|
#2 = APPLICATION_CONTEXT( |
||||
|
'core data for automotive mechanical design processes'); |
||||
|
#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); |
||||
|
#4 = PRODUCT_DEFINITION_SHAPE('','',#5); |
||||
|
#5 = PRODUCT_DEFINITION('design','',#6,#9); |
||||
|
#6 = PRODUCT_DEFINITION_FORMATION('','',#7); |
||||
|
#7 = PRODUCT('ASSEMBLY','ASSEMBLY','',(#8)); |
||||
|
#8 = MECHANICAL_CONTEXT('',#2,'mechanical'); |
||||
|
#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); |
||||
|
#10 = SHAPE_REPRESENTATION('',(#11),#15); |
||||
|
#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14); |
||||
|
#12 = CARTESIAN_POINT('',(0.,0.,0.)); |
||||
|
#13 = DIRECTION('',(0.,0.,1.)); |
||||
|
#14 = DIRECTION('',(1.,0.,-0.)); |
||||
|
#15 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) |
||||
|
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#19)) GLOBAL_UNIT_ASSIGNED_CONTEXT( |
||||
|
(#16,#17,#18)) REPRESENTATION_CONTEXT('Context #1', |
||||
|
'3D Context with UNIT and UNCERTAINTY') ); |
||||
|
#16 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); |
||||
|
#17 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); |
||||
|
#18 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); |
||||
|
#19 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#16, |
||||
|
'distance_accuracy_value','confusion accuracy'); |
||||
|
#20 = PRODUCT_TYPE('part',$,(#7)); |
||||
|
ENDSEC; |
||||
|
END-ISO-10303-21; |
File diff suppressed because it is too large
After Width: | Height: | Size: 133 KiB |
Loading…
Reference in new issue