diff --git a/README.md b/README.md index 05464b5..e6adf66 100644 --- a/README.md +++ b/README.md @@ -12,3 +12,41 @@ - 插件分为单芯线扫描装配、单芯线线材检查与伺服电机选型三部分,其中单芯线线材检查与伺服电机选型为同一版本文件,单芯线扫描装配为单独版本文件。 - 插件数据源均使用共享盘(192.168.1.160)中excel文件,除单芯线扫描装配外,其余功能无法在无局域网情况下使用。 +## 3. 插件安装 +- 参考 \\192.168.1.160\plm系统文档\线材资料检查\线材资料检查插件安装.pptx 文件进行操作 + + +## 4. 开发说明 +- 本项目使用C# / .net framework 4.8 / Visual studio 2022 开发,理论上EPLAN ProD 2.9 支持 .net framework 4.8.1 制作插件,后续有需要可进行升级。 +- 插件使用多项目结构,区分入口项目、界面项目、对接PLM项目: + - 入口项目(Sinvo.EplanHpD.Plugin):存放EPLAN ProD菜单入口类,由于EPLAN ProD 插件要求,必须使用继承对应接口的方式编写菜单入口。 + - 界面项目(Sinvo.EplanHpD.Plugin.WPFUI):存放UI与大部分逻辑代码,使用WPF编写UI界面,使用MVVM设计模式。 + - 对接PLM项目(Sinvo.EplanHpD.Plugin.DynaClient):存放Web Service相关代码,使用SOAP方式对接PLM系统,并进行封装。(目前仅要求登录功能) + - Sinvo.EplanHpD.Plugin.Service :跨项目使用的服务类,存放一些公共方法。 + - Sinvo.EplanHpD.Plugin.Test : 测试用例。 + +- 项目使用HandyControl作为主要的UI控件库,使界面样式更加统一、美观。 +- 项目使用MiniExcel作为Excel读写库,支持xlsx格式的Excel文件读写(不支持xls)。 +- 项目使用PdfiumViewer作为PDF预览支持,由于网络问题,所以将改第三方库的源码在公司内部Gitlab上进行了同步,后续如有更新,请上传到公司内部Gitlab上。 +- 编译配置说明: + - Debug:调试版本,包含调试信息,编译后可直接在EPLAN ProD中使用。 + - Release:发布版本,包含调试信息,编译后可直接在EPLAN ProD中使用。 + - Release_EPLAN_2024:2024版本EPLAN测试用,引用DLL不同。 + - Release_Scanner:扫码装配需求独立版本,只包含扫码装配菜单入口。 + - Release_WireAndCable:线材相关功能独立版本,只包含线材相关功能菜单入口。 + +## 5. 注意事项 +- 当EPLAN进行大版本升级时,很有可能会修改菜单入口的接口,导致插件无法使用。 +- 由于公开的API接口并不完善,可能会导致一些功能无法实现。 +- 现有逻辑均基于`FlexProject`中对象进行数据获取,若后续EPLAN ProD 版本中修改了`FlexProject`对象的结构,可能会导致插件无法使用。 +- 由于插件加载方式的局限性,引用WPF的第三方库时,会导致Application对象无法初始化,故编写`AppDomainDllLoader`手动处理DLL加载方式,后续如更换UI控件库,或是增加了DLL引用,需注意是否与该加载方式兼容。 +- 插件版本使用 Versioning-Controlled-Build 插件进行管理,对多项目版本进行统一管理。 +- 代码中存在部分按编译标志判断的代码,所以禁止向用户发送DEBUG版本,如需要调试,请确保编译标志内容已调整或是删除了编译标志控制。 +- 目前插件没有日志记录功能,请确保修改代码后测试完整,再进行发布。 +- 如果有暂时不需要发布的新功能需要开发,建议建立新分支进行开发,以防开发过程中需要更新导致插件出现问题。 + +## 6. 发布更新 +- 发布更新前,需确保插件已在本机测试完成,且无明显BUG。 +- 发布更新时,推荐同时更新版本号,以便快速定位是否为更新后问题,插件窗口标题会显示版本号。 +- 发布更新需要通过邮件方式通知标准化部相关人员、体系开发部门相关领导,参考: + - ![alt text](邮件示例.png) diff --git a/邮件示例.png b/邮件示例.png new file mode 100644 index 0000000..df2e646 Binary files /dev/null and b/邮件示例.png differ