File size: 2,209 Bytes
ebc1b3a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
64
65
66
67
68
69
import FreeCAD as App
import Part

cream = (0.89, 0.85, 0.74)
sand = (0.78, 0.73, 0.62)
screen = (0.08, 0.11, 0.15)
slate = (0.24, 0.29, 0.32)
mint = (0.37, 0.63, 0.54)
coral = (0.93, 0.47, 0.34)

# Monitor shell.
monitor = Part.makeBox(26, 4, 17, App.Vector(-13, -2, 8))
monitor_obj = Part.show(monitor, "Monitor")
monitor_obj.ViewObject.ShapeColor = cream

# Screen panel and a tiny status line.
glass = Part.makeBox(23, 0.6, 14, App.Vector(-11.5, -2.4, 9.5))
glass_obj = Part.show(glass, "Screen")
glass_obj.ViewObject.ShapeColor = screen

status = Part.makeBox(20, 0.12, 0.42, App.Vector(-10, -2.52, 9.0))
status_obj = Part.show(status, "StatusLine")
status_obj.ViewObject.ShapeColor = mint

power = Part.makeCylinder(0.28, 0.35, App.Vector(9.9, -2.5, 8.6), App.Vector(0, 1, 0))
power_obj = Part.show(power, "PowerDot")
power_obj.ViewObject.ShapeColor = coral

# Tapered stand and round foot.
neck = Part.makeCone(2.6, 1.3, 6.5, App.Vector(0, 0, 1.5))
neck_obj = Part.show(neck, "Stand")
neck_obj.ViewObject.ShapeColor = sand

foot = Part.makeCylinder(6.2, 1.5, App.Vector(0, 0, 0))
foot_obj = Part.show(foot, "Foot")
foot_obj.ViewObject.ShapeColor = sand

# Keyboard slab.
keyboard = Part.makeBox(24, 8, 1, App.Vector(-12, -11.5, 0))
keyboard_obj = Part.show(keyboard, "Keyboard")
keyboard_obj.ViewObject.ShapeColor = cream

keywell = Part.makeBox(21.5, 6.6, 0.32, App.Vector(-10.75, -10.8, 1.0))
keywell_obj = Part.show(keywell, "KeyWell")
keywell_obj.ViewObject.ShapeColor = slate

for row in range(5):
    keys = Part.makeBox(
        19,
        0.9,
        0.36,
        App.Vector(-9.5, -10.1 + row * 1.35, 1.32),
    )
    keys_obj = Part.show(keys, "KeyRow")
    keys_obj.ViewObject.ShapeColor = (0.42, 0.48, 0.48)

# A small tower on the right.
tower = Part.makeBox(6, 9, 16, App.Vector(14, -2, 0))
tower_obj = Part.show(tower, "Tower")
tower_obj.ViewObject.ShapeColor = cream

vent = Part.makeBox(1.2, 0.22, 8.5, App.Vector(15.4, -2.12, 3.2))
vent_obj = Part.show(vent, "Vent")
vent_obj.ViewObject.ShapeColor = slate

button = Part.makeCylinder(0.55, 0.3, App.Vector(18.1, -2.3, 12.6), App.Vector(0, 1, 0))
button_obj = Part.show(button, "TowerButton")
button_obj.ViewObject.ShapeColor = mint