예제 #1
0
        /// <summary>
        /// Ввод длины смещения в ответ на событие ввода ключевого слова
        /// </summary>
        void LengthInput(object sender, SelectionTextInputEventArgs e)
        {
            Document acDoc   = App.DocumentManager.MdiActiveDocument;
            Database acCurDb = acDoc.Database;

            PromptDoubleResult acSSPrompt = acDoc.Editor.GetDouble("\nВведите смещение угла в единицах листа:");

            currscale = acSSPrompt.Value;
        }
예제 #2
0
        void SetParams(object s, SelectionTextInputEventArgs e)
        {
            if (e.Input == "SEttings")
            {
                try
                {
                    thickness = Input.Double("Толщина плиты"); if (Input.StatusBad)
                    {
                        return;
                    }
                    offset_up = Input.Double("Отступ арматуры сверху"); if (Input.StatusBad)
                    {
                        return;
                    }
                    offset_down = Input.Double("Отступ арматуры снизу"); if (Input.StatusBad)
                    {
                        return;
                    }
                    dots_up = Input.Double("Арматурные точки сверху"); if (Input.StatusBad)
                    {
                        return;
                    }
                    dots_down = Input.Double("Арматурные точки снизу"); if (Input.StatusBad)
                    {
                        return;
                    }
                }
                catch (Exception)
                {
                    Tweet("Не удалось установить параметры. Продолжаем со старыми.");
                }
            }
            else
            {
                Tweet("Введите слои для арматуры");
                var sset_pins = Input.Objects("Выберите объект для слоя шпилек"); if (Input.StatusBad)
                {
                    return;
                }
                var sset_arm = Input.Objects("Выберите объект для слоя поперечной арматуры"); if (Input.StatusBad)
                {
                    return;
                }

                using (var th = new TransactionHelper())
                {
                    layer_names[1] = (th.ReadObject(sset_pins[0].ObjectId) as Entity).Layer;
                    layer_names[2] = (th.ReadObject(sset_arm[0].ObjectId) as Entity).Layer;
                    if (!InitLayers())
                    {
                        return;
                    }
                }
            }
        }
예제 #3
0
        void KeywordInput(object sender, SelectionTextInputEventArgs e)
        {
            Tweet("Ввели ключевое слово " + e.Input);
            if (e.Input == keywords[0])
            {
                if (mode == TextEditMode.Same)
                {
                    mode = TextEditMode.Different;
                }
                else
                {
                    mode = TextEditMode.Same;
                }
            }
            if (e.Input == keywords[2])
            {
                str_before = Input.Text("Одинаковый текст, присоединяемый перед вводимыми текстами ");
            }
            if (e.Input == keywords[4])
            {
                str_after = Input.Text("Одинаковый текст, присоединяемый после вводимых текстов ");
            }
            if (e.Input == keywords[6])
            {
                if (mode == TextEditMode.Replace)
                {
                    mode = TextEditMode.Different;
                }
                else
                {
                    mode = TextEditMode.Replace;
                }
            }
            if (e.Input == keywords[8])
            {
                mode = TextEditMode.XL;
            }
            if (e.Input == keywords[10])
            {
                mode = TextEditMode.Copy;
            }
            //TODO переделать это говно

            Tweet("\nРежим ввода текстов: " + mode.ToString() + string.Format("\nВвод текста вида {0}<текст>{1}", str_before, str_after));
        }
예제 #4
0
 void KeywordInput(object s, SelectionTextInputEventArgs e)
 {
     if (e.Input == "Angle")
     {
         s_cline = Input.Double("Введите степень сужения трапеции"); if (Input.StatusBad)
         {
             return;
         }
     }
     else if (e.Input == "oFFset")
     {
         offset = Input.Double("Введите смещение выноски в мм:"); if (Input.StatusBad)
         {
             return;
         }
     }
     else if (e.Input == "Text")
     {
         text = Input.Text("\nВведите текст для выносок");
     }
 }
예제 #5
0
 void KeywordInput(object s, SelectionTextInputEventArgs e)
 {
     //анализ ключевых слов
     if (e.Input == "Strait")
     {
         ii += InputConstant;
     }
     else if (e.Input == "BEnd")
     {
         ii += InputBend;
     }
     else if (e.Input == "VBend")
     {
         ii += InputBendVar;
     }
     else if (e.Input == "Middle")
     {
         ii += InputVariable;
     }
     else if (e.Input == "ALllength")
     {
         ii += InputAll;
     }
     else if (e.Input == "OUtput")
     {
         Output();
     }
     else if (e.Input == "CLear")
     {
         ClearItems();
     }
     else if (e.Input == "PArams")
     {
         SetParams();
     }
     else if (e.Input == "EDit")
     {
         iio.EditingMode = !iio.EditingMode;
     }
 }
예제 #6
0
 private void Pnt_opts_UnknownInput(object sender, SelectionTextInputEventArgs e)
 {
     UnknownInput = e.Input;
     throw new System.Exception();
 }
예제 #7
0
 private void Pnt_opts_KeywordInput(object sender, SelectionTextInputEventArgs e)
 {
     UnknownInput = e.Input;
 }
예제 #8
0
 event_UnknownInput(object sender, SelectionTextInputEventArgs e)
 {
     MessageBox.Show(string.Format("Unknown event: {0}", e.Input), "UnknownInput Event");
 }
예제 #9
0
 event_KeywordInput(object sender, SelectionTextInputEventArgs e)
 {
     MessageBox.Show(string.Format("Keyword event: {0}", e.Input), "KeywordInput Event");
 }
예제 #10
0
        void KeywordInput(object sender, SelectionTextInputEventArgs e)
        {
            //надо обработать ключевые слова
            if (e.Input == "HOrisontal")                                            //горизонтальные
            {
                DimDirection   = new Line(Point3d.Origin, new Point3d(1000, 0, 0)); //хорошо бы регулировать Х
                Auto_direction = false;
            }
            if (e.Input == "VErtical")            //вертикальные
            {
                DimDirection   = new Line(Point3d.Origin, new Point3d(0, 1000, 0));
                Auto_direction = false;
            }
            if (e.Input == "DIrection")            //направление
            {
                var li_sset = Input.Objects("Выберите линию, указывающую направление");
                if (Input.StatusBad)
                {
                    return;
                }

                using (TransactionHelper th = new TransactionHelper())
                {
                    Entity ent = th.ReadObjects(li_sset)[0];
                    if (!(ent is Line))
                    {
                        Alert("Ввели не линию!");
                        return;
                    }
                    DimDirection = ent as Line;
                }
                Auto_direction = false;
            }
            if (e.Input == "TOLerance")
            {
                Dim_tolerance = Input.Double("Введите точность измерения размеров"); if (Input.StatusBad)
                {
                    return;
                }
            }
            if (e.Input == "STeps")
            {
                //Смена режима объединения шагов
                UniteDimms = !UniteDimms;
            }
            if (e.Input == "TAils")
            {
                PromptKeywordOptions pko = new PromptKeywordOptions("\nВведите режим размещения хвостовых размеров");
                pko.Keywords.Add("Leader", "ВЫноска");
                pko.Keywords.Add("oNLine", "Налинии");
                PromptResult res = acEd.GetKeywords(pko);
                if (res.Status != PromptStatus.OK)
                {
                    return;
                }

                if (res.StringResult == "Leader")
                {
                    tails = false;
                }
                else if (res.StringResult == "oNLine")
                {
                    tails = true;
                }
            }
        }