From f7df92d4304461f687f3a04bb8efb1b1edc5d6c7 Mon Sep 17 00:00:00 2001 From: John Date: Tue, 16 Apr 2024 08:19:49 -0600 Subject: [PATCH] v1.5.1- revert back to using reflection to fire off the DYN methods --- _Release/Revit2021/Relay/Relay.dll | Bin 863232 -> 863744 bytes _Release/Revit2022/Relay/Relay.dll | Bin 863232 -> 863744 bytes _Release/Revit2023/Relay/Relay.dll | Bin 863232 -> 863744 bytes _Release/Revit2024/Relay/Relay.dll | Bin 863232 -> 863744 bytes _Release/Revit2025/Relay/Relay.dll | Bin 863232 -> 863744 bytes src/Methods/DynamoMethods.cs | 49 ++++++++++++++++++++--------- src/Relay.csproj | 4 +-- 7 files changed, 37 insertions(+), 16 deletions(-) diff --git a/_Release/Revit2021/Relay/Relay.dll b/_Release/Revit2021/Relay/Relay.dll index 3d951a341273b5572a3300932bb18d5d336bc497..b59d8dc5dc512209372a617ee77409b5086da0bc 100644 GIT binary patch delta 5828 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 delta 4999 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 diff --git a/_Release/Revit2022/Relay/Relay.dll b/_Release/Revit2022/Relay/Relay.dll index e622b1331045663b3589a02f7d19ab6fcbc4c3d3..2ae3fa8cdf124f6e3c3436b1c1f19fea50b2c4fd 100644 GIT binary patch delta 5828 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 delta 4999 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 delta 4999 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 diff --git a/_Release/Revit2024/Relay/Relay.dll b/_Release/Revit2024/Relay/Relay.dll index ccfae2846ff94cbe73e4f91f7452d11a7ac2bb34..20bf313015e5a20b40f0df5a328fdeeba681e2fc 100644 GIT binary patch delta 5828 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 delta 4999 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 diff --git a/src/Methods/DynamoMethods.cs b/src/Methods/DynamoMethods.cs index 057296d..a276e2f 100644 --- a/src/Methods/DynamoMethods.cs +++ b/src/Methods/DynamoMethods.cs @@ -7,40 +7,61 @@ namespace Relay.Methods { internal static class DynamoMethods { - internal static Result RunGraph(UIApplication app, string dynamoJournal) + internal static Result RunGraph(UIApplication uiApp, string dynamoJournal) { - //toggle the graph to automatic. this is required for running Dynamo UI-Les + //toggle the graph to automatic. this is required for running Dynamo UI-Less DynamoUtils.SetToAutomatic(dynamoJournal); - DynamoRevit dynamoRevit = new DynamoRevit(); + //DynamoRevit dynamoRevit = new DynamoRevit(); + IDictionary journalData = new Dictionary { {JournalKeys.ShowUiKey, false.ToString()}, {JournalKeys.AutomationModeKey, true.ToString()}, - {JournalKeys.DynPathKey, ""}, - {JournalKeys.DynPathExecuteKey, true.ToString()}, - {JournalKeys.ForceManualRunKey, false.ToString()}, + {"dynPath", dynamoJournal}, + //{JournalKeys.DynPathKey, dynamoJournal}, + //{JournalKeys.DynPathExecuteKey, true.ToString()}, + {JournalKeys.ForceManualRunKey, true.ToString()}, {JournalKeys.ModelShutDownKey, true.ToString()}, - {JournalKeys.ModelNodesInfo, false.ToString()}, + //{JournalKeys.ModelNodesInfo, false.ToString()}, }; + + //get all loaded assemblies + var loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies(); + + //find the Dynamo Revit one + var dynamoRevitApplication = loadedAssemblies + .FirstOrDefault(a => a.FullName.Contains("DynamoRevitDS")); + + //create our own instances of these things using reflection. Shoutout to BirdTools for helping with this. + object dInst = dynamoRevitApplication.CreateInstance("Dynamo.Applications.DynamoRevit"); + object dta = dynamoRevitApplication.CreateInstance("Dynamo.Applications.DynamoRevitCommandData"); + dta.GetType().GetProperty("Application").SetValue(dta, uiApp, null); + dta.GetType().GetProperty("JournalData").SetValue(dta, journalData, null); + + object[] parameters = new object[] { dta }; + + dInst.GetType().GetMethod("ExecuteCommand").Invoke(dInst, parameters); + + object rdm = dInst.GetType().GetProperty("RevitDynamoModel").GetValue(dInst, null); + + rdm.GetType().GetMethod("ForceRun").Invoke(rdm, new object[] { }); + + DynamoRevitCommandData dynamoRevitCommandData = new DynamoRevitCommandData { - Application = app, + Application = uiApp, JournalData = journalData }; - var result = dynamoRevit.ExecuteCommand(dynamoRevitCommandData); -//sorry folks, parks closed, the moose out front should have told you + //sorry folks, parks closed, the moose out front should have told you #if Revit2021Pro || Revit2022Pro || Revit2023Pro Packages.ResolvePackages(DynamoRevit.RevitDynamoModel.PathManager.DefaultPackagesDirectory, dynamoJournal); #endif - DynamoRevit.RevitDynamoModel.OpenFileFromPath(dynamoJournal, true); - DynamoRevit.RevitDynamoModel.ForceRun(); - - return result; + return Result.Succeeded; } } } diff --git a/src/Relay.csproj b/src/Relay.csproj index 3100258..d4fa510 100644 --- a/src/Relay.csproj +++ b/src/Relay.csproj @@ -67,8 +67,8 @@ Program C:\Program Files\Autodesk\Revit $(RevitVersion)\Revit.exe /language ENG - $(RevitVersion).1.5.0 - $(RevitVersion).1.5.0 + $(RevitVersion).1.5.1 + $(RevitVersion).1.5.1 Relay adds DYNs to the ribbon in an okay way. 2024 - John Pierson