Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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
            };
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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
                };
        }
Esempio n. 7
0
        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;
        }
        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
                };
        }
Esempio n. 9
0
        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;
        }
Esempio n. 10
0
 public DynamoRunner_Revit(DynamoController_Revit controllerRevit)
 {
     this.controllerRevit = controllerRevit;
 }
Esempio n. 11
0
        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());
                }
            }
        }
Esempio n. 12
0
 public DynamoRunner_Revit(DynamoController_Revit controllerRevit)
 {
     this.controllerRevit = controllerRevit;
 }