-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvisualize.py
29 lines (27 loc) · 901 Bytes
/
visualize.py
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
from pack_solver import Container, SolvedContainer, Rotation
def make_visuals(container: Container, solution: SolvedContainer):
itm_arr = []
for i, box in enumerate(solution.solved_boxes):
itm_arr.append({
"i": i,
"w": int(box.dimensions.l),
"h": int(box.dimensions.w),
"d": int(box.dimensions.h),
"x": int(box.position.x),
"y": int(box.position.y),
"z": int(box.position.z),
"r": 1 if box.position.rotation == Rotation.SIDEWAYS else 0
})
json_o = {
"box": [
{
"w": container.dimensions.l,
"h": container.dimensions.w,
"d": container.dimensions.h,
"tl": 100 - solution.percentage_fill,
"f": 1,
"items": itm_arr
}
]
}
return json_o