private void deleteResearch4_Click(object sender, EventArgs e) { if (research != null) { try { research.deleteStudy(); } catch { } research = null; } try { cellsDraw.deleteCells(); } catch { } }
private void ResearchActions(NandMRectangleCellsDrawer cellsDraw, int i, int j) { //создаём исследование research = new Research(FreeClass.sldManager, FreeClass.bodyDrawer.GetFacesArray()); research.CreateStudy(); cells.Calculation(); cellsDraw.SetCells(cells); cellsDraw.drawCells(); //прикладываем силы или фиксируем грани foreach (object[] act in action) { if (act[0].Equals("fix")) { research.BodyParts_Select((int)act[1]); research.FixFace(); } else if (act[0].Equals("force")) { research.BodyParts_Select((int)act[1]); research.CreateLoad((double)act[2]); } } research = new Research(FreeClass.sldManager, FreeClass.bodyDrawer.GetFacesArray()); research.CreateStudy(); research.CreateMesh(); research.MaterialSet(); research.RunAnalysis(); double stress = research.GetStress(), displacement = research.GetDisplacement(); dataGridView1.Rows[j - 1].Cells[1].Value = Math.Round(stress, cells.GetAccuracy()); // Деформация равномерное dataGridView1.Rows[j - 1].Cells[2].Value = Math.Round(displacement, cells.GetAccuracy()) + 5; // Смещение равномерное logTextBox.Text += Environment.NewLine; logTextBox.Text += "Итерация: " + i.ToString(); logTextBox.Text += Environment.NewLine; logTextBox.Text += "Напряжение(ksi): " + stress.ToString(); logTextBox.Text += Environment.NewLine; logTextBox.Text += "Смещение(mk): " + displacement.ToString(); logTextBox.Text += Environment.NewLine; // задержка //Thread.Sleep(2500); // Очищаем research.deleteStudy(); research = null; FreeClass.sldManager.swModel.ClearSelection2(true); cellsDraw.deleteCells(); }