mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-17 21:11:12 +00:00
- 重命名 bottles.py 中所有工厂函数:BIOYOND_PolymerStation_* -> YB_* - 重命名 bottle_carriers.py 中所有载具工厂函数和导入 - 更新 registry YAML 文件中的 module 引用 - 更新 MATERIAL_TYPE_MAPPINGS 配置中的类型字符串 - 更新测试文件和样例 JSON 中的类型引用 - 添加 YB_* 别名条目到 registry 以支持双键访问
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",
|
|
)
|
|
|