-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathgenerate_mx.py
More file actions
63 lines (58 loc) · 4.03 KB
/
generate_mx.py
File metadata and controls
63 lines (58 loc) · 4.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import cadquery as cq
from ols import keycap
r3 = keycap()
r3_cut = keycap(cut=True).rotate((0,0,0),(1,0,0),90)
r3h = keycap(depth=2.0)
r3h_cut = keycap(depth=2.0, cut=True).rotate((0,0,0),(1,0,0),90)
r3h_dot = keycap(depth=2.0, homingDot=True)
r3h_dot_cut = keycap(depth=2.0, homingDot=True, cut=True).rotate((0,0,0),(1,0,0),90)
r2 = keycap(angle=-6, height=5.5)
r2_cut = keycap(angle=-6, height=5.5, cut=0.8).rotate((0,0,0),(1,0,0),90)
r4 = keycap(angle=6, height=5.5)
r4_cut = keycap(angle=6, height=5.5, cut=0.4).rotate((0,0,0),(1,0,0),90)
thumb = keycap(angle=-6, depth=-1.0, height=5.5)
thumb_cut = keycap(angle=-6, depth=-1.0, height=5.5, cut=0.8).rotate((0,0,0),(1,0,0),90)
thumb15 = keycap(angle=-6, unitY=1.5, depth=-1.0, height=5.5)
thumb15_cut = keycap(angle=-6, unitY=1.5, depth=-1.0, height=5.5, cut=0.8).rotate((0,0,0),(1,0,0),90)
#assembly = cq.Assembly(cq.Workplane("XY").transformed(rotate=(0,0,90)), color=cq.Color(1,173/255,0))
#assembly.add(r3)
#assembly.add(r2, loc=cq.Location((0, -19.05, 0)))
##assembly.add(r1, loc=cq.Location((0, -19.05*2, 0)))
#assembly.add(r4, loc=cq.Location((0, 19.05, 0)))
#assembly.add(r3h_dot, loc=cq.Location((0, 19.05 * 2, 0)))
##assembly.add(keycap(depth=-1.0, height=5.5, cut=0.5), loc=cq.Location((0, 19.05*3, 0)))
if 'show_object' in locals():
show_object(r3)
show_object(r2.rotate((0,0,0),(0,0,1),-90).translate((-19.05, 0)))
show_object(r4.rotate((0,0,0),(0,0,1), -90).translate((19.05, 0)))
show_object(thumb.rotate((0,0,0),(0,0,1), -90).translate((19.05*2, 0)))
show_object(thumb15.rotate((0,0,0),(0,0,1), -90).translate((19.05*2, 19.05)))
if __name__ == '__main__':
cq.exporters.export(r3, 'generated/mx/ols-v1-r3.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(r3_cut, 'generated/mx/ols-v1-r3-cut.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(r3h, 'generated/mx/ols-v1-r3-home.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(r3h_cut, 'generated/mx/ols-v1-r3-home-cut.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(r3h_dot, 'generated/mx/ols-v1-r3-home-dot.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(r3h_dot_cut, 'generated/mx/ols-v1-r3-home-dot-cut.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(r2, 'generated/mx/ols-v1-r2.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(r2_cut, 'generated/mx/ols-v1-r2-cut.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(r4, 'generated/mx/ols-v1-r4.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(r4_cut, 'generated/mx/ols-v1-r4-cut.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(thumb, 'generated/mx/ols-v1-thumb.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(thumb_cut, 'generated/mx/ols-v1-thumb-cut.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(thumb15, 'generated/mx/ols-v1-thumb-1.5u.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(thumb15_cut, 'generated/mx/ols-v1-thumb-1.5u-cut.stl', tolerance=0.001, angularTolerance=0.05)
cq.exporters.export(r3, 'generated/mx/ols-v1-r3.step')
cq.exporters.export(r3_cut, 'generated/mx/ols-v1-r3-cut.step')
cq.exporters.export(r3h, 'generated/mx/ols-v1-r3-home.step')
cq.exporters.export(r3h_cut, 'generated/mx/ols-v1-r3-home-cut.step')
cq.exporters.export(r3h_dot, 'generated/mx/ols-v1-r3-home-dot.step')
cq.exporters.export(r3h_dot_cut, 'generated/mx/ols-v1-r3-home-dot-cut.step')
cq.exporters.export(r2, 'generated/mx/ols-v1-r2.step')
cq.exporters.export(r2_cut, 'generated/mx/ols-v1-r2-cut.step')
cq.exporters.export(r4, 'generated/mx/ols-v1-r4.step')
cq.exporters.export(r4_cut, 'generated/mx/ols-v1-r4-cut.step')
cq.exporters.export(thumb, 'generated/mx/ols-v1-thumb.step')
cq.exporters.export(thumb_cut, 'generated/mx/ols-v1-thumb-cut.step')
cq.exporters.export(thumb15, 'generated/mx/ols-v1-thumb-1.5u.step')
cq.exporters.export(thumb_cut, 'generated/mx/ols-v1-thumb-1.5u-cut.step')