ice-entity-designer 0.2.7 → 0.3.0

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.
@@ -36,6 +36,13 @@ export type WaterFlowTrace = {
36
36
  /** 卡在哪个关断的阀门上(连不上时给出) */
37
37
  blockedAt?: string;
38
38
  };
39
+ /**
40
+ * 介质线型 → 虚线数组(点划线 = 长划 + 点)。
41
+ *
42
+ * 为什么不让引擎认 `'dashdot'`:`ICEPolyLine` 只把 `'dashed'` 映射成默认虚线,
43
+ * 其它取值会被当成实线 —— 那"信号线"就与水管画得一模一样了。
44
+ */
45
+ export declare function dashPatternOf(lineType: 'solid' | 'dashed' | 'dashdot', lineWidth: number): number[];
39
46
  /** 管线标注:`DN400 污水` 这种「管径 + 介质」是给排水图纸的通行写法 */
40
47
  export declare function composePipeLabel(medium: WaterMedium, dn: string): string;
41
48
  /**
@@ -20,7 +20,7 @@
20
20
  * 配色约定:**蓝色系=水线单元,黄色系=污泥线单元**,全图一眼能分清水与泥。
21
21
  */
22
22
  import { ICEGroup } from 'ice-render';
23
- export declare const WATER_SYMBOL_KINDS: readonly ["barScreen", "gritChamber", "primaryClarifier", "anaerobicTank", "anoxicTank", "aerobicTank", "secondaryClarifier", "coagulationTank", "filterBed", "disinfectionTank", "sludgeThickener", "dewateringMachine", "pump", "blower", "dosingUnit", "valve", "flowMeter", "analyzer", "inlet", "outlet", "sludgeOut"];
23
+ export declare const WATER_SYMBOL_KINDS: readonly ["barScreen", "gritChamber", "primaryClarifier", "anaerobicTank", "anoxicTank", "aerobicTank", "secondaryClarifier", "coagulationTank", "filterBed", "disinfectionTank", "storageTank", "deodorizer", "sludgeThickener", "dewateringMachine", "sludgeSilo", "pump", "submersiblePump", "screwPump", "blower", "vfd", "dosingUnit", "valve", "motorValve", "checkValve", "flowMeter", "levelGauge", "pressureGauge", "analyzer", "inlet", "outlet", "sludgeOut"];
24
24
  export type WaterSymbolKind = (typeof WATER_SYMBOL_KINDS)[number];
25
25
  /** 处理单元:参与工艺链、需要进出管线 */
26
26
  export declare const WATER_UNIT_KINDS: WaterSymbolKind[];
@@ -30,17 +30,23 @@ export declare const WATER_EQUIPMENT_KINDS: WaterSymbolKind[];
30
30
  export declare const WATER_BOUNDARY_KINDS: WaterSymbolKind[];
31
31
  /** 会产出剩余污泥的单元(校验「污泥有没有出路」用) */
32
32
  export declare const WATER_SLUDGE_SOURCE_KINDS: WaterSymbolKind[];
33
- export type WaterMedium = 'sewage' | 'sludge' | 'returnSludge' | 'recycle' | 'air' | 'chemical' | 'effluent';
33
+ export type WaterMedium = 'sewage' | 'sludge' | 'returnSludge' | 'recycle' | 'air' | 'chemical' | 'effluent'
34
+ /** 仪表信号线(点划线):在线仪表 / 液位计 / 压力表与 PLC 的连线 */
35
+ | 'signal'
36
+ /** 动力线(点划线、更粗):变频器等电气回路 */
37
+ | 'power';
34
38
  /**
35
39
  * 介质样式:**颜色与线型区分介质**,是给排水图纸的通行做法(具体色值各院略有差异,可覆盖)。
36
40
  * - 污水 / 出水 / 回流:实线,颜色区分;
37
41
  * - 剩余污泥 / 回流污泥:两个色阶的棕黄(一条是排泥、一条是回流,专业上是两回事);
38
- * - 空气 / 药剂:虚线(不是水流)。
42
+ * - 空气 / 药剂:虚线(不是水流);
43
+ * - 信号 / 动力:点划线(`lineType: 'dashdot'`)—— 这两条不是管道,是电气与信号回路,
44
+ * 画出来才能解释"仪表装在哪、变频器控的是哪台设备"。
39
45
  */
40
46
  export declare const WATER_MEDIUM_STYLES: Record<WaterMedium, {
41
47
  label: string;
42
48
  color: string;
43
- lineType: 'solid' | 'dashed';
49
+ lineType: 'solid' | 'dashed' | 'dashdot';
44
50
  }>;
45
51
  export type WaterSymbolPreset = {
46
52
  label: string;
@@ -78,6 +84,15 @@ export declare const WATER_STYLE: {
78
84
  /** 污泥线单元(配色与校验都要用) */
79
85
  export declare const WATER_SLUDGE_KINDS: WaterSymbolKind[];
80
86
  export type WaterValveState = 'open' | 'closed';
87
+ /**
88
+ * **可开闭的阀门类图元**:手动阀与电动阀。
89
+ *
90
+ * 流径分析(关阀即断流)与开 / 闭操作都按这个集合判 —— 电动阀只是驱动方式不同,
91
+ * 在"通不通"这件事上和手动阀完全等价;漏了它就会出现"电动阀关着,流径却报通"。
92
+ * 图纸上要表达"能远程联锁的阀"就用 `motorValve`,不要因为它长得不一样就当成设备。
93
+ */
94
+ export declare const WATER_VALVE_KINDS: WaterSymbolKind[];
95
+ export declare function isWaterValveKind(kind: string): boolean;
81
96
  /**
82
97
  * @class WaterSymbol 给水排水工艺流程图图元(复合组件)
83
98
  *
@@ -20,7 +20,7 @@
20
20
  * 配色约定:**蓝色系=水线单元,黄色系=污泥线单元**,全图一眼能分清水与泥。
21
21
  */
22
22
  import { ICEGroup } from 'ice-render';
23
- export declare const WATER_SYMBOL_KINDS: readonly ["barScreen", "gritChamber", "primaryClarifier", "anaerobicTank", "anoxicTank", "aerobicTank", "secondaryClarifier", "coagulationTank", "filterBed", "disinfectionTank", "sludgeThickener", "dewateringMachine", "pump", "blower", "dosingUnit", "valve", "flowMeter", "analyzer", "inlet", "outlet", "sludgeOut"];
23
+ export declare const WATER_SYMBOL_KINDS: readonly ["barScreen", "gritChamber", "primaryClarifier", "anaerobicTank", "anoxicTank", "aerobicTank", "secondaryClarifier", "coagulationTank", "filterBed", "disinfectionTank", "storageTank", "deodorizer", "sludgeThickener", "dewateringMachine", "sludgeSilo", "pump", "submersiblePump", "screwPump", "blower", "vfd", "dosingUnit", "valve", "motorValve", "checkValve", "flowMeter", "levelGauge", "pressureGauge", "analyzer", "inlet", "outlet", "sludgeOut"];
24
24
  export type WaterSymbolKind = (typeof WATER_SYMBOL_KINDS)[number];
25
25
  /** 处理单元:参与工艺链、需要进出管线 */
26
26
  export declare const WATER_UNIT_KINDS: WaterSymbolKind[];
@@ -30,17 +30,23 @@ export declare const WATER_EQUIPMENT_KINDS: WaterSymbolKind[];
30
30
  export declare const WATER_BOUNDARY_KINDS: WaterSymbolKind[];
31
31
  /** 会产出剩余污泥的单元(校验「污泥有没有出路」用) */
32
32
  export declare const WATER_SLUDGE_SOURCE_KINDS: WaterSymbolKind[];
33
- export type WaterMedium = 'sewage' | 'sludge' | 'returnSludge' | 'recycle' | 'air' | 'chemical' | 'effluent';
33
+ export type WaterMedium = 'sewage' | 'sludge' | 'returnSludge' | 'recycle' | 'air' | 'chemical' | 'effluent'
34
+ /** 仪表信号线(点划线):在线仪表 / 液位计 / 压力表与 PLC 的连线 */
35
+ | 'signal'
36
+ /** 动力线(点划线、更粗):变频器等电气回路 */
37
+ | 'power';
34
38
  /**
35
39
  * 介质样式:**颜色与线型区分介质**,是给排水图纸的通行做法(具体色值各院略有差异,可覆盖)。
36
40
  * - 污水 / 出水 / 回流:实线,颜色区分;
37
41
  * - 剩余污泥 / 回流污泥:两个色阶的棕黄(一条是排泥、一条是回流,专业上是两回事);
38
- * - 空气 / 药剂:虚线(不是水流)。
42
+ * - 空气 / 药剂:虚线(不是水流);
43
+ * - 信号 / 动力:点划线(`lineType: 'dashdot'`)—— 这两条不是管道,是电气与信号回路,
44
+ * 画出来才能解释"仪表装在哪、变频器控的是哪台设备"。
39
45
  */
40
46
  export declare const WATER_MEDIUM_STYLES: Record<WaterMedium, {
41
47
  label: string;
42
48
  color: string;
43
- lineType: 'solid' | 'dashed';
49
+ lineType: 'solid' | 'dashed' | 'dashdot';
44
50
  }>;
45
51
  export type WaterSymbolPreset = {
46
52
  label: string;
@@ -78,6 +84,15 @@ export declare const WATER_STYLE: {
78
84
  /** 污泥线单元(配色与校验都要用) */
79
85
  export declare const WATER_SLUDGE_KINDS: WaterSymbolKind[];
80
86
  export type WaterValveState = 'open' | 'closed';
87
+ /**
88
+ * **可开闭的阀门类图元**:手动阀与电动阀。
89
+ *
90
+ * 流径分析(关阀即断流)与开 / 闭操作都按这个集合判 —— 电动阀只是驱动方式不同,
91
+ * 在"通不通"这件事上和手动阀完全等价;漏了它就会出现"电动阀关着,流径却报通"。
92
+ * 图纸上要表达"能远程联锁的阀"就用 `motorValve`,不要因为它长得不一样就当成设备。
93
+ */
94
+ export declare const WATER_VALVE_KINDS: WaterSymbolKind[];
95
+ export declare function isWaterValveKind(kind: string): boolean;
81
96
  /**
82
97
  * @class WaterSymbol 给水排水工艺流程图图元(复合组件)
83
98
  *
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "author": "大漠穷秋",
3
3
  "name": "ice-entity-designer",
4
- "version": "0.2.7",
4
+ "version": "0.3.0",
5
5
  "description": "An entity designer based on ice-render.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -59,7 +59,7 @@
59
59
  "types:watch": "npm run types:check -- --watch"
60
60
  },
61
61
  "peerDependencies": {
62
- "ice-render": "^2.1.0",
62
+ "ice-render": "^2.4.1",
63
63
  "react": "^18 || ^19",
64
64
  "react-dom": "^18 || ^19"
65
65
  },
@@ -101,7 +101,7 @@
101
101
  "eslint-plugin-react-hooks": "4.6.0",
102
102
  "http-server": "14.1.1",
103
103
  "husky": "8.0.3",
104
- "ice-render": "^2.3.2",
104
+ "ice-render": "^2.5.1",
105
105
  "jest": "29.7.0",
106
106
  "jest-environment-jsdom": "29.7.0",
107
107
  "lint-staged": "15.5.2",