AgricolaInsert: optimize player box generation layout
This commit is contained in:
parent
9e83c2ad9b
commit
2a55183e50
|
@ -540,10 +540,22 @@ protruding underneath.
|
||||||
bed_inner_height = player_box_height - self.thickness
|
bed_inner_height = player_box_height - self.thickness
|
||||||
bed_inner_length = 66.75
|
bed_inner_length = 66.75
|
||||||
bed_inner_width = 50.5
|
bed_inner_width = 50.5
|
||||||
bed_foot_height = 6.5
|
cardboard_bed_foot_height = 6.5
|
||||||
|
cardboard_bed_hole_margin = 5
|
||||||
|
cardboard_bed_hole_length = 12
|
||||||
|
bed_head_length = 20
|
||||||
|
bed_foot_height = 18
|
||||||
|
support_length = 38
|
||||||
|
|
||||||
bed_edge = Bed2SidesEdge(self, bed_inner_length)
|
bed_edge = Bed2SidesEdge(
|
||||||
|
self, bed_inner_length, bed_head_length, bed_foot_height
|
||||||
|
)
|
||||||
noop_edge = NoopEdge(self)
|
noop_edge = NoopEdge(self)
|
||||||
|
self.ctx.save()
|
||||||
|
optim_180_x = (
|
||||||
|
bed_inner_length + self.thickness + bed_head_length + 2 * self.spacing
|
||||||
|
)
|
||||||
|
optim_180_y = 2 * bed_foot_height - player_box_height + 2 * self.spacing
|
||||||
for _ in range(2):
|
for _ in range(2):
|
||||||
self.rectangularWall(
|
self.rectangularWall(
|
||||||
bed_inner_length,
|
bed_inner_length,
|
||||||
|
@ -551,10 +563,10 @@ protruding underneath.
|
||||||
["F", bed_edge, noop_edge, "F"],
|
["F", bed_edge, noop_edge, "F"],
|
||||||
move="up",
|
move="up",
|
||||||
)
|
)
|
||||||
|
self.moveTo(optim_180_x, optim_180_y, -180)
|
||||||
|
self.ctx.restore()
|
||||||
|
self.moveTo(0, bed_inner_height + self.thickness + self.spacing + optim_180_y)
|
||||||
|
|
||||||
bed_hole_margin = 5
|
|
||||||
bed_hole_length = 12
|
|
||||||
support_length = 38
|
|
||||||
self.rectangularWall(
|
self.rectangularWall(
|
||||||
bed_inner_length,
|
bed_inner_length,
|
||||||
bed_inner_width,
|
bed_inner_width,
|
||||||
|
@ -564,8 +576,8 @@ protruding underneath.
|
||||||
partial(
|
partial(
|
||||||
self.generate_bed_holes,
|
self.generate_bed_holes,
|
||||||
bed_inner_width,
|
bed_inner_width,
|
||||||
bed_hole_margin,
|
cardboard_bed_hole_margin,
|
||||||
bed_hole_length,
|
cardboard_bed_hole_length,
|
||||||
support_length,
|
support_length,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
@ -580,7 +592,7 @@ protruding underneath.
|
||||||
)
|
)
|
||||||
for _ in range(2):
|
for _ in range(2):
|
||||||
self.rectangularWall(
|
self.rectangularWall(
|
||||||
bed_foot_height - self.thickness,
|
cardboard_bed_foot_height - self.thickness,
|
||||||
support_length,
|
support_length,
|
||||||
"efee",
|
"efee",
|
||||||
move="right",
|
move="right",
|
||||||
|
@ -595,9 +607,7 @@ protruding underneath.
|
||||||
|
|
||||||
self.ctx.restore()
|
self.ctx.restore()
|
||||||
self.rectangularWall(
|
self.rectangularWall(
|
||||||
bed_inner_width
|
bed_inner_length + bed_head_length + self.spacing - self.thickness,
|
||||||
+ 2 * bed_foot_height
|
|
||||||
+ 2 * self.spacing,
|
|
||||||
0,
|
0,
|
||||||
"FFFF",
|
"FFFF",
|
||||||
move="right only",
|
move="right only",
|
||||||
|
@ -874,16 +884,18 @@ class Bed2SidesEdge(edges.BaseEdge):
|
||||||
The next edge should be a NoopEdge
|
The next edge should be a NoopEdge
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, boxes, bed_length):
|
def __init__(self, boxes, bed_length, full_head_length, full_foot_height):
|
||||||
super(Bed2SidesEdge, self).__init__(boxes, None)
|
super(Bed2SidesEdge, self).__init__(boxes, None)
|
||||||
self.bed_length = bed_length
|
self.bed_length = bed_length
|
||||||
|
self.full_head_length = full_head_length
|
||||||
|
self.full_foot_height = full_foot_height
|
||||||
|
|
||||||
def __call__(self, bed_height, **kw):
|
def __call__(self, bed_height, **kw):
|
||||||
foot_corner = 6
|
foot_corner = 6
|
||||||
foot_height = 18 - self.thickness - foot_corner
|
|
||||||
middle_corner = 3
|
middle_corner = 3
|
||||||
head_corner = 10
|
head_corner = 10
|
||||||
head_length = 10 - self.thickness
|
foot_height = self.full_foot_height - self.thickness - foot_corner
|
||||||
|
head_length = self.full_head_length - head_corner - self.thickness
|
||||||
corners = foot_corner + middle_corner + head_corner
|
corners = foot_corner + middle_corner + head_corner
|
||||||
head_height = bed_height - foot_height - corners
|
head_height = bed_height - foot_height - corners
|
||||||
middle_length = self.bed_length - head_length - corners
|
middle_length = self.bed_length - head_length - corners
|
||||||
|
|
Loading…
Reference in New Issue