Exemplo n.º 1
0
        private void BtSolut_Click(object sender, EventArgs e)
        {
            try
            {
                BtSolut.Enabled = false;
                btClear_Click(sender, e);//For clearing current data if exist
                if (RbUser.Checked)
                {
                    Autodesk.AutoCAD.EditorInput.PromptSelectionOptions edOpt = new Autodesk.AutoCAD.EditorInput.PromptSelectionOptions();
                    Autodesk.AutoCAD.EditorInput.PromptSelectionResult edRes;
                    edOpt.MessageForAdding = "Выберите объекты";
                    edOpt.AllowDuplicates = false;
                    Autodesk.AutoCAD.DatabaseServices.TypedValue[] selval;

                    List<Autodesk.AutoCAD.DatabaseServices.TypedValue> selval_list = new List<Autodesk.AutoCAD.DatabaseServices.TypedValue>();
                    selval_list.Add(new Autodesk.AutoCAD.DatabaseServices.TypedValue((int)(Autodesk.AutoCAD.DatabaseServices.DxfCode.LayerName), cbLayerUse.Text));

                    selval = selval_list.ToArray();
                    edOpt.RejectPaperspaceViewport = true;
                    edOpt.RejectObjectsFromNonCurrentSpace = true;

                    Autodesk.AutoCAD.EditorInput.SelectionFilter ssfilter = new Autodesk.AutoCAD.EditorInput.SelectionFilter(selval);
                    edRes = AcadApp.AcaEd.GetSelection(edOpt, ssfilter);

                    Autodesk.AutoCAD.EditorInput.SelectionSet sset = edRes.Value;
                    if (edRes.Status == Autodesk.AutoCAD.EditorInput.PromptStatus.OK)
                    {
                        this.rawData = CalcRazm(sset);
                        DisplayResult();
                    }
                }
                else if (RbAll.Checked)
                {
                    Autodesk.AutoCAD.EditorInput.PromptSelectionResult edRes;
                    Autodesk.AutoCAD.DatabaseServices.TypedValue[] selval;

                    List<Autodesk.AutoCAD.DatabaseServices.TypedValue> selval_list = new List<Autodesk.AutoCAD.DatabaseServices.TypedValue>();
                    selval_list.Add(new Autodesk.AutoCAD.DatabaseServices.TypedValue((int)(Autodesk.AutoCAD.DatabaseServices.DxfCode.LayerName), cbLayerUse.Text));
                    selval = selval_list.ToArray();

                    Autodesk.AutoCAD.EditorInput.SelectionFilter ssfilter = new Autodesk.AutoCAD.EditorInput.SelectionFilter(selval);

                    edRes = AcadApp.AcaEd.SelectAll(ssfilter);
                    Autodesk.AutoCAD.EditorInput.SelectionSet sset = edRes.Value;
                    if (edRes.Status == Autodesk.AutoCAD.EditorInput.PromptStatus.OK)
                    {
                        this.rawData = CalcRazm(sset);
                        DisplayResult();
                    }
                }
                btToExcel.Enabled = true;
                IsTableEmpty = false;
            }
            catch (System.Exception ex)
            {
                AcadApp.AcaEd.WriteMessage("ERROR: MarkingCalc().BtSolut_Click " + ex + "\n");
            }
            finally
            {
                BtSolut.Enabled = true;
            }
        }
Exemplo n.º 2
0
        private void BtSolut_Click(object sender, EventArgs e)
        {
            try
            {
                BtSolut.Enabled = false;
                if (RbUser.Checked)
                {
                    Autodesk.AutoCAD.EditorInput.PromptSelectionOptions edOpt = new Autodesk.AutoCAD.EditorInput.PromptSelectionOptions();
                    Autodesk.AutoCAD.EditorInput.PromptSelectionResult edRes;
                    edOpt.MessageForAdding = "Выберите объекты";
                    edOpt.AllowDuplicates = false;
                    Autodesk.AutoCAD.DatabaseServices.TypedValue[] selval;
                    selval = GetFilteredParam();
                    Autodesk.AutoCAD.EditorInput.SelectionFilter ssfilter = new Autodesk.AutoCAD.EditorInput.SelectionFilter(selval);
                    edRes = LufsGenplan.AcadApp.AcaEd.GetSelection(edOpt, ssfilter);

                    Autodesk.AutoCAD.EditorInput.SelectionSet sset = edRes.Value;
                    if (edRes.Status == Autodesk.AutoCAD.EditorInput.PromptStatus.OK)
                    {
                        double[] res = CalcRes(sset, CheckbOnlyModel.Checked, RbPlineEnt.Checked);
                        DisplayResult(res);
                    }
                }
                else if (RbAll.Checked)
                {
                    Autodesk.AutoCAD.EditorInput.PromptSelectionResult edRes;
                    Autodesk.AutoCAD.DatabaseServices.TypedValue[] selval;

                    selval = GetFilteredParam();
                    Autodesk.AutoCAD.EditorInput.SelectionFilter ssfilter = new Autodesk.AutoCAD.EditorInput.SelectionFilter(selval);

                    edRes = LufsGenplan.AcadApp.AcaEd.SelectAll(ssfilter);
                    Autodesk.AutoCAD.EditorInput.SelectionSet sset = edRes.Value;
                    if (edRes.Status == Autodesk.AutoCAD.EditorInput.PromptStatus.OK)
                    {
                        double[] res = CalcRes(sset, CheckbOnlyModel.Checked, RbPlineEnt.Checked);
                        DisplayResult(res);
                    }
                }
            }
            catch (Exception ex)
            {
                LufsGenplan.AcadApp.AcaEd.WriteMessage("\nERROR: AreaLinearCalc.BtSolut_Click() " + ex + "\n");
            }
            finally
            {
                BtSolut.Enabled = true;
            }
        }