topo-engine 0.1.11 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,6 +10,7 @@
10
10
  - 🎨 **深色 / 浅色双主题** — 黑底 SCADA 或白底两种画布风格,图元 / 导线 / 文字随之配套适配,可随时切换(`theme` prop 或工具栏按钮)。默认浅色主题
11
11
  - 🗺 **图例** — 可选图例面板(`legend` prop,**默认关闭**):按当前图实际设备类别自动生成、颜色随主题,支持 `legendItems` 自定义项与点击折叠
12
12
  - 📐 **自研正交布局** — 主干沿最长路径横向铺开 + 分支带垂直直走,整图**横平竖直、0 交叉、0 重叠**,边缘路由为直线 / L 形折线
13
+ - 🏢 **站房/公配室多母线** — 站内含多条母线时**母线并排**(同一水平线);**母联开关经「半矩形(⊔)」走线连接两母线**(母线端向下 → 水平 → 母联开关 → 水平 → 向上),母联短名为「母联」并居中显示在 ⊔ 内部;其余开关各挂各自母线;单母线站房行为不变
13
14
  - 🔍 **拓扑查询 API** — 节点 / 边 / 邻居 / 子树 / 主干链 / 路径 / 坐标 查询
14
15
  - 🎨 **样式控制** — 节点、边样式覆盖与批量重置
15
16
  - 🎨 **节点 / 电表染色** — 按 **psrId(设备编码)** 染普通节点、按 **assetNo(资产编号)** 染计量箱内电表户(状态色、告警色场景)
@@ -174,12 +175,12 @@ const g6Data = buildGraphData(model, layout); // → G6 可直接消费的 { n
174
175
 
175
176
  | psrType | 类别 | 渲染 |
176
177
  | ------- | ---- | ---- |
177
- | `0302` | 配电变压器 | 橙色圆 + 红圈 |
178
- | `3301` | 开关 / 熔丝 | 红色矩形(开关名自动缩写为 K 编号) |
178
+ | `0302` / `0110` | 配电变压器(柱上变) | 橙色圆 + 红圈 |
179
+ | `3301` / `321500000` | 开关 / 熔丝 | 红色矩形(开关名自动缩写为 K 编号) |
179
180
  | `3303` | 低压母线 | 白色短粗线(无文字标签) |
180
181
  | `3202` / `320300000` | 电缆终端头 / 分接点 | 三角 / 红色米字(无文字标签) |
181
- | `310100000` | 低压导线 | 青色连接点(名称缩写为杆号区间) |
182
- | `3112` | 计量箱 | 黑底白框 "JX"(有客户数据时显示为电能表图标 + 用户名) |
182
+ | `310100000` / `3201` / `3102` / `3101` | 低压导线(含电杆/导线分段) | 青色连接点(名称缩写为杆号区间) |
183
+ | `3112` / `31120003` | 计量箱 | 黑底白框 "JX"(有客户数据时显示为电能表图标 + 用户名) |
183
184
  | `3218000` | 用户接入点 | 白圈 "J"(名称缩写为户号) |
184
185
  | `32500000` | 低压配电箱(台区) | 站房 |
185
186
 
@@ -492,6 +493,18 @@ const size = getMeterBoxSize(node); // 获取动态尺寸 {
492
493
 
493
494
  `TopoGraph` 组件内部即用上述默认参数,返回布局数据含每节点坐标、`edgeCP`(每条边的完整折线点序列)与 `fishboneRibs`,可配 `assertOrthogonal(model, edgeCP)` 做 0 交叉 / 正交性校验。
494
495
 
496
+ ### 站房内部布局(含多母线)
497
+
498
+ 站房(`stations[].contain`)内部按「进线开关 → 母线 → 出线开关」展开:
499
+
500
+ - **单母线**:进线开关竖直在母线正上方,出线开关全部竖直均匀下挂母线,出线从开关底穿出框底。
501
+ - **多母线(双母线等)**:站内多条母线**并排在同一水平线**上(各自长度随本母线开关数量自适应);
502
+ 母联开关**沉到两母线间隙的下方**,连线按**「半矩形(⊔)」**走线——左母线端竖直向下 → 水平 → 母联开关 → 水平 → 竖直向上接右母线端
503
+ (电气方向与左右排列相反时自动翻转两侧,不横穿母线);母联短名为「母联」,标签居中画在 ⊔ 内部,不与相邻母线下的开关重叠;
504
+ 其余开关按「父母线」归属,各自竖直下挂在自己母线上;站内根(如公变)与进线开关接在**主母线(进线开关所接的那条母线)**上方;
505
+ 站内只有变压器、没有进线开关时,变压器直接挂在主母线上方(也会正常定位,不会丢坐标)。
506
+ - 布局结果自动保证母线/母联/开关两两不重叠、线段横平竖直(`assertOrthogonal` 校验为 0 非正交段)。
507
+
495
508
  ## TypeScript
496
509
 
497
510
  类型声明随包发布(`dist/index.d.ts`),支持按需导入: