Skip to content

Commit 40e8840

Browse files
committed
improved box
1 parent ec6dfce commit 40e8840

25 files changed

+81340
-3597
lines changed

.gitattributes

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
*.FCStd diff=./fcinfo
1+
*.FCStd diff=./fcinfo

.gitignore

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*.stl
2-
*.png
3-
*.svg
4-
*.FCStd1
1+
*.stl
2+
*.png
3+
*.svg
4+
*.FCStd1

Deprecated/Down projection Openscad Kickstarter/box/onderkant.py

+813-813
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
# Company: Hexastorm
2-
# Author: Henri Starmans
3-
# Date: 17-3-2017
4-
5-
from stl_tools import numpy2stl
6-
from scipy.ndimage import gaussian_filter
7-
from pylab import imread
8-
9-
img = 256 * imread("freecadlogo.png")
10-
img = img[:,:,0]+1.*img[:,:,3]
11-
img = gaussian_filter(img,2)
12-
numpy2stl(img,'hexastorm.stl', scale=0.2, mask_val=5, solid=True)
13-
1+
# Company: Hexastorm
2+
# Author: Henri Starmans
3+
# Date: 17-3-2017
4+
5+
from stl_tools import numpy2stl
6+
from scipy.ndimage import gaussian_filter
7+
from pylab import imread
8+
9+
img = 256 * imread("freecadlogo.png")
10+
img = img[:,:,0]+1.*img[:,:,3]
11+
img = gaussian_filter(img,2)
12+
numpy2stl(img,'hexastorm.stl', scale=0.2, mask_val=5, solid=True)
13+

Deprecated/uEye stand/ueyestand.py

+64-64
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,64 @@
1-
# Company: Hexastorm
2-
# Author: Henri Starmans
3-
# Date: 26-6-2017
4-
5-
from os import system
6-
from math import sqrt, ceil
7-
from solid.objects import cylinder, cube, polygon, import_stl, scale
8-
from solid.utils import scad_render_to_file, up, back, right, translate
9-
from solid.utils import rotate, left, down, mirror, forward, hole, linear_extrude, hull
10-
11-
12-
THCKW = 2 # [mm], wall thickness
13-
SGM = 30 # number of segment for circle
14-
15-
16-
def ueyeholder():
17-
"""ueyeholder
18-
creates a holder for an ueye camera
19-
20-
A holder for an uEye camera to view upward.
21-
The uEye camera cannot look upward due its connector on the back.
22-
This design solves this problem via a cubical enclosure.
23-
"""
24-
#### UEYE cubical dimension
25-
margin = 0.3
26-
size_x = 34 # mm
27-
size_y = 32 # mm
28-
size_z = 34.6 # mm
29-
### UEYE screw
30-
screw_d = 3 # mm
31-
screw_z = 30.4 # sep z-direction
32-
screw_z -= screw_d
33-
screw_ytop = 19.8 # mm
34-
screw_ytop -= screw_d
35-
screw_ybottom = 21.8
36-
screw_ybottom -= screw_d
37-
screw_zoff = 1.3+screw_d/2
38-
connector_z = 18 # mm
39-
connector_x = 16.2 # mm
40-
####
41-
# box
42-
# camera is pushed in from bottom
43-
holder = cube([size_x+2*THCKW+margin, size_y+2*THCKW+margin, size_z+THCKW+connector_z+margin])
44-
holder -= translate([THCKW, THCKW , THCKW])(cube([size_x+margin, size_y+margin,
45-
size_z+THCKW+connector_z+margin]))
46-
# 4 screw holes
47-
socket = cylinder(h=size_x+2*THCKW, r=screw_d/2, segments=SGM)
48-
socket = rotate([0,90,0])(socket)
49-
sockets = socket+forward(screw_ybottom)(socket)
50-
temp = (screw_ytop-screw_ybottom)*0.5
51-
sockets += up(screw_z)(back(temp)(socket)+forward(screw_ytop-temp)(socket))
52-
# substraction prep sockets
53-
holder -= translate([0, (size_y-screw_ybottom)*0.5+THCKW+0.5*margin,
54-
screw_zoff+THCKW+connector_z+0.5*margin])(sockets)
55-
# space connector
56-
holder -=translate([THCKW+0.5*(size_x-connector_x),0,THCKW])(cube([connector_x,
57-
THCKW,size_z+THCKW+connector_z]))
58-
return holder
59-
60-
if __name__ == "__main__":
61-
62-
holder_print = ueyeholder()
63-
scad_render_to_file(holder_print, "holderprint.scad")
64-
1+
# Company: Hexastorm
2+
# Author: Henri Starmans
3+
# Date: 26-6-2017
4+
5+
from os import system
6+
from math import sqrt, ceil
7+
from solid.objects import cylinder, cube, polygon, import_stl, scale
8+
from solid.utils import scad_render_to_file, up, back, right, translate
9+
from solid.utils import rotate, left, down, mirror, forward, hole, linear_extrude, hull
10+
11+
12+
THCKW = 2 # [mm], wall thickness
13+
SGM = 30 # number of segment for circle
14+
15+
16+
def ueyeholder():
17+
"""ueyeholder
18+
creates a holder for an ueye camera
19+
20+
A holder for an uEye camera to view upward.
21+
The uEye camera cannot look upward due its connector on the back.
22+
This design solves this problem via a cubical enclosure.
23+
"""
24+
#### UEYE cubical dimension
25+
margin = 0.3
26+
size_x = 34 # mm
27+
size_y = 32 # mm
28+
size_z = 34.6 # mm
29+
### UEYE screw
30+
screw_d = 3 # mm
31+
screw_z = 30.4 # sep z-direction
32+
screw_z -= screw_d
33+
screw_ytop = 19.8 # mm
34+
screw_ytop -= screw_d
35+
screw_ybottom = 21.8
36+
screw_ybottom -= screw_d
37+
screw_zoff = 1.3+screw_d/2
38+
connector_z = 18 # mm
39+
connector_x = 16.2 # mm
40+
####
41+
# box
42+
# camera is pushed in from bottom
43+
holder = cube([size_x+2*THCKW+margin, size_y+2*THCKW+margin, size_z+THCKW+connector_z+margin])
44+
holder -= translate([THCKW, THCKW , THCKW])(cube([size_x+margin, size_y+margin,
45+
size_z+THCKW+connector_z+margin]))
46+
# 4 screw holes
47+
socket = cylinder(h=size_x+2*THCKW, r=screw_d/2, segments=SGM)
48+
socket = rotate([0,90,0])(socket)
49+
sockets = socket+forward(screw_ybottom)(socket)
50+
temp = (screw_ytop-screw_ybottom)*0.5
51+
sockets += up(screw_z)(back(temp)(socket)+forward(screw_ytop-temp)(socket))
52+
# substraction prep sockets
53+
holder -= translate([0, (size_y-screw_ybottom)*0.5+THCKW+0.5*margin,
54+
screw_zoff+THCKW+connector_z+0.5*margin])(sockets)
55+
# space connector
56+
holder -=translate([THCKW+0.5*(size_x-connector_x),0,THCKW])(cube([connector_x,
57+
THCKW,size_z+THCKW+connector_z]))
58+
return holder
59+
60+
if __name__ == "__main__":
61+
62+
holder_print = ueyeholder()
63+
scad_render_to_file(holder_print, "holderprint.scad")
64+

FreeCAD files/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ If you print all the components, you should be able to build something like show
44
<img src="https://cdn.hackaday.io/images/7106161566426847098.jpg" align="center" height="300"/>
55

66

7+
### Notes on using LCINterlock
8+
LCinterlock does not account for the orientation of the [document](https://github.com/execuc/LCInterlocking/pull/34). Therefore objects are cloned and the cloned objects are used to make the box. Futhermore, it is not possible so set a margin for the nut [width](https://github.com/execuc/LCInterlocking/issues/46). This is fixed by adjusting the code of the core module.
9+
710
### Laser height
811
The laser should be at a height of 29 mm.
912

FreeCAD files/assembly.FCStd

-180 KB
Binary file not shown.
120 KB
Binary file not shown.

FreeCAD files/back_module.FCStd

-208 KB
Binary file not shown.

FreeCAD files/baseplate.FCStd

-37.7 KB
Binary file not shown.

0 commit comments

Comments
 (0)