如何修改SolidWorks PDM PDF转换脚本,按文件名前缀指定存储路径
修改SolidWorks PDM 2021转换PDF任务脚本,按文件名规则指定输出路径
核心需求实现逻辑
针对xxx-xxx.slddrw格式的工程图文件,提取文件名前三位数字,将生成的PDF文件保存到对应数字命名的文件夹中,需修改任务脚本覆盖默认的主输出路径。
具体脚本修改步骤
定位脚本关键位置
打开SolidWorks PDM管理工具,找到目标“转换为PDF”任务,进入脚本编辑界面,定位到ProcessTask方法内、执行转换操作之前的代码段。插入路径处理代码
加入以下代码,实现路径自定义逻辑:' 获取当前处理文件的完整名称(含后缀) Dim file As IEdmFile5 = vault.GetFile(fileId) Dim fileName As String = file.Name ' 提取文件名前三位数字(适配xxx-xxx.slddrw格式) Dim folderPrefix As String = Left(fileName, 3) ' 方式1:基于任务默认主输出路径创建子文件夹 Dim defaultOutputPath As String = task.GetOutputPath(fileId, 0) Dim targetOutputPath As String = System.IO.Path.Combine(defaultOutputPath, folderPrefix) ' 方式2:使用固定根路径(替换为你的实际根路径) ' Dim rootOutputPath As String = "D:\PDM_PDF_Archives\" ' Dim targetOutputPath As String = System.IO.Path.Combine(rootOutputPath, folderPrefix) ' 检查目标文件夹是否存在,不存在则创建 If Not System.IO.Directory.Exists(targetOutputPath) Then System.IO.Directory.CreateDirectory(targetOutputPath) End If ' 覆盖任务的主输出路径 task.SetOutputPath(fileId, 0, targetOutputPath)添加格式校验(可选)
为避免不符合命名规则的文件出错,可加入正则校验逻辑:Dim namePattern As New System.Text.RegularExpressions.Regex("^\d{3}-.*\.slddrw$") If Not namePattern.IsMatch(fileName) Then ' 不符合规则时,沿用默认输出路径 task.SetOutputPath(fileId, 0, defaultOutputPath) Exit Sub ' 或执行其他异常处理 End If保存并测试
保存修改后的脚本,提交任务配置,测试运行转换任务,验证PDF文件是否保存到指定数字文件夹中。
内容的提问来源于stack exchange,提问作者CBIBI2024
相关产品推荐
相关产品推荐

