Skip to content

Model an MFX module as the 135 mm slot that centres it, and add the NTR4 module - #1281

Merged
BioCam merged 1 commit into
PyLabRobot:mainfrom
BioCam:mfx-modules-geometry
Sep 18, 2026
Merged

BioCam merged 1 commit into
PyLabRobot:mainfrom
BioCam:mfx-modules-geometry

Conversation

@BioCam

@BioCam BioCam commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator

An MFX module is 134 mm across and stands in a 135 mm carrier slot, which the track's sliding blocks centre it in. MFX_DWP_module_flat is modelled as 134 mm at the slot's origin rather than centred in it, so a plate on it sits 0.5 mm left of where it stands.

Modelled as the 135 mm its slot is, a plate centred on the module is centred on the slot.

plate on MFX_DWP_module_flat, MFX carrier at track 30 x
on main today 755.62
with this PR 756.12
  • hamilton_mfx_module_tiprackholder_ntr (cat. no. 191425) is the NTR4 site, for a stack of up to four 96 nested tip racks. 135 mm across for the same reason, 94 mm deep from Hamilton's NTR4Module model, 20 mm tall measured.
  • The carrier's height reads 18.2 rather than 18.195 throughout. It cancels between the carrier's site and each module's own height, so nothing on the other three modules moves; on MFX_DWP_module_flat, whose height is independent of it, it is 5 um.
  • The 0.5 mm comes from the geometry, not from a run recorded on an instrument as the tip positions in Correct MFX carrier sites by y-=0.5 mm, rename MFX_TIP_module and make it an EmbeddedTipRackHolder #1275 did.

Tests: the NTR module centres an SBS rack over its slot. Full suite 3409 passed, 4 skipped, on pytest 9.0.3 and 9.1.1 both. make lint, make format-check and typos clean.

🤖 Generated with Claude Code

…dule

An MFX module is 134 mm across and its carrier slot 135 mm, and the track's
sliding blocks centre the module in the slot. `MFX_DWP_module_flat` is modelled
as 134 mm placed at the slot's origin rather than centred in it, so a plate on
it sits half a millimetre to the left of where it stands.

Modelling the module as the 135 mm its slot is puts a plate centred on the
module where it is centred on the slot. On a STAR deck with the carrier at
track 30, a plate on that module moves x 755.62 to 756.12.

`hamilton_mfx_module_tiprackholder_ntr` (cat. no. 191425) is the NTR4 site, for
a stack of up to four 96 nested tip racks, 135 mm across for the same reason.

The carrier's height reads 18.2 rather than 18.195 throughout. It cancels
between the carrier's site and each module's own height, so nothing on the
other three modules moves; on `MFX_DWP_module_flat`, whose height is
independent, it is 5 um.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@BioCam
BioCam requested a review from a team as a code owner September 18, 2026 21:30
@BioCam BioCam changed the title MFX modules: a module is centred in its carrier slot, and the NTR4 module Model an MFX module as the 135 mm slot that centres it, and add the NTR4 module Sep 18, 2026
@BioCam
BioCam merged commit c3c59ee into PyLabRobot:main Sep 18, 2026
22 checks passed
@BioCam
BioCam deleted the mfx-modules-geometry branch September 18, 2026 23:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant