获取CAD的方式
可以,已经找到了,而且原 VVS 里这段逻辑比现在 BoardImageViewPlugin 里更完整。
最关键的位置在原始 VVS 源码 PanelDisplay.cs,CAD 模式取资源路径的大致流程是:
先看本地缓存
PanelDisplay.cs:955
cacheJobPath = Path.Combine(LocalCadCachePath, job.CADName)
PanelDisplay.cs:956
cadPath = ...\CadCache\{job.CADName}\steps\{job.MasterStepName}\layers\{layerInfo.CADName}缓存没有时,先去共享目录
PanelDisplay.cs:968-970
默认从shareFolder下拼
...\{job.CADName}\steps\{job.MasterStepName}\layers\{layerInfo.CADName}还有一个特殊兜底:直接按 job 名去找
cadjob
PanelDisplay.cs:974-975
\\{machine}\CamtekStorage\JobStorages\Storage1\{job.Name}\cadjob\steps\{job.MasterStepName}\layers\{layerInfo.CADName}如果上面还没命中,再遍历
JobStorages下的各个 storage
PanelDisplay.cs:983-989找到后把相关 CAD 文件复制到本地缓存,再真正加载
PanelDisplay.cs:998-1006
最终真正喂给FromCADJob(...)的不是网络路径,而是本地缓存根目录CadCache\{job.CADName}
然后用layerInfo.CADName + job.MasterStepName去开层。
另外,原 VVS 自己的 PanelDisplay 也在 D:\Csharp\Sources\Tools\VVS\PanelDisplay.cs,但“取 CAD 资源路径”的完整实现明显是在 CDB_SDK.Controls.PanelDisplay 这份里。
和你现在插件里的差别也很明确:
- 现在插件在 CadCacheService.cs 里是直接固定拼
\\{host}\CamtekStorage\JobStorages\Storage1\{jobName}\cadjob - 原 VVS 不是只走这一条,它是
本地缓存 -> shareFolder/job.CADName -> job.Name/cadjob -> 遍历 JobStorages
这一整套回退链
所以答案是:能找到,而且原 VVS 的 CAD 路径获取逻辑就在 CDB_SDK\Controls\PanelDisplay.cs,不是只有你现在插件里这条固定 UNC 路径。
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk
gurorfujgjrqhimohpzrolkptppxrj
wruqrmpyidrtisshqoqzhpfgdrujrk