From 522ba5fad217c9fd222d45fded1f06fd91098de5 Mon Sep 17 00:00:00 2001 From: Jordan Date: Fri, 20 Mar 2026 13:25:26 -0700 Subject: [PATCH 1/2] feat: add Greiner half skirt plate PN: 652260 --- pylabrobot/resources/greiner/plates.py | 36 ++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/pylabrobot/resources/greiner/plates.py b/pylabrobot/resources/greiner/plates.py index 427f06cf855..e1fc5acbd35 100644 --- a/pylabrobot/resources/greiner/plates.py +++ b/pylabrobot/resources/greiner/plates.py @@ -81,3 +81,39 @@ def Greiner_384_wellplate_28ul_Fb(name: str, with_lid: bool = False) -> Plate: # compute_height_from_volume=_compute_height_from_volume_Greiner_384_wellplate_28ul_Fb, ), ) + + # # # # # # # # # # Greiner_96_half_skirt_wellplate_200uL_vb # # # # # # # # # # + + +def Greiner_96_half_skirt_wellplate_200uL_vb(name: str, with_lid: bool = False) -> Plate: + """Greiner cat. no.: 652260. + SAPPHIRE MICROPLATE, 96 WELL, PP, FOR PCR, NATURAL, HALF SKIRT + Spec: https://shop.gbo.com/en/usa/files/30114476/652260.pdf + """ + return Plate( + name=name, + size_x=125.24, # from spec + size_y=85.98, # from spec + size_z=21.08, # from spec, total height to bottom of well + lid=None, + model=Greiner_96_half_skirt_wellplate_200uL_vb.__name__, + plate_type="semi-skirted", + ordered_items=create_ordered_items_2d( + Well, + size_x=5.56, # from spec (inner well width) + size_y=5.56, # from spec (inner well length) + size_z=20.65, # from spec + dx=10.75, # measured + dy=8.5, # measured + dz=0, # semi-skirted plate + material_z_thickness=0.43, # from spec + item_dx=9, # from spec + item_dy=9, # from spec + num_items_x=12, # from spec + num_items_y=8, # from spec + cross_section_type=CrossSectionType.CIRCLE, + bottom_type=WellBottomType.V, + max_volume=200, # from spec (0.2 mL) + ), + ) + From a551714398a5e4983e4d96b31b10467fa6c91c8c Mon Sep 17 00:00:00 2001 From: Jordan Date: Fri, 20 Mar 2026 13:32:05 -0700 Subject: [PATCH 2/2] fix: formatting --- pylabrobot/resources/greiner/plates.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pylabrobot/resources/greiner/plates.py b/pylabrobot/resources/greiner/plates.py index e1fc5acbd35..58630c2aff6 100644 --- a/pylabrobot/resources/greiner/plates.py +++ b/pylabrobot/resources/greiner/plates.py @@ -81,10 +81,10 @@ def Greiner_384_wellplate_28ul_Fb(name: str, with_lid: bool = False) -> Plate: # compute_height_from_volume=_compute_height_from_volume_Greiner_384_wellplate_28ul_Fb, ), ) - + # # # # # # # # # # Greiner_96_half_skirt_wellplate_200uL_vb # # # # # # # # # # - - + + def Greiner_96_half_skirt_wellplate_200uL_vb(name: str, with_lid: bool = False) -> Plate: """Greiner cat. no.: 652260. SAPPHIRE MICROPLATE, 96 WELL, PP, FOR PCR, NATURAL, HALF SKIRT @@ -116,4 +116,3 @@ def Greiner_96_half_skirt_wellplate_200uL_vb(name: str, with_lid: bool = False) max_volume=200, # from spec (0.2 mL) ), ) -