|
|
|
|
@ -0,0 +1,797 @@
|
|
|
|
|
# FreeCAD 机柜装配与布线操作文档
|
|
|
|
|
|
|
|
|
|
本文档说明如何在 LightWork3D / FreeCAD 中,从一个空机柜开始,逐步放置导轨、线槽、电流互感器、小型断路器、接线端子、接地排等设备,并完成端子生成和 3D 布线。
|
|
|
|
|
|
|
|
|
|
适用范围:
|
|
|
|
|
|
|
|
|
|
- 机柜内部 3D 装配
|
|
|
|
|
- FCStd 设备模板使用
|
|
|
|
|
- 导轨、线槽等柜内附件摆放
|
|
|
|
|
- 工程端子生成
|
|
|
|
|
- 手动布线与保存回写
|
|
|
|
|
- 自动布线的基础准备
|
|
|
|
|
|
|
|
|
|
本文档遵守当前第一版 2D/3D 协同约束:
|
|
|
|
|
|
|
|
|
|
- 3D 位姿和装配状态以 FreeCAD 文档 `scene.FCStd` 为准。
|
|
|
|
|
- 数据库第一版只保留最小绑定,不保存 3D 位姿。
|
|
|
|
|
- 有接线点的设备优先使用 `.FCStd` 设备模板。
|
|
|
|
|
- STEP 只作为几何输入或交换格式,不作为正式电气语义资产。
|
|
|
|
|
- 工程布线连接的是工程端子,不直接连接模板端子。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 1. 先理解几个工作台分别做什么
|
|
|
|
|
|
|
|
|
|
### 1.1 `Assembly`
|
|
|
|
|
|
|
|
|
|
用途:机械装配。
|
|
|
|
|
|
|
|
|
|
用它处理:
|
|
|
|
|
|
|
|
|
|
- 空机柜作为基准件。
|
|
|
|
|
- 导轨安装到机柜背板。
|
|
|
|
|
- 线槽安装到导轨上下或柜内侧边。
|
|
|
|
|
- 断路器、互感器、端子排、接地排等设备摆放到导轨或安装板上。
|
|
|
|
|
- 对齐面、固定距离、移动/旋转设备。
|
|
|
|
|
|
|
|
|
|
不要用它处理:
|
|
|
|
|
|
|
|
|
|
- 端子语义。
|
|
|
|
|
- 电气连接关系。
|
|
|
|
|
- 导线任务回写。
|
|
|
|
|
|
|
|
|
|
你截图右侧出现的 `Gears` 是齿轮约束任务,适合齿轮运动,不适合机柜装配。遇到这种界面,先点 `Cancel` 退出。
|
|
|
|
|
|
|
|
|
|
### 1.2 `QET模板`
|
|
|
|
|
|
|
|
|
|
用途:QET/FreeCAD 电气模板、端子和布线。
|
|
|
|
|
|
|
|
|
|
用它处理:
|
|
|
|
|
|
|
|
|
|
- 制作设备模板端子。
|
|
|
|
|
- 导入 FCStd 设备模板实例。
|
|
|
|
|
- 从模板端子生成工程端子。
|
|
|
|
|
- 打开 `3D手动布线` 面板。
|
|
|
|
|
- 打开 `3D自动布线` 面板。
|
|
|
|
|
- 保存并回写。
|
|
|
|
|
|
|
|
|
|
当前工具栏/菜单中常见命令:
|
|
|
|
|
|
|
|
|
|
| 命令 | 用途 |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `设备模板端子制作` | 打开模板端子制作面板 |
|
|
|
|
|
| `添加模板端子` | 在模板里添加端子 LCS |
|
|
|
|
|
| `校验模板端子` | 检查模板端子是否有效 |
|
|
|
|
|
| `保存模板为 FCStd` | 保存可复用设备模板 |
|
|
|
|
|
| `导入模板实例` | 把 FCStd 设备模板导入当前工程场景 |
|
|
|
|
|
| `生成工程端子` | 把模板端子转换成当前工程里的可布线端子 |
|
|
|
|
|
| `连接选中端子` | 连接两个已选工程端子 |
|
|
|
|
|
| `3D手动布线` | 打开手动布线面板 |
|
|
|
|
|
| `3D自动布线` | 打开自动布线面板 |
|
|
|
|
|
|
|
|
|
|
### 1.3 `Draft`
|
|
|
|
|
|
|
|
|
|
用途:辅助建模和批量摆放。
|
|
|
|
|
|
|
|
|
|
推荐用它处理:
|
|
|
|
|
|
|
|
|
|
- 阵列复制端子片。
|
|
|
|
|
- 按固定间距复制相同设备。
|
|
|
|
|
- 辅助画线、点、草图路径。
|
|
|
|
|
- 对象移动、旋转、捕捉。
|
|
|
|
|
|
|
|
|
|
例如端子片宽度为 `5.2 mm`,可以用 Draft 阵列按 X 方向复制成端子排。
|
|
|
|
|
|
|
|
|
|
### 1.4 `Part` / `Part Design`
|
|
|
|
|
|
|
|
|
|
用途:模型检查和简单几何编辑。
|
|
|
|
|
|
|
|
|
|
推荐用它处理:
|
|
|
|
|
|
|
|
|
|
- 检查导入模型。
|
|
|
|
|
- 简单切割、合并、测量。
|
|
|
|
|
- 给 STEP 几何补一些基础外形。
|
|
|
|
|
|
|
|
|
|
不建议把日常机柜装配都放在 Part Design 里做。Part Design 更适合制作单个零件,不适合管理整柜装配关系。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 2. 推荐总流程
|
|
|
|
|
|
|
|
|
|
完整流程建议按下面顺序做:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
准备资产
|
|
|
|
|
-> 创建或打开工程 scene.FCStd
|
|
|
|
|
-> 放置空机柜
|
|
|
|
|
-> 放置导轨和线槽
|
|
|
|
|
-> 放置设备
|
|
|
|
|
-> 为设备生成工程端子
|
|
|
|
|
-> 标记线槽/导轨/柜面
|
|
|
|
|
-> 手动布线或自动布线
|
|
|
|
|
-> 保存并回写
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
关键原则:
|
|
|
|
|
|
|
|
|
|
- `Assembly` 管“东西放哪儿”。
|
|
|
|
|
- `QET模板` 管“哪里能接线”。
|
|
|
|
|
- `3D手动布线` / `3D自动布线` 管“线怎么走”。
|
|
|
|
|
- `scene.FCStd` 是 3D 状态真相源。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 3. 准备资产
|
|
|
|
|
|
|
|
|
|
### 3.1 空机柜
|
|
|
|
|
|
|
|
|
|
空机柜可以是:
|
|
|
|
|
|
|
|
|
|
- `.FCStd`
|
|
|
|
|
- `.step`
|
|
|
|
|
- `.stp`
|
|
|
|
|
|
|
|
|
|
空机柜通常不需要端子 LCS,因为它不是电气接线设备。它主要作为装配基准。
|
|
|
|
|
|
|
|
|
|
建议机柜模型包含:
|
|
|
|
|
|
|
|
|
|
- 外壳
|
|
|
|
|
- 背板或安装板
|
|
|
|
|
- 门板
|
|
|
|
|
- 安装孔或安装条
|
|
|
|
|
- 柜内坐标方向清晰
|
|
|
|
|
|
|
|
|
|
### 3.2 导轨
|
|
|
|
|
|
|
|
|
|
导轨也通常不需要端子 LCS。它是安装基准件。
|
|
|
|
|
|
|
|
|
|
本仓库已有示例资产:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
data/examples/qet_cabinet_assets/qet_din_rail.FCStd
|
|
|
|
|
data/examples/qet_cabinet_assets/qet_din_rail.step
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
推荐用 `.FCStd`,因为 FreeCAD 打开后对象层级和颜色更清楚。
|
|
|
|
|
|
|
|
|
|
### 3.3 线槽
|
|
|
|
|
|
|
|
|
|
线槽通常不接线,但它是布线路径载体。
|
|
|
|
|
|
|
|
|
|
本仓库已有示例资产:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
data/examples/qet_cabinet_assets/qet_wire_duct.FCStd
|
|
|
|
|
data/examples/qet_cabinet_assets/qet_wire_duct.step
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
线槽需要在工程里标记为“线槽”,这样自动布线或路径分析才能把它当作走线路径参考。
|
|
|
|
|
|
|
|
|
|
### 3.4 有接线点的设备
|
|
|
|
|
|
|
|
|
|
下面这些设备建议做成 `.FCStd` 设备模板:
|
|
|
|
|
|
|
|
|
|
- 电流互感器
|
|
|
|
|
- 小型断路器
|
|
|
|
|
- 接线端子
|
|
|
|
|
- 接地排
|
|
|
|
|
- 继电器
|
|
|
|
|
- 电源模块
|
|
|
|
|
- PLC 模块
|
|
|
|
|
|
|
|
|
|
这些设备如果要参与布线,必须有模板端子 LCS。
|
|
|
|
|
|
|
|
|
|
模板端子至少包含:
|
|
|
|
|
|
|
|
|
|
| 属性 | 值 |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `Role` | `Terminal` |
|
|
|
|
|
| `CanWire` | `true` |
|
|
|
|
|
| `QetTemplateSlotName` | 例如 `P1`、`P2`、`A1`、`PE` |
|
|
|
|
|
| `QetTerminalLabel` | 显示名称 |
|
|
|
|
|
| `QetTerminalType` | `generic`、`power`、`primary`、`ground` 等 |
|
|
|
|
|
|
|
|
|
|
模板端子禁止写入:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
QetProjectUuid
|
|
|
|
|
QetElementUuid
|
|
|
|
|
QetTerminalUuid
|
|
|
|
|
QetInstanceId
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
这些字段属于工程实例,不属于可复用设备模板。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 4. 制作一个可接线设备模板
|
|
|
|
|
|
|
|
|
|
如果你手里只有 STEP 模型,例如一个小型断路器:
|
|
|
|
|
|
|
|
|
|
1. 打开 FreeCAD。
|
|
|
|
|
2. 导入该 STEP。
|
|
|
|
|
3. 切换到 `QET模板` 工作台。
|
|
|
|
|
4. 点击 `设备模板端子制作`。
|
|
|
|
|
5. 在模型上选择真实接线孔、接线螺钉中心或附近的点。
|
|
|
|
|
6. 在面板中输入端子名,例如 `L1`、`L2`、`T1`、`T2`。
|
|
|
|
|
7. 点击 `添加端子`。
|
|
|
|
|
8. 重复选择和添加,直到所有需要布线的位置都有端子。
|
|
|
|
|
9. 点击 `校验端子`。
|
|
|
|
|
10. 校验通过后点击 `保存为 FCStd`。
|
|
|
|
|
|
|
|
|
|
保存后的 `.FCStd` 就是正式设备模板。
|
|
|
|
|
|
|
|
|
|
建议命名:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
assets/devices/mini_breaker_2p.FCStd
|
|
|
|
|
assets/devices/current_transformer.FCStd
|
|
|
|
|
assets/devices/terminal_block_slice.FCStd
|
|
|
|
|
assets/devices/ground_bar.FCStd
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 5. 创建或打开机柜工程场景
|
|
|
|
|
|
|
|
|
|
### 5.1 从 QET 打开
|
|
|
|
|
|
|
|
|
|
正式流程建议从 QET 的 `3D视图` 打开 FreeCAD。
|
|
|
|
|
|
|
|
|
|
QET 会准备:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
<project>/.qet_freecad/2d_to_3d.json
|
|
|
|
|
<project>/.qet_freecad/scene.FCStd
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
并设置环境变量:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
QET_2D_TO_3D_JSON
|
|
|
|
|
QET_FREECAD_SCENE_FILE
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
FreeCAD 启动后会导入 2D 侧设备、端子和导线任务。
|
|
|
|
|
|
|
|
|
|
### 5.2 手动创建场景
|
|
|
|
|
|
|
|
|
|
如果只是验证装配,也可以手动:
|
|
|
|
|
|
|
|
|
|
1. FreeCAD 新建文档。
|
|
|
|
|
2. 保存为 `scene.FCStd`。
|
|
|
|
|
3. 手动导入机柜、导轨、线槽和设备。
|
|
|
|
|
4. 后续用 `QET模板` 的命令生成工程端子和布线。
|
|
|
|
|
|
|
|
|
|
手动场景适合验证几何和摆放,不适合做可靠的 2D/3D 回写测试。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 6. 放置空机柜
|
|
|
|
|
|
|
|
|
|
### 6.1 导入机柜
|
|
|
|
|
|
|
|
|
|
如果机柜是 STEP:
|
|
|
|
|
|
|
|
|
|
1. 菜单 `文件 -> 导入`。
|
|
|
|
|
2. 选择机柜 `.step` / `.stp`。
|
|
|
|
|
3. 导入后保存文档。
|
|
|
|
|
|
|
|
|
|
如果机柜是 FCStd:
|
|
|
|
|
|
|
|
|
|
1. 菜单 `文件 -> 打开`,或复制对象到当前 `scene.FCStd`。
|
|
|
|
|
2. 保持机柜作为基准对象。
|
|
|
|
|
|
|
|
|
|
### 6.2 建议坐标约定
|
|
|
|
|
|
|
|
|
|
为了后续设备摆放、导轨阵列和布线更稳定,建议统一:
|
|
|
|
|
|
|
|
|
|
| 轴 | 含义 |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| X | 机柜左右方向 |
|
|
|
|
|
| Y | 机柜深度方向 |
|
|
|
|
|
| Z | 机柜高度方向 |
|
|
|
|
|
|
|
|
|
|
建议把机柜背板作为 `Y` 方向的基准面,把底部作为 `Z=0` 附近。
|
|
|
|
|
|
|
|
|
|
### 6.3 固定机柜
|
|
|
|
|
|
|
|
|
|
在 `Assembly` 中:
|
|
|
|
|
|
|
|
|
|
1. 选择机柜对象。
|
|
|
|
|
2. 使用固定/锁定基准件的操作。
|
|
|
|
|
3. 后续导轨、线槽、设备都相对机柜摆放。
|
|
|
|
|
|
|
|
|
|
如果只是快速摆放,也可以不用约束,直接在属性面板里设置 `Placement`。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 7. 放置导轨
|
|
|
|
|
|
|
|
|
|
### 7.1 导入导轨
|
|
|
|
|
|
|
|
|
|
推荐方式一:通过 `3D手动布线` 面板导入。
|
|
|
|
|
|
|
|
|
|
1. 切换到 `QET模板` 工作台。
|
|
|
|
|
2. 点击 `3D手动布线`。
|
|
|
|
|
3. 在面板中设置 `载体长度`,例如 `600 mm`。
|
|
|
|
|
4. 点击 `导入导轨`。
|
|
|
|
|
5. 选择导轨模型,或使用默认示例导轨。
|
|
|
|
|
6. 导入后将其移动到机柜背板上。
|
|
|
|
|
|
|
|
|
|
推荐方式二:手动导入。
|
|
|
|
|
|
|
|
|
|
1. 菜单 `文件 -> 导入` 或打开 FCStd。
|
|
|
|
|
2. 选择 `qet_din_rail.FCStd` 或自己的导轨模型。
|
|
|
|
|
3. 调整 `Placement`。
|
|
|
|
|
|
|
|
|
|
### 7.2 设置导轨位置
|
|
|
|
|
|
|
|
|
|
常见位置:
|
|
|
|
|
|
|
|
|
|
- 上排导轨:用于断路器、继电器、端子排。
|
|
|
|
|
- 中排导轨:用于互感器、接线模块。
|
|
|
|
|
- 下排导轨:用于接地排或辅助设备。
|
|
|
|
|
|
|
|
|
|
可以在属性面板中设置:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
Placement.Base.x
|
|
|
|
|
Placement.Base.y
|
|
|
|
|
Placement.Base.z
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
例如:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
X = 0
|
|
|
|
|
Y = 背板前方 5 mm
|
|
|
|
|
Z = 1200 mm
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
具体值取决于机柜模型尺寸。
|
|
|
|
|
|
|
|
|
|
### 7.3 使用 Assembly 对齐
|
|
|
|
|
|
|
|
|
|
如果希望精确装配:
|
|
|
|
|
|
|
|
|
|
1. 切换到 `Assembly`。
|
|
|
|
|
2. 选择导轨安装面和机柜背板面。
|
|
|
|
|
3. 使用平面对齐或距离约束。
|
|
|
|
|
4. 设置导轨离背板的距离。
|
|
|
|
|
5. 使用水平/边线对齐,让导轨保持水平。
|
|
|
|
|
|
|
|
|
|
不要选择 `Gears`。导轨不是运动部件。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 8. 放置线槽
|
|
|
|
|
|
|
|
|
|
### 8.1 导入线槽
|
|
|
|
|
|
|
|
|
|
推荐通过 `3D手动布线` 面板:
|
|
|
|
|
|
|
|
|
|
1. 切换到 `QET模板`。
|
|
|
|
|
2. 点击 `3D手动布线`。
|
|
|
|
|
3. 设置 `载体长度`,例如 `600 mm`。
|
|
|
|
|
4. 点击 `导入线槽`。
|
|
|
|
|
5. 选择线槽模型,或使用默认示例线槽。
|
|
|
|
|
6. 调整线槽位置。
|
|
|
|
|
|
|
|
|
|
### 8.2 标记线槽
|
|
|
|
|
|
|
|
|
|
导入或选择线槽后:
|
|
|
|
|
|
|
|
|
|
1. 在 3D 视图或树中选择线槽对象。
|
|
|
|
|
2. 在 `3D手动布线` 面板点击 `标记为线槽`。
|
|
|
|
|
|
|
|
|
|
这一步会让 FreeCADExchange 把它识别为走线载体。
|
|
|
|
|
|
|
|
|
|
### 8.3 标记柜面
|
|
|
|
|
|
|
|
|
|
如果希望后续自动布线知道哪些面是柜内障碍或辅助区域:
|
|
|
|
|
|
|
|
|
|
1. 选择机柜背板或安装板对象。
|
|
|
|
|
2. 在 `3D手动布线` 面板点击 `标记为柜面`。
|
|
|
|
|
|
|
|
|
|
### 8.4 调整线槽长度
|
|
|
|
|
|
|
|
|
|
在 `3D手动布线` 面板:
|
|
|
|
|
|
|
|
|
|
1. 输入 `载体长度`。
|
|
|
|
|
2. 选择线槽或导轨对象。
|
|
|
|
|
3. 点击 `应用载体长度`。
|
|
|
|
|
|
|
|
|
|
这适合快速把示例线槽改成现场需要的长度。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 9. 放置设备
|
|
|
|
|
|
|
|
|
|
### 9.1 推荐导入方式
|
|
|
|
|
|
|
|
|
|
有端子语义的设备,优先使用:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
QET模板 -> 导入模板实例
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
操作:
|
|
|
|
|
|
|
|
|
|
1. 切换到 `QET模板`。
|
|
|
|
|
2. 点击 `导入模板实例`。
|
|
|
|
|
3. 选择设备 `.FCStd` 模板。
|
|
|
|
|
4. 导入后在树中会出现设备实例。
|
|
|
|
|
5. 移动设备到导轨或安装板上。
|
|
|
|
|
|
|
|
|
|
如果设备来自 QET 的 2D/3D 数据流,QET 打开 3D 视图时会自动导入或更新设备实例。
|
|
|
|
|
|
|
|
|
|
### 9.2 摆放断路器
|
|
|
|
|
|
|
|
|
|
1. 导入小型断路器 FCStd 模板。
|
|
|
|
|
2. 移动到导轨前方。
|
|
|
|
|
3. 用 `Assembly` 对齐到导轨。
|
|
|
|
|
4. 多个断路器并排时,使用固定间距复制。
|
|
|
|
|
|
|
|
|
|
常见间距:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
1P 断路器宽度:约 18 mm
|
|
|
|
|
2P 断路器宽度:约 36 mm
|
|
|
|
|
3P 断路器宽度:约 54 mm
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 9.3 摆放接线端子
|
|
|
|
|
|
|
|
|
|
端子片可按固定间距复制。
|
|
|
|
|
|
|
|
|
|
例如本仓库生成的端子片:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
data/examples/qet_terminal_block/qet_terminal_slice.FCStd
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
宽度为:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
5.2 mm
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
操作建议:
|
|
|
|
|
|
|
|
|
|
1. 导入一个端子片。
|
|
|
|
|
2. 移动到导轨上。
|
|
|
|
|
3. 用 Draft 阵列或 Link 复制。
|
|
|
|
|
4. X 方向间距设为 `5.2 mm`。
|
|
|
|
|
5. 需要端子排编号时,后续在 QET 2D 侧维护端子 UUID 和端子名称。
|
|
|
|
|
|
|
|
|
|
### 9.4 摆放电流互感器
|
|
|
|
|
|
|
|
|
|
电流互感器一般装在安装板或导轨附近。
|
|
|
|
|
|
|
|
|
|
建议:
|
|
|
|
|
|
|
|
|
|
1. 使用带 `P1/P2` 或 `S1/S2` 模板端子的 FCStd。
|
|
|
|
|
2. 放置到一次线穿过的位置。
|
|
|
|
|
3. 生成工程端子后,再接二次线。
|
|
|
|
|
|
|
|
|
|
### 9.5 摆放接地排
|
|
|
|
|
|
|
|
|
|
接地排建议做成 FCStd 模板。
|
|
|
|
|
|
|
|
|
|
端子命名可用:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
PE1
|
|
|
|
|
PE2
|
|
|
|
|
PE3
|
|
|
|
|
...
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
如果只是视觉资产,可以不加端子。若要接线,必须加端子 LCS。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 10. 生成工程端子
|
|
|
|
|
|
|
|
|
|
设备放好以后,如果设备模板里有端子 LCS,需要生成工程端子。
|
|
|
|
|
|
|
|
|
|
操作:
|
|
|
|
|
|
|
|
|
|
1. 切换到 `QET模板`。
|
|
|
|
|
2. 如果只处理某个设备,先在树中选择该设备组。
|
|
|
|
|
3. 点击 `生成工程端子`。
|
|
|
|
|
4. 查看报告视图或控制台输出。
|
|
|
|
|
|
|
|
|
|
成功时会看到类似信息:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
工程端子生成完成:设备 N 个,新增 X 个,更新 Y 个,本地端子 Z 个,跳过无模板设备 K 个。
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
说明:
|
|
|
|
|
|
|
|
|
|
- 有 QET 真实 `terminal_uuid` 时,会生成可回写的工程端子。
|
|
|
|
|
- 没有 QET 真实 `terminal_uuid` 时,手动生成的是 `local:*` 本地端子。
|
|
|
|
|
- 本地端子可以用于 3D 验证,但不能可靠回写到 QET 2D 端子。
|
|
|
|
|
|
|
|
|
|
工程端子通常在树中位于:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
QETExchangeDevices
|
|
|
|
|
QETDevice_<element_uuid>
|
|
|
|
|
QETTerminals_<element_uuid>
|
|
|
|
|
...
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 11. 手动布线
|
|
|
|
|
|
|
|
|
|
### 11.1 打开手动布线面板
|
|
|
|
|
|
|
|
|
|
1. 切换到 `QET模板`。
|
|
|
|
|
2. 点击 `3D手动布线`。
|
|
|
|
|
|
|
|
|
|
面板中常用按钮:
|
|
|
|
|
|
|
|
|
|
| 按钮 | 用途 |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `选择导线任务` | 使用 QET 导入的某条导线任务 |
|
|
|
|
|
| `刷新任务` | 重新读取导线任务 |
|
|
|
|
|
| `端子出线长度` | 设置从端子出来的第一段长度 |
|
|
|
|
|
| `导入线槽` | 导入线槽资产 |
|
|
|
|
|
| `导入导轨` | 导入导轨资产 |
|
|
|
|
|
| `应用载体长度` | 修改选中线槽/导轨长度 |
|
|
|
|
|
| `标记为线槽` | 把选中对象标记为线槽 |
|
|
|
|
|
| `标记为柜面` | 把选中对象标记为柜面 |
|
|
|
|
|
| `标记为导轨` | 把选中对象标记为导轨 |
|
|
|
|
|
| `设为起点` | 把选中工程端子作为起点 |
|
|
|
|
|
| `添加折点` | 添加一个路径折点 |
|
|
|
|
|
| `删除最后折点` | 删除最后一个路径折点 |
|
|
|
|
|
| `设为终点并生成` | 选择终点并生成导线 |
|
|
|
|
|
| `检查最近导线` | 诊断最近生成的导线 |
|
|
|
|
|
| `检查全部导线` | 检查所有导线 |
|
|
|
|
|
| `清除草稿` | 清除当前布线草稿 |
|
|
|
|
|
| `保存并回写` | 保存 scene.FCStd 并生成回写 JSON |
|
|
|
|
|
|
|
|
|
|
### 11.2 通过导线任务布线
|
|
|
|
|
|
|
|
|
|
如果 QET 已导入导线任务:
|
|
|
|
|
|
|
|
|
|
1. 打开 `3D手动布线` 面板。
|
|
|
|
|
2. 在任务列表中选择一条任务。
|
|
|
|
|
3. 点击 `选择导线任务`。
|
|
|
|
|
4. 面板会根据任务记录起点/终点端子。
|
|
|
|
|
5. 在 3D 视图中添加必要折点。
|
|
|
|
|
6. 点击 `设为终点并生成`。
|
|
|
|
|
7. 点击 `检查最近导线`。
|
|
|
|
|
8. 没问题后点击 `保存并回写`。
|
|
|
|
|
|
|
|
|
|
### 11.3 手动选择两个端子布线
|
|
|
|
|
|
|
|
|
|
如果没有导线任务,或者只是验证:
|
|
|
|
|
|
|
|
|
|
1. 在树中或 3D 视图选择一个工程端子。
|
|
|
|
|
2. 点击 `设为起点`。
|
|
|
|
|
3. 根据需要选择线槽附近的点或对象。
|
|
|
|
|
4. 点击 `添加折点`。
|
|
|
|
|
5. 重复添加折点,让线沿线槽走。
|
|
|
|
|
6. 选择另一个工程端子。
|
|
|
|
|
7. 点击 `设为终点并生成`。
|
|
|
|
|
8. 检查导线。
|
|
|
|
|
9. 保存并回写。
|
|
|
|
|
|
|
|
|
|
注意:必须选择工程端子,不要选择模板端子。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 12. 自动布线
|
|
|
|
|
|
|
|
|
|
自动布线适合在端子和走线网络准备好后使用。
|
|
|
|
|
|
|
|
|
|
### 12.1 打开自动布线面板
|
|
|
|
|
|
|
|
|
|
1. 切换到 `QET模板`。
|
|
|
|
|
2. 点击 `3D自动布线`。
|
|
|
|
|
|
|
|
|
|
常用按钮:
|
|
|
|
|
|
|
|
|
|
| 按钮 | 用途 |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `扫描端子/网络` | 统计端子、导线任务、走线路径 |
|
|
|
|
|
| `从线槽实体生成中心路径` | 从线槽实体生成可走线路径 |
|
|
|
|
|
| `从线槽/草图创建路由路径` | 从选中线槽或草图生成路径 |
|
|
|
|
|
| `从选中面创建辅助路由区域` | 生成辅助路由区域 |
|
|
|
|
|
| `测试布线选中两个端子` | 对两个选中端子做单条自动布线测试 |
|
|
|
|
|
| `按导线任务自动布线全部` | 根据 QET 导线任务批量布线 |
|
|
|
|
|
| `清除自动布线` | 删除自动生成导线 |
|
|
|
|
|
| `清除走线路径` | 删除路由载体 |
|
|
|
|
|
| `保存` | 保存文档和回写结果 |
|
|
|
|
|
|
|
|
|
|
### 12.2 自动布线前置条件
|
|
|
|
|
|
|
|
|
|
自动布线前建议先满足:
|
|
|
|
|
|
|
|
|
|
1. 设备已经摆放到位。
|
|
|
|
|
2. 工程端子已经生成。
|
|
|
|
|
3. 线槽已经导入并标记。
|
|
|
|
|
4. 已从线槽生成中心路径。
|
|
|
|
|
5. QET 导线任务存在,或手动选中了两个工程端子。
|
|
|
|
|
|
|
|
|
|
### 12.3 生成线槽中心路径
|
|
|
|
|
|
|
|
|
|
1. 选择线槽对象。
|
|
|
|
|
2. 打开 `3D自动布线` 面板。
|
|
|
|
|
3. 点击 `从线槽实体生成中心路径`。
|
|
|
|
|
4. 点击 `扫描端子/网络`。
|
|
|
|
|
|
|
|
|
|
如果扫描结果显示有 carrier / segment / node,说明走线网络已建立。
|
|
|
|
|
|
|
|
|
|
### 12.4 批量自动布线
|
|
|
|
|
|
|
|
|
|
1. 确认 QET 已导入导线任务。
|
|
|
|
|
2. 点击 `扫描端子/网络`。
|
|
|
|
|
3. 点击 `按导线任务自动布线全部`。
|
|
|
|
|
4. 查看状态中的 routed、collision_warnings、missing_terminals。
|
|
|
|
|
5. 若有 missing terminals,说明某些 2D 端子没有对应工程端子。
|
|
|
|
|
6. 保存。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 13. 保存和回写
|
|
|
|
|
|
|
|
|
|
### 13.1 保存 FreeCAD 文档
|
|
|
|
|
|
|
|
|
|
装配和布线后必须保存:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
scene.FCStd
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
因为当前第一版 3D 位姿、装配状态、线几何都以 FreeCAD 文档为准。
|
|
|
|
|
|
|
|
|
|
### 13.2 回写给 QET
|
|
|
|
|
|
|
|
|
|
在 `3D手动布线` 面板中点击:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
保存并回写
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
或在自动布线面板点击:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
保存
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
FreeCADExchange 会生成 3D -> 2D 的回写结果。
|
|
|
|
|
|
|
|
|
|
第一版回写重点是最小绑定和导线结果,不把完整 3D 位姿写回数据库。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 14. 推荐实际操作顺序示例
|
|
|
|
|
|
|
|
|
|
下面是从空机柜开始的一个典型操作:
|
|
|
|
|
|
|
|
|
|
1. 从 QET 点击 `3D视图` 打开 FreeCAD。
|
|
|
|
|
2. 保存或确认当前场景为 `scene.FCStd`。
|
|
|
|
|
3. 导入空机柜。
|
|
|
|
|
4. 切到 `Assembly`,固定空机柜。
|
|
|
|
|
5. 切到 `QET模板 -> 3D手动布线`。
|
|
|
|
|
6. 输入导轨长度,点击 `导入导轨`。
|
|
|
|
|
7. 移动导轨到机柜背板。
|
|
|
|
|
8. 选择导轨,点击 `标记为导轨`。
|
|
|
|
|
9. 输入线槽长度,点击 `导入线槽`。
|
|
|
|
|
10. 移动线槽到导轨上方或下方。
|
|
|
|
|
11. 选择线槽,点击 `标记为线槽`。
|
|
|
|
|
12. 用 `QET模板 -> 导入模板实例` 导入断路器、互感器、端子排等 FCStd 模板。
|
|
|
|
|
13. 用 `Assembly` 或 `Placement` 把设备摆到导轨上。
|
|
|
|
|
14. 点击 `QET模板 -> 生成工程端子`。
|
|
|
|
|
15. 打开 `3D手动布线`。
|
|
|
|
|
16. 选择导线任务,或手动选起点端子。
|
|
|
|
|
17. 沿线槽添加折点。
|
|
|
|
|
18. 选择终点端子并生成导线。
|
|
|
|
|
19. 点击 `检查最近导线` 或 `检查全部导线`。
|
|
|
|
|
20. 点击 `保存并回写`。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 15. 常见问题
|
|
|
|
|
|
|
|
|
|
### 15.1 为什么设备导入后没有端子?
|
|
|
|
|
|
|
|
|
|
常见原因:
|
|
|
|
|
|
|
|
|
|
- 设备不是 FCStd 模板。
|
|
|
|
|
- 模板里没有 LCS 端子。
|
|
|
|
|
- LCS 没有 `Role="Terminal"`。
|
|
|
|
|
- LCS 没有 `CanWire=true`。
|
|
|
|
|
- 没有点击 `生成工程端子`。
|
|
|
|
|
|
|
|
|
|
处理:
|
|
|
|
|
|
|
|
|
|
1. 打开设备模板。
|
|
|
|
|
2. 使用 `设备模板端子制作` 添加端子。
|
|
|
|
|
3. 校验端子。
|
|
|
|
|
4. 保存为 FCStd。
|
|
|
|
|
5. 回到工程场景重新导入或更新设备。
|
|
|
|
|
6. 点击 `生成工程端子`。
|
|
|
|
|
|
|
|
|
|
### 15.2 为什么不能布线?
|
|
|
|
|
|
|
|
|
|
常见原因:
|
|
|
|
|
|
|
|
|
|
- 选中的是普通几何,不是工程端子。
|
|
|
|
|
- 选中的是模板端子,不是工程端子。
|
|
|
|
|
- 起点或终点没有 `CanWire=true`。
|
|
|
|
|
- 导线任务里的 `terminal_uuid` 在 3D 场景里找不到。
|
|
|
|
|
|
|
|
|
|
处理:
|
|
|
|
|
|
|
|
|
|
1. 在树中找到 `QETTerminals_*` 分组。
|
|
|
|
|
2. 选择其中的工程端子。
|
|
|
|
|
3. 再执行 `设为起点` / `设为终点并生成`。
|
|
|
|
|
|
|
|
|
|
### 15.3 为什么自动布线找不到路径?
|
|
|
|
|
|
|
|
|
|
常见原因:
|
|
|
|
|
|
|
|
|
|
- 没有导入线槽。
|
|
|
|
|
- 线槽没有标记为线槽。
|
|
|
|
|
- 没有从线槽实体生成中心路径。
|
|
|
|
|
- 端子离线槽太远,缺少过渡路径。
|
|
|
|
|
|
|
|
|
|
处理:
|
|
|
|
|
|
|
|
|
|
1. 选择线槽,点击 `标记为线槽`。
|
|
|
|
|
2. 打开 `3D自动布线`。
|
|
|
|
|
3. 点击 `从线槽实体生成中心路径`。
|
|
|
|
|
4. 点击 `扫描端子/网络`。
|
|
|
|
|
5. 再尝试自动布线。
|
|
|
|
|
|
|
|
|
|
### 15.4 为什么保存后 QET 看不到 3D 位姿?
|
|
|
|
|
|
|
|
|
|
这是当前第一版设计决定的。
|
|
|
|
|
|
|
|
|
|
第一版不把 3D 位姿写入数据库。3D 位姿、装配状态和导线几何保存在:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
scene.FCStd
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
QET 侧只依赖最小绑定字段找到对应设备和端子。
|
|
|
|
|
|
|
|
|
|
### 15.5 当前截图里的 `Gears` 应该怎么处理?
|
|
|
|
|
|
|
|
|
|
这是 Assembly 的齿轮约束任务,不适合机柜装配。
|
|
|
|
|
|
|
|
|
|
处理:
|
|
|
|
|
|
|
|
|
|
1. 点击右侧任务面板的 `Cancel`。
|
|
|
|
|
2. 回到正常选择状态。
|
|
|
|
|
3. 机柜装配使用固定、平面对齐、距离、同轴/共线等约束。
|
|
|
|
|
4. 如果只是摆放,直接编辑 `Placement` 更快。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 16. 推荐使用习惯
|
|
|
|
|
|
|
|
|
|
1. 先粗摆,再精确约束。
|
|
|
|
|
2. 常用设备都整理成 FCStd 模板。
|
|
|
|
|
3. 有接线点的设备一定补模板端子。
|
|
|
|
|
4. 导轨、线槽、机柜可作为纯几何资产。
|
|
|
|
|
5. 端子排优先用单片端子复制,不要每次重建。
|
|
|
|
|
6. 每完成一段装配就保存一次 `scene.FCStd`。
|
|
|
|
|
7. 布线前先生成工程端子。
|
|
|
|
|
8. 自动布线前先建立线槽中心路径。
|
|
|
|
|
9. 不要手动改工程绑定 UUID。
|
|
|
|
|
10. 不要依赖旧 3D 场景表保存位姿。
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 17. 一句话总结
|
|
|
|
|
|
|
|
|
|
机柜装配用 `Assembly` 把设备放准;端子语义用 `QET模板` 写进 FCStd 模板;工程中点击 `生成工程端子` 后,再用 `3D手动布线` 或 `3D自动布线` 连接工程端子;最终保存的是 `scene.FCStd`,它是 3D 装配和布线状态的真相源。
|