Skip to content

Commit

Permalink
parameterize marker fixture height
Browse files Browse the repository at this point in the history
  • Loading branch information
henrykrumb committed Jan 22, 2024
1 parent dde4e59 commit 35a30f3
Showing 1 changed file with 22 additions and 18 deletions.
40 changes: 22 additions & 18 deletions markergen/marker.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@ def unpack_uint(pos):
def unpack_float(pos):
return struct.unpack("f", rom[pos : pos + 4])[0]

print(rom[3:72])
for i in range(3, 72 - 4):
print(i, unpack_float(i))
#print(rom[3:72])
#for i in range(3, 72 - 4):
# print(i, unpack_float(i))

v0 = unpack_float(36)
v1 = unpack_float(64)
Expand All @@ -107,34 +107,38 @@ def unpack_float(pos):

return marker

def to_scad(self):
def to_scad(self, marker_height: float = 6.5):
with open(os.path.join(os.path.dirname(__file__), "pin.scad"), "r") as f:
text = f.read()

cyl = scad.chamfered_cylinder(6.5, 9.4 / 2)
cyl = scad.chamfered_cylinder(marker_height, 9.4 / 2)
for node in (self.A, self.B, self.C, self.D):
text += scad.translate(node[0], node[1], 6.5, [scad.call_module("pin")])()
text += scad.translate(
node[0], node[1], marker_height, [scad.call_module("pin")]
)()
text += "\n"
# TODO create proper optimization strategy that eliminates redundant connections
# maybe the edges are encoded somewhere in the rom already?
text += scad.union(
[
scad.hull(
[scad.translate(*self.A, [cyl]), scad.translate(*self.B, [cyl])]
),
# scad.hull(
# [scad.translate(*self.A, [cyl]), scad.translate(*self.B, [cyl])]
# ),
scad.hull(
[scad.translate(*self.A, [cyl]), scad.translate(*self.C, [cyl])]
),
scad.hull(
[scad.translate(*self.A, [cyl]), scad.translate(*self.D, [cyl])]
),
scad.hull(
[scad.translate(*self.B, [cyl]), scad.translate(*self.C, [cyl])]
),
# scad.hull(
# [scad.translate(*self.A, [cyl]), scad.translate(*self.D, [cyl])]
# ),
# scad.hull(
# [scad.translate(*self.B, [cyl]), scad.translate(*self.C, [cyl])]
# ),
scad.hull(
[scad.translate(*self.B, [cyl]), scad.translate(*self.D, [cyl])]
),
scad.hull(
[scad.translate(*self.C, [cyl]), scad.translate(*self.D, [cyl])]
),
# scad.hull(
# [scad.translate(*self.C, [cyl]), scad.translate(*self.D, [cyl])]
# ),
]
)()
return text

0 comments on commit 35a30f3

Please sign in to comment.