You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
LightWork3D/docs/superpowers/specs/2026-06-02-batch-din-device...

4.8 KiB

批量端子排与小型断路器装配设计

目标

第一版只做当前项目可演示、可操作的批量装配能力:用户在 FreeCAD 中选中一根已标记的导轨后,可以批量插入端子片形成端子排,也可以批量插入小型断路器。系统按导轨方向等距放置对象,并为每个对象生成可布线工程端子。

本功能不做完整设备库、不扩展数据库绑定表、不替代 QET 现有 2D 设备/符号关联。2D 仍负责设备型号、端子号和导线任务3D 只负责模型、位姿、端子空间点和装配状态。

范围

端子排

用户选择导轨后,输入端子排名称、端子数量、端子片宽度/间距和起始偏移。系统沿导轨方向生成:

  • 一个端子排分组,例如 XT1
  • 多个端子片实例,例如 XT1_001XT1_002。这些实例同时写入标准 QET 设备语义,便于后续端子绑定和布线索引识别。
  • 每片端子对应的工程端子,例如 XT1:1XT1:2

正式主流程中,端子片模型资源应来自 QET 传入的设备/资产绑定。后端保留 model_path 参数,用于 QET 自动传入模型路径或开发调试兜底;普通用户参数窗口不要求手动选择模型文件。未传入模型路径时回退为脚本生成的简化几何。关键是位置整齐、命名清楚、可被布线模块发现。

小型断路器

用户选择导轨后,输入起始设备名、数量、单个宽度/间距和端子号模板。系统沿导轨方向生成:

  • 多个设备实例,例如 QF1QF2。对象名称使用 QETDevice_QF1 这类标准前缀,树目录 Label 仍显示 QF1
  • 每个设备的工程端子,例如 QF1:1QF1:2QF1:3QF1:4QF1:5QF1:6

如果 2D 已经提供真实设备名和端子号,后续导入/绑定逻辑优先使用 QET 的 terminal_uuid;本功能生成的是第一版本地 3D 辅助对象,用于快速摆放和演示。

数据语义

  • 不新增数据库字段。
  • 3D 对象保存在 FreeCAD 文档中。
  • 工程端子仍使用 TerminalObjects.set_terminal_semantics(...)
  • 批量生成的本地槽位端子使用 local:<instance_id>:<terminal_no>,避免伪造 QET terminal_uuid。
  • 批量设备组写入 QetProjectUuidQetElementUuidQetInstanceIdQetGroupKind=Device,使它们能被现有端子导入/布线绑定逻辑找到。
  • 当 QET 的 2d_to_3d.json 后续提供真实 terminal_uuid + terminal_display 时,布线/端子绑定逻辑按端子号匹配本地槽位,并把 local:* 提升为真实 QET terminal_uuid
  • 树目录显示名使用 设备名:端子号,方便设计人员辨认。
  • 批量对象额外写入本地属性:
  • QetBatchAssemblyKind
  • QetBatchAssemblyName
  • QetMountHostName
  • QetMountKind
  • QetBatchSourceModelPath,仅导入本地模型文件时写入可见几何对象

导轨定位规则

第一版使用导轨对象的 QetCarrierAxis 作为排列轴,默认 x。放置公式:

第 N 个对象位置 = 导轨 Placement.Base + 轴向单位向量 * (起始偏移 + N * 间距)

如果导轨对象带有旋转,排列轴会经过导轨 Placement.Rotation 转换。第一版先保证当前工程和内置导轨的稳定演示。

UI

挂在 QET模板 -> 3D手动布线 面板,新增两个按钮:

  • 批量端子排
  • 批量断路器

点击按钮后弹出参数窗口,窗口内带默认参数:

  • 端子排:XT110 片5.2 mm 间距
  • 小型断路器:QF3 个18 mm 间距,端子号 1,2,3,4,5,6

端子号支持用空格、英文逗号、中文逗号、分号分隔;重复端子号会被拒绝,避免生成两个同名接线点。 普通用户窗口不提供模型文件选择;模型文件由 QET 侧传入或由开发调试入口传入。不传入时使用脚本简化几何。

验收

  1. 选中导轨后点击 批量端子排,生成 XT1 分组和端子片。
  2. 在参数窗口中可调整端子排名称、数量、间距和起始偏移。
  3. 每个端子片都有一个工程端子Label 为 XT1:n
  4. 选中导轨后点击 批量断路器,生成 QF1QF2QF3
  5. 在参数窗口中可调整断路器前缀、数量、间距、起始偏移和端子号模板。
  6. 每个断路器生成指定端子号。
  7. 生成对象位于导轨方向上,间距正确。
  8. 端子默认隐藏,但可被手动/自动布线模块按端子对象收集。
  9. 如果 QET 已传入同一设备实例和端子号,local:* 槽位能被提升为真实 terminal_uuid,从而参与导线任务匹配。

非目标

  • 不做完整 SolidWorks Electrical 设备库。
  • 不自动读取所有 2D 设备属性批量生成真实设备。
  • 不伪造 QET terminal_uuid只有 QET 输入中存在真实端子 UUID 时才提升绑定。
  • 不做复杂 Assembly Joint。
  • 不做完整端子排电气跨接片、跳线、短接片规则。