feat: Improve spacing

This commit is contained in:
Leni Aniva 2025-01-23 13:52:37 -08:00
parent 6470010da6
commit 596311f326
Signed by: aniva
GPG Key ID: 4D9B1C8D10EA4C50
1 changed files with 8 additions and 2 deletions

View File

@ -13,7 +13,7 @@ class LightPanel(Model):
length: float = 300.0 length: float = 300.0
width: float = 200.0 width: float = 200.0
grid_height: float = 30.0 grid_height: float = 20.0
grid_top_height: float = 5.0 grid_top_height: float = 5.0
# Distance from grid to edge # Distance from grid to edge
grid_margin: float = 20.0 grid_margin: float = 20.0
@ -33,6 +33,10 @@ class LightPanel(Model):
assert self.grid_holes >= 2 assert self.grid_holes >= 2
super().__init__(name="light-panel") super().__init__(name="light-panel")
@property
def grid_spacing_y(self) -> float:
return (self.width - 2 * self.grid_margin - self.grid_thickness) / (self.grid_layers - 1)
@target(name="grid", kind=TargetKind.DXF) @target(name="grid", kind=TargetKind.DXF)
def grid_profile(self): def grid_profile(self):
w = self.length - self.grid_margin * 2 w = self.length - self.grid_margin * 2
@ -99,7 +103,7 @@ class LightPanel(Model):
) )
# Grid thickness t is fixed, so the spacing of the grid satisfies # Grid thickness t is fixed, so the spacing of the grid satisfies
# margin + t + (n-1) * spacing + margin = width # margin + t + (n-1) * spacing + margin = width
spacing = (self.width - 2 * self.grid_margin - self.grid_thickness) / (self.grid_layers - 1) spacing = self.grid_spacing_y
shift = self.grid_margin + self.grid_thickness / 2 shift = self.grid_margin + self.grid_thickness / 2
for i in range(self.grid_layers): for i in range(self.grid_layers):
assembly = assembly.addS( assembly = assembly.addS(
@ -116,6 +120,8 @@ if __name__ == '__main__':
import sys import sys
p = LightPanel() p = LightPanel()
print(p.grid_spacing_y)
if len(sys.argv) == 1: if len(sys.argv) == 1:
p.build_all() p.build_all()
sys.exit(0) sys.exit(0)