判断要不要开发,只用一句话:这个动作一年会发生多少次,规则是否稳定。几十次以内,人工或半自动更划算;上千次且规则稳定,才值得写代码。多数“想开发”的需求,其实用配置就能解决。
什么问题适合用开发解决
| 需求类型 | 具体表现 | 适合开发的前提 |
|---|---|---|
| 系统接口 | BOM 人工导出再录入 ERP;PLM 与设计库物料版本不一致 | 主数据已治理,字段映射可确定 |
| 批量处理 | 上百个项目要统一改图框、改属性、导数据 | 规则稳定,一次性任务不值得开发 |
| 特制报表 | 软件自带报表改不出客户要求的格式,且格式长期固定 | 格式已定稿,不会每单都变 |
| 功能扩展 | 软件缺少某个高频操作,工程师每天重复十几步 | 操作频次高、步骤确定、无替代配置 |
反过来,三类需求不建议开发:只做一次的数据整理、本可以用项目设置或模板解决的规则、流程尚未定型的功能。开发不是能力的证明,是成本的选择。
三个开发方向
方向一:PLM / ERP 接口
设计端与管理系统之间的数据通道。常见链路是“设计 BOM → ERP 物料需求”“PLM 物料 → 设计库部件”“设计变更 → PLM 变更单”。
接口能不能用,取决于字段映射是否逐列写清。表 2 是一份映射表的样例结构。
| 设计侧字段 | 目标系统字段 | 是否必填 | 转换规则 | 异常处理 |
|---|---|---|---|---|
| 部件号 | 物料编码 | 是 | 去空格、统一大写 | 空值阻断并记录 |
| 制造商 | 供应商名称 | 是 | 按对照表转换 | 未匹配进待处理队列 |
| 数量 | 需求量 | 是 | 按 BOM 层级汇总 | 小数位统一为两位 |
| 单位 | 计量单位 | 是 | 按对照表转换 | 未匹配阻断 |
| 项目号 | 项目/订单号 | 否 | 直接传递 | 空值允许 |
映射表不写清,接口一定会返工。返工的位置通常不在主流程,而在“空值怎么办、重号怎么办、超长怎么办”这些分支上——它们能占一半工作量。
方向二:批量处理工具
面向“几十上百个项目要统一调整”的场景:批量替换图框、批量修改项目属性、批量导出报表、批量打印、批量检查编号冲突。
这类工具的价值在“可重复执行且结果可核对”。交付时通常会附一份处理日志:改了哪些文件、改了哪些字段、哪些跳过、为什么跳过。没有日志的批量工具,出了问题无法追溯。
方向三:特制报表与数据转换
软件自带报表覆盖不到的输出格式,或跨平台的数据转换(例如从旧系统导出的数据整理成可导入的结构)。这类开发的关键是先把“目标格式”定稿,包括列顺序、分组方式、空值表示、合计行规则,再动手写。
我们怎么推进
- 需求边界说明:一页纸写清做什么、不做什么、验收标准。这一页确认之后再谈工作量。
- 字段与规则梳理:字段映射表、异常分支清单、性能要求(数据量、频率)。
- 原型验证:先跑通一条最短链路,用真实数据验证,不做“全量开发后再联调”。
- 联调与压测:在测试环境跑完整流程,用历史数据做批量验证。
- 交付与培训:程序、接口文档、字段映射表、异常处理约定、升级适配说明。
- 运行观察:上线后一到两个月内跟踪失败率与人工干预次数。
交付物
| 交付物 | 形式 | 验收方式 |
|---|---|---|
| 插件或工具 | 可执行程序 / 插件包 | 在测试环境按操作说明完成一次完整任务 |
| 接口程序 | 服务或脚本 + 配置 | 单条链路跑通,日志完整 |
| 字段映射表 | 表格文档 | 逐列可追溯,异常规则明确 |
| 接口文档 | 说明文档 | 第三方技术人员可依文档独立部署 |
| 异常处理约定 | 文档 | 空值、重号、超长、超时四类场景有明确处理 |
| 升级适配说明 | 文档 | 列出依赖的 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、项目数据,人工搬运频繁且易错
- 批量处理:几十上百个项目要统一改图框、改属性、导数据,手工做不现实
- 特制输出:报表格式特殊,软件自带配置改不出来,且格式长期稳定
不建议开发的三类需求:
- 一次性任务:只做一次的数据整理,写脚本的成本高于人工
- 本可以用配置解决:编号规则、图框字段、报表列,多数能在项目设置与模板里完成,开发反而增加维护负担
- 流程尚未定型:流程还在变,先把代码写死,后面每次调整都要改程序
一个实用判断:把需求写成一句话,问“这个动作一年会发生多少次”。几十次以内,人工或半自动更划算;上千次且规则稳定,才值得开发。还有一条常被忽略:开发交付的不只是程序,还有接口文档、字段映射表、异常处理约定和升级预案。没有这些,程序半年后就是黑盒。
Q21EPLAN 和 SAP、用友这类 ERP 对接,BOM 怎么才能打通?
BOM 打不通,八成不是接口技术问题,而是三处口径不一致:
- 物料编码:设计库里的部件号与 ERP 物料号不是同一套,或同一物料两个号
- 层级定义:图纸上的 BOM 是“功能结构”,ERP 要的是“装配结构”,层级关系对不上
- 变更时点:设计变更后,什么时候同步、同步哪些字段、历史版本怎么处理,没有约定
落地顺序建议:1. 先做物料主数据治理:确定唯一编码源,是 ERP 主还是设计库主,二选一,不允许双写2. 再定字段映射表:设计侧字段、ERP 字段、是否必填、转换规则、异常值处理,逐列写清3. 然后定同步策略:全量还是增量、单向还是双向、失败重试与人工兜底4. 最后才是写接口与联调接口形态通常是中间表、API 或文件交换,选哪种取决于两边系统的能力与 IT 约束,不取决于偏好。验收要盯一件事:同一项目,从设计端导出的 BOM 与 ERP 接收后的 BOM,逐行逐列比对,差异为零。做不到这一步,接口只是“能跑”,不是“能用”。
Q22二次开发的周期和费用怎么评估?会不会做起来没底?
评估一个二次开发项目,看四个变量:
- 接口数量与方向:几个系统、单向还是双向、实时还是批量
- 字段复杂度:映射字段多少、是否有取值转换、是否存在一对多
- 异常分支:数据缺失、重复、超长、编码冲突时怎么处理,这部分常被低估,实际能占一半工作量
- 环境约束:能否拿到测试环境、是否有权限限制、联调窗口是否可控
合理的推进方式是“先单点、后扩展”:选一条最有价值的链路(例如某类项目的 BOM 导出到 ERP),做成闭环并验收,再复制到其他链路。一上来做“全系统集成”,需求会在过程中不断膨胀。关于费用,我们不在网页上给数字,原因不是回避,而是区间没有意义:同样是“EPLAN 对接 ERP”,字段 10 个和 80 个、单向和双向、有无测试环境,工作量差数倍。正确做法是先出一页需求边界说明(做什么、不做什么、验收标准),再据此评估。合同里建议明确三件事:需求变更怎么计价、源码与文档是否交付、软件升级后接口适配是否包含。
Q23二次开发会不会影响后续 EPLAN 升级?升级后插件还能用吗?
会影响,但风险可控,关键在于开发时依赖了什么:
- 依赖官方公开 API:升级后通常只需适配少量签名变化,风险最低
- 依赖内部数据结构或未公开接口:版本一变就可能失效,风险最高
- 依赖文件格式直读直写:格式微调就会出错,需要版本兼容层
降低升级风险的四条做法:
- 只用厂商公开的 API 与扩展点,不碰内部实现
- 把版本判断写进程序,不同版本走不同分支,而不是假设只有一个版本
- 接口层与业务层分离,升级时只改接口层
- 交付时附一份“升级适配说明”:依赖了哪些 API、哪些地方需要回归测试
还有一件常被忽略的事:升级前要留回滚方案。测试环境先升,跑一遍关键链路(打开项目、导出 BOM、生成报表、打印),再动生产环境。如果插件是几年前由其他方开发的、没有源码也没有文档,升级前先做一次“可维护性评估”,比升级后救火便宜。
有具体对接场景时,建议先发一份“现状流程 + 目标流程 + 涉及系统”的说明到技术邮箱,我们会先判断这件事该开发、该配置、还是不该做。