Hi everyone,
In PR#130 ShakerCarrier integration #130 I created a resource model for Hamilton’s L4 Shaker Carrier (Hamilton cat. no.: 187001):
def PLT_CAR_L4_SHAKER(name: str) -> MFXCarrier:
""" Hamilton cat. no.: 187001
Template carrier with 4 positions for Hamilton Heater Shaker.
Occupies 7 tracks (7T). Can be screwed onto the deck.
"""
return MFXCarrier(
name=name,
size_x=157.5,
size_y=497.0,
size_z=8.0,
sites=create_homogeneous_carrier_sites([
Coordinate(6.0, 2, 8.0),
Coordinate(6.0, 123, 8.0),
Coordinate(6.0, 244.0, 8.0),
Coordinate(6.0, 365.0, 8.0),
],
site_size_x=145.5,
site_size_y=104.0,
),
model="PLT_CAR_L4_SHAKER"
)
Simple, nice, and completely incorrect (but workable with the HHS).
I am currently working on an updated more accurate version but would like to know whether anyone else has come across what I can only describe as (to me) “odd design”:
“Sites” for child resources (i.e. usually a small Hamilton machine like Hamilton Heater Shaker, Hamilton Heater Cooler, Hamilton Tilt module, …) are not defined by a “frame” (i.e. indentation in the top surface or walls).
Instead sites are defined by the 2x2 hole grid that is used to fasten child resources onto the carrier.
However, as shown in the infographic above, there are two different 2x2 hole grids on each site.
And - the odd part - the relative orientation of the “small” to “large” hole grid is different between every single site
(noted in orange)
As you can see from the infographic, this is due to a difference in each hole grids “stepping distance”:
- 124 mm for the small/blue hole grid (use for fixing e.g. the HHC)
- 120 mm for the large/purple hole grid (use for fixing e.g. the HHS)
This represents a big question as to how we want to model this?
A simple “each site has a center_x-center_y to which a childs “ccb” should be aligned to, does not work.
We would need to tell each child resource which center - the one from the small or the large hole grid - it would need to align to.
Curious to hear what people think ![]()
PS.: I’m sure there must be some reason for this design that I don’t know about ![]()
Also, these measurements are made by me, and might therefore be wrong.
