新增 tip_above_rack_length 参数并更新 PRCXI 枪头尺寸

- TipInfo 新增 tip_above_rack_length 可选字段
- 编辑器支持 tip_above 与 dz 互算,更新中文标签
- 侧视图绘制枪头露出部分并标注,俯视图/侧视图增加 dx/dy/dz 标注
- 预览增加回中按钮,详情页展示新字段
- 导入时自动计算 tip_above_rack_length
- 批量更新 PRCXI 枪头物理尺寸及 registry YAML

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ALITTLELZ
2026-04-01 18:22:23 +08:00
parent 2fd4270831
commit 59aa991988
13 changed files with 871 additions and 759 deletions

View File

@@ -306,9 +306,9 @@
"type": "tip_rack",
"function_name": "PRCXI_10ul_eTips",
"docstring": "对应 JSON Code: ZX-001-10+",
"size_x": 122.11,
"size_x": 127.76,
"size_y": 85.48,
"size_z": 58.23,
"size_z": 58.0,
"model": "PRCXI_10ul_eTips",
"category": "tip_rack",
"plate_type": null,
@@ -327,21 +327,22 @@
"grid": {
"num_items_x": 12,
"num_items_y": 8,
"dx": 7.97,
"dy": 5.0,
"dz": 2.0,
"dx": 10.63,
"dy": 7.49,
"dz": 14.6,
"item_dx": 9.0,
"item_dy": 9.0
},
"well": null,
"volume_functions": null,
"tip": {
"spot_size_x": 7.0,
"spot_size_y": 7.0,
"spot_size_x": 7.5,
"spot_size_y": 7.5,
"spot_size_z": 0.0,
"tip_volume": 300.0,
"tip_length": 60.0,
"tip_fitting_depth": 51.0,
"tip_volume": 10.0,
"tip_length": 52.0,
"tip_fitting_depth": 8.2,
"tip_above_rack_length": 8.6,
"has_filter": false
},
"tube": null,
@@ -354,9 +355,9 @@
"type": "tip_rack",
"function_name": "PRCXI_300ul_Tips",
"docstring": "对应 JSON Code: ZX-001-300\n吸头盒通常比较特殊需要定义 Tip 对象",
"size_x": 122.11,
"size_x": 127.76,
"size_y": 85.48,
"size_z": 58.23,
"size_z": 58.0,
"model": "PRCXI_300ul_Tips",
"category": "tip_rack",
"plate_type": null,
@@ -375,21 +376,22 @@
"grid": {
"num_items_x": 12,
"num_items_y": 8,
"dx": 7.97,
"dy": 5.0,
"dz": 2.0,
"dx": 10.63,
"dy": 7.49,
"dz": 6.6,
"item_dx": 9.0,
"item_dy": 9.0
},
"well": null,
"volume_functions": null,
"tip": {
"spot_size_x": 7.0,
"spot_size_y": 7.0,
"spot_size_x": 7.5,
"spot_size_y": 7.5,
"spot_size_z": 0.0,
"tip_volume": 300.0,
"tip_length": 60.0,
"tip_fitting_depth": 51.0,
"tip_fitting_depth": 8.2,
"tip_above_rack_length": 8.6,
"has_filter": false
},
"tube": null,
@@ -788,9 +790,9 @@
"type": "tip_rack",
"function_name": "PRCXI_1250uL_Tips",
"docstring": "Code: ZX-001-1250",
"size_x": 118.09,
"size_y": 80.7,
"size_z": 107.67,
"size_x": 127.76,
"size_y": 85.48,
"size_z": 98.0,
"model": "PRCXI_1250uL_Tips",
"category": "tip_rack",
"plate_type": null,
@@ -809,21 +811,22 @@
"grid": {
"num_items_x": 12,
"num_items_y": 8,
"dx": 5.57,
"dy": 4.875,
"dz": 2.0,
"dx": 10.63,
"dy": 7.49,
"dz": 6.6,
"item_dx": 9.0,
"item_dy": 9.0
},
"well": null,
"volume_functions": null,
"tip": {
"spot_size_x": 7.0,
"spot_size_y": 7.0,
"spot_size_z": 0.0,
"tip_volume": 300.0,
"tip_length": 60.0,
"tip_fitting_depth": 51.0,
"spot_size_x": 7.5,
"spot_size_y": 7.5,
"spot_size_z": 100.0,
"tip_volume": 1250.0,
"tip_length": 100.0,
"tip_fitting_depth": 8.2,
"tip_above_rack_length": 8.6,
"has_filter": false
},
"tube": null,
@@ -836,9 +839,9 @@
"type": "tip_rack",
"function_name": "PRCXI_10uL_Tips",
"docstring": "Code: ZX-001-10",
"size_x": 120.98,
"size_y": 82.12,
"size_z": 67.0,
"size_x": 127.76,
"size_y": 85.48,
"size_z": 58.0,
"model": "PRCXI_10uL_Tips",
"category": "tip_rack",
"plate_type": null,
@@ -857,21 +860,22 @@
"grid": {
"num_items_x": 12,
"num_items_y": 8,
"dx": 8.49,
"dy": 7.06,
"dz": 2.0,
"dx": 10.63,
"dy": 7.49,
"dz": 14.6,
"item_dx": 9.0,
"item_dy": 9.0
},
"well": null,
"volume_functions": null,
"tip": {
"spot_size_x": 7.0,
"spot_size_y": 7.0,
"spot_size_x": 7.5,
"spot_size_y": 7.5,
"spot_size_z": 0.0,
"tip_volume": 300.0,
"tip_length": 60.0,
"tip_fitting_depth": 51.0,
"tip_volume": 10.0,
"tip_length": 52.0,
"tip_fitting_depth": 8.2,
"tip_above_rack_length": 8.6,
"has_filter": false
},
"tube": null,
@@ -884,8 +888,8 @@
"type": "tip_rack",
"function_name": "PRCXI_1000uL_Tips",
"docstring": "Code: ZX-001-1000",
"size_x": 128.09,
"size_y": 85.8,
"size_x": 127.76,
"size_y": 85.48,
"size_z": 98.0,
"model": "PRCXI_1000uL_Tips",
"category": "tip_rack",
@@ -905,21 +909,22 @@
"grid": {
"num_items_x": 12,
"num_items_y": 8,
"dx": 10.525,
"dy": 7.425,
"dz": 2.0,
"dx": 10.63,
"dy": 7.49,
"dz": 6.6,
"item_dx": 9.0,
"item_dy": 9.0
},
"well": null,
"volume_functions": null,
"tip": {
"spot_size_x": 7.0,
"spot_size_y": 7.0,
"spot_size_z": 0.0,
"tip_volume": 300.0,
"tip_length": 60.0,
"tip_fitting_depth": 51.0,
"spot_size_x": 7.5,
"spot_size_y": 7.5,
"spot_size_z": 100.0,
"tip_volume": 1000.0,
"tip_length": 100.0,
"tip_fitting_depth": 8.2,
"tip_above_rack_length": 8.6,
"has_filter": false
},
"tube": null,
@@ -968,6 +973,7 @@
"tip_volume": 300.0,
"tip_length": 60.0,
"tip_fitting_depth": 51.0,
"tip_above_rack_length": null,
"has_filter": false
},
"tube": null,
@@ -1256,6 +1262,55 @@
},
"include_in_template_matching": false,
"template_kind": null
},
{
"id": "5bb65eb2",
"type": "tip_rack",
"function_name": "PRCXI_50uL_tips",
"docstring": "",
"size_x": 127.76,
"size_y": 85.48,
"size_z": 58.0,
"model": "PRCXI_50uL_tips",
"category": null,
"plate_type": null,
"material_info": {
"uuid": "",
"Code": "",
"Name": "",
"materialEnum": null,
"SupplyType": 1
},
"registry_category": [
"prcxi",
"tip_racks"
],
"registry_description": "",
"grid": {
"num_items_x": 12,
"num_items_y": 8,
"dx": 10.63,
"dy": 7.49,
"dz": 13.6,
"item_dx": 9.0,
"item_dy": 9.0
},
"well": null,
"volume_functions": null,
"tip": {
"spot_size_x": 7.5,
"spot_size_y": 7.5,
"spot_size_z": 0.0,
"tip_volume": 50.0,
"tip_length": 53.0,
"tip_fitting_depth": 8.2,
"tip_above_rack_length": 8.6,
"has_filter": false
},
"tube": null,
"adapter": null,
"include_in_template_matching": false,
"template_kind": "tip_rack"
}
]
}