override public void drawCells() { //получить грани бобышки faces = bodyDrawer.GetFacesArray(); //выбрать вторую (вверх бобышки) var ent = faces.GetValue(1) as Entity; //выбрать верхнюю грань ent.Select(true); //добавить на неё эскиз swSketchManager.InsertSketch(false); // Получаем объект эскиза, на котором будем рисовать activeSketch = application.swModel.GetActiveSketch2(); //cells // Определяем положение центра верхней левой ячейки относительно центра плоскости (0, 0, 0) double x_current = ((-body.GetWidth()) / 2.0) + (cells.GetKX() + (cells.GetSide() / 2)); double y_current = (body.GetLenght() / 2.0) - (cells.GetKY() + cells.GetRadius());// - (cells.GetKY() + cells.GetTriangleHeight()); // Определяем положение самого верхнего угла ячейки double x_end = x_current; double y_end = y_current + cells.GetRadius(); //MessageBox.Show(x_end + " " + y_end); //Запоминаем позицию для дальнейшего использования double leftHoleCenterX = x_current, leftHoleCenterY = y_current; //Сдвиг, расстояние от центра одной ячейки до центра другой по координате Х double delta = cells.GetSide() + cells.GetKX(); //Определяем количество ячеек в зависимости от итерации int row = cells.GetRowsNumber(), collumn = cells.GetColumnsNumber(); for (int i = 0; i < row; i++) { //Рисуем первую в ряду ячейку application.swModel.SketchManager.CreatePolygon(x_current, y_current, 0, x_end, y_end, 0, cells.GetAnglesN(), false); //Рисуем остальные for (int j = 1; j < collumn; j++) { x_current = x_current + delta; x_end = x_end + delta; application.swModel.SketchManager.CreatePolygon(x_current, y_current, 0, x_end, y_end, 0, cells.GetAnglesN(), false); } //Возвращаемся к первой ячейке x_current = leftHoleCenterX; //Сдвигаемся по координате Y y_current = leftHoleCenterY - (cells.GetTriangleHeight() + cells.GetKY()); //Запоминаем координаты leftHoleCenterX = x_current; leftHoleCenterY = y_current; //Определяем положение правого нижнего угла ячейки x_end = x_current; y_end = y_current + cells.GetRadius(); } //Получаем объект "вырез" cut = featureCut(cells.GetCellsHeight()); application.swModel.ClearSelection(); }
private string writeResults(TriangleCells triangle) { string result = ""; result += "Степень матрицы - " + triangle.GetColumnsNumber(); result += Environment.NewLine; result += "Обьём тела - " + FreeClass.body.GetV();; result += Environment.NewLine; result += "Обьём структуры - " + triangle.GetCellsV(); result += Environment.NewLine; result += "Площадь структуры - " + triangle.GetSCells(); result += Environment.NewLine; result += "Площадь 1 ячейки - " + triangle.GetS1(); result += Environment.NewLine; result += "Локаль - " + triangle.GetLocal(); result += Environment.NewLine; result += "Радиус вписаной в локаль окружности - " + triangle.GetRadius(); result += Environment.NewLine; result += "Сторона вписанного в окружность треугольника - " + triangle.GetSide(); result += Environment.NewLine; result += "K_x = " + triangle.GetKX(); result += Environment.NewLine; result += "K_y = " + triangle.GetKY(); result += Environment.NewLine; result += "Доступность построения - " + triangle.isAvailable(); result += Environment.NewLine; return(result); }