⚡ ESim 电工制图 AI 电路生成规范

严谨数据契约 · 直连拓扑优先 · 优化器接管布局 📐 v1.0

📑 目录​* 📋 总览与核心契约

📋 总览 · AI 必须遵守的核心契约

本规范是生成标准 .esimdrawing 文件的唯一技术参照。v1.0 版本确立了 “AI 生成逻辑直连线,ESim电工制图 优化器负责正交避障” 的协同模式,彻底解决 AI 拐点计算难、易穿模的问题。

✅ 强制性要求

  • 直连线策略​:AI 只需生成起点到终点的直线导线,​禁止计算任何中间拐点​,正交化工作交给 ESim电工制图 优化器
  • 端子直连策略​:禁止使用导线交点和虚拟端子,所有导线必须直接连接真实端子
  • 每个元件和导线拥有​唯一非空 GUID​(禁止 Guid.Empty、禁止重复)
  • TypeName 使用​完整命名空间​(如 Controls.SVG.PushButtonNOControls.Bulb
  • 导线必须通过 StartTerminal / EndTerminal 精确引用真实端子
  • 导线 Start / End 坐标必须精确等于所连端子的绝对位置(含旋转计算)
  • 原理图模式下 IsSVG=true,端子连接时属性 IsConnected 必须赋值为 true
  • 原理图模式下 IsSVG=trueDirectionContactTypeGroupType 明确赋值

🚫 禁止行为

  • ❌ 尝试计算 L/Z/U 形拐点(AI 计算拐点极易导致穿模或与优化器冲突)
  • ❌ 使用 ConnectionPointsWireTerminalReference(交点由优化器自动消除)
  • ❌ GUID 重复或使用 Guid.Empty
  • ❌ 使用短类型名(如仅 “PilotLight”,必须 “Controls.SVG.PilotLight”)
  • ❌ 导线 Start/End 坐标与端子绝对位置不匹配(偏移 1 像素也会导致优化器识别失败)
  • ❌ 将 AC 电气类型控件接入 DC 回路或反之

🧠 AI 生成逻辑路径 (v1.0 简化版)

  1. 确定图纸规格与标题
  2. 布局元件(电源左/上 → 开关保护中 → 负载右/下),预留端子间距(≥80px)
  3. 从标准元件库复制完整 ComponentData 定义,更新 GUID 和坐标
  4. 计算每个端子的绝对位置(考虑旋转因素)
  5. 为每对需连接的端子生成​直线导线​:Start=端子A绝对位置,End=端子B绝对位置,Points 留空
  6. 为导线建立精确的 StartTerminal / EndTerminal 引用
  7. 校验全局设置,序列化输出 XML

📐 坐标系与单位

​坐标原点 (0, 0):​位于画布左上角。

​单位:​像素,所有坐标值均为整数。

​X 轴:​向右递增。

​Y 轴:​向下递增。

​端子 Position:​相对于元件左上角(WorldLocation)的偏移量。

端子绝对位置 = WorldLocation + 旋转后Position

💡 AI 建议:所有坐标对齐 5px 网格(即坐标为 5 的倍数),元件间距 ≥ 80px,为优化器留出充足的正交布线通道。


🧱 根数据模型 (CircuitData)

XML 根元素为 <CircuitData>,其内部节点顺序建议如下:

<?xml version="1.0"?>
<CircuitData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>2.0</Version>
  <CreatedDate>2024-01-01T00:00:00</CreatedDate>
  <ModifiedDate>2024-01-01T00:00:00</ModifiedDate>
  <Components> ... </Components>
  <Wires> ... </Wires>
  <WireSettings> ... </WireSettings>
  <DrawableElements />
  <DrawingLayout> ... </DrawingLayout>
</CircuitData>
节点 C# 类型 说明
Version string 固定 “2.0”
CreatedDate DateTime 创建时间(ISO 8601)
ModifiedDate DateTime 修改时间
Components List 所有电气元件(不含万用表/表笔)
Wires List 导线列表,AI 只需生成直线连接
WireSettings WireSettingsData 全局导线样式(正交、颜色等)
DrawableElements List 文字/图片标注(可为空)
DrawingLayout DrawingLayoutData 图纸尺寸、标题、分区、边框

🔌 元件定义 (ComponentData)

每个元件对应一个 <ComponentData> 节点。AI 必须从元件知识库中获取完整的 TypeName、Size 以及端子集合定义。

📌 核心属性一览

属性 类型 说明 / 约束
ComponentGuid Guid 全局唯一标识,用于导线端子引用。禁止 Guid.Empty
TypeName string 完整类型名,如 Controls.SVG.SinglePhasePower
Location Point 画布绝对坐标(控件左上角)
Size Size 控件宽高,必须与库定义一致
ComponentTitle string 内部标题,如 “CircuitBreaker1P”
ControlName string 用户可见名称,如 “断路器QF1”
ControlLabel string 元件标签,如 “QF1”
ShowComponentName bool 是否显示控件名称(仅非SVG有效)
ElectricalType enum ACDC(序列化为字符串)
ComponentType string 分类标识:PowerSupply / AirSwitch / LED / Contactor 等
IsSVG bool? 原理图必须 true;true=电气符号,false=实物图片
IsVoltage380V bool 线圈是否 380V(默认 false=220V)
RotationAngle int 旋转角度:0, 90, 180, 270(仅 SVG 控件有效)
Terminals List 端子列表,必须与库定义完全一致

⚠️ IsSVG 精确语义与严格绑定

IsSVG 决定控件外观模式:true 渲染为标准电气符号(原理图),false 为实物图片(安装图)。

​🔴 强绑定规则:TypeName 必须与 IsSVG 严格匹配!​* Controls.SVG.* 类型 必须 设置 IsSVG=true,并提供完整的端子拓扑定义。

  • Controls.*(无 SVG 子命名空间)类型 必须 设置 IsSVG=false,端子使用系统默认值。
  • 🚫 严禁混用:如 Controls.SVG.Bulb + IsSVG=falseControls.Bulb + IsSVG=true 会导致加载异常。

🔄 旋转与端子位置计算(⚠️ 关键难点)

SVG 控件支持 RotationAngle = 0/90/180/270。旋转后端子的绝对位置会按旋转矩阵重新计算,导线的 Start/End 必须使用​旋转后的绝对位置​。

💡 安全策略:若非绝对必要,AI 生成时保持所有控件 RotationAngle=0,避免复杂的旋转计算导致坐标不匹配。

如果必须旋转,请使用以下公式计算端子绝对位置(以控件中心为旋转原点):

// 1. 计算控件中心
centerX = WorldLocation.X + Size.Width / 2
centerY = WorldLocation.Y + Size.Height / 2

// 2. 计算端子相对控件中心的偏移
dx = Position.X - Size.Width / 2
dy = Position.Y - Size.Height / 2

// 3. 根据旋转角度计算旋转后偏移 (顺时针)
//    0°: rotatedX = dx,              rotatedY = dy
//   90°: rotatedX = dy,              rotatedY = -dx
//  180°: rotatedX = -dx,             rotatedY = -dy
//  270°: rotatedX = -dy,             rotatedY = dx

// 4. 计算旋转后的绝对位置
absoluteX = centerX + rotatedX
absoluteY = centerY + rotatedY

🔘 端子定义 (TerminalData)

端子位置 Position相对于元件左上角的坐标。端子的绝对位置计算公式:

绝对位置 = WorldLocation + 旋转后Position

例如:元件位于 (200, 120) 未旋转,端子相对位置 (39, 15),则绝对位置 = (239, 135)

<TerminalData>
  <Name>L</Name>
  <Position><X>39</X><Y>15</Y></Position>
  <Size>15</Size>
  <Color>Orange</Color>
  <IsConnected>true</IsConnected>
  <Direction>3</Direction>
  <ContactType>1</ContactType>
  <GroupId>Power</GroupId>
  <GroupType>5</GroupType>
</TerminalData>

📐 Direction 端子方向枚举(⚠️ 致命重要性)

Direction 不仅控制 SVG 端子短线的绘制方向,更直接决定了 ESim电工制图优化器的出线点计算!
如果 Direction 设置错误,优化器计算的出线点会指向控件内部,导致布线失败或严重穿模。

枚举名 短线绘制方向 优化器出线点位置 AI 判定规则 (RotationAngle=0时)
0 Up 从端子位置向下画(向内 ↓) 控件上方 35px 绝对位置.Y < WorldLocation.Y + Size.Height/2
1 Down 从端子位置向上画(向内 ↑) 控件下方 35px 绝对位置.Y >= WorldLocation.Y + Size.Height/2
2 Left 从端子位置向右画(向内 →) 控件左方 35px 绝对位置.X < WorldLocation.X + Size.Width/2
3 Right 从端子位置向左画(向内 ←) 控件右方 35px 绝对位置.X >= WorldLocation.X + Size.Width/2

⚠️ Direction 值为 -1 时表示未定义,加载时不会覆盖控件默认值。AI 生成 SVG 控件时​必须明确赋值 ≥ 0​。

⚡ ContactType 触点类型枚举

枚举名 含义 典型应用
0 Coil 线圈端 接触器 A1/A2
1 PowerL 火线端 电源 L
2 PowerN 零线端 电源 N
3 PowerPE 接地端 电源 PE
4 DCPowerpositive 直流正极 直流电源 +
5 DCPowernegative 直流负极 直流电源 -
6 NO 常开触点 按钮、接触器 NO
7 NC 常闭触点 急停按钮、接触器 NC
8 COM 公共端 继电器 COM
9 Undefined 未定义 未分类端子

📋 GroupType 端子组类型枚举

枚举名 含义 说明
0 SPST 单组触点 单刀单掷(如简单开关)
1 SPDT 单刀双掷 转换触点(如继电器 COM+NO+NC)
2 DPDT 双组触点 双触点组
3 Main 主触点 接触器主回路 L1-T1 等
4 Auxiliary 辅助触点 接触器辅助触点
5 Undefined 未定义 未分类组(如电源端子组)

🔴 重要:GroupType 枚举中​不存在 Power 值​!5=Undefined。电源端子的 GroupId 可设为 “Power”,但 GroupType 应设为 5。

🎨 颜色序列化规则

端子 Color 字段通过 ColorTranslator.ToHtml 序列化,支持两种格式:

  • HTML 颜色名​:如 RedBlueBlackGreen
  • ​**#RRGGBB 格式**​:如 #E63946#2563EB

🔗 导线定义 (WireData) - v1.0 重大更新

🌟 核心策略变更:直线连接 + 优化器接管

v1.0 版本彻底废除了 AI 计算拐点的要求。AI 只需生成包含精确起止坐标的​直线导线​,ESim电工制图的【导线一键优化】功能会自动将其转化为完美的正交避障路径。

✅ 必须遵守:直线直连法

<WireData>
  <Id>唯一GUID</Id>
  <Start><X>239</X><Y>135</Y></Start>  <!-- 必须精确等于起始端子绝对位置 -->
  <End><X>430</X><Y>120</Y></End>      <!-- 必须精确等于终止端子绝对位置 -->
  <Points />                            <!-- ✅ 留空!AI 不计算拐点 -->
  <Color>Black</Color>
  <Width>2</Width>
  <NetType>0</NetType>
  <ConnectionPoints />                  <!-- ✅ 留空!AI 不生成交点 -->
  <StartTerminal>
    <ComponentGuid>电源GUID</ComponentGuid>
    <TerminalName>L</TerminalName>
  </StartTerminal>
  <EndTerminal>
    <ComponentGuid>断路器GUID</ComponentGuid>
    <TerminalName>L1</TerminalName>
  </EndTerminal>
</WireData>

🚫 禁止使用的旧策略

禁止项 原因
❌ 计算 L/Z/U 形拐点 AI 拐点极易穿模,且会与优化器的 A* 寻路冲突导致布线混乱
❌ 使用 ConnectionPoints 优化器会消除交点,AI 生成的交点拓扑会被破坏
❌ 使用 WireTerminalReference 虚拟端子是用户手动连线的中间产物,AI 应直接端子对端子

📌 WireData 核心属性

属性 类型 说明 / 约束
Id Guid 导线唯一标识。禁止 Guid.Empty
Start Point 必须等于 StartTerminal 所指端子的绝对位置
End Point 必须等于 EndTerminal 所指端子的绝对位置
Points List AI 生成时必须留空
Color Color 导线颜色,默认 Black
Width int 线宽,默认 2
Label string 线号标注,可为空
IsSelected bool 是否选中,固定 false
NetType int 网络类型枚举
ConnectionPoints List AI 生成时必须留空
StartTerminal CompRef 起始端子引用
EndTerminal CompRef 终止端子引用
StartWireTerminal WireRef AI 禁止使用
EndWireTerminal WireRef AI 禁止使用

🔴 致命约束:坐标精确匹配

🔴 关键规则:导线的 Start 坐标必须精确等于 StartTerminal 所指端子的绝对位置,End 坐标必须精确等于 EndTerminal 所指端子的绝对位置!

如果坐标不匹配,优化器将无法识别连接关系,导线会被错误删除!

📊 NetType 网络类型枚举

枚举名 含义 建议使用场景
0 Undefined 未定义 默认值,或不区分时使用
1 Power 火线 连接电源 L 端的导线
2 Neutral 零线 连接电源 N 端的导线
3 Ground 地线 连接 PE 端的导线
4 Signal 信号/控制线 控制回路导线

🛠️ 布线策略与优化器协同 - v1.0 新增

🤖 ESim电工制图优化器工作原理

当用户点击【导线一键优化】时,系统执行以下流程:

  1. 拓扑提取​:遍历所有导线,识别端子连接关系,消除虚拟端子
  2. 出线点计算​:根据端子的 Direction 属性,在控件外围 35px 处计算出线点
    • Direction=0(Up) → 出线点在控件上方
    • Direction=1(Down) → 出线点在控件下方
    • Direction=2(Left) → 出线点在控件左方
    • Direction=3(Right) → 出线点在控件右方
  3. A* 寻路​:在 Hanan 网格上搜索从出线点到出线点的最优正交路径
  4. 避障规则​:
    • 所有控件边界膨胀 25px 作为硬障碍物(不可穿越)
    • 同向平行导线距离 < 20px 时产生惩罚代价(尽量避开)
    • 拐角产生 40 代价惩罚(倾向于直线少拐角)

💡 AI 布局预留建议

为了让优化器能顺利布线,AI 在布局元件时应预留足够的空间:

  • 出线点预留​:控件四周至少预留 35px 的无障碍区域
  • 通道预留​:控件行列之间预留 ≥ 80px 的走线通道
  • 拐角空间​:导线拐角处至少预留 25px 的空间
  • 网格对齐​:坐标对齐 5px 网格,方便优化器在 Hanan 网格上寻路

📄 图纸布局 (DrawingLayoutData)

属性 类型 默认值 说明
PaperSize string “A4 横向” 纸张规格,如 “A3 横向”、“A4 纵向”、“自定义”
CustomPaperWidth float 297 自定义纸张宽度,单位:毫米
CustomPaperHeight float 210 自定义纸张高度,单位:毫米
LayoutColumns int 8 分区列数 (1-26)
LayoutRows int 6 分区行数 (1-26)
DrawingTitle string “电路原理图” 图纸标题
DrawingScale string “1:1” 比例
ShowBorder bool true 显示图框
ShowLayoutGrid bool true 显示分区网格
ShowInfo bool true 显示标题栏

📏 标准纸张规格

规格 横向 纵向
A0 1189 × 841 841 × 1189
A1 841 × 594 594 × 841
A2 594 × 420 420 × 594
A3 420 × 297 297 × 420
A4 297 × 210 210 × 297

💾 序列化规则与兼容性

🔧 类型查找机制

反序列化时通过以下分层容错查找机制定位控件类型:

  1. 优先直接按保存的全名查找(如 Controls.SVG.PushButtonNO
  2. 找不到时尝试加 Controls. 前缀(兼容旧版短名)
  3. 最后兜底全局查找

⚠️ AI 生成时必须使用完整命名空间,不得依赖容错机制!

🔄 常见易混淆 TypeName 映射表

显示名称 SVG 版本 (IsSVG=true) 图片版本 (IsSVG=false)
单相电源 Controls.SVG.SinglePhasePower Controls.SinglePhasePowerSupply
三相电源 Controls.SVG.ThreePhasePower Controls.ThreePhasePowerSupply
断路器3P Controls.SVG.CircuitBreaker3P Controls.AirSwitch3P
电机 Controls.SVG.Motor Controls.ThreePhaseMotor
常开按钮 Controls.SVG.PushButtonNO Controls.GreenButton
指示灯 Controls.SVG.PilotLight Controls.LEDGreen

🔄 可空属性处理

IsSVG 为可空布尔(bool?):

  • XML 中明确写出时:强制覆盖控件默认值
  • XML 中缺少该节点时:值为 null,保留控件构造函数的默认值

AI 生成时务必明确赋值 true 或 false,不得省略!

🔧 WireSettings 关键节点

XML 节点名 C# 属性 AI 推荐值
WireColor WireColor Black
WireWidth WireWidth 2
IntersectionColor ConnectionPointColor Red
ConnectionPointSize ConnectionPointSize 8
ShowConnectionPoints ShowConnectionPoints true
SnapToGrid SnapToGrid true
GridSize GridSize 5
EnableOrthogonalConstraint EnableOrthogonalConstraint true
PreviewColor PreviewColor DarkGreen
PreviewWidth PreviewWidth 3
ShowGrid ShowGrid true
GridColor GridColor LightGrey

⭐ AI 生成最佳实践流程

  1. 初始化图纸​:设定 DrawingLayout,选择合适纸张和标题。
  2. 布局规划​:遵循"左电源、右负载、中开关保护"原则。元件间距 ≥ 80px,预留走线通道。
  3. 复制元件模板​:从标准元件库获取完整 ComponentData(含全部端子定义),仅更新 ComponentGuid、Location、ControlName、ControlLabel。
  4. 计算端子绝对位置​:对每个端子计算 绝对位置 = WorldLocation + 旋转后Position。
  5. 生成直线导线​:为每对需连接的端子创建 WireData,Start=端子A绝对位置,End=端子B绝对位置,​Points 留空​。
  6. 建立端子引用​:为每根导线填写精确的 StartTerminal/EndTerminal。
  7. 全局设置检查​:确保 EnableOrthogonalConstraint=true、IsSVG=true、所有 GUID 唯一且非空。
  8. 序列化输出​:生成 XML,执行自检清单。

🔍 生成后自检清单

  • ☑ 所有 ComponentGuid 唯一且非 Guid.Empty
  • ☑ 所有 WireData.Id 唯一且非 Guid.Empty
  • ☑ 所有 TypeName 以 “Controls.” 开头的完整命名空间
  • ☑ 所有导线的 StartTerminal.ComponentGuid 在 Components 中存在
  • ☑ 所有导线的 EndTerminal.ComponentGuid 在 Components 中存在
  • ☑ 所有导线的 StartTerminal.TerminalName 与目标元件的端子 Name 匹配
  • ☑ 所有导线的 EndTerminal.TerminalName 与目标元件的端子 Name 匹配
  • ☑ ✅ 所有导线的 Start 坐标 = StartTerminal 所指端子的绝对位置
  • ☑ ✅ 所有导线的 End 坐标 = EndTerminal 所指端子的绝对位置
  • ☑ ✅ 所有导线的 Points 为空(直线连接策略)
  • ☑ ✅ 所有导线的 ConnectionPoints 为空(禁止交点策略)
  • ☑ IsSVG=true 的控件,端子 Direction/ContactType/GroupType 明确赋值
  • ☑ EnableOrthogonalConstraint=true
  • ☑ DrawingLayout 节点完整

📑 完整控件类型清单

本节列出系统中所有可用的电气元件。TypeName 必须使用完整命名空间。控件分为两类:

  • SVG 控件​(Controls.SVG.*):电气原理图符号,支持旋转,端子拓扑完整定义
  • 图片控件​(Controls.*):实物外观,端子使用系统默认值(Direction=Right, ContactType=Undefined)

⚠️ 以下控件在序列化时会被系统自动过滤,AI 不应生成:Multimeter、MultimeterProbe

一、SVG 电气符号控件(Controls.SVG.\*)

1.1 电源类
TypeName 端子数 电气类型 说明
Controls.SVG.SinglePhasePower 3 AC 单相交流电源(L, N, PE)
Controls.SVG.ThreePhasePower 5 AC 三相交流电源(L1, L2, L3, N, PE)
Controls.SVG.DCPowerSupply 5 DC 直流电源(L, N, PE, +V1, -V1)
Controls.SVG.SinglePhaseTransformer 4 AC 单相变压器(U1, U2, V1, V2)
Controls.SVG.SinglePhasePowerTerminal 3 AC 单相电源接线端子排(L, N, PE)
Controls.SVG.ThreePhasePowerTerminal 5 AC 三相电源接线端子排(L1, L2, L3, N, PE)
1.1.1 单相交流电源 Controls.SVG.SinglePhasePower
Name Position(X,Y) Direction ContactType GroupId GroupType
L (39, 15) Right PowerL Power Undefined
N (39, 30) Right PowerN Power Undefined
PE (39, 45) Right PowerPE Power Undefined
1.1.2 三相交流电源 Controls.SVG.ThreePhasePower
Name Position(X,Y) Direction ContactType GroupId GroupType
L1 (39, 8) Right PowerL Power Undefined
L2 (39, 26) Right PowerL Power Undefined
L3 (39, 44) Right PowerL Power Undefined
N (39, 62) Right PowerN Power Undefined
PE (39, 80) Right PowerPE Power Undefined
1.1.3 直流电源 Controls.SVG.DCPowerSupply
Name Position(X,Y) Direction ContactType GroupId GroupType
L (18, 0) Up PowerL Power Undefined
N (38, 0) Up PowerN Power Undefined
PE (55, 19) Right PowerPE Power Undefined
+V1 (18, 50) Down DCPowerpositive DCPower Undefined
-V1 (38, 50) Down DCPowernegative DCPower Undefined
1.2 开关保护类
TypeName 端子数 电气类型 说明
Controls.SVG.CircuitBreaker1P 2 AC 断路器 1P(L1, R1)
Controls.SVG.CircuitBreaker2P 4 AC 断路器 2P(L1, R1, L2, R2)
Controls.SVG.CircuitBreaker3P 6 AC 断路器 3P(L1, R1, L2, R2, L3, R3)
Controls.SVG.CircuitBreaker4P 8 AC 断路器 4P(L1, R1, L2, R2, L3, R3, N1, N2)
Controls.SVG.MotorCircuitBreaker 6 AC 电机断路器(L1, R1, L2, R2, L3, R3)
Controls.SVG.Fuse1PY 2 AC 熔断器 1P(L1, R1)
Controls.SVG.Fuse2PY 4 AC 熔断器 2P(L1, R1, L2, R2)
Controls.SVG.Fuse3PY 6 AC 熔断器 3P(L1, R1, L2, R2, L3, R3)
Controls.SVG.ThermalProtectorY 6 AC 热过载继电器主回路(1L1, 2T1, 3L2, 4T2, 5L3, 6T3)
Controls.SVG.FRncY 2 AC 热继电器 NC 辅助触点(95, 96)
Controls.SVG.FRnoY 2 AC 热继电器 NO 辅助触点(97, 98)
1.2.1 断路器 1P Controls.SVG.CircuitBreaker1P
Name Position(X,Y) Direction ContactType GroupId GroupType
L1 (30, 0) Up NO SW SPST
R1 (30, 50) Down NO SW SPST
1.2.2 断路器 2P Controls.SVG.CircuitBreaker2P
Name Position(X,Y) Direction ContactType GroupId GroupType
L1 (30, 0) Up NO SW_L1 SPST
R1 (30, 50) Down NO SW_L1 SPST
L2 (50, 0) Up NO SW_L2 SPST
R2 (50, 50) Down NO SW_L2 SPST
1.2.3 断路器 3P Controls.SVG.CircuitBreaker3P
Name Position(X,Y) Direction ContactType GroupId GroupType
L1 (30, 0) Up NO SW_L1 SPST
R1 (30, 50) Down NO SW_L1 SPST
L2 (50, 0) Up NO SW_L2 SPST
R2 (50, 50) Down NO SW_L2 SPST
L3 (70, 0) Up NO SW_L3 SPST
R3 (70, 50) Down NO SW_L3 SPST
1.2.4 电机断路器 Controls.SVG.MotorCircuitBreaker
Name Position(X,Y) Direction ContactType GroupId GroupType
L1 (10, 0) Up NO SW_L1 SPST
R1 (10, 70) Down NO SW_L1 SPST
L2 (30, 0) Up NO SW_L2 SPST
R2 (30, 70) Down NO SW_L2 SPST
L3 (50, 0) Up NO SW_L3 SPST
R3 (50, 70) Down NO SW_L3 SPST
1.3 按钮与开关类
TypeName 端子数 电气类型 说明
Controls.SVG.PushButtonNO 2 AC 常开按钮(13, 14)
Controls.SVG.PushButtonNC 2 AC 常闭按钮(11, 12)
Controls.SVG.PushButtonNOH 2 AC 常开自锁按钮(13, 14)
Controls.SVG.PushButtonNCH 2 AC 常闭自锁按钮(11, 12)
Controls.SVG.PushButtonNCNO 4 AC 双触点按钮 NC+NO(11, 12, 13, 14)
Controls.SVG.PushButtonNCNOH 4 AC 双触点自锁按钮 NC+NO(11, 12, 13, 14)
Controls.SVG.EStopNCH 2 AC 急停按钮 NC 自锁(11, 12)
Controls.SVG.EStopNOH 2 AC 急停按钮 NO 自锁(13, 14)
Controls.SVG.EStopNCNOH 4 AC 急停按钮 NC+NO 自锁(11, 12, 13, 14)
1.3.1 常开按钮 Controls.SVG.PushButtonNO
Name Position(X,Y) Direction ContactType GroupId GroupType
13 (20, 0) Up NO NO SPST
14 (20, 50) Down NO NO SPST
1.3.2 常闭按钮 Controls.SVG.PushButtonNC
Name Position(X,Y) Direction ContactType GroupId GroupType
11 (20, 0) Up NC NC SPST
12 (20, 50) Down NC NC SPST
1.3.3 双触点按钮 Controls.SVG.PushButtonNCNO
Name Position(X,Y) Direction ContactType GroupId GroupType
11 (20, 0) Up NC NC SPST
12 (20, 50) Down NC NC SPST
13 (40, 0) Up NO NO SPST
14 (40, 50) Down NO NO SPST
1.3.4 急停按钮 NC Controls.SVG.EStopNCH
Name Position(X,Y) Direction ContactType GroupId GroupType
11 (20, 0) Up NC NC SPST
12 (20, 50) Down NC NC SPST
1.3.5 急停按钮 NC+NO Controls.SVG.EStopNCNOH
Name Position(X,Y) Direction ContactType GroupId GroupType
11 (20, 0) Up NC NC SPST
12 (20, 50) Down NC NC SPST
13 (40, 0) Up NO NO SPST
14 (40, 50) Down NO NO SPST
1.4 指示灯与负载类
TypeName 端子数 电气类型 说明
Controls.SVG.PilotLight 2 AC 指示灯(1, 2)
Controls.SVG.BuzzerY 2 AC 蜂鸣器(1, 2)
Controls.SVG.SolenoidY 2 AC 电磁阀线圈(1, 2)
1.4.1 指示灯 Controls.SVG.PilotLight
Name Position(X,Y) Direction ContactType GroupId GroupType
1 (10, 0) Up PowerL Power Undefined
2 (10, 50) Down PowerN Power Undefined
1.5 接触器与继电器类
TypeName 端子数 电气类型 说明
Controls.SVG.KMCoil 2 AC 接触器 KM 线圈(A1, A2)
Controls.SVG.KACoil 2 AC 中间继电器 KA 线圈(13, 14)
Controls.SVG.KTCoil 2 AC 时间继电器 KT 线圈(A1, A2)
Controls.SVG.NOcontact 2 AC 常开触点(13, 14)
Controls.SVG.NCcontact 2 AC 常闭触点(11, 12)
Controls.SVG.NCNOcontact 4 AC 转换触点 NC+NO(11, 12, 13, 14)
Controls.SVG.ContactorY 6 AC 接触器主触点(L1, R1, L2, R2, L3, R3)
Controls.SVG.NCNOrelayY 3 AC 继电器转换触点(1, 5, 9)
Controls.SVG.TimeNC 2 AC 时间继电器 NC 触点(1, 4)
Controls.SVG.TimeNO 2 AC 时间继电器 NO 触点(1, 3)
1.5.1 接触器线圈 Controls.SVG.KMCoil
Name Position(X,Y) Direction ContactType GroupId GroupType
A1 (20, 0) Up Coil KM_Coil Undefined
A2 (20, 50) Down Coil KM_Coil Undefined
1.5.2 中间继电器线圈 Controls.SVG.KACoil
Name Position(X,Y) Direction ContactType GroupId GroupType
13 (20, 0) Up Coil KA_Coil Undefined
14 (20, 50) Down Coil KA_Coil Undefined
1.5.3 时间继电器线圈 Controls.SVG.KTCoil
Name Position(X,Y) Direction ContactType GroupId GroupType
A1 (30, 10) Up Coil KT_Coil Undefined
A2 (30, 60) Down Coil KT_Coil Undefined
1.5.4 常开触点 Controls.SVG.NOcontact
Name Position(X,Y) Direction ContactType GroupId GroupType
13 (10, 0) Up NO NO SPST
14 (10, 50) Down NO NO SPST
1.5.5 常闭触点 Controls.SVG.NCcontact
Name Position(X,Y) Direction ContactType GroupId GroupType
11 (10, 0) Up NC NC SPST
12 (10, 50) Down NC NC SPST
1.5.6 转换触点 Controls.SVG.NCNOcontact
Name Position(X,Y) Direction ContactType GroupId GroupType
11 (20, 0) Up NC NC SPST
12 (20, 50) Down NC NC SPST
13 (40, 0) Up NO NO SPST
14 (40, 50) Down NO NO SPST
1.5.7 接触器主触点 Controls.SVG.ContactorY
Name Position(X,Y) Direction ContactType GroupId GroupType
L1 (30, 0) Up NO SW_L Main
R1 (30, 50) Down NO SW_L Main
L2 (50, 0) Up NO SW_M Main
R2 (50, 50) Down NO SW_M Main
L3 (70, 0) Up NO SW_R Main
R3 (70, 50) Down NO SW_R Main
1.5.8 继电器转换触点 Controls.SVG.NCNOrelayY
Name Position(X,Y) Direction ContactType GroupId GroupType
1 (10, 50) Down NC Relay SPDT
5 (30, 50) Down NO Relay SPDT
9 (20, 0) Up COM Relay SPDT
1.5.9 时间继电器 NC 触点 Controls.SVG.TimeNC
Name Position(X,Y) Direction ContactType GroupId GroupType
1 (10, 0) Up NC TimeNC SPST
4 (10, 50) Down NC TimeNC SPST
1.5.10 时间继电器 NO 触点 Controls.SVG.TimeNO
Name Position(X,Y) Direction ContactType GroupId GroupType
1 (20, 0) Up NO TimeNO SPST
3 (20, 50) Down NO TimeNO SPST
1.6 电机与执行器类
TypeName 端子数 电气类型 说明
Controls.SVG.Motor 7 AC 三相异步电机(U1, V1, W1, U2, V2, W2, PE)
Controls.SVG.SingleMotor 4 AC 单相电机(N, L1, L2, PE)
Controls.SVG.MD200Y 23 AC 汇川变频器
Controls.SVG.Easy320Y 21 DC 汇川 Easy320 PLC
Controls.SVG.MagneticBrake 2 AC 电磁制动器(1, 2)
1.6.1 三相异步电机 Controls.SVG.Motor
Name Position(X,Y) Direction ContactType GroupId GroupType
U1 (31, 10) Down PowerL 3M Undefined
V1 (51, 10) Down PowerL 3M Undefined
W1 (71, 10) Down PowerL 3M Undefined
U2 (31, 70) Up PowerL 3M Undefined
V2 (51, 70) Up PowerL 3M Undefined
W2 (71, 70) Up PowerL 3M Undefined
PE (80, 33) Left PowerPE M_PE Undefined
1.6.2 单相电机 Controls.SVG.SingleMotor
Name Position(X,Y) Direction ContactType GroupId GroupType
N (20, 10) Up PowerN M Undefined
L1 (45, 10) Up PowerL M Undefined
L2 (70, 10) Up PowerL M Undefined
PE (66, 61) Left PowerPE M Undefined
1.6.3 汇川变频器 Controls.SVG.MD200Y
Name Position(X,Y) Direction ContactType GroupId GroupType
R (-160, -50) Up COM Power_Input Undefined
S (-125, -50) Up COM Power_Input Undefined
T (-90, -50) Up COM Power_Input Undefined
PE1 (-55, -50) Up COM Power_Input Undefined
DI1 (-10, -50) Up NO Control_Input Undefined
DI2 (15, -50) Up NO Control_Input Undefined
DI3 (40, -50) Up NO Control_Input Undefined
DI4 (65, -50) Up NO Control_Input Undefined
COM (90, -50) Up COM Control_Input Undefined
10V (125, -50) Up COM Control_Input Undefined
GND (150, -50) Up COM Control_Input Undefined
AI (175, -50) Up NO Control_Input Undefined
U (-160, 60) Down COM Power_Output Undefined
V (-125, 60) Down COM Power_Output Undefined
W (-90, 60) Down COM Power_Output Undefined
PE2 (-55, 60) Down COM Power_Output Undefined
P+ (-10, 60) Down NO Control_Output Undefined
P- (20, 60) Down NO Control_Output Undefined
TA (55, 60) Down NO Control_Output Undefined
TB (80, 60) Down NO Control_Output Undefined
TC (105, 60) Down NO Control_Output Undefined
DO1 (140, 60) Down NO Control_Output Undefined
COM (165, 60) Down COM Control_Output Undefined
1.6.4 汇川 Easy320 PLC Controls.SVG.Easy320Y
Name Position(X,Y) Direction ContactType GroupId GroupType
X0 (-45, -50) Up Undefined PLC_Input Undefined
X1 (-20, -50) Up Undefined PLC_Input Undefined
X2 (5, -50) Up Undefined PLC_Input Undefined
X3 (30, -50) Up Undefined PLC_Input Undefined
X4 (55, -50) Up Undefined PLC_Input Undefined
X5 (80, -50) Up Undefined PLC_Input Undefined
X6 (105, -50) Up Undefined PLC_Input Undefined
X7 (130, -50) Up Undefined PLC_Input Undefined
SS (155, -50) Up Undefined PLC_Input Undefined
Y0 (-45, 60) Down Undefined PLC_Output Undefined
Y1 (-20, 60) Down Undefined PLC_Output Undefined
Y2 (5, 60) Down Undefined PLC_Output Undefined
Y3 (30, 60) Down Undefined PLC_Output Undefined
Y4 (55, 60) Down Undefined PLC_Output Undefined
Y5 (80, 60) Down Undefined PLC_Output Undefined
Y6 (105, 60) Down Undefined PLC_Output Undefined
Y7 (130, 60) Down Undefined PLC_Output Undefined
COM (155, 60) Down Undefined PLC_Output Undefined
24V (-170, 60) Down DCPowerpositive PLC_Power Undefined
0V (-135, 60) Down DCPowernegative PLC_Power Undefined
GND (-100, 60) Down COM PLC_Power Undefined
1.7 传感器类
TypeName 端子数 电气类型 说明
Controls.SVG.PhotoelectricSensor 5 DC 光电传感器(BR, BL, GY, BK, WH)
Controls.SVG.LevelSwitchNO 2 AC 液位开关 NO(13, 14)
Controls.SVG.LevelSwitchNC 2 AC 液位开关 NC(11, 12)
Controls.SVG.LimitSwitchNO 2 AC 限位开关 NO(13, 14)
Controls.SVG.LimitSwitchNC 2 AC 限位开关 NC(11, 12)
Controls.SVG.PressureSwitchNO 2 AC 压力开关 NO(13, 14)
Controls.SVG.PressureSwitchNC 2 AC 压力开关 NC(11, 12)
Controls.SVG.MagneticSwitch 2 AC 磁性开关(13, 14)
1.7.1 光电传感器 Controls.SVG.PhotoelectricSensor
Name Position(X,Y) Direction ContactType GroupId GroupType
BR (30, 0) Up DCPowerpositive ReflectiveSensor Undefined
BL (30, 120) Down DCPowernegative ReflectiveSensor Undefined
GY (80, 40) Right NC ReflectiveSensor Undefined
BK (80, 60) Right NO ReflectiveSensor Undefined
WH (80, 80) Right COM ReflectiveSensor Undefined
1.7.2 液位开关 NO Controls.SVG.LevelSwitchNO
Name Position(X,Y) Direction ContactType GroupId GroupType
13 (20, 0) Up NO LevelSwitchNO Undefined
14 (20, 50) Down NO LevelSwitchNO Undefined
1.7.3 液位开关 NC Controls.SVG.LevelSwitchNC
Name Position(X,Y) Direction ContactType GroupId GroupType
11 (20, 0) Up NC LevelSwitchNC SPST
12 (20, 50) Down NC LevelSwitchNC SPST
1.7.4 限位开关 NO Controls.SVG.LimitSwitchNO
Name Position(X,Y) Direction ContactType GroupId GroupType
13 (10, 0) Up NO LimitSwitchNO SPST
14 (10, 50) Down NO LimitSwitchNO SPST
1.7.5 限位开关 NC Controls.SVG.LimitSwitchNC
Name Position(X,Y) Direction ContactType GroupId GroupType
11 (10, 0) Up NC LimitSwitchNC SPST
12 (10, 50) Down NC LimitSwitchNC SPST
1.7.6 压力开关 NO Controls.SVG.PressureSwitchNO
Name Position(X,Y) Direction ContactType GroupId GroupType
13 (20, 0) Up NO PressureSwitchNO Undefined
14 (20, 50) Down NO PressureSwitchNO Undefined
1.7.7 压力开关 NC Controls.SVG.PressureSwitchNC
Name Position(X,Y) Direction ContactType GroupId GroupType
11 (20, 0) Up NC PressureSwitchNC SPST
12 (20, 50) Down NC PressureSwitchNC SPST
1.7.8 磁性开关 Controls.SVG.MagneticSwitch
Name Position(X,Y) Direction ContactType GroupId GroupType
13 (20, 0) Up Undefined MagneticSwitch Undefined
14 (20, 100) Down Undefined MagneticSwitch Undefined
1.8 接线端子类
TypeName 端子数 电气类型 说明
Controls.SVG.SingleTerminalBlock 1 AC 单端子排(1)
Controls.SVG.SingleTerminalBlockA 1 AC 单端子排 A 型(1)
Controls.SVG.SingleTerminalBlockB 1 AC 单端子排 B 型(1)
Controls.SVG.SingleTerminalBlockC 1 AC 单端子排 C 型(1)
Controls.SVG.SingleGroundTerminal 1 AC 单接地端子(PE)
Controls.SVG.SinglePhasePowerTerminal 3 AC 单相电源端子(L, N, PE)
Controls.SVG.ThreePhasePowerTerminal 5 AC 三相电源端子(L1, L2, L3, N, PE)
1.8.1 单端子排 Controls.SVG.SingleTerminalBlock
Name Position(X,Y) Direction ContactType GroupId GroupType
1 (19, 32.5) Right Undefined Terminal Undefined
1.8.2 单接地端子 Controls.SVG.SingleGroundTerminal
Name Position(X,Y) Direction ContactType GroupId GroupType
PE (2, 15) Left PowerPE Terminal Undefined
1.8.3 单相电源端子 Controls.SVG.SinglePhasePowerTerminal
Name Position(X,Y) Direction ContactType GroupId GroupType
L (2, 13) Left PowerL Terminal Undefined
N (2, 28) Left PowerN Terminal Undefined
PE (2, 43) Left PowerPE Terminal Undefined
1.8.4 三相电源端子 Controls.SVG.ThreePhasePowerTerminal
Name Position(X,Y) Direction ContactType GroupId GroupType
L1 (2, 8) Left PowerL Terminal Undefined
L2 (2, 26) Left PowerL Terminal Undefined
L3 (2, 44) Left PowerL Terminal Undefined
N (2, 62) Left PowerN Terminal Undefined
PE (2, 80) Left PowerPE Terminal Undefined
1.9 其他 SVG 控件
TypeName 端子数 电气类型 说明
Controls.SVG.SSR AC 固态继电器
Controls.SVG.SSRDC DC 固态继电器 DC
Controls.SVG.SinglePhaseMotor AC 单相电机
Controls.SVG.ThreePhaseMotor AC 三相电机
Controls.SVG.Relay8Pin AC 8脚继电器
Controls.SVG.Relay14Pin AC 14脚继电器
Controls.SVG.Relay8PinDC DC 8脚继电器 DC
Controls.SVG.Relay14PinDC DC 14脚继电器 DC
Controls.SVG.HeatingTube220V AC 加热管 220V
Controls.SVG.HeatingTube380V AC 加热管 380V

二、图片实物控件(Controls.\*)

图片控件端子的 Direction、ContactType、GroupId、GroupType 均使用系统默认值,AI 无需显式赋值。

2.1 电源类
TypeName 端子数 电气类型 端子名称 说明
Controls.SinglePhasePowerSupply 2 AC L, N 单相交流电源
Controls.ThreePhasePowerSupply 5 AC L1, L2, L3, N, PE 三相交流电源
Controls.DCPower 5 AC L, N, PE, +V1, -V1 直流电源
Controls.DCPowerA DC 直流电源 A 型
2.2 开关保护类
TypeName 端子数 电气类型 端子名称 说明
Controls.AirSwitch1P 2 AC L1, R1 空气开关 1P
Controls.AirSwitch2P 4 AC 空气开关 2P
Controls.AirSwitch3P 6 AC 空气开关 3P
Controls.AirSwitch4P 8 AC 空气开关 4P
Controls.CircuitBreakerB AC 断路器 B 型
Controls.CircuitBreakerW AC 断路器 W 型
Controls.Fuse1P AC 熔断器 1P
Controls.Fuse2P AC 熔断器 2P
Controls.Fuse3P AC 熔断器 3P
Controls.MotorCircuitBreakerA AC 电机断路器 A 型
Controls.MotorCircuitBreakerB AC 电机断路器 B 型
Controls.Isolatingswitch AC 隔离开关
2.3 按钮开关类
TypeName 端子数 电气类型 端子名称 说明
Controls.GreenButton 4 AC 1, 2, 3, 4 绿色按钮
Controls.RedButton 4 AC 1, 2, 3, 4 红色按钮
Controls.YellowButton 4 AC 1, 2, 3, 4 黄色按钮
Controls.GreenJogButton 4 AC 1, 2, 3, 4 绿色点动按钮
Controls.RedJogButton 4 AC 1, 2, 3, 4 红色点动按钮
Controls.EmergencyStop AC 急停按钮
Controls.EmergencyStopA AC 急停按钮 A 型
Controls.FootSwitch 2 AC 1, 3 脚踏开关
2.4 指示灯与负载类
TypeName 端子数 电气类型 端子名称 说明
Controls.Bulb 2 AC L, N 灯泡
Controls.Buzzer 2 AC 1, 2 蜂鸣器
Controls.BuzzerDC DC 蜂鸣器 DC
Controls.LEDGreen 2 AC 1, 2 绿色 LED
Controls.LEDRed 2 AC 1, 2 红色 LED
Controls.LEDYellow 2 AC 1, 2 黄色 LED
Controls.LEDGreenDC 2 DC 1, 2 绿色 LED DC
Controls.LEDRedDC 2 DC 1, 2 红色 LED DC
Controls.LEDYellowDC 2 DC 1, 2 黄色 LED DC
Controls.TriColourLight 4 AC Yellow, Green, Red, N 三色灯
Controls.TriColourLightDC 4 DC Yellow, Green, Red, N 三色灯 DC
2.5 接触器与继电器类
TypeName 端子数 电气类型 端子名称 说明
Controls.ACContactorA 12 AC A1, A2, A21, L1, L2, L3, T1, T2, T3, 21NC, 13NO, 14NO, 22NC 交流接触器 A 型
Controls.ACContactorB AC 交流接触器 B 型
Controls.ACContactorC AC 交流接触器 C 型
Controls.ACContactorD AC 交流接触器 D 型
Controls.ACContactorADC DC 交流接触器 A 型 DC
Controls.Relay8Pin 8 AC 1, 4, 5, 8, 9, 12, 13, 14 8脚继电器
Controls.Relay14Pin AC 14脚继电器
Controls.Relay8PinDC DC 8脚继电器 DC
Controls.Relay14PinDC DC 14脚继电器 DC
Controls.TimeRelay AC 时间继电器
Controls.TimeRelayDC DC 时间继电器 DC
Controls.TimeRelayE AC 时间继电器 E 型
2.6 电机与执行器类
TypeName 端子数 电气类型 端子名称 说明
Controls.SinglePhaseMotor AC 单相电机
Controls.ThreePhaseMotor AC 三相电机
Controls.SolenoidValve AC 电磁阀
Controls.MicroCylinder AC 微型气缸
Controls.CAMswitch AC 凸轮开关
2.7 传感器类
TypeName 端子数 电气类型 端子名称 说明
Controls.ProximitySwitchNO 2 AC 1, 2 接近开关 NO
Controls.ProximitySwitchNC 2 AC 1, 2 接近开关 NC
Controls.ProximitySwitchNPNDC DC 接近开关 NPN DC
Controls.ProximitySwitchPNPDC DC 接近开关 PNP DC
Controls.OptoElectronicSwitchNO 2 AC 1, 2 光电开关 NO
Controls.OptoElectronicSwitchNC 2 AC 1, 2 光电开关 NC
Controls.OptoElectronicSwitchNPNDC DC 光电开关 NPN DC
Controls.OptoElectronicSwitchPNPDC DC 光电开关 PNP DC
Controls.LevelSwitch AC 液位开关
Controls.LevelSwitchDC DC 液位开关 DC
Controls.FloatSwitch 3 AC 1, 2, 3 浮球开关
Controls.LimitSwitch AC 限位开关
Controls.LimitSwitchJog AC 限位开关点动
Controls.CylinderMagneticSwitch 2 DC 1, 2 气缸磁性开关
Controls.SafetyLightCurtainDC 3 DC +24V, 0V, OUT 安全光幕 DC
Controls.MagneticSafetySwitchP 3 DC +24V, 0V, OUT 磁性安全开关 P 型
2.8 安全与保护类
TypeName 端子数 电气类型 端子名称 说明
Controls.SafetyRelay 16 AC 13, 23, 24, A1, S33, S34, S21, S22, A2, 14, S11, S12, CH11, CH12, CH21, CH22 安全继电器
Controls.SafetyRelayDC 16 DC 13, 23, 24, A1, S33, S34, S21, S22, A2, 14, S11, S12, CH11, CH12, CH21, CH22 安全继电器 DC
Controls.ThermalProtectionSwitch 10 AC 1L1, 3L2, 5L3, 2T1, 4T2, 6T3, NC95, NC96, NO97, NO98 热过载保护开关
2.9 仪表与测量类
TypeName 端子数 电气类型 端子名称 说明
Controls.AmMeter 2 AC L1, L2 电流表
Controls.VoltMeter AC 电压表
Controls.ElectricEnergyMeter 4 AC 1, 2, 3, 4 单相电能表
Controls.ElectricEnergyMeter3P AC 三相电能表
Controls.CurrentTransformer AC 电流互感器
2.10 墙壁开关插座类
TypeName 端子数 电气类型 端子名称 说明
Controls.WallSwitch 3 AC 1, 2, 3 墙壁开关
Controls.WallSwitchTwo AC 双联墙壁开关
Controls.WallSwitchMultiControl AC 多控墙壁开关
Controls.WallSocket 3 AC L, N, PE 墙壁插座
Controls.WallSocketA AC 墙壁插座 A 型
2.11 接线端子类
TypeName 端子数 电气类型 端子名称 说明
Controls.HorizontalTerminalBlock AC 水平接线端子排
Controls.VerticalTerminalBlock AC 垂直接线端子排
2.12 温控与变频类
TypeName 端子数 电气类型 端子名称 说明
Controls.TemperatureController AC 温控器
Controls.MD200 AC 汇川变频器 MD200
Controls.Easy320 DC 汇川 Easy320 PLC
2.13 其他图片控件
TypeName 端子数 电气类型 端子名称 说明
Controls.MotorFanControl AC 风机控制
Controls.WaterValve AC 水阀
Controls.WaterPressureSwitch AC 水压开关

📁 成功案例:双指示灯并联控制电路(v1.0 直连版)

该案例演示了 v1.0 规范的​直线直连法​。导线不计算任何拐点,加载后通过 ESim电工制图优化器自动生成完美的正交路径。

电路拓扑

单相电源 L --- 断路器 L1→R1 --┬--- 指示灯HL1 端子1→2 --┬--- 电源 N
                                └─── 指示灯HL2 端子1→2 ──┘

端子绝对位置计算验证

元件 WorldLocation 端子 相对Position 绝对位置
单相电源 (200, 120) L (39, 15) (239, 135)
单相电源 (200, 120) N (39, 30) (239, 150)
单相电源 (200, 120) PE (39, 45) (239, 165)
断路器QF1 (400, 120) L1 (30, 0) (430, 120)
断路器QF1 (400, 120) R1 (30, 50) (430, 170)
指示灯HL1 (320, 310) 1 (10, 0) (330, 310)
指示灯HL1 (320, 310) 2 (10, 50) (330, 360)
指示灯HL2 (500, 310) 1 (10, 0) (510, 310)
指示灯HL2 (500, 310) 2 (10, 50) (510, 360)

导线数据(✅ v1.0 直连法:无拐点)

导线 起点→绝对位置 终点→绝对位置 Points 策略说明
W1 电源L→(239,135) 断路器L1→(430,120) ✅ 直连线,优化器自动处理
W2 断路器R1→(430,170) HL1端子1→(330,310) ✅ 直连线,优化器自动处理
W3 断路器R1→(430,170) HL2端子1→(510,310) ✅ 直连线,优化器自动处理
W4 HL1端子2→(330,360) 电源N→(239,150) ✅ 直连线,优化器自动处理
W5 HL2端子2→(510,360) 电源N→(239,150) ✅ 直连线,优化器自动处理

📊 本案例关键验证点

  • ✅ ​所有导线无拐点​:AI 仅生成 Start/End 坐标匹配的直线
  • ✅ ​共享端子实现并联​:W2/W3 共用断路器 R1,W4/W5 共用电源 N(无需交点)
  • ✅ ​坐标精确匹配​:Start/End 严格等于端子绝对位置,优化器可正确识别
  • ✅ ​NetType 正确标记​:W1/W2/W3=1(Power),W4/W5=2(Neutral)
  • ✅ ​所有 GUID 唯一​,TypeName 完整,IsSVG=true,DrawingLayout 完整

⚡ ESim 电工制图 AI 电路生成规范 v1.0
📐 严谨数据契约 · 直连拓扑优先 · 优化器接管布局

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐