public void vertexInTableOutCsv(string accuracyPoint) { //выгружаем в csv McTable TablePoint = vertexInTable(plineGetFromUser, accuracyPoint); TablePoint.SaveToFile(); }
public void vertexInTableOutDwg(string accuracyPoint) { // создаем таблицу на чертеже McTable TablePoint = vertexInTable(plineGetFromUser, accuracyPoint); TablePoint.PlaceObject(McEntity.PlaceFlags.Silent); }
public McTable vertexInTable(DbPolyline plineGetFromUser, string accuracyPoint) { List <Point3d> Vert = new List <Point3d>(); Vert = this.listVertecs(plineGetFromUser); // создаем таблицу McTable TablePoint = new McTable(); int rowCount = Vert.Count; int colCount = 4; TablePoint.Rows.AddRange(0, rowCount + 1); TablePoint.Columns.AddRange(0, colCount); // настройки таблицы по умолчанию TablePoint.DefaultCell.TextHeight = 2.5; TablePoint.DefaultCell.TextColor = System.Drawing.Color.Black; // наименование_столбцов TablePoint[0, 0].Value = "№_Point"; TablePoint[0, 1].Value = "X"; TablePoint[0, 2].Value = "Y"; TablePoint[0, 3].Value = "Z"; // учитываем систему координат McDocument doc = McDocument.WorkingDocument; Matrix3d matCurrent = doc.UCS; Matrix3d matUsc = matCurrent.Inverse(); //номера точек в ячейки и координата X,Y,Z for (int i = 0; i < Vert.Count; i++) { Point3d onePointAtList = new Point3d(); onePointAtList = Vert[i]; onePointAtList = onePointAtList.TransformBy(matUsc);// преобразуем в текущую систему координат int j = i + 1; // точность представления чисел в ячейках - получается из формы от пользователя switch (accuracyPoint) { case "0": TablePoint[j, 1].Precision = CellPrecisionEnum.Integer; TablePoint[j, 2].Precision = CellPrecisionEnum.Integer; TablePoint[j, 3].Precision = CellPrecisionEnum.Integer; break; case "0.0": TablePoint[j, 1].Precision = CellPrecisionEnum.Precision1; TablePoint[j, 2].Precision = CellPrecisionEnum.Precision1; TablePoint[j, 3].Precision = CellPrecisionEnum.Precision1; break; case "0.00": TablePoint[j, 1].Precision = CellPrecisionEnum.Precision2; TablePoint[j, 2].Precision = CellPrecisionEnum.Precision2; TablePoint[j, 3].Precision = CellPrecisionEnum.Precision2; break; case "0.000": TablePoint[j, 1].Precision = CellPrecisionEnum.Precision3; TablePoint[j, 2].Precision = CellPrecisionEnum.Precision3; TablePoint[j, 3].Precision = CellPrecisionEnum.Precision3; break; } //номера точек в ячейки и координата X,Y,Z TablePoint[j, 0].Type = CellFormatEnum.Number; TablePoint[j, 0].Value = j.ToString(); TablePoint[j, 1].Type = CellFormatEnum.Number; TablePoint[j, 1].Value = onePointAtList.X.ToString(); TablePoint[j, 2].Type = CellFormatEnum.Number; TablePoint[j, 2].Value = onePointAtList.Y.ToString(); TablePoint[j, 3].Type = CellFormatEnum.Number; TablePoint[j, 3].Value = onePointAtList.Z.ToString(); } return(TablePoint); }