From be054589b5b3a7f8f2e7cca7a1d41789bba83582 Mon Sep 17 00:00:00 2001 From: zhangshixiang <554662886@qq.com> Date: Thu, 15 Jan 2026 17:21:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=87=AA=E5=8A=A8=E5=8C=96?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=8A=93=E5=8F=96=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../devices/liquid_handling/prcxi/prcxi.py | 299 +- unilabos/resources/itemized_carrier.py | 4 +- .../experiments/prcxi_9320_with_res_test.json | 5864 +++++------------ 3 files changed, 1913 insertions(+), 4254 deletions(-) diff --git a/unilabos/devices/liquid_handling/prcxi/prcxi.py b/unilabos/devices/liquid_handling/prcxi/prcxi.py index 31d18c1..855b205 100644 --- a/unilabos/devices/liquid_handling/prcxi/prcxi.py +++ b/unilabos/devices/liquid_handling/prcxi/prcxi.py @@ -36,7 +36,6 @@ from unilabos.devices.liquid_handling.liquid_handler_abstract import LiquidHandl from unilabos.resources.itemized_carrier import ItemizedCarrier from unilabos.ros.nodes.base_device_node import BaseROS2DeviceNode, ROS2DeviceNode - class PRCXIError(RuntimeError): """Lilith 返回 Success=false 时抛出的业务异常""" @@ -72,7 +71,10 @@ class PRCXI9300Deck(Deck): def __init__(self, name: str, size_x: float, size_y: float, size_z: float, **kwargs): super().__init__(name, size_x, size_y, size_z) self.slots = [None] * 16 # PRCXI 9300/9320 最大有 16 个槽位 - self.slot_locations = [Coordinate(0, 0, 0)] * 16 + self.slot_locations = [] + + for i in range(0, 16): + self.slot_locations.append(Coordinate((i%4)*137.5+5, (3-int(i/4))*96+13, 0)) def assign_child_at_slot(self, resource: Resource, slot: int, reassign: bool = False) -> None: if self.slots[slot - 1] is not None and not reassign: @@ -374,14 +376,13 @@ class PRCXI9300TubeRack(TubeRack): ordering_param = None elif ordering is not None: # 检查 ordering 中的值是否是字符串(从 JSON 反序列化时的情况) - # 如果是字符串,说明这是位置名称,需要让 TubeRack 自己创建 Tube 对象 - # 我们只传递位置信息(键),不传递值,使用 ordering 参数 if ordering and isinstance(next(iter(ordering.values()), None), str): - # ordering 的值是字符串,只使用键(位置信息)创建新的 OrderedDict - # 传递 ordering 参数而不是 ordered_items,让 TubeRack 自己创建 Tube 对象 + # ordering 的值是字符串,这种情况下我们让 TubeRack 使用默认行为 + # 不在初始化时创建 items,而是在 deserialize 后处理 items_to_pass = None - # 使用 ordering 参数,只包含位置信息(键) - ordering_param = collections.OrderedDict((k, None) for k in ordering.keys()) + ordering_param = collections.OrderedDict() # 提供空的 ordering 来满足要求 + # 保存 ordering 信息以便后续处理 + self._temp_ordering = ordering else: # ordering 的值已经是对象,需要过滤掉 None 值 # 只保留有效的对象,用于 ordered_items 参数 @@ -390,9 +391,9 @@ class PRCXI9300TubeRack(TubeRack): items_to_pass = valid_items ordering_param = None else: - # 如果没有有效对象,使用 ordering 参数 - items_to_pass = None - ordering_param = collections.OrderedDict((k, None) for k in ordering.keys()) + # 如果没有有效对象,创建空的 ordered_items + items_to_pass = {} + ordering_param = None elif items is not None: # 兼容旧的 items 参数 items_to_pass = items @@ -403,25 +404,45 @@ class PRCXI9300TubeRack(TubeRack): # 根据情况传递不同的参数 if items_to_pass is not None: - super().__init__(name, size_x, size_y, size_z, - ordered_items=items_to_pass, - model=model, + super().__init__(name, size_x, size_y, size_z, + ordered_items=items_to_pass, + model=model, **kwargs) elif ordering_param is not None: - # 传递 ordering 参数,让 TubeRack 自己创建 Tube 对象 - super().__init__(name, size_x, size_y, size_z, - ordering=ordering_param, - model=model, - **kwargs) + # 直接调用 ItemizedResource 的构造函数来处理 ordering + from pylabrobot.resources import ItemizedResource + ItemizedResource.__init__(self, name, size_x, size_y, size_z, + ordering=ordering_param, + category=category, + model=model, + **kwargs) else: - super().__init__(name, size_x, size_y, size_z, - model=model, + super().__init__(name, size_x, size_y, size_z, + model=model, **kwargs) - + self._unilabos_state = {} if material_info: self._unilabos_state["Material"] = material_info + # 如果有临时 ordering 信息,在初始化完成后处理 + if hasattr(self, '_temp_ordering') and self._temp_ordering: + self._process_temp_ordering() + + def _process_temp_ordering(self): + """处理临时的 ordering 信息,创建相应的 Tube 对象""" + from pylabrobot.resources import Tube, Coordinate + + for location, item_type in self._temp_ordering.items(): + if item_type == 'Tube' or item_type == 'tube': + # 为每个位置创建 Tube 对象 + tube = Tube(name=f"{self.name}_{location}", size_x=10, size_y=10, size_z=50, max_volume=2000.0) + # 使用 assign_child_resource 添加到 rack 中 + self.assign_child_resource(tube, location=Coordinate(0, 0, 0)) + + # 清理临时数据 + del self._temp_ordering + def serialize_state(self) -> Dict[str, Dict[str, Any]]: try: data = super().serialize_state() @@ -460,19 +481,35 @@ class PRCXI9300PlateAdapterSite(ItemizedCarrier): resource_size_y=size_y, resource_size_z=size_z, name_prefix=name, - )[0] + )[0] + # 确保不传递重复的参数 kwargs.pop('layout', None) - kwargs.pop('num_items_x', None) - kwargs.pop('num_items_y', None) - kwargs.pop('num_items_z', None) - kwargs.pop('sites', None) + sites_in = kwargs.pop('sites', None) + # 创建默认的sites字典 + sites_dict = {name: sites} + # 优先从 sites_in 读取 'content_type',否则使用默认值 + + content_type = [ + "plate", + "tip_rack", + "plates", + "tip_racks", + "tube_rack" + ] + # 如果提供了sites参数,则用sites_in中的值替换sites_dict中对应的元素 + if sites_in is not None and isinstance(sites_in, dict): + for site_key, site_value in sites_in.items(): + if site_key in sites_dict: + sites_dict[site_key] = site_value + super().__init__(name, size_x, size_y, size_z, - sites={name: sites}, - num_items_x=1, - num_items_y=1, - num_items_z=1, + sites=sites_dict, + num_items_x=kwargs.pop('num_items_x', 1), + num_items_y=kwargs.pop('num_items_y', 1), + num_items_z=kwargs.pop('num_items_z', 1), + content_type=content_type, **kwargs) self._unilabos_state = {} if material_info: @@ -618,16 +655,59 @@ class PRCXI9300Handler(LiquidHandlerAbstract): step_mode=False, matrix_id="", is_9320=False, + start_rail=2, + rail_nums=4, + rail_interval=0, + x_increase = -0.003636, + y_increase = -0.003636, + x_offset = -0.8, + y_offset = -37.98, + deck_z = 300, + deck_y = 400, + rail_width=27.5, + xy_coupling = -0.0045, ): + + self.deck_x = (start_rail + rail_nums*5 + (rail_nums-1)*rail_interval) * rail_width + self.deck_y = deck_y + self.deck_z = deck_z + self.x_increase = x_increase + self.y_increase = y_increase + self.x_offset = x_offset + self.y_offset = y_offset + self.xy_coupling = xy_coupling + tablets_info = [] - count = 0 + plate_positions = [] for child in deck.children: + number = int(child.name.replace("T", "")) + if child.children: if "Material" in child.children[0]._unilabos_state: - number = int(child.name.replace("T", "")) tablets_info.append( - WorkTablets(Number=number, Code=f"T{number}", Material=child.children[0]._unilabos_state["Material"]) + { + "Number": number, + "Material": child.children[0]._unilabos_state["Material"] + } ) + else: + tablets_info.append( + { + "Number": number, + "Material": {"uuid": "730067cf07ae43849ddf4034299030e9"} + } + ) + pos = self.plr_pos_to_prcxi(child) + plate_positions.append( + { + "Number": number, + "XPos": pos.x, + "YPos": pos.y, + "ZPos": pos.z + } + ) + + if is_9320: print("当前设备是9320") # 始终初始化 step_mode 属性 @@ -637,10 +717,38 @@ class PRCXI9300Handler(LiquidHandlerAbstract): self.step_mode = step_mode else: print("9300设备不支持 单点动作模式") + self._unilabos_backend = PRCXI9300Backend( - tablets_info, host, port, timeout, channel_num, axis, setup, debug, matrix_id, is_9320 + tablets_info, plate_positions, host, port, timeout, channel_num, axis, setup, debug, matrix_id, is_9320, + x_increase, y_increase, x_offset, y_offset, + deck_z, deck_x=self.deck_x, deck_y=self.deck_y, xy_coupling=xy_coupling ) + super().__init__(backend=self._unilabos_backend, deck=deck, simulator=simulator, channel_num=channel_num) + + def plr_pos_to_prcxi(self, resource: Resource): + resource_pos = resource.get_absolute_location(x="c",y="c",z="t") + x = resource_pos.x + y = resource_pos.y + z = resource_pos.z + # 如果z等于0,则递归resource.parent的高度并向z加,使用get_size_z方法 + + parent = resource.parent + res_z = resource.location.z + while not isinstance(parent, LiquidHandlerAbstract) and (res_z == 0) and parent is not None: + z += parent.get_size_z() + res_z = parent.location.z + parent = getattr(parent, "parent", None) + + prcxi_x = (self.deck_x - x)*(1+self.x_increase) + self.x_offset + self.xy_coupling * (self.deck_y - y) + prcxi_y = (self.deck_y - y)*(1+self.y_increase) + self.y_offset + prcxi_z = self.deck_z - z + + prcxi_x = min(max(0, prcxi_x),self.deck_x) + prcxi_y = min(max(0, prcxi_y),self.deck_y) + prcxi_z = min(max(0, prcxi_z),self.deck_z) + + return Coordinate(prcxi_x, prcxi_y, prcxi_z) def post_init(self, ros_node: BaseROS2DeviceNode): super().post_init(ros_node) @@ -962,6 +1070,7 @@ class PRCXI9300Backend(LiquidHandlerBackend): def __init__( self, tablets_info: list[WorkTablets], + plate_positions: dict[int, Coordinate], host: str = "127.0.0.1", port: int = 9999, timeout: float = 10.0, @@ -970,10 +1079,19 @@ class PRCXI9300Backend(LiquidHandlerBackend): setup=True, debug=False, matrix_id="", - is_9320=False, + is_9320=False, + x_increase = 0, + y_increase = 0, + x_offset = 0, + y_offset = 0, + deck_z = 300, + deck_x = 0, + deck_y = 0, + xy_coupling = 0.0, ) -> None: super().__init__() self.tablets_info = tablets_info + self.plate_positions = plate_positions self.matrix_id = matrix_id self.api_client = PRCXI9300Api(host, port, timeout, axis, debug, is_9320) self.host, self.port, self.timeout = host, port, timeout @@ -981,6 +1099,15 @@ class PRCXI9300Backend(LiquidHandlerBackend): self._execute_setup = setup self.debug = debug self.axis = "Left" + self.x_increase = x_increase + self.y_increase = y_increase + self.xy_coupling = xy_coupling + self.x_offset = x_offset + self.y_offset = y_offset + self.deck_x = deck_x + self.deck_y = deck_y + self.deck_z = deck_z + self.tip_length = 0 async def shaker_action(self, time: int, module_no: int, amplitude: int, is_wait: bool): step = self.api_client.shaker_action( @@ -992,17 +1119,14 @@ class PRCXI9300Backend(LiquidHandlerBackend): self.steps_todo_list.append(step) return step - async def pick_up_resource(self, pickup: ResourcePickup, **backend_kwargs): resource=pickup.resource - offset=pickup.offset - pickup_distance_from_top=pickup.pickup_distance_from_top - direction=pickup.direction plate_number = int(resource.parent.name.replace("T", "")) is_whole_plate = True - balance_height = 0 + balance_height = 20 + step = self.api_client.clamp_jaw_pick_up(plate_number, is_whole_plate, balance_height) self.steps_todo_list.append(step) @@ -1010,17 +1134,16 @@ class PRCXI9300Backend(LiquidHandlerBackend): async def drop_resource(self, drop: ResourceDrop, **backend_kwargs): - plate_number = None target_plate_number = backend_kwargs.get("target_plate_number", None) if target_plate_number is not None: plate_number = int(target_plate_number.name.replace("T", "")) - is_whole_plate = True balance_height = 0 if plate_number is None: raise ValueError("target_plate_number is required when dropping a resource") + step = self.api_client.clamp_jaw_drop(plate_number, is_whole_plate, balance_height) self.steps_todo_list.append(step) return step @@ -1034,29 +1157,33 @@ class PRCXI9300Backend(LiquidHandlerBackend): self._ros_node = ros_node def create_protocol(self, protocol_name): + if protocol_name == "": + protocol_name = f"protocol_{time.time()}" self.protocol_name = protocol_name self.steps_todo_list = [] + matrices = self.api_client.matrix_by_id("5de524d0-3f95-406c-86dd-f83626ebc7cb")["WorkTablets"] + + if not len(self.matrix_id): + self.matrix_id = str(uuid.uuid4()) + self.matrix_info = { + "MatrixId": self.matrix_id, + "MatrixName": self.matrix_id, + "WorkTablets": [{"Number": i, "Material": {"uuid": "068b3815e36b4a72a59bae017011b29f"}} for i in range(1, 16)]+ + [{"Number": 16, "Material": {'uuid': '730067cf07ae43849ddf4034299030e9', 'Code': 'q1', 'SupplyType': 1, 'Name': '废弃槽', 'SummaryName': None, 'Factory': None, 'LengthNum': None, 'WidthNum': None, 'HeightNum': 0.0, 'DepthNum': 0.0, 'PipetteHeight': None, 'HoleDiameter': None, 'Margins_X': None, 'Margins_Y': None, 'HoleColum': 1, 'HoleRow': 1, 'Volume': 1250, 'ImagePath': 'C:\\Program Files (x86)\\Pipetting workstation chip', 'CreateTime': None, 'UpdateTime': None, 'XSpacing': 1.0, 'YSpacing': 1.0, 'materialEnum': 0}}] + } + # print(json.dumps(self.matrix_info, indent=2)) + res = self.api_client.add_WorkTablet_Matrix(self.matrix_info) + if not res["Success"]: + self.matrix_id = "" + raise AssertionError(f"Failed to create matrix: {res.get('Message', 'Unknown error')}") + print(f"PRCXI9300Backend created matrix with ID: {self.matrix_info['MatrixId']}, result: {res}") def run_protocol(self): assert self.is_reset_ok, "PRCXI9300Backend is not reset successfully. Please call setup() first." run_time = time.time() - self.matrix_info = MatrixInfo( - MatrixId=f"{int(run_time)}", - MatrixName=f"protocol_{run_time}", - MatrixCount=len(self.tablets_info), - WorkTablets=self.tablets_info, + solution_id = self.api_client.add_solution( + f"protocol_{run_time}", self.matrix_id, self.steps_todo_list ) - # print(json.dumps(self.matrix_info, indent=2)) - if not len(self.matrix_id): - res = self.api_client.add_WorkTablet_Matrix(self.matrix_info) - assert res["Success"], f"Failed to create matrix: {res.get('Message', 'Unknown error')}" - print(f"PRCXI9300Backend created matrix with ID: {self.matrix_info['MatrixId']}, result: {res}") - solution_id = self.api_client.add_solution( - f"protocol_{run_time}", self.matrix_info["MatrixId"], self.steps_todo_list - ) - else: - print(f"PRCXI9300Backend using predefined worktable {self.matrix_id}, skipping matrix creation.") - solution_id = self.api_client.add_solution(f"protocol_{run_time}", self.matrix_id, self.steps_todo_list) print(f"PRCXI9300Backend created solution with ID: {solution_id}") self.api_client.load_solution(solution_id) print(json.dumps(self.steps_todo_list, indent=2)) @@ -1099,6 +1226,9 @@ class PRCXI9300Backend(LiquidHandlerBackend): else: await asyncio.sleep(1) print("PRCXI9300 reset successfully.") + + self.api_client.update_clamp_jaw_position(self.matrix_id, self.plate_positions) + except ConnectionRefusedError as e: raise RuntimeError( f"Failed to connect to PRCXI9300 API at {self.host}:{self.port}. " @@ -1147,7 +1277,7 @@ class PRCXI9300Backend(LiquidHandlerBackend): PlateNo = plate_indexes[0] + 1 hole_col = tip_columns[0] + 1 hole_row = 1 - if self._num_channels == 1: + if self.num_channels != 8: hole_row = tipspot_index % 8 + 1 step = self.api_client.Load( @@ -1160,7 +1290,7 @@ class PRCXI9300Backend(LiquidHandlerBackend): blending_times=0, balance_height=0, plate_or_hole=f"H{hole_col}-8,T{PlateNo}", - hole_numbers=f"{(hole_col - 1) * 8 + hole_row}" if self._num_channels == 1 else "1,2,3,4,5", + hole_numbers=f"{(hole_col - 1) * 8 + hole_row}" if self._num_channels != 8 else "1,2,3,4,5", ) self.steps_todo_list.append(step) @@ -1221,7 +1351,7 @@ class PRCXI9300Backend(LiquidHandlerBackend): PlateNo = plate_indexes[0] + 1 hole_col = tip_columns[0] + 1 - if self.channel_num == 1: + if self.num_channels != 8: hole_row = tipspot_index % 8 + 1 step = self.api_client.UnLoad( @@ -1273,7 +1403,7 @@ class PRCXI9300Backend(LiquidHandlerBackend): PlateNo = plate_indexes[0] + 1 hole_col = tip_columns[0] + 1 hole_row = 1 - if self.num_channels == 1: + if self.num_channels != 8: hole_row = tipspot_index % 8 + 1 assert mix_time > 0 @@ -1330,7 +1460,7 @@ class PRCXI9300Backend(LiquidHandlerBackend): PlateNo = plate_indexes[0] + 1 hole_col = tip_columns[0] + 1 hole_row = 1 - if self.num_channels == 1: + if self.num_channels != 8: hole_row = tipspot_index % 8 + 1 step = self.api_client.Imbibing( @@ -1388,7 +1518,7 @@ class PRCXI9300Backend(LiquidHandlerBackend): hole_col = tip_columns[0] + 1 hole_row = 1 - if self.num_channels == 1: + if self.num_channels != 8: hole_row = tipspot_index % 8 + 1 step = self.api_client.Tapping( @@ -1597,6 +1727,13 @@ class PRCXI9300Api: """GetWorkTabletMatrixById""" return self.call("IMatrix", "GetWorkTabletMatrixById", [matrix_id]) + def update_clamp_jaw_position(self, target_matrix_id: str, plate_positions: List[Dict[str, Any]]): + position_params = { + "MatrixId": target_matrix_id, + "WorkTablets": plate_positions + } + return self.call("IMatrix", "UpdateClampJawPosition", [position_params]) + def add_WorkTablet_Matrix(self, matrix: MatrixInfo): return self.call("IMatrix", "AddWorkTabletMatrix2" if self.is_9320 else "AddWorkTabletMatrix", [matrix]) @@ -1870,82 +2007,82 @@ class DefaultLayout: { "Number": 1, "Code": "T1", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 2, "Code": "T2", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 3, "Code": "T3", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 4, "Code": "T4", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 5, "Code": "T5", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 6, "Code": "T6", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 7, "Code": "T7", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 8, "Code": "T8", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 9, "Code": "T9", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 10, "Code": "T10", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 11, "Code": "T11", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 12, "Code": "T12", - "Material": {"uuid": "730067cf07ae43849ddf4034299030e9", "materialEnum": 0}, + "Material": {"uuid": "730067cf07ae43849ddf4034299030e9"}, }, # 这个设置成废液槽,用储液槽表示 { "Number": 13, "Code": "T13", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 14, "Code": "T14", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 15, "Code": "T15", - "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f", "materialEnum": 0}, + "Material": {"uuid": "57b1e4711e9e4a32b529f3132fc5931f"}, }, { "Number": 16, "Code": "T16", - "Material": {"uuid": "730067cf07ae43849ddf4034299030e9", "materialEnum": 0}, + "Material": {"uuid": "730067cf07ae43849ddf4034299030e9"}, }, # 这个设置成垃圾桶,用储液槽表示 ], } diff --git a/unilabos/resources/itemized_carrier.py b/unilabos/resources/itemized_carrier.py index a5207d4..4a7d37b 100644 --- a/unilabos/resources/itemized_carrier.py +++ b/unilabos/resources/itemized_carrier.py @@ -79,6 +79,7 @@ class ItemizedCarrier(ResourcePLR): category: Optional[str] = "carrier", model: Optional[str] = None, invisible_slots: Optional[str] = None, + content_type: Optional[List[str]] = ["bottle", "container", "tube", "bottle_carrier", "tip_rack"], ): super().__init__( name=name, @@ -92,6 +93,7 @@ class ItemizedCarrier(ResourcePLR): self.num_items_x, self.num_items_y, self.num_items_z = num_items_x, num_items_y, num_items_z self.invisible_slots = [] if invisible_slots is None else invisible_slots self.layout = "z-y" if self.num_items_z > 1 and self.num_items_x == 1 else "x-z" if self.num_items_z > 1 and self.num_items_y == 1 else "x-y" + self.content_type = content_type if isinstance(sites, dict): sites = sites or {} @@ -419,7 +421,7 @@ class ItemizedCarrier(ResourcePLR): self[identifier] if isinstance(self[identifier], str) else None, "position": {"x": location.x, "y": location.y, "z": location.z}, "size": self.child_size[identifier], - "content_type": ["bottle", "container", "tube", "bottle_carrier", "tip_rack"] + "content_type": self.content_type } for identifier, location in self.child_locations.items()] } diff --git a/unilabos/test/experiments/prcxi_9320_with_res_test.json b/unilabos/test/experiments/prcxi_9320_with_res_test.json index 43e7e1b..bcb5b08 100644 --- a/unilabos/test/experiments/prcxi_9320_with_res_test.json +++ b/unilabos/test/experiments/prcxi_9320_with_res_test.json @@ -8,8 +8,8 @@ "parent": "", "pose": { "size": { - "width": 542, - "height": 374, + "width": 550, + "height": 400, "depth": 0 } }, @@ -56,9 +56,9 @@ }, "config": { "type": "PRCXI9300Deck", - "size_x": 542, - "size_y": 374, - "size_z": 0, + "size_x": 550, + "size_y": 400, + "size_z": 17, "rotation": { "x": 0, "y": 0, @@ -78,15 +78,15 @@ "type": "plate", "class": "", "position": { - "x": 0, - "y": 288, + "x": 5, + "y": 301, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -123,15 +123,15 @@ "type": "plate", "class": "", "position": { - "x": 138, - "y": 288, + "x": 142.5, + "y": 301, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -168,15 +168,15 @@ "type": "plate", "class": "", "position": { - "x": 276, - "y": 288, + "x": 280, + "y": 301, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -213,15 +213,15 @@ "type": "plate", "class": "", "position": { - "x": 414, - "y": 288, + "x": 417.5, + "y": 301, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 97, "rotation": { "x": 0, "y": 0, @@ -258,15 +258,15 @@ "type": "plate", "class": "", "position": { - "x": 0, - "y": 192, + "x": 5, + "y": 205, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -303,15 +303,15 @@ "type": "plate", "class": "", "position": { - "x": 138, - "y": 192, + "x": 142.5, + "y": 205, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -348,15 +348,15 @@ "type": "plate", "class": "", "position": { - "x": 276, - "y": 192, + "x": 280, + "y": 205, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -393,15 +393,15 @@ "type": "plate", "class": "", "position": { - "x": 414, - "y": 192, + "x": 417.5, + "y": 205, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -438,15 +438,15 @@ "type": "plate", "class": "", "position": { - "x": 0, - "y": 96, + "x": 5, + "y": 109, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -483,15 +483,15 @@ "type": "plate", "class": "", "position": { - "x": 138, - "y": 96, + "x": 142.5, + "y": 109, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -528,15 +528,15 @@ "type": "plate", "class": "", "position": { - "x": 276, - "y": 96, + "x": 280, + "y": 109, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -573,15 +573,15 @@ "type": "plate", "class": "", "position": { - "x": 414, - "y": 96, + "x": 417.5, + "y": 109, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -618,15 +618,15 @@ "type": "plate", "class": "", "position": { - "x": 0, - "y": 0, + "x": 5, + "y": 13, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -663,15 +663,15 @@ "type": "plate", "class": "", "position": { - "x": 138, - "y": 0, + "x": 142.5, + "y": 13, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -708,15 +708,15 @@ "type": "plate", "class": "", "position": { - "x": 276, - "y": 0, + "x": 280, + "y": 13, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -753,15 +753,15 @@ "type": "plate", "class": "", "position": { - "x": 414, - "y": 0, + "x": 417.5, + "y": 13, "z": 0 }, "config": { "type": "PRCXI9300PlateAdapterSite", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, + "size_x": 127.5, + "size_y": 86, + "size_z": 28, "rotation": { "x": 0, "y": 0, @@ -903,8 +903,8 @@ }, "config": { "type": "PRCXI9300TipRack", - "size_x": 127, - "size_y": 85.5, + "size_x": 127.5, + "size_y": 86, "size_z": 10, "rotation": { "x": 0, @@ -6606,8 +6606,8 @@ }, "config": { "type": "PRCXI9300Plate", - "size_x": 127, - "size_y": 85.5, + "size_x": 127.5, + "size_y": 86, "size_z": 10, "rotation": { "x": 0, @@ -10678,8 +10678,8 @@ }, "config": { "type": "PRCXI9300TipRack", - "size_x": 127, - "size_y": 85.5, + "size_x": 127.5, + "size_y": 86, "size_z": 10, "rotation": { "x": 0, @@ -16273,4077 +16273,1597 @@ { "id": "PlateT6", "name": "PlateT6", - - "children": [ - "PlateT6_A1", - "PlateT6_B1", - "PlateT6_C1", - "PlateT6_D1", - "PlateT6_E1", - "PlateT6_F1", - "PlateT6_G1", - "PlateT6_H1", - "PlateT6_A2", - "PlateT6_B2", - "PlateT6_C2", - "PlateT6_D2", - "PlateT6_E2", - "PlateT6_F2", - "PlateT6_G2", - "PlateT6_H2", - "PlateT6_A3", - "PlateT6_B3", - "PlateT6_C3", - "PlateT6_D3", - "PlateT6_E3", - "PlateT6_F3", - "PlateT6_G3", - "PlateT6_H3", - "PlateT6_A4", - "PlateT6_B4", - "PlateT6_C4", - "PlateT6_D4", - "PlateT6_E4", - "PlateT6_F4", - "PlateT6_G4", - "PlateT6_H4", - "PlateT6_A5", - "PlateT6_B5", - "PlateT6_C5", - "PlateT6_D5", - "PlateT6_E5", - "PlateT6_F5", - "PlateT6_G5", - "PlateT6_H5", - "PlateT6_A6", - "PlateT6_B6", - "PlateT6_C6", - "PlateT6_D6", - "PlateT6_E6", - "PlateT6_F6", - "PlateT6_G6", - "PlateT6_H6", - "PlateT6_A7", - "PlateT6_B7", - "PlateT6_C7", - "PlateT6_D7", - "PlateT6_E7", - "PlateT6_F7", - "PlateT6_G7", - "PlateT6_H7", - "PlateT6_A8", - "PlateT6_B8", - "PlateT6_C8", - "PlateT6_D8", - "PlateT6_E8", - "PlateT6_F8", - "PlateT6_G8", - "PlateT6_H8", - "PlateT6_A9", - "PlateT6_B9", - "PlateT6_C9", - "PlateT6_D9", - "PlateT6_E9", - "PlateT6_F9", - "PlateT6_G9", - "PlateT6_H9", - "PlateT6_A10", - "PlateT6_B10", - "PlateT6_C10", - "PlateT6_D10", - "PlateT6_E10", - "PlateT6_F10", - "PlateT6_G10", - "PlateT6_H10", - "PlateT6_A11", - "PlateT6_B11", - "PlateT6_C11", - "PlateT6_D11", - "PlateT6_E11", - "PlateT6_F11", - "PlateT6_G11", - "PlateT6_H11", - "PlateT6_A12", - "PlateT6_B12", - "PlateT6_C12", - "PlateT6_D12", - "PlateT6_E12", - "PlateT6_F12", - "PlateT6_G12", - "PlateT6_H12" - ], + "type": "tube_rack", + "class": "", "parent": "T6", - "type": "plate", - "class": "", - "position": { - "x": 0, - "y": 0, - "z": 0 - }, - "config": { - "type": "PRCXI9300Plate", - "size_x": 127, - "size_y": 85.5, - "size_z": 10, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "plate", - "model": null, - "barcode": null, - "ordering": { - "A1": "PlateT6_A1", - "B1": "PlateT6_B1", - "C1": "PlateT6_C1", - "D1": "PlateT6_D1", - "E1": "PlateT6_E1", - "F1": "PlateT6_F1", - "G1": "PlateT6_G1", - "H1": "PlateT6_H1", - "A2": "PlateT6_A2", - "B2": "PlateT6_B2", - "C2": "PlateT6_C2", - "D2": "PlateT6_D2", - "E2": "PlateT6_E2", - "F2": "PlateT6_F2", - "G2": "PlateT6_G2", - "H2": "PlateT6_H2", - "A3": "PlateT6_A3", - "B3": "PlateT6_B3", - "C3": "PlateT6_C3", - "D3": "PlateT6_D3", - "E3": "PlateT6_E3", - "F3": "PlateT6_F3", - "G3": "PlateT6_G3", - "H3": "PlateT6_H3", - "A4": "PlateT6_A4", - "B4": "PlateT6_B4", - "C4": "PlateT6_C4", - "D4": "PlateT6_D4", - "E4": "PlateT6_E4", - "F4": "PlateT6_F4", - "G4": "PlateT6_G4", - "H4": "PlateT6_H4", - "A5": "PlateT6_A5", - "B5": "PlateT6_B5", - "C5": "PlateT6_C5", - "D5": "PlateT6_D5", - "E5": "PlateT6_E5", - "F5": "PlateT6_F5", - "G5": "PlateT6_G5", - "H5": "PlateT6_H5", - "A6": "PlateT6_A6", - "B6": "PlateT6_B6", - "C6": "PlateT6_C6", - "D6": "PlateT6_D6", - "E6": "PlateT6_E6", - "F6": "PlateT6_F6", - "G6": "PlateT6_G6", - "H6": "PlateT6_H6", - "A7": "PlateT6_A7", - "B7": "PlateT6_B7", - "C7": "PlateT6_C7", - "D7": "PlateT6_D7", - "E7": "PlateT6_E7", - "F7": "PlateT6_F7", - "G7": "PlateT6_G7", - "H7": "PlateT6_H7", - "A8": "PlateT6_A8", - "B8": "PlateT6_B8", - "C8": "PlateT6_C8", - "D8": "PlateT6_D8", - "E8": "PlateT6_E8", - "F8": "PlateT6_F8", - "G8": "PlateT6_G8", - "H8": "PlateT6_H8", - "A9": "PlateT6_A9", - "B9": "PlateT6_B9", - "C9": "PlateT6_C9", - "D9": "PlateT6_D9", - "E9": "PlateT6_E9", - "F9": "PlateT6_F9", - "G9": "PlateT6_G9", - "H9": "PlateT6_H9", - "A10": "PlateT6_A10", - "B10": "PlateT6_B10", - "C10": "PlateT6_C10", - "D10": "PlateT6_D10", - "E10": "PlateT6_E10", - "F10": "PlateT6_F10", - "G10": "PlateT6_G10", - "H10": "PlateT6_H10", - "A11": "PlateT6_A11", - "B11": "PlateT6_B11", - "C11": "PlateT6_C11", - "D11": "PlateT6_D11", - "E11": "PlateT6_E11", - "F11": "PlateT6_F11", - "G11": "PlateT6_G11", - "H11": "PlateT6_H11", - "A12": "PlateT6_A12", - "B12": "PlateT6_B12", - "C12": "PlateT6_C12", - "D12": "PlateT6_D12", - "E12": "PlateT6_E12", - "F12": "PlateT6_F12", - "G12": "PlateT6_G12", - "H12": "PlateT6_H12" - } - }, - "data": { - "Material": { - "uuid": "e146697c395e4eabb3d6b74f0dd6aaf7", - "Code": "1", - "SupplyType": 1, - "Name": "ep适配器", - "SummaryName": "ep适配器" - } - } - }, - { - "id": "PlateT6_A1", - "name": "PlateT6_A1", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 11.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B1", - "name": "PlateT6_B1", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 11.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C1", - "name": "PlateT6_C1", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 11.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D1", - "name": "PlateT6_D1", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 11.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E1", - "name": "PlateT6_E1", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 11.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F1", - "name": "PlateT6_F1", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 11.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G1", - "name": "PlateT6_G1", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 11.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H1", - "name": "PlateT6_H1", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 11.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A2", - "name": "PlateT6_A2", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 20.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B2", - "name": "PlateT6_B2", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 20.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C2", - "name": "PlateT6_C2", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 20.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D2", - "name": "PlateT6_D2", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 20.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E2", - "name": "PlateT6_E2", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 20.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F2", - "name": "PlateT6_F2", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 20.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G2", - "name": "PlateT6_G2", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 20.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H2", - "name": "PlateT6_H2", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 20.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A3", - "name": "PlateT6_A3", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 29.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B3", - "name": "PlateT6_B3", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 29.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C3", - "name": "PlateT6_C3", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 29.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D3", - "name": "PlateT6_D3", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 29.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E3", - "name": "PlateT6_E3", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 29.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F3", - "name": "PlateT6_F3", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 29.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G3", - "name": "PlateT6_G3", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 29.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H3", - "name": "PlateT6_H3", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 29.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A4", - "name": "PlateT6_A4", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 38.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B4", - "name": "PlateT6_B4", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 38.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C4", - "name": "PlateT6_C4", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 38.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D4", - "name": "PlateT6_D4", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 38.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E4", - "name": "PlateT6_E4", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 38.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F4", - "name": "PlateT6_F4", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 38.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G4", - "name": "PlateT6_G4", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 38.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H4", - "name": "PlateT6_H4", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 38.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A5", - "name": "PlateT6_A5", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 47.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B5", - "name": "PlateT6_B5", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 47.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C5", - "name": "PlateT6_C5", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 47.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D5", - "name": "PlateT6_D5", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 47.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E5", - "name": "PlateT6_E5", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 47.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F5", - "name": "PlateT6_F5", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 47.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G5", - "name": "PlateT6_G5", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 47.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H5", - "name": "PlateT6_H5", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 47.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A6", - "name": "PlateT6_A6", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 56.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B6", - "name": "PlateT6_B6", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 56.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C6", - "name": "PlateT6_C6", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 56.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D6", - "name": "PlateT6_D6", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 56.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E6", - "name": "PlateT6_E6", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 56.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F6", - "name": "PlateT6_F6", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 56.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G6", - "name": "PlateT6_G6", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 56.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H6", - "name": "PlateT6_H6", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 56.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A7", - "name": "PlateT6_A7", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 65.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B7", - "name": "PlateT6_B7", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 65.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C7", - "name": "PlateT6_C7", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 65.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D7", - "name": "PlateT6_D7", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 65.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E7", - "name": "PlateT6_E7", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 65.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F7", - "name": "PlateT6_F7", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 65.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G7", - "name": "PlateT6_G7", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 65.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H7", - "name": "PlateT6_H7", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 65.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A8", - "name": "PlateT6_A8", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 74.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B8", - "name": "PlateT6_B8", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 74.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C8", - "name": "PlateT6_C8", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 74.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D8", - "name": "PlateT6_D8", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 74.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E8", - "name": "PlateT6_E8", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 74.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F8", - "name": "PlateT6_F8", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 74.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G8", - "name": "PlateT6_G8", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 74.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H8", - "name": "PlateT6_H8", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 74.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A9", - "name": "PlateT6_A9", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 83.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B9", - "name": "PlateT6_B9", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 83.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C9", - "name": "PlateT6_C9", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 83.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D9", - "name": "PlateT6_D9", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 83.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E9", - "name": "PlateT6_E9", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 83.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F9", - "name": "PlateT6_F9", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 83.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G9", - "name": "PlateT6_G9", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 83.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H9", - "name": "PlateT6_H9", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 83.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A10", - "name": "PlateT6_A10", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 92.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B10", - "name": "PlateT6_B10", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 92.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C10", - "name": "PlateT6_C10", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 92.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D10", - "name": "PlateT6_D10", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 92.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E10", - "name": "PlateT6_E10", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 92.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F10", - "name": "PlateT6_F10", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 92.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G10", - "name": "PlateT6_G10", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 92.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H10", - "name": "PlateT6_H10", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 92.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A11", - "name": "PlateT6_A11", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 101.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B11", - "name": "PlateT6_B11", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 101.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C11", - "name": "PlateT6_C11", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 101.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D11", - "name": "PlateT6_D11", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 101.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E11", - "name": "PlateT6_E11", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 101.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F11", - "name": "PlateT6_F11", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 101.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G11", - "name": "PlateT6_G11", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 101.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H11", - "name": "PlateT6_H11", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 101.9545, - "y": 8.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_A12", - "name": "PlateT6_A12", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 110.9545, - "y": 71.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_B12", - "name": "PlateT6_B12", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 110.9545, - "y": 62.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_C12", - "name": "PlateT6_C12", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 110.9545, - "y": 53.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_D12", - "name": "PlateT6_D12", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 110.9545, - "y": 44.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_E12", - "name": "PlateT6_E12", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 110.9545, - "y": 35.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_F12", - "name": "PlateT6_F12", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 110.9545, - "y": 26.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_G12", - "name": "PlateT6_G12", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 110.9545, - "y": 17.8145, - "z": 3.55 - }, - "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - { - "id": "PlateT6_H12", - "name": "PlateT6_H12", - - "children": [], - "parent": "PlateT6", - "type": "well", - "class": "", - "position": { - "x": 110.9545, - "y": 8.8145, - "z": 3.55 - }, "config": { - "type": "Well", - "size_x": 4.851, - "size_y": 4.851, - "size_z": 10.67, - "rotation": { - "x": 0, - "y": 0, - "z": 0, - "type": "Rotation" - }, - "category": "well", - "model": null, - "barcode": null, - "max_volume": 360, - "material_z_thickness": null, - "compute_volume_from_height": null, - "compute_height_from_volume": null, - "bottom_type": "unknown", - "cross_section_type": "circle" - }, - "data": { - "liquids": [], - "pending_liquids": [], - "liquid_history": [] - } - }, - + "type": "PRCXI9300TubeRack", + "model": "PlateT6", + "size_x": 128.04, + "size_y": 85.8, + "size_z": 42.66, + "barcode": null, + "category": null, + "ordering": { + "A1": "PlateT6_0_0", + "A2": "PlateT6_1_0", + "A3": "PlateT6_2_0", + "A4": "PlateT6_3_0", + "A5": "PlateT6_4_0", + "A6": "PlateT6_5_0", + "B1": "PlateT6_0_1", + "B2": "PlateT6_1_1", + "B3": "PlateT6_2_1", + "B4": "PlateT6_3_1", + "B5": "PlateT6_4_1", + "B6": "PlateT6_5_1", + "C1": "PlateT6_0_2", + "C2": "PlateT6_1_2", + "C3": "PlateT6_2_2", + "C4": "PlateT6_3_2", + "C5": "PlateT6_4_2", + "C6": "PlateT6_5_2", + "D1": "PlateT6_0_3", + "D2": "PlateT6_1_3", + "D3": "PlateT6_2_3", + "D4": "PlateT6_3_3", + "D5": "PlateT6_4_3", + "D6": "PlateT6_5_3" + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + } + }, + "data": { + "Material": { + "Code": "1", + "Name": "ep适配器", + "uuid": "e146697c395e4eabb3d6b74f0dd6aaf7", + "SupplyType": 1, + "materialEnum": 0 + } + }, + "schema": null, + "model": null, + "position": { + "x": 0, + "y": 0, + "z": 0 + } + }, + { + "id": "PlateT6_0_0", + "name": "PlateT6_0_0", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 3.54, + "y": 64.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 3.54, + "y": 64.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_0_1", + "name": "PlateT6_0_1", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 3.54, + "y": 46.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 3.54, + "y": 46.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_0_2", + "name": "PlateT6_0_2", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 3.54, + "y": 28.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 3.54, + "y": 28.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_0_3", + "name": "PlateT6_0_3", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 3.54, + "y": 10.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 3.54, + "y": 10.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_1_0", + "name": "PlateT6_1_0", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 24.54, + "y": 64.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 24.54, + "y": 64.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_1_1", + "name": "PlateT6_1_1", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 24.54, + "y": 46.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 24.54, + "y": 46.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_1_2", + "name": "PlateT6_1_2", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 24.54, + "y": 28.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 24.54, + "y": 28.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_1_3", + "name": "PlateT6_1_3", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 24.54, + "y": 10.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 24.54, + "y": 10.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_2_0", + "name": "PlateT6_2_0", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 45.54, + "y": 64.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 45.54, + "y": 64.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_2_1", + "name": "PlateT6_2_1", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 45.54, + "y": 46.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 45.54, + "y": 46.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_2_2", + "name": "PlateT6_2_2", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 45.54, + "y": 28.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 45.54, + "y": 28.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_2_3", + "name": "PlateT6_2_3", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 45.54, + "y": 10.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 45.54, + "y": 10.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_3_0", + "name": "PlateT6_3_0", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 66.54, + "y": 64.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 66.54, + "y": 64.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_3_1", + "name": "PlateT6_3_1", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 66.54, + "y": 46.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 66.54, + "y": 46.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_3_2", + "name": "PlateT6_3_2", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 66.54, + "y": 28.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 66.54, + "y": 28.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_3_3", + "name": "PlateT6_3_3", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 66.54, + "y": 10.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 66.54, + "y": 10.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_4_0", + "name": "PlateT6_4_0", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 87.54, + "y": 64.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 87.54, + "y": 64.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_4_1", + "name": "PlateT6_4_1", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 87.54, + "y": 46.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 87.54, + "y": 46.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_4_2", + "name": "PlateT6_4_2", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 87.54, + "y": 28.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 87.54, + "y": 28.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_4_3", + "name": "PlateT6_4_3", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 87.54, + "y": 10.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 87.54, + "y": 10.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_5_0", + "name": "PlateT6_5_0", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 108.54, + "y": 64.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 108.54, + "y": 64.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_5_1", + "name": "PlateT6_5_1", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 108.54, + "y": 46.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 108.54, + "y": 46.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_5_2", + "name": "PlateT6_5_2", + "type": "tube", + "class": "", + "parent": "PlateT6", + "pose": { + "layout": "2d", + "position": { + "x": 108.54, + "y": 28.7, + "z": 4.58 + }, + "position_3d": { + "x": 0, + "y": 0, + "z": 0 + }, + "size": { + "width": 11, + "height": 11, + "depth": 0 + }, + "scale": { + "x": 1, + "y": 1, + "z": 1 + }, + "rotation": { + "x": 0, + "y": 0, + "z": 0 + }, + "extra": null, + "cross_section_type": "rectangle" + }, + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 108.54, + "y": 28.7, + "z": 4.58 + } + }, + { + "id": "PlateT6_5_3", + "name": "PlateT6_5_3", + "type": "tube", + "class": "", + "parent": "PlateT6", + "config": { + "type": "Tube", + "model": null, + "size_x": 10.6, + "size_y": 10.6, + "size_z": 40, + "barcode": null, + "category": "tube", + "rotation": { + "x": 0, + "y": 0, + "z": 0, + "type": "Rotation" + }, + "max_volume": 1500 + }, + "data": { + "liquids": [], + "liquid_history": [], + "pending_liquids": [] + }, + "schema": null, + "model": null, + "position": { + "x": 108.54, + "y": 10.7, + "z": 4.58 + } + }, { "id": "PlateT9", "name": "PlateT9", @@ -20456,8 +17976,8 @@ }, "config": { "type": "PRCXI9300Plate", - "size_x": 127, - "size_y": 85.5, + "size_x": 127.5, + "size_y": 86, "size_z": 10, "rotation": { "x": 0, @@ -24529,8 +22049,8 @@ }, "config": { "type": "PRCXI9300Plate", - "size_x": 127, - "size_y": 85.5, + "size_x": 127.5, + "size_y": 86, "size_z": 10, "rotation": { "x": 0, @@ -28603,8 +26123,8 @@ }, "config": { "type": "PRCXI9300Plate", - "size_x": 127, - "size_y": 85.5, + "size_x": 127.5, + "size_y": 86, "size_z": 10, "rotation": { "x": 0, @@ -32676,8 +30196,8 @@ }, "config": { "type": "PRCXI9300Plate", - "size_x": 127, - "size_y": 85.5, + "size_x": 127.5, + "size_y": 86, "size_z": 10, "rotation": { "x": 0, @@ -36749,8 +34269,8 @@ }, "config": { "type": "PRCXI9300Plate", - "size_x": 127, - "size_y": 85.5, + "size_x": 127.5, + "size_y": 86, "size_z": 10, "rotation": { "x": 0, @@ -40721,8 +38241,8 @@ }, "config": { "type": "PRCXI9300Trash", - "size_x": 127, - "size_y": 85.5, + "size_x": 127.5, + "size_y": 86, "size_z": 10, "rotation": { "x": 0,