跳到正文
PreciSim
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
这页有帮助吗?