public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            UIApplication uiApp = commandData.Application;
            UIDocument    uiDoc = uiApp.ActiveUIDocument;

            RepeatCommand.LastExecutedCommand = this;

            return(FindSurfaceRevitPlugin.OnFindTorusCommand(uiDoc));
        }
Пример #2
0
        public Result Execute(
            ExternalCommandData commandData,
            ref string messge,
            ElementSet elements)
        {
            Document doc = commandData.Application.ActiveUIDocument.Document;

            if (FindSurfaceRevitPlugin.OnResetCommand(doc))
            {
                FindSurfaceRevitPluginUI.GetRibbonPanel(FindSurfaceRevitPluginUI.RibbonPanelFindSurfaceName).Enabled     = true;
                FindSurfaceRevitPluginUI.GetRibbonPanel(FindSurfaceRevitPluginUI.RibbonPanelFindSurface2ptsName).Enabled = true;
                FindSurfaceRevitPluginUI.GetRibbonPanel(FindSurfaceRevitPluginUI.RibbonPanelFindSurface3ptsName).Enabled = true;
                FindSurfaceRevitPluginUI.GetPushButton(FindSurfaceRevitPluginUI.PushButtonViewListClassName).Enabled     = true;
            }

            return(Result.Succeeded);
        }
        public Result OnStartup(UIControlledApplication application)
        {
            SetupUI(application);

            if (FindSurfaceRevitPlugin.OnPluginStartUp() == false)
            {
                return(Result.Failed);
            }

            // subscribe Revit internal event callback
            application.Idling += new EventHandler <Autodesk.Revit.UI.Events.IdlingEventArgs>((sender, e) => FindSurfaceRevitPlugin.OnPluginIdling());
            application.ControlledApplication.DocumentChanged += new EventHandler <Autodesk.Revit.DB.Events.DocumentChangedEventArgs>((sender, e) => FindSurfaceRevitPlugin.OnContentChanged(e));
            application.ControlledApplication.DocumentClosing += new EventHandler <Autodesk.Revit.DB.Events.DocumentClosingEventArgs>((sender, e) => FindSurfaceRevitPlugin.OnDocumentClosing(e));

            NoticeForm form = new NoticeForm();

            form.ShowDialog();

            return(Result.Succeeded);
        }
Пример #4
0
        public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            Document doc = commandData.Application.ActiveUIDocument.Document;

            ImportXYZData import_data = new ImportXYZData(doc);

            try
            {
                using (ImportXYZForm import_form = new ImportXYZForm(import_data))
                {
                    if (import_form.ShowDialog(s_hwndRevit) == System.Windows.Forms.DialogResult.Cancel)
                    {
                        return(Result.Cancelled);
                    }

                    FindSurfaceRevitPluginUI.GetRibbonPanel(FindSurfaceRevitPluginUI.RibbonPanelFindSurfaceName).Enabled     = true;
                    FindSurfaceRevitPluginUI.GetRibbonPanel(FindSurfaceRevitPluginUI.RibbonPanelFindSurface2ptsName).Enabled = true;
                    FindSurfaceRevitPluginUI.GetRibbonPanel(FindSurfaceRevitPluginUI.RibbonPanelFindSurface3ptsName).Enabled = true;
                    FindSurfaceRevitPluginUI.GetPushButton(FindSurfaceRevitPluginUI.PushButtonViewListClassName).Enabled     = true;
                }
            }
            catch (Exception ex)
            {
                message = ex.ToString();
                return(Result.Failed);
            }

            string import_file_full_name = import_data.ImportFileFullName;
            string import_file_name      = import_data.ImportFileName;

            float[] import_data_xyz_array          = import_data.ImportDataXYZ;
            int[]   import_data_color_array        = import_data.ImportDataColor;
            int     import_data_subdivision_factor = import_data.SubdivisionFactor;

            float[] import_data_bounding_box_center = import_data.ImportDataBoundingBoxCenter;
            float[] import_data_bounding_box_extent = import_data.ImportDataBoundingBoxExtent;

            //TODO: HERE to insert the working code of XYZUnitConversionForm...
            XYZUnitConversionData conversion_data = new XYZUnitConversionData();

            try
            {
                using (XYZUnitConversionForm conversion_form = new XYZUnitConversionForm(import_data_bounding_box_extent, import_data_bounding_box_center, conversion_data))
                {
                    if (conversion_form.ShowDialog(s_hwndRevit) == System.Windows.Forms.DialogResult.Cancel)
                    {
                        return(Result.Cancelled);
                    }
                }
            }
            catch (Exception ex)
            {
                message = ex.ToString();
                return(Result.Failed);
            }

            float[] offset = conversion_data.OriginOffset;
            float   scale  = conversion_data.Scale;

            for (int k = 0; k < import_data_xyz_array.Length; k += 3)
            {
                import_data_xyz_array[k]     -= offset[0];
                import_data_xyz_array[k + 1] -= offset[1];
                import_data_xyz_array[k + 2] -= offset[2];
                import_data_xyz_array[k]     *= scale;
                import_data_xyz_array[k + 1] *= scale;
                import_data_xyz_array[k + 2] *= scale;
            }
            FindSurfaceRevitPlugin.OnOpenCommand(doc, import_file_name, import_data_xyz_array, import_data_color_array, import_data_subdivision_factor, conversion_data.MeasuringUnit);

            return(Result.Succeeded);
        }
        public Result OnShutdown(UIControlledApplication application)
        {
            FindSurfaceRevitPlugin.OnPluginShutdown();

            return(Result.Succeeded);
        }