source-guide
项目结构
买了源码之后,从哪看起。
这一章是给买了源码的用户的。打开仓库的前 5 分钟决定你的评价, 所以我们把「从哪看起」写在最前面,而不是让你自己翻。
解决方案布局
PreciSim.sln
├── 01.PreciSim.Core 基础类型:坐标系、变换、单位、结果类型
├── 02.PreciSim.Devices 设备接口 + 真实设备驱动
├── 03.PreciSim.Engine 虚拟设备引擎 ← ❌ 不在源码交付范围内
├── 04.PreciSim.Vision 图像处理:圆心提取、棋盘格、边缘
├── 05.PreciSim.Calibration 六条标定链
├── 06.PreciSim.Workflow Station + DAG 工作流
├── 07.PreciSim.App WPF 上位机(MVVM)
├── 08.PreciSim.Interop vmc.dll 与 Modbus 服务
└── tests/ 单元测试与标定回归测试
引擎(03)是闭源的,源码包里以编译好的程序集 + 完整的模型文档形式提供。 其余全部给源码。买的是哪个包决定你拿到 04+05 还是 07 还是全部, 见源码商业许可。
第一天该看的三个文件
| 文件 | 为什么 |
|---|---|
01.PreciSim.Core/Geometry/Transform2d.cs |
所有坐标变换的地基,看完就懂了命名约定 |
05.PreciSim.Calibration/Procedures/PixelSizeProcedure.cs |
一条标定链的完整样板,其余五条照着它写 |
07.PreciSim.App/Views/CalibrationWizardView.xaml |
UI 怎么和标定链对接,包括进度、取消、分步重跑 |
看完这三个,你就能自己加第七条标定链了。
依赖方向
App → Workflow → Calibration → Vision → Devices → Core
↘ Engine(仅接口,实现是闭源程序集)
只允许从上往下依赖,任何一条反向引用都会被 CI 里的架构测试挡住
(tests/ArchitectureTests.cs)。这条规矩是这套代码能被复用的根本原因。
能独立编译
git clone https://github.com/precisim/precisim-hmi-source.git
cd precisim-hmi-source
dotnet restore
dotnet build -c Release
dotnet test不依赖作者本机的任何路径或私有包。 CI 每次发版都跑一遍 「全新克隆 → 还原 → 编译 → 跑测试」,所以你 clone 下来一定能编过。 编不过就是我们的问题,直接开 issue。
怎么跟上更新
git pull origin main # 主线
git log --oneline v0.1.0.. # 看这次更新了什么每个版本都有 tag 和 Release 说明。破坏性变更只出现在大版本, 并且会在 更新日志 里单独标出来。
下一步:怎么加一个页面。
最后更新: 2026/9/21
这页有帮助吗?