cosplay: Touhou/Houjuu Nue #4
|
@ -493,12 +493,10 @@ class ElectronicBoard(Model):
|
|||
length: float = 70.0
|
||||
width: float = 170.0
|
||||
mount_holes: list[Hole] = field(default_factory=lambda: [
|
||||
Hole(x=30, y=80),
|
||||
Hole(x=30, y=0),
|
||||
Hole(x=30, y=-80),
|
||||
Hole(x=-30, y=80),
|
||||
Hole(x=-30, y=0),
|
||||
Hole(x=-30, y=-80),
|
||||
Hole(x=25, y=70),
|
||||
Hole(x=25, y=-70),
|
||||
Hole(x=-25, y=70),
|
||||
Hole(x=-25, y=-70),
|
||||
])
|
||||
panel_thickness: float = 25.4 / 16
|
||||
mount_panel_thickness: float = 25.4 / 4
|
||||
|
|
|
@ -462,22 +462,11 @@ class WingProfile(Model):
|
|||
result.add(self.electronic_board.assembly(), name="electronic_board")
|
||||
for hole in self.electronic_board.mount_holes:
|
||||
assert hole.tag
|
||||
nut_name = f"electronic_board_{hole.tag}_nut"
|
||||
(
|
||||
result
|
||||
.addS(
|
||||
self.electronic_board.nut.assembly(),
|
||||
name=nut_name)
|
||||
.constrain(
|
||||
f"electronic_mount?{hole.rev_tag}",
|
||||
f'{nut_name}?top',
|
||||
"Plane"
|
||||
)
|
||||
.constrain(
|
||||
f"electronic_mount?{hole.tag}",
|
||||
f'electronic_board/{hole.tag}_spacer?bot',
|
||||
"Plane"
|
||||
)
|
||||
result.constrain(
|
||||
f"electronic_mount2?{hole.tag}",
|
||||
f'electronic_board/{hole.tag}_spacer?top',
|
||||
"Plane",
|
||||
param=0
|
||||
)
|
||||
return result.solve()
|
||||
|
||||
|
|
Loading…
Reference in New Issue