public static DynamoController_Revit CreateDynamoRevitControllerAndViewModel(RevitServicesUpdater updater, DynamoLogger logger, string context) { BaseUnit.HostApplicationInternalAreaUnit = DynamoAreaUnit.SquareFoot; BaseUnit.HostApplicationInternalLengthUnit = DynamoLengthUnit.DecimalFoot; BaseUnit.HostApplicationInternalVolumeUnit = DynamoVolumeUnit.CubicFoot; var updateManager = new UpdateManager.UpdateManager(logger); var dynamoController = new DynamoController_Revit(updater, context, updateManager); // Generate a view model to be the data context for the view dynamoController.DynamoViewModel = new DynamoRevitViewModel(dynamoController, null); dynamoController.DynamoViewModel.RequestAuthentication += ((DynamoController_Revit)dynamoController).RegisterSingleSignOn; dynamoController.DynamoViewModel.CurrentSpaceViewModel.CanFindNodesFromElements = true; dynamoController.DynamoViewModel.CurrentSpaceViewModel.FindNodesFromElements = ((DynamoController_Revit)dynamoController).FindNodesFromSelection; // Register the view model to handle sign-on requests dynSettings.Controller.DynamoViewModel.RequestAuthentication += ((DynamoController_Revit)dynamoController).RegisterSingleSignOn; dynamoController.VisualizationManager = new VisualizationManagerRevit(); return(dynamoController); }
private void StartDynamo() { Level defaultLevel = null; var fecLevel = new FilteredElementCollector(RevitData.Document.Document); fecLevel.OfClass(typeof(Level)); dynRevitSettings.Revit = RevitData.Application; dynRevitSettings.Doc = RevitData.Document; dynRevitSettings.DefaultLevel = defaultLevel; var units = new UnitsManager { HostApplicationInternalAreaUnit = DynamoAreaUnit.SquareFoot, HostApplicationInternalLengthUnit = DynamoLengthUnit.DecimalFoot, HostApplicationInternalVolumeUnit = DynamoVolumeUnit.CubicFoot }; //create dynamo var r = new Regex(@"\b(Autodesk |Structure |MEP |Architecture )\b"); string context = r.Replace(RevitData.Application.Application.VersionName, ""); var dynamoController = new DynamoController_Revit(DynamoRevitApp.env, DynamoRevitApp.Updater, typeof(DynamoRevitViewModel), context, units); DynamoController.IsTestMode = true; }
private void StartDynamo() { Level defaultLevel = null; var fecLevel = new FilteredElementCollector(RevitData.Document.Document); fecLevel.OfClass(typeof(Level)); dynRevitSettings.Revit = RevitData.Application; dynRevitSettings.Doc = RevitData.Document; dynRevitSettings.DefaultLevel = defaultLevel; //create dynamo var r = new Regex(@"\b(Autodesk |Structure |MEP |Architecture )\b"); string context = r.Replace(RevitData.Application.Application.VersionName, ""); var dynamoController = new DynamoController_Revit(DynamoRevitApp.env, DynamoRevitApp.Updater, typeof(DynamoRevitViewModel), context) { Testing = true }; }
public static DynamoController_Revit CreateDynamoRevitControllerAndViewModel( RevitServicesUpdater updater, DynamoLogger logger, string context) { BaseUnit.HostApplicationInternalAreaUnit = DynamoAreaUnit.SquareFoot; BaseUnit.HostApplicationInternalLengthUnit = DynamoLengthUnit.DecimalFoot; BaseUnit.HostApplicationInternalVolumeUnit = DynamoVolumeUnit.CubicFoot; var updateManager = new UpdateManager.UpdateManager(logger); string corePath = Path.GetFullPath( Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\..\"); var dynamoController = new DynamoController_Revit( updater, context, updateManager, corePath); // Generate a view model to be the data context for the view dynamoController.DynamoViewModel = new DynamoRevitViewModel(dynamoController, null); dynamoController.DynamoViewModel.RequestAuthentication += dynamoController.RegisterSingleSignOn; dynamoController.DynamoViewModel.CurrentSpaceViewModel.CanFindNodesFromElements = true; dynamoController.DynamoViewModel.CurrentSpaceViewModel.FindNodesFromElements = dynamoController.FindNodesFromSelection; // Register the view model to handle sign-on requests dynSettings.Controller.DynamoViewModel.RequestAuthentication += dynamoController.RegisterSingleSignOn; dynamoController.VisualizationManager = new VisualizationManagerRevit(); return dynamoController; }
public Result Execute(ExternalCommandData revit, ref string message, ElementSet elements) { DynamoLogger.Instance.StartLogging(); try { m_revit = revit.Application; m_doc = m_revit.ActiveUIDocument; #region default level Level defaultLevel = null; var fecLevel = new FilteredElementCollector(m_doc.Document); fecLevel.OfClass(typeof(Level)); defaultLevel = fecLevel.ToElements()[0] as Level; #endregion dynRevitSettings.Revit = m_revit; dynRevitSettings.Doc = m_doc; dynRevitSettings.DefaultLevel = defaultLevel; //create dynamo Regex r = new Regex(@"\b(Autodesk |Structure |MEP |Architecture )\b"); string context = r.Replace(m_revit.Application.VersionName, ""); var dynamoController = new DynamoController_Revit(DynamoRevitApp.env, DynamoRevitApp.updater, typeof(DynamoRevitViewModel), context); //flag to run evalauation synchronously, helps to //avoid threading issues when testing. dynamoController.Testing = true; //execute the tests Results = new DynamoRevitTestRunner(); DynamoRevitTestResultsView resultsView = new DynamoRevitTestResultsView(); resultsView.DataContext = Results; //http://stackoverflow.com/questions/2798561/how-to-run-nunit-from-my-code string assLocation = Assembly.GetExecutingAssembly().Location; FileInfo fi = new FileInfo(assLocation); string testLoc = Path.Combine(fi.DirectoryName, @"DynamoRevitTester.dll"); //Tests must be executed on the main thread in order to access the Revit API. //NUnit's SimpleTestRunner runs the tests on the main thread //http://stackoverflow.com/questions/16216011/nunit-c-run-specific-tests-through-coding?rq=1 CoreExtensions.Host.InitializeService(); SimpleTestRunner runner = new SimpleTestRunner(); TestSuiteBuilder builder = new TestSuiteBuilder(); TestPackage package = new TestPackage("DynamoRevitTests", new List <string>() { testLoc }); runner.Load(package); TestSuite suite = builder.Build(package); TestFixture fixture = null; FindFixtureByName(out fixture, suite, "DynamoRevitTests"); if (fixture == null) { throw new Exception("Could not find DynamoRevitTests fixture."); } foreach (var t in fixture.Tests) { if (t is ParameterizedMethodSuite) { var paramSuite = t as ParameterizedMethodSuite; foreach (var tInner in paramSuite.Tests) { if (tInner is TestMethod) { Results.Results.Add(new DynamoRevitTest(tInner as TestMethod)); } } } else if (t is TestMethod) { Results.Results.Add(new DynamoRevitTest(t as TestMethod)); } } resultsView.ShowDialog(); } catch (Exception ex) { Debug.WriteLine(ex.ToString()); return(Result.Failed); } return(Result.Succeeded); }
private void StartDynamo() { Level defaultLevel = null; var fecLevel = new FilteredElementCollector(RevitData.Document.Document); fecLevel.OfClass(typeof(Level)); dynRevitSettings.Revit = RevitData.Application; dynRevitSettings.Doc = RevitData.Document; dynRevitSettings.DefaultLevel = defaultLevel; var units = new UnitsManager { HostApplicationInternalAreaUnit = DynamoAreaUnit.SquareFoot, HostApplicationInternalLengthUnit = DynamoLengthUnit.DecimalFoot, HostApplicationInternalVolumeUnit = DynamoVolumeUnit.CubicFoot }; //create dynamo var r = new Regex(@"\b(Autodesk |Structure |MEP |Architecture )\b"); string context = r.Replace(RevitData.Application.Application.VersionName, ""); var dynamoController = new DynamoController_Revit(DynamoRevitApp.env, DynamoRevitApp.Updater, typeof(DynamoRevitViewModel), context, units) { Testing = true }; }
public Result Execute(ExternalCommandData revit, ref string message, ElementSet elements) { if (dynamoBench != null) { dynamoBench.Focus(); return Result.Succeeded; } //MVVM : don't start logging here. DynamoLogger.Instance.StartLogging(); try { m_revit = revit.Application; m_doc = m_revit.ActiveUIDocument; #region default level Level defaultLevel = null; var fecLevel = new FilteredElementCollector(m_doc.Document); fecLevel.OfClass(typeof (Level)); defaultLevel = fecLevel.ToElements()[0] as Level; #endregion dynRevitSettings.Revit = m_revit; dynRevitSettings.Doc = m_doc; dynRevitSettings.DefaultLevel = defaultLevel; IdlePromise.ExecuteOnIdle(delegate { //get window handle IntPtr mwHandle = Process.GetCurrentProcess().MainWindowHandle; //show the window string context = string.Format("{0} {1}", m_revit.Application.VersionName, m_revit.Application.VersionNumber); var dynamoController = new DynamoController_Revit(DynamoRevitApp.env, DynamoRevitApp.updater, true, typeof(DynamoRevitViewModel), context); dynamoBench = dynSettings.Bench; //set window handle and show dynamo new WindowInteropHelper(dynamoBench).Owner = mwHandle; dynamoBench.WindowStartupLocation = WindowStartupLocation.Manual; Rectangle bounds = Screen.PrimaryScreen.Bounds; dynamoBench.Left = bounds.X; dynamoBench.Top = bounds.Y; dynamoBench.Loaded += dynamoForm_Loaded; dynamoBench.Show(); dynamoBench.Closed += dynamoForm_Closed; }); } catch (Exception ex) { MessageBox.Show(ex.ToString()); DynamoLogger.Instance.Log(ex.Message); DynamoLogger.Instance.Log(ex.StackTrace); DynamoLogger.Instance.Log("Dynamo log ended " + DateTime.Now.ToString()); return Result.Failed; } return Result.Succeeded; }
public Result Execute(ExternalCommandData revit, ref string message, ElementSet elements) { DynamoLogger.Instance.StartLogging(); try { m_revit = revit.Application; m_doc = m_revit.ActiveUIDocument; #region default level Level defaultLevel = null; var fecLevel = new FilteredElementCollector(m_doc.Document); fecLevel.OfClass(typeof(Level)); defaultLevel = fecLevel.ToElements()[0] as Level; #endregion dynRevitSettings.Revit = m_revit; dynRevitSettings.Doc = m_doc; dynRevitSettings.DefaultLevel = defaultLevel; //create dynamo Regex r = new Regex(@"\b(Autodesk |Structure |MEP |Architecture )\b"); string context = r.Replace(m_revit.Application.VersionName, ""); var dynamoController = new DynamoController_Revit(DynamoRevitApp.env, DynamoRevitApp.updater, typeof(DynamoRevitViewModel), context); //flag to run evalauation synchronously, helps to //avoid threading issues when testing. dynamoController.Testing = true; //execute the tests Results = new DynamoRevitTestRunner(); DynamoRevitTestResultsView resultsView = new DynamoRevitTestResultsView(); resultsView.DataContext = Results; //http://stackoverflow.com/questions/2798561/how-to-run-nunit-from-my-code string assLocation = Assembly.GetExecutingAssembly().Location; FileInfo fi = new FileInfo(assLocation); string testLoc = Path.Combine(fi.DirectoryName, @"DynamoRevitTester.dll"); //Tests must be executed on the main thread in order to access the Revit API. //NUnit's SimpleTestRunner runs the tests on the main thread //http://stackoverflow.com/questions/16216011/nunit-c-run-specific-tests-through-coding?rq=1 CoreExtensions.Host.InitializeService(); SimpleTestRunner runner = new SimpleTestRunner(); TestSuiteBuilder builder = new TestSuiteBuilder(); TestPackage package = new TestPackage("DynamoRevitTests", new List<string>() { testLoc }); runner.Load(package); TestSuite suite = builder.Build(package); TestFixture fixture = null; FindFixtureByName(out fixture, suite, "DynamoRevitTests"); if (fixture == null) throw new Exception("Could not find DynamoRevitTests fixture."); foreach (var t in fixture.Tests) { if (t is ParameterizedMethodSuite) { var paramSuite = t as ParameterizedMethodSuite; foreach (var tInner in paramSuite.Tests) { if (tInner is TestMethod) Results.Results.Add(new DynamoRevitTest(tInner as TestMethod)); } } else if (t is TestMethod) Results.Results.Add(new DynamoRevitTest(t as TestMethod)); } resultsView.ShowDialog(); } catch (Exception ex) { Debug.WriteLine(ex.ToString()); return Result.Failed; } return Result.Succeeded; }
public DynamoRunner_Revit(DynamoController_Revit controllerRevit) { this.controllerRevit = controllerRevit; }
public void StartDynamo() { dynSettings.StartLogging(); try { _mRevit = DynamoRevitTestsLoader.RevitCommandData.Application; _mDoc = _mRevit.ActiveUIDocument; #region default level Level defaultLevel = null; var fecLevel = new FilteredElementCollector(_mDoc.Document); fecLevel.OfClass(typeof (Level)); defaultLevel = fecLevel.ToElements()[0] as Level; #endregion dynRevitSettings.Revit = _mRevit; dynRevitSettings.Doc = _mDoc; dynRevitSettings.DefaultLevel = defaultLevel; //get window handle IntPtr mwHandle = Process.GetCurrentProcess().MainWindowHandle; //show the window var dynamoController = new DynamoController_Revit(DynamoRevitApp.env, DynamoRevitApp.updater); _dynamoBench = dynamoController.Bench; //set window handle and show dynamo new WindowInteropHelper(_dynamoBench).Owner = mwHandle; _dynamoBench.WindowStartupLocation = WindowStartupLocation.Manual; Rectangle bounds = Screen.PrimaryScreen.Bounds; _dynamoBench.Left = bounds.X; _dynamoBench.Top = bounds.Y; _dynamoBench.Show(); _dynamoBench.Closed += dynamoForm_Closed; } catch (Exception ex) { MessageBox.Show(ex.ToString()); if (dynSettings.Writer != null) { dynSettings.Writer.WriteLine(ex.Message); dynSettings.Writer.WriteLine(ex.StackTrace); dynSettings.Writer.WriteLine("Dynamo log ended " + DateTime.Now.ToString()); } } }