示例#1
0
        private void Write(DirectPlane dp)
        {
            string content = $"{dp.Name}\n" +
                             $"    .lower-left\n" +
                             $"        .X = {dp.BottomLeft.X.ToString("##0.####")}\n" +
                             $"        .Y = {dp.BottomLeft.Y.ToString("##0.####")}\n" +
                             $"        .Z = {dp.BottomLeft.Z.ToString("##0.####")}\n" +
                             $"    .lower-right\n" +
                             $"        .X = {dp.BottomRight.X.ToString("##0.####")}\n" +
                             $"        .Y = {dp.BottomRight.Y.ToString("##0.####")}\n" +
                             $"        .Z = {dp.BottomRight.Z.ToString("##0.####")}\n" +
                             $"    .upper-left\n" +
                             $"        .X = {dp.TopLeft.X.ToString("##0.####")}\n" +
                             $"        .Y = {dp.TopLeft.Y.ToString("##0.####")}\n" +
                             $"        .Z = {dp.TopLeft.Z.ToString("##0.####")}\n" +
                             $"    .upper-right\n" +
                             $"        .X = {dp.TopRight.X.ToString("##0.####")}\n" +
                             $"        .Y = {dp.TopRight.Y.ToString("##0.####")}\n" +
                             $"        .Z = {dp.TopRight.Z.ToString("##0.####")}\n" +
                             $"    .normal\n" +
                             $"        .X = {dp.Normal.X.ToString( "##0.####" )}\n" +
                             $"        .Y = {dp.Normal.Y.ToString( "##0.####" )}\n" +
                             $"        .Z = {dp.Normal.Z.ToString( "##0.####" )}\n" +
                             $"    .area = {XYZUnitConversionData.FormatArea(dp.Area, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n\n";

            this.richTextBoxInspectResult.AppendText(content);
        }
示例#2
0
        private void Write(DirectCone dc)
        {
            string length_unit_string = " " + XYZUnitConversionData.LengthUnitStrings[FindSurfaceRevitPlugin.MeasurementUnit];
            string area_unit_string   = " " + XYZUnitConversionData.AreaUnitStrings[FindSurfaceRevitPlugin.MeasurementUnit];
            string volume_unit_string = " " + XYZUnitConversionData.VolumeUnitStrings[FindSurfaceRevitPlugin.MeasurementUnit];

            string content = $"{dc.Name}\n" +
                             $"    .top-center\n" +
                             $"        .X = {dc.Top.X.ToString("##0.####")}\n" +
                             $"        .Y = {dc.Top.Y.ToString("##0.####")}\n" +
                             $"        .Z = {dc.Top.Z.ToString("##0.####")}\n" +
                             $"    .bottom-center\n" +
                             $"        .X = {dc.Bottom.X.ToString("##0.####")}\n" +
                             $"        .Y = {dc.Bottom.Y.ToString("##0.####")}\n" +
                             $"        .Z = {dc.Bottom.Z.ToString("##0.####")}\n" +
                             $"    .center\n" +
                             $"        .X = {dc.Center.X.ToString("##0.####")}\n" +
                             $"        .Y = {dc.Center.Y.ToString("##0.####")}\n" +
                             $"        .Z = {dc.Center.Z.ToString("##0.####")}\n" +
                             $"    .top-radius = {XYZUnitConversionData.FormatLength(dc.TopRadius, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n" +
                             $"    .bottom-radius = {XYZUnitConversionData.FormatLength(dc.BottomRadius, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n" +
                             $"    .aperture = {(dc.Aperture*180/Math.PI).ToString("##0.####")+" deg."}\n" +
                             $"    .lateral-area = {XYZUnitConversionData.FormatArea(dc.LateralArea, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n" +
                             $"    .surface-area = {XYZUnitConversionData.FormatArea(dc.SurfaceArea, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n" +
                             $"    .volume = {XYZUnitConversionData.FormatVolume(dc.Volume, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n\n";

            this.richTextBoxInspectResult.AppendText(content);
        }
示例#3
0
        public XYZUnitConversionForm(float[] extent, float[] center, XYZUnitConversionData conversion_data)
        {
            extent_x          = extent[0];
            extent_y          = extent[1];
            extent_z          = extent[2];
            center_x          = center[0];
            center_y          = center[1];
            center_z          = center[2];
            m_conversion_data = conversion_data;

            InitializeComponent();

            textBoxWidth.Text  = extent_x.ToString("##0.####");
            textBoxDepth.Text  = extent_y.ToString("##0.####");
            textBoxHeight.Text = extent_z.ToString("##0.####");

            textBoxOriginX.Text = center_x.ToString("##0.####");
            textBoxOriginY.Text = center_y.ToString("##0.####");
            textBoxOriginZ.Text = center_z.ToString("##0.####");

            comboBoxUnits.Items.Add(s_comboBoxUnitsItems[0]);
            comboBoxUnits.Items.Add(s_comboBoxUnitsItems[1]);
            comboBoxUnits.Items.Add(s_comboBoxUnitsItems[2]);
            comboBoxUnits.Items.Add(s_comboBoxUnitsItems[3]);
        }
示例#4
0
        private void Write(DirectSphere ds)
        {
            string content = $"{ds.Name}\n" +
                             $"    .center\n" +
                             $"        .X = {ds.Center.X.ToString("##0.####")}\n" +
                             $"        .Y = {ds.Center.Y.ToString("##0.####")}\n" +
                             $"        .Z = {ds.Center.Z.ToString("##0.####")}\n" +
                             $"    .radius = {XYZUnitConversionData.FormatLength(ds.Radius, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n" +
                             $"    .surface-area = {XYZUnitConversionData.FormatArea(ds.SurfaceArea, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n" +
                             $"    .volume = {XYZUnitConversionData.FormatVolume(ds.Volume, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n\n";

            this.richTextBoxInspectResult.AppendText(content);
        }
示例#5
0
        private void Write(DirectCylinder dc)
        {
            string content = $"{dc.Name}\n" +
                             $"    .top-center\n" +
                             $"        .X = {dc.Top.X.ToString("##0.####")}\n" +
                             $"        .Y = {dc.Top.Y.ToString("##0.####")}\n" +
                             $"        .Z = {dc.Top.Z.ToString("##0.####")}\n" +
                             $"    .bottom-center\n" +
                             $"        .X = {dc.Bottom.X.ToString("##0.####")}\n" +
                             $"        .Y = {dc.Bottom.Y.ToString("##0.####")}\n" +
                             $"        .Z = {dc.Bottom.Z.ToString("##0.####")}\n" +
                             $"    .center\n" +
                             $"        .X = {dc.Center.X.ToString("##0.####")}\n" +
                             $"        .Y = {dc.Center.Y.ToString("##0.####")}\n" +
                             $"        .Z = {dc.Center.Z.ToString("##0.####")}\n" +
                             $"    .radius = {XYZUnitConversionData.FormatLength(dc.Radius, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n" +
                             $"    .length = {XYZUnitConversionData.FormatLength(dc.Length, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n" +
                             $"    .lateral-area = {XYZUnitConversionData.FormatArea(dc.LateralArea, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n" +
                             $"    .surface-area = {XYZUnitConversionData.FormatArea(dc.SurfaceArea, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n" +
                             $"    .volume = {XYZUnitConversionData.FormatVolume(dc.Volume, FindSurfaceRevitPlugin.MeasurementUnit, "##0.####")}\n\n";

            this.richTextBoxInspectResult.AppendText(content);
        }
示例#6
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);
        }