/// <summary> /// Функция поиска центра текста /// </summary> /// <param name="dbt">Текст</param> /// <returns>Центральная точка</returns> Point3d GetCenter(DBText dbt) { Point3d location = Point3d.Origin; Point3d tl, br; Extents3d?nex = dbt.Bounds; if (!nex.HasValue) { Messaging.Alert("Не удалось прочитать границы текста"); return(location); } tl = nex.Value.MinPoint; br = nex.Value.MaxPoint; double X = tl.X * 0.5 + br.X * 0.5; double Y = tl.Y * 0.5 + br.Y * 0.5; location = new Point3d(X, Y, 0); return(location); }
/// <summary> /// Функция поиска центра текста /// </summary> /// <param name="mt">Мультитекст</param> /// <returns>Центральная точка</returns> Point3d GetCenter(MText mt) { Point3d location = Point3d.Origin; Point3dCollection points = mt.GetBoundingPoints(); Point3d tl, br; try { tl = points[0]; br = points[3]; } catch (System.Exception ex) { Messaging.Alert("Не удалось прочитать границы текста\n\n" + ex); return(location); } double X = tl.X * 0.5 + br.X * 0.5; double Y = tl.Y * 0.5 + br.Y * 0.5; location = new Point3d(X, Y, 0); return(location); }
void Button1Click(object sender, EventArgs e) { /* * string result="Таки ви что-то нажали!"; * * string code = richTextBox1.Text; //обязательно нужно прописать функцию string Execute() чтобы код ниже что-то возвратил * * try * { * dynamic scr = CSScript.LoadCode(code).CreateObject("*"); * //внимательно! есть метод LoadMethod где не нужно прописывать класс. * //Здесь же в скрипте надо создать класс и в нем описать методы * * result= scr.Execute(); * } * catch(Exception ex) * { * result = ex.ToString(); * } * * Messaging.Alert(result);*/ string result = ""; string code_core = richTextBox1.Text; string code = @" using System; using PKUserTools.Commands; using PKUserTools.Utilities; public class My { public string Execute() { " + code_core + @"}}"; //таким образом автоматизируем шаблон, в котором не нужно прописывать классы try { dynamic scr = CSScript.LoadCode(code, "PKUserTools.dll").CreateObject("*"); result = scr.Execute(); } catch (Exception ex) { result = ex.ToString(); } Messaging.Alert(result); }