mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-17 13:01:12 +00:00
256 lines
5.4 KiB
Python
256 lines
5.4 KiB
Python
from unilabos.resources.itemized_carrier import Bottle, BottleCarrier
|
|
# 工厂函数
|
|
|
|
|
|
def YB_Solid_Stock(
|
|
name: str,
|
|
diameter: float = 20.0,
|
|
height: float = 100.0,
|
|
max_volume: float = 30000.0, # 30mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建粉末瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,# 未知
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Solid_Stock",
|
|
)
|
|
|
|
|
|
def YB_Solid_Vial(
|
|
name: str,
|
|
diameter: float = 25.0,
|
|
height: float = 60.0,
|
|
max_volume: float = 30000.0, # 30mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建粉末瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Solid_Vial",
|
|
)
|
|
|
|
|
|
def YB_Liquid_Vial(
|
|
name: str,
|
|
diameter: float = 25.0,
|
|
height: float = 60.0,
|
|
max_volume: float = 30000.0, # 30mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建滴定液瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Liquid_Vial",
|
|
)
|
|
|
|
|
|
def YB_Solution_Beaker(
|
|
name: str,
|
|
diameter: float = 60.0,
|
|
height: float = 70.0,
|
|
max_volume: float = 200000.0, # 200mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建溶液烧杯"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Solution_Beaker",
|
|
)
|
|
|
|
|
|
def YB_Reagent_Bottle(
|
|
name: str,
|
|
diameter: float = 70.0,
|
|
height: float = 120.0,
|
|
max_volume: float = 500000.0, # 500mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建试剂瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Reagent_Bottle",
|
|
)
|
|
|
|
|
|
def YB_100ml_Liquid_Bottle(
|
|
name: str,
|
|
diameter: float = 50.0,
|
|
height: float = 80.0,
|
|
max_volume: float = 100000.0, # 100mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建100ml液体瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="100ml_Liquid_Bottle",
|
|
)
|
|
|
|
|
|
def YB_Liquid_Bottle(
|
|
name: str,
|
|
diameter: float = 40.0,
|
|
height: float = 70.0,
|
|
max_volume: float = 50000.0, # 50mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建液体瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Liquid_Bottle",
|
|
)
|
|
|
|
|
|
def YB_High_Viscosity_Liquid_Bottle(
|
|
name: str,
|
|
diameter: float = 45.0,
|
|
height: float = 75.0,
|
|
max_volume: float = 60000.0, # 60mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建高粘液瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="High_Viscosity_Liquid_Bottle",
|
|
)
|
|
|
|
|
|
def YB_Large_Dispense_Head(
|
|
name: str,
|
|
diameter: float = 35.0,
|
|
height: float = 90.0,
|
|
max_volume: float = 50000.0, # 50mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建加样头(大)"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Large_Dispense_Head",
|
|
)
|
|
|
|
|
|
def YB_5ml_Dispensing_Vial(
|
|
name: str,
|
|
diameter: float = 15.0,
|
|
height: float = 45.0,
|
|
max_volume: float = 5000.0, # 5mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建5ml分液瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="5ml_Dispensing_Vial",
|
|
)
|
|
|
|
|
|
def YB_20ml_Dispensing_Vial(
|
|
name: str,
|
|
diameter: float = 20.0,
|
|
height: float = 65.0,
|
|
max_volume: float = 20000.0, # 20mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建20ml分液瓶"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="20ml_Dispensing_Vial",
|
|
)
|
|
|
|
|
|
def YB_Small_Solution_Bottle(
|
|
name: str,
|
|
diameter: float = 35.0,
|
|
height: float = 60.0,
|
|
max_volume: float = 40000.0, # 40mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建配液瓶(小)"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Small_Solution_Bottle",
|
|
)
|
|
|
|
|
|
def YB_Large_Solution_Bottle(
|
|
name: str,
|
|
diameter: float = 55.0,
|
|
height: float = 90.0,
|
|
max_volume: float = 150000.0, # 150mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建配液瓶(大)"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Large_Solution_Bottle",
|
|
)
|
|
|
|
|
|
def YB_Pipette_Tip(
|
|
name: str,
|
|
diameter: float = 10.0,
|
|
height: float = 50.0,
|
|
max_volume: float = 1000.0, # 1mL
|
|
barcode: str = None,
|
|
) -> Bottle:
|
|
"""创建枪头"""
|
|
return Bottle(
|
|
name=name,
|
|
diameter=diameter,
|
|
height=height,
|
|
max_volume=max_volume,
|
|
barcode=barcode,
|
|
model="Pipette_Tip",
|
|
)
|
|
|