From 8fce6704641dd51d8223b330373cca4a337e9812 Mon Sep 17 00:00:00 2001 From: Markus Koechl Date: Tue, 19 Nov 2024 14:08:00 +0100 Subject: [PATCH] added option to allow reuse of local IPJ file. --- .../JobExtension.cs | 52 ++++++++----------- .../Properties/AssemblyInfo.cs | 4 +- .../Settings.cs | 3 ++ .../Settings.xml | 5 +- README.md | 1 + 5 files changed, 33 insertions(+), 32 deletions(-) diff --git a/Autodesk.VLTINVSRV.ExportSampleJob/JobExtension.cs b/Autodesk.VLTINVSRV.ExportSampleJob/JobExtension.cs index 13aa637..88032bf 100644 --- a/Autodesk.VLTINVSRV.ExportSampleJob/JobExtension.cs +++ b/Autodesk.VLTINVSRV.ExportSampleJob/JobExtension.cs @@ -341,17 +341,32 @@ private void mCreateExport(IJobProcessorServices context, IJob job) } //define download settings for the project file - VDF.Vault.Settings.AcquireFilesSettings mDownloadSettings = new VDF.Vault.Settings.AcquireFilesSettings(connection); - mDownloadSettings.LocalPath = new VDF.Currency.FolderPathAbsolute(mWfPath); + VDF.Vault.Settings.AcquireFilesSettings mDownloadSettings_IPJ = new VDF.Vault.Settings.AcquireFilesSettings(connection); + mDownloadSettings_IPJ.LocalPath = new VDF.Currency.FolderPathAbsolute(mWfPath); mIpjFileIter = new VDF.Vault.Currency.Entities.FileIteration(connection, mProjFile); - mDownloadSettings.AddFileToAcquire(mIpjFileIter, VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Download); + mDownloadSettings_IPJ.AddFileToAcquire(mIpjFileIter, VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Download); //download project file and get local path VDF.Vault.Results.AcquireFilesResults mDownLoadResult; VDF.Vault.Results.FileAcquisitionResult fileAcquisitionResult; - mDownLoadResult = connection.FileManager.AcquireFiles(mDownloadSettings); - fileAcquisitionResult = mDownLoadResult.FileResults.FirstOrDefault(); - mIpjLocalPath = fileAcquisitionResult.LocalPath.FullPath; + mDownLoadResult = connection.FileManager.AcquireFiles(mDownloadSettings_IPJ); + fileAcquisitionResult = mDownLoadResult?.FileResults.FirstOrDefault(); + if (fileAcquisitionResult != null) + { + mIpjLocalPath = fileAcquisitionResult.LocalPath.FullPath; + } + else + { + //let's check for allowance that an existing to be consumed + if (settings.AcceptLocalIpj.ToLower() == "true" && System.IO.File.Exists(mDownloadSettings_IPJ.LocalPath.ToString())) + { + mIpjLocalPath = mDownloadSettings_IPJ.LocalPath.ToString() + mIpjFileName; + } + else + { + throw new Exception("Job stopped execution as the project file to translate did not download"); + } + } //activate the given project file for this job only projectManager = mInv.DesignProjectManager; @@ -381,31 +396,10 @@ private void mCreateExport(IJobProcessorServices context, IJob job) #region download source file(s) mTrace.IndentLevel += 1; mTrace.WriteLine("Job downloads source file(s) for translation."); - //download the source file iteration, enforcing overwrite if local files exist - VDF.Vault.Settings.AcquireFilesSettings mDownloadSettings2 = new VDF.Vault.Settings.AcquireFilesSettings(connection); - VDF.Vault.Currency.Entities.FileIteration mFileIteration = new VDF.Vault.Currency.Entities.FileIteration(connection, mFile); - mDownloadSettings2.AddFileToAcquire(mFileIteration, VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Download); - mDownloadSettings2.OrganizeFilesRelativeToCommonVaultRoot = true; - mDownloadSettings2.OptionsRelationshipGathering.FileRelationshipSettings.IncludeChildren = true; - mDownloadSettings2.OptionsRelationshipGathering.FileRelationshipSettings.RecurseChildren = true; - mDownloadSettings2.OptionsRelationshipGathering.FileRelationshipSettings.IncludeLibraryContents = true; - mDownloadSettings2.OptionsRelationshipGathering.FileRelationshipSettings.ReleaseBiased = true; - VDF.Vault.Settings.AcquireFilesSettings.AcquireFileResolutionOptions mResOpt = new VDF.Vault.Settings.AcquireFilesSettings.AcquireFileResolutionOptions(); - mResOpt.OverwriteOption = VDF.Vault.Settings.AcquireFilesSettings.AcquireFileResolutionOptions.OverwriteOptions.ForceOverwriteAll; - mResOpt.SyncWithRemoteSiteSetting = VDF.Vault.Settings.AcquireFilesSettings.SyncWithRemoteSite.Always; - //execute download - VDF.Vault.Results.AcquireFilesResults mDownLoadResult2 = connection.FileManager.AcquireFiles(mDownloadSettings2); - //pickup result details - VDF.Vault.Results.FileAcquisitionResult fileAcquisitionResult2 = mDownLoadResult2.FileResults.Where(n => n.File.EntityName == mFileIteration.EntityName).FirstOrDefault(); + string mDocPath = mDownloadFile(connection, mFile); + string mExt = System.IO.Path.GetExtension(mDocPath); - if (fileAcquisitionResult2 == null) - { - mResetIpj(mSaveProject); - throw new Exception("Job stopped execution as the source file to translate did not download"); - } - string mDocPath = fileAcquisitionResult2.LocalPath.FullPath; - string mExt = System.IO.Path.GetExtension(mDocPath); //mDocPath.Split('.').Last(); mTrace.WriteLine("Job successfully downloaded source file(s) for translation."); #endregion download source file(s) diff --git a/Autodesk.VLTINVSRV.ExportSampleJob/Properties/AssemblyInfo.cs b/Autodesk.VLTINVSRV.ExportSampleJob/Properties/AssemblyInfo.cs index 726b108..f7dbf5e 100644 --- a/Autodesk.VLTINVSRV.ExportSampleJob/Properties/AssemblyInfo.cs +++ b/Autodesk.VLTINVSRV.ExportSampleJob/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2025.1.2.0")] -[assembly: AssemblyFileVersion("2025.1.2.0")] +[assembly: AssemblyVersion("2025.2.0.1")] +[assembly: AssemblyFileVersion("2025.2.0.1")] diff --git a/Autodesk.VLTINVSRV.ExportSampleJob/Settings.cs b/Autodesk.VLTINVSRV.ExportSampleJob/Settings.cs index 06db2cd..7edee46 100644 --- a/Autodesk.VLTINVSRV.ExportSampleJob/Settings.cs +++ b/Autodesk.VLTINVSRV.ExportSampleJob/Settings.cs @@ -43,6 +43,9 @@ public class Settings [XmlElement("NwdTemplate")] public string NwdTemplate; + [XmlElement("AcceptLocalIpj")] + public string AcceptLocalIpj; + private Settings() { diff --git a/Autodesk.VLTINVSRV.ExportSampleJob/Settings.xml b/Autodesk.VLTINVSRV.ExportSampleJob/Settings.xml index 4bd3e51..615d15d 100644 --- a/Autodesk.VLTINVSRV.ExportSampleJob/Settings.xml +++ b/Autodesk.VLTINVSRV.ExportSampleJob/Settings.xml @@ -3,12 +3,15 @@ C:\Temp\ + + + True - NWD+DWF,SLDDRW.PDF + NWD+DWF diff --git a/README.md b/README.md index 8b771dc..766f7b8 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ The job expects that all library definition files configured in the Inventor pro VERSION HISTORY / RELEASE NOTES: --------------------------------- +2025.2.0.1 - added template support for Navisworks NWD creation. Added option to allow the reuse of local IPJ file. 2025.1.0.0 - enhanced Navisworks export and added Navisworks DWF visualization export, added Solidworks PDF export option (design representation attachment) 2025.0.0.0 - updated for 2025 compatibility 2024.0.0.0 - updated for 2024 compatibility