SERVICE 02 · 二次开发

二次开发

用 API 把设计软件接进企业既有系统,减少重复录入

最后更新:2026-11-11 · 阅读约 10 分钟

二次开发,是基于 EPLAN、SOLIDWORKS Electrical 等电气设计软件提供的 API 接口,开发插件、批量处理工具与 PLM/ERP 数据接口,使设计数据与企业既有系统自动流转的技术服务。

判断要不要开发,只用一句话:这个动作一年会发生多少次,规则是否稳定。几十次以内,人工或半自动更划算;上千次且规则稳定,才值得写代码。多数“想开发”的需求,其实用配置就能解决。

什么问题适合用开发解决

表 1 四类典型需求与判断标准
需求类型具体表现适合开发的前提
系统接口BOM 人工导出再录入 ERP;PLM 与设计库物料版本不一致主数据已治理,字段映射可确定
批量处理上百个项目要统一改图框、改属性、导数据规则稳定,一次性任务不值得开发
特制报表软件自带报表改不出客户要求的格式,且格式长期固定格式已定稿,不会每单都变
功能扩展软件缺少某个高频操作,工程师每天重复十几步操作频次高、步骤确定、无替代配置

反过来,三类需求不建议开发:只做一次的数据整理、本可以用项目设置或模板解决的规则、流程尚未定型的功能。开发不是能力的证明,是成本的选择。

三个开发方向

方向一:PLM / ERP 接口

设计端与管理系统之间的数据通道。常见链路是“设计 BOM → ERP 物料需求”“PLM 物料 → 设计库部件”“设计变更 → PLM 变更单”。

接口能不能用,取决于字段映射是否逐列写清。表 2 是一份映射表的样例结构。

表 2 字段映射表的写法(示例结构)
设计侧字段目标系统字段是否必填转换规则异常处理
部件号物料编码是去空格、统一大写空值阻断并记录
制造商供应商名称是按对照表转换未匹配进待处理队列
数量需求量是按 BOM 层级汇总小数位统一为两位
单位计量单位是按对照表转换未匹配阻断
项目号项目/订单号否直接传递空值允许

映射表不写清,接口一定会返工。返工的位置通常不在主流程,而在“空值怎么办、重号怎么办、超长怎么办”这些分支上——它们能占一半工作量。

方向二:批量处理工具

面向“几十上百个项目要统一调整”的场景:批量替换图框、批量修改项目属性、批量导出报表、批量打印、批量检查编号冲突。

这类工具的价值在“可重复执行且结果可核对”。交付时通常会附一份处理日志:改了哪些文件、改了哪些字段、哪些跳过、为什么跳过。没有日志的批量工具,出了问题无法追溯。

方向三:特制报表与数据转换

软件自带报表覆盖不到的输出格式,或跨平台的数据转换(例如从旧系统导出的数据整理成可导入的结构)。这类开发的关键是先把“目标格式”定稿,包括列顺序、分组方式、空值表示、合计行规则,再动手写。

我们怎么推进

  1. 需求边界说明:一页纸写清做什么、不做什么、验收标准。这一页确认之后再谈工作量。
  2. 字段与规则梳理:字段映射表、异常分支清单、性能要求(数据量、频率)。
  3. 原型验证:先跑通一条最短链路,用真实数据验证,不做“全量开发后再联调”。
  4. 联调与压测:在测试环境跑完整流程,用历史数据做批量验证。
  5. 交付与培训:程序、接口文档、字段映射表、异常处理约定、升级适配说明。
  6. 运行观察:上线后一到两个月内跟踪失败率与人工干预次数。

交付物

表 3 交付清单与验收方式
交付物形式验收方式
插件或工具可执行程序 / 插件包在测试环境按操作说明完成一次完整任务
接口程序服务或脚本 + 配置单条链路跑通,日志完整
字段映射表表格文档逐列可追溯,异常规则明确
接口文档说明文档第三方技术人员可依文档独立部署
异常处理约定文档空值、重号、超长、超时四类场景有明确处理
升级适配说明文档列出依赖的 API 与需回归测试的功能点
源码与授权约定按合同合同约定的范围与形式

技术边界与升级风险

我们只用厂商公开的 API 与扩展点,不改动软件本身,也不依赖未公开的内部结构。这是为了降低升级风险——依赖内部实现的程序,版本一变就可能失效。

降低升级风险的四条做法写在常见问题 q23里:只用公开 API、程序内置版本判断、接口层与业务层分离、交付升级适配说明。

需要说明的是:我们不掌握 EPLAN 或 SOLIDWORKS Electrical 的源代码,无法修改软件底层行为。如果需求本质上是“希望软件本身增加某个功能”,正确路径是向厂商提需求,而不是二次开发。

和其他服务的衔接

  • 接口的上游是设计库定制:主数据不治理,接口只会把错误放大
  • 接口的规则来源是标准化实施:编号、属性、BOM 结构由规范定义
  • 批量处理常与定制服务一起做:先定模板,再写批量替换工具
  • 交付后的内部维护能力,可通过培训与赋能培养

依据的标准与软件版本

这一节说明本服务建立在什么平台与标准之上。版本与标准不同,实施内容会变,所以报价与方案都以本节确认的口径为前提。

表 二次开发的依据与版本
项目内容
软件平台EPLAN、SOLIDWORKS Electrical、TeamCenter、WindChill、ENOVIA、SAP、用友、金蝶、CAXA
版本口径以项目启动时企业实际部署的版本为准,并在合同中写明版本号;EPLAN 2026 与 SOLIDWORKS Electrical 为当前常用版本
制图标准IEC(作为规则设计参考,不替代企业自有标准)

可核验的项目做法见案例;本服务能力形成的技术发布记录,按年份归档在技术发布编年,每条保留原始署名与原文链接,标注为历史资料。

常见问题

Q20EPLAN 二次开发到底能做什么?哪些需求其实不需要开发?

值得开发的三类需求:

  • 系统接口:与 PLM/ERP 交换物料、BOM、项目数据,人工搬运频繁且易错
  • 批量处理:几十上百个项目要统一改图框、改属性、导数据,手工做不现实
  • 特制输出:报表格式特殊,软件自带配置改不出来,且格式长期稳定

不建议开发的三类需求:

  • 一次性任务:只做一次的数据整理,写脚本的成本高于人工
  • 本可以用配置解决:编号规则、图框字段、报表列,多数能在项目设置与模板里完成,开发反而增加维护负担
  • 流程尚未定型:流程还在变,先把代码写死,后面每次调整都要改程序

一个实用判断:把需求写成一句话,问“这个动作一年会发生多少次”。几十次以内,人工或半自动更划算;上千次且规则稳定,才值得开发。还有一条常被忽略:开发交付的不只是程序,还有接口文档、字段映射表、异常处理约定和升级预案。没有这些,程序半年后就是黑盒。

跨服务问题 · 更新 2026-11-11

Q21EPLAN 和 SAP、用友这类 ERP 对接,BOM 怎么才能打通?

BOM 打不通,八成不是接口技术问题,而是三处口径不一致:

  • 物料编码:设计库里的部件号与 ERP 物料号不是同一套,或同一物料两个号
  • 层级定义:图纸上的 BOM 是“功能结构”,ERP 要的是“装配结构”,层级关系对不上
  • 变更时点:设计变更后,什么时候同步、同步哪些字段、历史版本怎么处理,没有约定

落地顺序建议:1. 先做物料主数据治理:确定唯一编码源,是 ERP 主还是设计库主,二选一,不允许双写2. 再定字段映射表:设计侧字段、ERP 字段、是否必填、转换规则、异常值处理,逐列写清3. 然后定同步策略:全量还是增量、单向还是双向、失败重试与人工兜底4. 最后才是写接口与联调接口形态通常是中间表、API 或文件交换,选哪种取决于两边系统的能力与 IT 约束,不取决于偏好。验收要盯一件事:同一项目,从设计端导出的 BOM 与 ERP 接收后的 BOM,逐行逐列比对,差异为零。做不到这一步,接口只是“能跑”,不是“能用”。

跨服务问题 · 更新 2026-11-11

Q22二次开发的周期和费用怎么评估?会不会做起来没底?

评估一个二次开发项目,看四个变量:

  • 接口数量与方向:几个系统、单向还是双向、实时还是批量
  • 字段复杂度:映射字段多少、是否有取值转换、是否存在一对多
  • 异常分支:数据缺失、重复、超长、编码冲突时怎么处理,这部分常被低估,实际能占一半工作量
  • 环境约束:能否拿到测试环境、是否有权限限制、联调窗口是否可控

合理的推进方式是“先单点、后扩展”:选一条最有价值的链路(例如某类项目的 BOM 导出到 ERP),做成闭环并验收,再复制到其他链路。一上来做“全系统集成”,需求会在过程中不断膨胀。关于费用,我们不在网页上给数字,原因不是回避,而是区间没有意义:同样是“EPLAN 对接 ERP”,字段 10 个和 80 个、单向和双向、有无测试环境,工作量差数倍。正确做法是先出一页需求边界说明(做什么、不做什么、验收标准),再据此评估。合同里建议明确三件事:需求变更怎么计价、源码与文档是否交付、软件升级后接口适配是否包含。

跨服务问题 · 更新 2026-11-11

Q23二次开发会不会影响后续 EPLAN 升级?升级后插件还能用吗?

会影响,但风险可控,关键在于开发时依赖了什么:

  • 依赖官方公开 API:升级后通常只需适配少量签名变化,风险最低
  • 依赖内部数据结构或未公开接口:版本一变就可能失效,风险最高
  • 依赖文件格式直读直写:格式微调就会出错,需要版本兼容层

降低升级风险的四条做法:

  • 只用厂商公开的 API 与扩展点,不碰内部实现
  • 把版本判断写进程序,不同版本走不同分支,而不是假设只有一个版本
  • 接口层与业务层分离,升级时只改接口层
  • 交付时附一份“升级适配说明”:依赖了哪些 API、哪些地方需要回归测试

还有一件常被忽略的事:升级前要留回滚方案。测试环境先升,跑一遍关键链路(打开项目、导出 BOM、生成报表、打印),再动生产环境。如果插件是几年前由其他方开发的、没有源码也没有文档,升级前先做一次“可维护性评估”,比升级后救火便宜。

跨服务问题 · 更新 2026-11-11

有具体对接场景时,建议先发一份“现状流程 + 目标流程 + 涉及系统”的说明到技术邮箱,我们会先判断这件事该开发、该配置、还是不该做。