///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // TEMPORARY EXAMPLE DATA // Consructor - old public CFEM_CALC() { // Geometry float fGeom_a = 4f, fGeom_b = 5f, fGeom_c = 3.5f; // Unit [m] // Material CMaterial m_Mat = new CMaterial(); // Cross-section CCrSc m_CrSc = new CCrSc_3_00(0, 8, 300, 125, 16.2f, 10.8f, 10.8f, 6.5f, 241.6f); // I 300 section // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! m_CrSc.FI_t = 5.69e-07f; m_CrSc.FI_y = 9.79e-05f; m_CrSc.FI_z = 4.49e-06f; m_CrSc.FA_g = 6.90e-03f; m_CrSc.FA_vy = 4.01e-03f; m_CrSc.FA_vz = 2.89e-03f; // Define Nodes Properties for (int i = 0; i < iNNoTot; i++) { // Create auxiliary Node object CFemNode CNode_i = new CFemNode(iNodeDOFNo); // Fill array object item with auxliary Node m_NodeArray[i] = CNode_i; } // Node 1 m_NodeArray[0].ID = 1; m_NodeArray[0].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUX] = fGeom_a; m_NodeArray[0].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUY] = 0f; m_NodeArray[0].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUZ] = 0f; // Node 2 m_NodeArray[1].ID = 2; m_NodeArray[1].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUX] = 0f; m_NodeArray[1].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUY] = 0f; m_NodeArray[1].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUZ] = 0f; // Node 3 m_NodeArray[2].ID = 5; m_NodeArray[2].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUX] = fGeom_a; m_NodeArray[2].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUY] = 0f; m_NodeArray[2].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUZ] = -fGeom_c; // Node 4 m_NodeArray[3].ID = 3; m_NodeArray[3].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUX] = fGeom_a; m_NodeArray[3].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUY] = -fGeom_b; m_NodeArray[3].m_fVNodeCoordinates.FVectorItems[(int) e3D_DOF.eUZ] = 0f; // Set Nodal Supports (for restraint set 0f) // Node 1 // Node 2 m_NodeArray[1].m_VDisp.FVectorItems[0] = 0f; m_NodeArray[1].m_VDisp.FVectorItems[1] = 0f; m_NodeArray[1].m_VDisp.FVectorItems[2] = 0f; m_NodeArray[1].m_VDisp.FVectorItems[3] = 0f; m_NodeArray[1].m_VDisp.FVectorItems[4] = 0f; m_NodeArray[1].m_VDisp.FVectorItems[5] = 0f; // Node 3 m_NodeArray[2].m_VDisp.FVectorItems[0] = 0f; m_NodeArray[2].m_VDisp.FVectorItems[1] = 0f; m_NodeArray[2].m_VDisp.FVectorItems[2] = 0f; m_NodeArray[2].m_VDisp.FVectorItems[3] = 0f; m_NodeArray[2].m_VDisp.FVectorItems[4] = 0f; m_NodeArray[2].m_VDisp.FVectorItems[5] = 0f; // Node 4 m_NodeArray[3].m_VDisp.FVectorItems[0] = 0f; m_NodeArray[3].m_VDisp.FVectorItems[1] = 0f; m_NodeArray[3].m_VDisp.FVectorItems[2] = 0f; m_NodeArray[3].m_VDisp.FVectorItems[3] = 0f; m_NodeArray[3].m_VDisp.FVectorItems[4] = 0f; m_NodeArray[3].m_VDisp.FVectorItems[5] = 0f; // Set Global Code Numbers int m_iCodeNo = 0; // Number of unrestrained degrees of freedom - finally gives size of structure global matrix foreach (CFemNode i_CNode in m_NodeArray) // Each Node { for (int i = 0; i < iNodeDOFNo; i++) // Each DOF { if (i_CNode.m_VDisp.FVectorItems[i] != 0) // Perform for not restrained DOF { i_CNode.m_ArrNCodeNo[i] = m_iCodeNo; // Set global code number of degree of freedom (DOF) m_iCodeNo++; } } } // Fill members of structure global vector of displacement // Now we know number of not restrained DOF, so we can allocate array size m_fDisp_Vector_CN = new int[m_iCodeNo,3]; // 1st - global DOF code number, 2nd - Node index, 3rd - local code number of DOF in NODE FillGlobalDisplCodeNoOld(); //////////////////////////////////////////////////////////////////////////////////// // Set Nodal Loads (acting directly in nodes) //////////////////////////////////////////////////////////////////////////////////// // !!!!!! No kind of these loads actually /////////////////////////////////////////////////////////////////////////////////////// // Define FEM 1D elements /////////////////////////////////////////////////////////////////////////////////////// for (int i = 0; i < iElemNoTot; i++) { // Create auxiliary Element object CE_1D CElement_i = new CE_1D(); // Fill array object item m_ELemArray[i] = CElement_i; // Create auxiliary Element Load Object CLoad CLoad_i = new CLoad(); // Fill array object item m_ELoadArray[i] = CLoad_i; } // Member 1 [0] Nodes 1 - 2 ([0] [1]) m_ELemArray[0].NodeStart = m_NodeArray[0]; m_ELemArray[0].NodeEnd = m_NodeArray[1]; // Element Type m_ELemArray[0].m_eSuppType3D = EElemSuppType3D.e3DEl_000000_000000; // Element Material m_ELemArray[0].m_Mat = m_Mat; // Element Corss-section m_ELemArray[0].m_CrSc = m_CrSc; // Fill Basic Element Data m_ELemArray[0].FillBasic2(); // Load of Element only due to Element Transversal Forces m_ELoadArray[0].GetEndLoad_g(m_ELemArray[0], m_fq); // Output // kij_0 - local stiffeness matrix 6 x 6 m_ELemArray[0].m_fkLocMatr.Print2DMatrixFormated(); // A Tranformation Rotation Matrixes 6 x 6 m_ELemArray[0].m_fATRMatr3D.Print2DMatrixFormated(); // B Transfer Matrixes 6 x 6 m_ELemArray[0].m_fBTTMatr3D.Print2DMatrixFormated(); // Kij - global matrix of member 12 x 12 m_ELemArray[0].m_fKGlobM.Print2DMatrixFormated(); // Element Load Vector 2 x 6 m_ELemArray[0].m_ArrElemPEF_LCS.Print2DMatrixFormated(); #region MATRIX TEST ///////////////////////////////////////////////////////////////////////////////////////////////////// // TEST /* float[,] farrk11 = new float[6, 6]; float[,] farrk12 = new float[6, 6]; float[,] farrk21 = new float[6, 6]; float[,] farrk22 = new float[6, 6]; // Fill array for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { farrk11[i, j] = ((i+1)*10)+1 + j; } } for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { farrk12[i, j] = ((i + 1) * 10) + 1 + j; } } for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { farrk21[i, j] = ((i + 1) * 10) + 1 + j; } } for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { farrk22[i, j] = ((i + 1) * 10) + 1 + j; } } float[,][,] farrK = new float[2, 2][,] {{farrk11, farrk12}, {farrk21, farrk22}}; Console.WriteLine(m_ELemArray[0].CM.Print2DMatrix(farrK, 2, 6)); */ ////////////////////////////////////////////////////////////////////////////////////////////////////////////// #endregion // Member 2 [1] Nodes 1 - 3 ([0] [2]) m_ELemArray[1].NodeStart = m_NodeArray[0]; m_ELemArray[1].NodeEnd = m_NodeArray[2]; // Element Type m_ELemArray[1].m_eSuppType3D = EElemSuppType3D.e3DEl_000000_000000; // Element Material m_ELemArray[1].m_Mat = m_Mat; // Element Corss-section m_ELemArray[1].m_CrSc = m_CrSc; // Fill Basic Element Data m_ELemArray[1].FillBasic2(); // Load of Element only due to Element Transversal Forces m_ELoadArray[1].GetEndLoad_F(m_ELemArray[1], 0f, 0f, m_fF); // Output // kij_0 - local stiffeness matrix 6 x 6 m_ELemArray[1].m_fkLocMatr.Print2DMatrixFormated(); // A Tranformation Rotation Matrixes 6 x 6 m_ELemArray[1].m_fATRMatr3D.Print2DMatrixFormated(); // B Transfer Matrixes 6 x 6 m_ELemArray[1].m_fBTTMatr3D.Print2DMatrixFormated(); // Kij - global matrix of member 12 x 12 m_ELemArray[1].m_fKGlobM.Print2DMatrixFormated(); // Element Load Vector 2 x 6 m_ELemArray[1].m_ArrElemPEF_LCS.Print2DMatrixFormated(); // Member 3 [2] Nodes 1 - 4 ([0] [3]) m_ELemArray[2].NodeStart = m_NodeArray[0]; m_ELemArray[2].NodeEnd = m_NodeArray[3]; // Element Type m_ELemArray[2].m_eSuppType3D = EElemSuppType3D.e3DEl_000000_000___; // Element Material m_ELemArray[2].m_Mat = m_Mat; // Element Corss-section m_ELemArray[2].m_CrSc = m_CrSc; // Fill Basic Element Data m_ELemArray[2].FillBasic2(); // Load of Element only due to Element Transversal Forces m_ELoadArray[2].GetEndLoad_M(m_ELemArray[2], m_fM, 0f, 0f); // Output // kij_0 - local stiffeness matrix 6 x 6 m_ELemArray[2].m_fkLocMatr.Print2DMatrixFormated(); // A Tranformation Rotation Matrixes 6 x 6 m_ELemArray[2].m_fATRMatr3D.Print2DMatrixFormated(); // B Transfer Matrixes 6 x 6 m_ELemArray[2].m_fBTTMatr3D.Print2DMatrixFormated(); // Kij - global matrix of member 12 x 12 m_ELemArray[2].m_fKGlobM.Print2DMatrixFormated(); // Element Load Vector 2 x 6 m_ELemArray[2].m_ArrElemPEF_LCS.Print2DMatrixFormated(); /* // Nodal loads (sum nodal loads and nodal loads due to element loads) m_NodeArray[2].m_sLoad.s_fFZ += -55000; // Add local nodal load to element ends loads due to intermediate load */ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Set Global Code Number of Nodes / Nastavit globalne kodove cisla uzlov // Save indexes of nodes and DOF which are free and represent vector of uknown variables in solution // Save it as array of arrays n x 2 (1st value is index - node index (0 - n-1) , 2nd value is DOF index (0-5) // n - total number of nodes in model ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// SetNodesGlobCodeNoOld(); // Nastavi DOF v uzlov globalne kodove cisla ??? ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Right side of Equation System ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Global Stiffeness Matrix of Structure - Allocate Memory (Matrix Size) m_M_K_Structure = new CMatrix(m_iCodeNo); // Fill Global Stiffeness Matrix FillGlobalMatrixOld(); // Global Stiffeness Matrix m_iCodeNo x m_iCodeNo m_M_K_Structure.Print2DMatrix(); // Auxialiary temporary transformation from 2D to 1D array / from float do double // Pomocne prevody medzi jednorozmernym, dvojroymernym polom a triedom Matrix, // bude nutne zladit a format v akom budeme pracovat s datami a potom zmazat CArray objArray = new CArray(); // Convert Size float[] m_M_K_fTemp1D = objArray.ArrTranf2Dto1D(m_M_K_Structure.m_fArrMembers); // Convert Type double[] m_M_K_dTemp1D = objArray.ArrConverFloatToDouble1D(m_M_K_fTemp1D); MatrixF64 objMatrix = new MatrixF64(6, 6, m_M_K_dTemp1D); // Print Created Matrix of MatrixF64 Class objMatrix.WriteLine(); // Get Inverse Global Stiffeness Matrix MatrixF64 objMatrixInv = objMatrix.Inverse(); // Print Inverse Matrix objMatrixInv.WriteLine(); // Convert Type float[] m_M_K_Inv_fTemp1D = objArray.ArrConverMatrixF64ToFloat1D(objMatrixInv); // Inverse Global Stiffeness Matrix of Structure - Allocate Memory (Matrix Size) CMatrix m_M_K_Structure_Inv = new CMatrix(m_iCodeNo); m_M_K_Structure_Inv.m_fArrMembers = objArray.ArrTranf1Dto2D(m_M_K_Inv_fTemp1D); ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Left side of Equation System ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Global Load Vector - Allocate Memory (Vector Size) m_V_Load = new CVector(m_iCodeNo); // Fill Global Load Vector FillGlobalLoadVectorOld(); // Display Global Load Vector m_V_Load.Print1DVector(); ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Solution - calculation of unknown displacement of nodes in GCS - system of linear equations // Start Solver ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Global Displacement Vector - Allocate Memory (Vector Size) m_V_Displ = new CVector(m_iCodeNo); // Fill Global Displacement Vector m_V_Displ = VectorF.fMultiplyMatrVectr(m_M_K_Structure_Inv, m_V_Load); ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // End Solver ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Display Global Displacemnt Vector - solution result //Console.ForegroundColor = ConsoleColor.Cyan; m_V_Displ.Print1DVector(); //Console.ForegroundColor = ConsoleColor.Green; //Console.BackgroundColor = ConsoleColor.White; // Set displacements and rotations of DOF in GCS to appropriate node DOF acc. to global code numbers for (int i = 0; i < m_iCodeNo; i++) { // Check if DOF is default (free - ) or has some initial value (settlement; soil consolidation etc.) // See Fill_NDisp_InitStr() for default values - float.PositiveInfinity if (m_NodeArray[m_fDisp_Vector_CN[i, 1]].m_VDisp.FVectorItems[m_fDisp_Vector_CN[i, 2]] == float.PositiveInfinity) m_NodeArray[m_fDisp_Vector_CN[i, 1]].m_VDisp.FVectorItems[m_fDisp_Vector_CN[i, 2]] = m_V_Displ.FVectorItems[i]; // set calculated else // some real initial value exists m_NodeArray[m_fDisp_Vector_CN[i, 1]].m_VDisp.FVectorItems[m_fDisp_Vector_CN[i, 2]] += m_V_Displ.FVectorItems[i]; // add calculated (to sum) } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Get final end forces at element in global coordinate system GCS ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// for (int i = 0; i < iElemNoTot; i++) { m_ELemArray[i].GetArrElemEF_GCS_StNode(); Console.WriteLine("Element Index No.: " + i + "; " + "Node No.: " + m_ELemArray[i].NodeStart.ID + "; " + "Start Node End Forces in GCS"); m_ELemArray[i].m_VElemEF_GCS_StNode.Print1DVector(); m_ELemArray[i].GetArrElemEF_GCS_EnNode(); Console.WriteLine("Element Index No.: " + i + "; " + "Node No.: " + m_ELemArray[i].NodeEnd.ID + "; " + "End Node End Forces in GCS"); m_ELemArray[i].m_VElemEF_GCS_EnNode.Print1DVector(); m_ELemArray[i].GetArrElemEF_LCS_StNode(); Console.WriteLine("Element Index No.: " + i + "; " + "Node No.: " + m_ELemArray[i].NodeStart.ID + "; " + "Start Node End Forces in LCS"); m_ELemArray[i].m_VElemEF_LCS_StNode.Print1DVector(); m_ELemArray[i].GetArrElemEF_LCS_EnNode(); Console.WriteLine("Element Index No.: " + i + "; " + "Node No.: " + m_ELemArray[i].NodeEnd.ID + "; " + "End Node End Forces in LCS"); m_ELemArray[i].m_VElemEF_LCS_EnNode.Print1DVector(); m_ELemArray[i].GetArrElemIF_LCS_StNode(); Console.WriteLine("Element Index No.: " + i + "; " + "Node No.: " + m_ELemArray[i].NodeStart.ID + "; " + "Start Node Internal Forces in LCS"); m_ELemArray[i].m_VElemIF_LCS_StNode.Print1DVector(); m_ELemArray[i].GetArrElemIF_LCS_EnNode(); Console.WriteLine("Element Index No.: " + i + "; " + "Node No.: " + m_ELemArray[i].NodeEnd.ID + "; " + "End Node Internal Forces in LCS"); m_ELemArray[i].m_VElemIF_LCS_EnNode.Print1DVector(); } }
public CExample_3D_21() { m_eSLN = ESLN.e3DD_1D; // 1D members in 3D model m_eNDOF = (int)ENDOF.e3DEnv; // DOF in 3D m_eGCS = EGCS.eGCSLeftHanded; // Global coordinate system m_arrNodes = new BaseClasses.CNode[62]; m_arrMembers = new CMember[31]; m_arrMat = new CMat_00[1]; m_arrCrSc = new CRSC.CCrSc[31]; m_arrNSupports = new BaseClasses.CNSupport[3]; //m_arrNLoads = new BaseClasses.CNLoad[3]; // Materials // Materials List - Materials Array - Fill Data of Materials Array m_arrMat[0] = new CMat_03_00(); // TEMP CROSS-SECTIONS TEST // Half Circle Bar // Quater Circle Bar // load_0_00_01_TriangelsIndices(); // Round or Ellipse Bar // load_0_02_03_TriangelIndices(); // Triangular Prism // load_0_04_TriangelsIndices(); // Flat Bar // load_0_05_TriangelIndices(); // Half Circle // load_0_20_TriangelIndices(); // TUBE / PIPE Circle or Ellipse Shape // load_0_22_23_TriangelIndices(); // Triangular Prism with Opening // load_0_24_TriangelsIndices(); // HL-section / Rectanglular Hollow Cross-section // load_0_25_TriangelIndices(); // Polygonal Hollow Section // load_0_26_28_TriangelIndices(0,test1.objCrScHollow.INoPoints); // I - section // load_0_50_TriangelIndices(); // U-section // load_0_52_TriangelIndices(); // L-section / Angle section // load_0_54_TriangelIndices(); // T-section / T section // load_0_56_TriangelIndices(); // Z-section / Z section // load_0_58_TriangelIndices(); // Cruciform Bar // load_0_60_TriangelIndices(test1.objCrScSolid.ITotNoPoints); // Y-section / Y section // load_0_61_TriangelIndices(); // OPRAVIT I a BOX !!!!!!!! NIECO SA POKAZILO :)!!!!!!!!!!!!!!!!!!!!!!!!!!! // Temp // Rolled I doubly symmetric profile, Tapered or parallel flanges // CCrSc obj_CrSc = new CCrSc_3_00(0, 8, 200, 90, 11.3f, 7.5f, 7.5f, 4.5f, 159.1f); // load_3_00_TriangelIndices(0, 12,8); // Shape ID, number of auxiliary points , number of segments of arc // load_3_00_TriangelIndices(1,8, 8); // Shape ID, number of auxiliary points , number of segments of arc // load_3_00_TriangelIndices(2, 4, 8); // Shape ID, number of auxiliary points , number of segments of arc // Rolled I monosymmetric profile, Tapered or parallel flanges // load_3_00_TriangelIndices(0, 12, 8); // Shape ID, number of auxiliary points , number of segments of arc // load_3_00_TriangelIndices(1,8,4); // Shape ID, number of auxiliary points , number of segments of arc // load_3_00_TriangelIndices(2, 4, 4); // Shape ID, number of auxiliary points , number of segments of arc // Rolled U profile, Tapered or parallel flanges, channel section // load_3_02_TriangelIndices(0,6, 8); // Shape ID, number of auxiliary points , number of segments of arc // load_3_02_TriangelIndices(2,2, 8); // Shape ID,number of auxiliary points , number of segments of arc // Rolled L profile, angle section // load_3_03_04_TriangelIndices(3, 8); // Number of auxiliary points, number of segments of arc // Rectanglular Hollow Cross-section // load_3_07_TriangelIndices(0, 4, 4); // Shape ID, number of auxiliary points per section, number of segments of one arc // load_3_07_TriangelIndices(2, 4, 4); // Shape ID, number of auxiliary points per section, number of segments of one arc // load_3_07_TriangelIndices(3, 4, 4); // Shape ID, number of auxiliary points per section, number of segments of one arc (iAux = 4) // load_3_07_TriangelIndices(5, 0, 0); // Shape ID, number of auxiliary points per section, number of segments of one arc // Rolled T profile, Tapered flanges // load_3_08_TriangelIndices(1,6,4); // Shape ID, number of auxiliary points, number of segments of arc // load_3_08_TriangelIndices(2,4,4); // Shape ID, number of auxiliary points, number of segments of arc // load_3_08_TriangelIndices(3, 2, 4); // Shape ID, number of auxiliary points, number of segments of arc // Cross-sections // CrSc List - CrSc Array - Fill Data of Cross-sections Array m_arrCrSc[00] = new CCrSc_0_00(0.1f, 20); // Solid Half Circle / Semicircle shape m_arrCrSc[01] = new CCrSc_0_01(0.1f, 20); // Solid Quater Cirlce - chyba nezobrazuje sa jedna strana m_arrCrSc[02] = new CCrSc_0_02(0.1f, 20); // Rolled round bar m_arrCrSc[03] = new CCrSc_0_03(0.2f, 0.1f, 21); // Solid Ellipse m_arrCrSc[04] = new CCrSc_0_04(0.3f, 0.5f); // Triangular Prism / Equilateral m_arrCrSc[05] = new CCrSc_0_05(0.1f, 0.05f); // Solid square section m_arrCrSc[06] = new CCrSc_0_06(0.1f); // Solid Penthagon m_arrCrSc[07] = new CCrSc_0_07(0.1f); // Solid Hexagon m_arrCrSc[08] = new CCrSc_0_08(0.1f); // Solid Octagon m_arrCrSc[09] = new CCrSc_0_09(0.1f); // Solid Dodecagon m_arrCrSc[10] = new CCrSc_0_20(0.2f, 0.010f, 25); // Semicircle Curve m_arrCrSc[11] = new CCrSc_0_22(0.2f, 0.05f, 12); // Circular Hollow Section (Tube, Pipe) m_arrCrSc[12] = new CCrSc_0_23(0.2f, 0.1f, 0.020f, 24); // Elliptical Hollow Section m_arrCrSc[13] = new CCrSc_0_24(0.2f, 0.05f); // Triangular Prism / Equilateral with Opening m_arrCrSc[14] = new CCrSc_0_25(0.2f, 0.15f, 0.01f, 0.008f); // Welded hollow section - doubly symmetrical m_arrCrSc[15] = new CCrSc_0_26(0.2f, 0.05f); // Empty (Hollow) Penthagon m_arrCrSc[16] = new CCrSc_0_27(0.2f, 0.05f); // Empty (Hollow) Hexagon m_arrCrSc[17] = new CCrSc_0_28(0.2f, 0.05f); // Empty (Hollow) Octagon m_arrCrSc[18] = new CCrSc_0_50(0.2f, 0.1f, 0.015f, 0.006f); // Doubly symmetric I section m_arrCrSc[19] = new CCrSc_0_52(0.2f, 0.1f, 0.015f, 0.006f, -0.05f); // Monosymmetric U/C section m_arrCrSc[20] = new CCrSc_0_54(0.2f, 0.1f, 0.015f, 0.010f, 0.050f, 0.010f); // Welded Angle section m_arrCrSc[21] = new CCrSc_0_56(0.2f, 0.1f, 0.015f, 0.010f, 0.15f); // Welded monosymmetric T section m_arrCrSc[22] = new CCrSc_0_58(0.2f, 0.1f, 0.015f, 0.010f); // Welded centrally symmetric Z section m_arrCrSc[23] = new CCrSc_0_60(0.2f, 0.1f, 0.015f); // Doubly symmetric Cruciform m_arrCrSc[24] = new CCrSc_0_61(0.2f, 0.010f); // Y-section // Rolled I doubly symmetric profile, Tapered or parallel flanges m_arrCrSc[25] = new CCrSc_3_00(0, 8, 0.200f, 0.090f, 0.0113f, 0.0075f, 0.0075f, 0.0045f, 0.1654f); m_arrCrSc[26] = new CCrSc_3_00(1, 8, 0.200f, 0.090f, 0.0113f, 0.0075f, 0.0075f, 0.1699f); m_arrCrSc[27] = new CCrSc_3_00(2, 8, 0.200f, 0.090f, 0.0113f, 0.0075f, 0.0075f, 0.1699f); // load_3_00_TriangelIndices(0, 12,8); // Shape ID, number of auxiliary points , number of segments of arc // load_3_00_TriangelIndices(1,8, 8); // Shape ID, number of auxiliary points , number of segments of arc // load_3_00_TriangelIndices(2, 4, 8); // Shape ID, number of auxiliary points , number of segments of arc // Rolled I monosymmetric profile, Tapered or parallel flanges m_arrCrSc[28] = new CCrSc_3_01(0, 8, 0.200f, 0.190f, 0.150f, 0.0113f, 0.0075f, 0.0075f, 0.0045f, 0.1654f); m_arrCrSc[29] = new CCrSc_3_01(1, 8, 0.200f, 0.150f, 0.100f, 0.0113f, 0.0075f, 0.0075f, 0.1699f); m_arrCrSc[30] = new CCrSc_3_01(2, 8, 0.200f, 0.090f, 0.150f, 0.0113f, 0.0075f, 0.0075f, 0.1699f); // load_3_00_TriangelIndices(0, 12, 8); // Shape ID, number of auxiliary points , number of segments of arc // load_3_00_TriangelIndices(1,8,4); // Shape ID, number of auxiliary points , number of segments of arc // load_3_00_TriangelIndices(2, 4, 4); // Shape ID, number of auxiliary points , number of segments of arc //m_arrCrSc[0] = new CCrSc_3_07(1,0.2f, 0.05f, 0.005f, 0.005f, 0.003f); // rectangular hollow section // Nodes // Nodes List - Nodes Array m_arrNodes[0] = new BaseClasses.CNode(1, 0.0f, 0.0f, 0.0f, 0); m_arrNodes[1] = new BaseClasses.CNode(2, 5.0f, 0.0f, 0.0f, 0); m_arrNodes[2] = new BaseClasses.CNode(3, 0.0f, 1.0f, 0.0f, 0); m_arrNodes[3] = new BaseClasses.CNode(4, 5.0f, 1.0f, 0.0f, 0); m_arrNodes[4] = new BaseClasses.CNode(5, 0.0f, 2.0f, 0.0f, 0); m_arrNodes[5] = new BaseClasses.CNode(6, 5.0f, 2.0f, 0.0f, 0); m_arrNodes[6] = new BaseClasses.CNode(7, 0.0f, 3.0f, 0.0f, 0); m_arrNodes[7] = new BaseClasses.CNode(8, 5.0f, 3.0f, 0.0f, 0); m_arrNodes[8] = new BaseClasses.CNode(9, 0.0f, 4.0f, 0.0f, 0); m_arrNodes[9] = new BaseClasses.CNode(10, 5.0f, 4.0f, 0.0f, 0); m_arrNodes[10] = new BaseClasses.CNode(11, 0.0f, 5.0f, 0.0f, 0); m_arrNodes[11] = new BaseClasses.CNode(12, 5.0f, 5.0f, 0.0f, 0); m_arrNodes[12] = new BaseClasses.CNode(13, 0.0f, 6.0f, 0.0f, 0); m_arrNodes[13] = new BaseClasses.CNode(14, 5.0f, 6.0f, 0.0f, 0); m_arrNodes[14] = new BaseClasses.CNode(15, 0.0f, 7.0f, 0.0f, 0); m_arrNodes[15] = new BaseClasses.CNode(16, 5.0f, 7.0f, 0.0f, 0); m_arrNodes[16] = new BaseClasses.CNode(17, 0.0f, 8.0f, 0.0f, 0); m_arrNodes[17] = new BaseClasses.CNode(18, 5.0f, 8.0f, 0.0f, 0); m_arrNodes[18] = new BaseClasses.CNode(19, 0.0f, 9.0f, 0.0f, 0); m_arrNodes[19] = new BaseClasses.CNode(20, 5.0f, 9.0f, 0.0f, 0); m_arrNodes[20] = new BaseClasses.CNode(21, 0.0f, 10.0f, 0.0f, 0); m_arrNodes[21] = new BaseClasses.CNode(22, 5.0f, 10.0f, 0.0f, 0); m_arrNodes[22] = new BaseClasses.CNode(23, 0.0f, 11.0f, 0.0f, 0); m_arrNodes[23] = new BaseClasses.CNode(24, 5.0f, 11.0f, 0.0f, 0); m_arrNodes[24] = new BaseClasses.CNode(25, 0.0f, 12.0f, 0.0f, 0); m_arrNodes[25] = new BaseClasses.CNode(26, 5.0f, 12.0f, 0.0f, 0); m_arrNodes[26] = new BaseClasses.CNode(27, 0.0f, 13.0f, 0.0f, 0); m_arrNodes[27] = new BaseClasses.CNode(28, 5.0f, 13.0f, 0.0f, 0); m_arrNodes[28] = new BaseClasses.CNode(29, 0.0f, 14.0f, 0.0f, 0); m_arrNodes[29] = new BaseClasses.CNode(30, 5.0f, 14.0f, 0.0f, 0); m_arrNodes[30] = new BaseClasses.CNode(31, 0.0f, 15.0f, 0.0f, 0); m_arrNodes[31] = new BaseClasses.CNode(32, 5.0f, 15.0f, 0.0f, 0); m_arrNodes[32] = new BaseClasses.CNode(33, 0.0f, 16.0f, 0.0f, 0); m_arrNodes[33] = new BaseClasses.CNode(34, 5.0f, 16.0f, 0.0f, 0); m_arrNodes[34] = new BaseClasses.CNode(35, 0.0f, 17.0f, 0.0f, 0); m_arrNodes[35] = new BaseClasses.CNode(36, 5.0f, 17.0f, 0.0f, 0); m_arrNodes[36] = new BaseClasses.CNode(37, 0.0f, 18.0f, 0.0f, 0); m_arrNodes[37] = new BaseClasses.CNode(38, 5.0f, 18.0f, 0.0f, 0); m_arrNodes[38] = new BaseClasses.CNode(39, 0.0f, 19.0f, 0.0f, 0); m_arrNodes[39] = new BaseClasses.CNode(40, 5.0f, 19.0f, 0.0f, 0); m_arrNodes[40] = new BaseClasses.CNode(41, 0.0f, 20.0f, 0.0f, 0); m_arrNodes[41] = new BaseClasses.CNode(42, 5.0f, 20.0f, 0.0f, 0); m_arrNodes[42] = new BaseClasses.CNode(43, 0.0f, 21.0f, 0.0f, 0); m_arrNodes[43] = new BaseClasses.CNode(44, 5.0f, 21.0f, 0.0f, 0); m_arrNodes[44] = new BaseClasses.CNode(45, 0.0f, 22.0f, 0.0f, 0); m_arrNodes[45] = new BaseClasses.CNode(46, 5.0f, 22.0f, 0.0f, 0); m_arrNodes[46] = new BaseClasses.CNode(47, 0.0f, 23.0f, 0.0f, 0); m_arrNodes[47] = new BaseClasses.CNode(48, 5.0f, 23.0f, 0.0f, 0); m_arrNodes[48] = new BaseClasses.CNode(49, 0.0f, 24.0f, 0.0f, 0); m_arrNodes[49] = new BaseClasses.CNode(50, 5.0f, 24.0f, 0.0f, 0); m_arrNodes[50] = new BaseClasses.CNode(51, 0.0f, 25.0f, 0.0f, 0); m_arrNodes[51] = new BaseClasses.CNode(52, 5.0f, 25.0f, 0.0f, 0); m_arrNodes[52] = new BaseClasses.CNode(53, 0.0f, 26.0f, 0.0f, 0); m_arrNodes[53] = new BaseClasses.CNode(54, 5.0f, 26.0f, 0.0f, 0); m_arrNodes[54] = new BaseClasses.CNode(55, 0.0f, 27.0f, 0.0f, 0); m_arrNodes[55] = new BaseClasses.CNode(56, 5.0f, 27.0f, 0.0f, 0); m_arrNodes[56] = new BaseClasses.CNode(57, 0.0f, 28.0f, 0.0f, 0); m_arrNodes[57] = new BaseClasses.CNode(58, 5.0f, 28.0f, 0.0f, 0); m_arrNodes[58] = new BaseClasses.CNode(59, 0.0f, 29.0f, 0.0f, 0); m_arrNodes[59] = new BaseClasses.CNode(60, 5.0f, 29.0f, 0.0f, 0); m_arrNodes[60] = new BaseClasses.CNode(61, 0.0f, 30.0f, 0.0f, 0); m_arrNodes[61] = new BaseClasses.CNode(62, 5.0f, 30.0f, 0.0f, 0); // Sort by ID //Array.Sort(m_arrNodes, new BaseClasses.CCompare_NodeID()); // Members // Members List - Members Array m_arrMembers[0] = new BaseClasses.CMember(1, m_arrNodes[0], m_arrNodes[1], m_arrCrSc[0], 0); m_arrMembers[1] = new BaseClasses.CMember(2, m_arrNodes[2], m_arrNodes[3], m_arrCrSc[1], 0); m_arrMembers[2] = new BaseClasses.CMember(3, m_arrNodes[4], m_arrNodes[5], m_arrCrSc[2], 0); m_arrMembers[3] = new BaseClasses.CMember(4, m_arrNodes[6], m_arrNodes[7], m_arrCrSc[3], 0); m_arrMembers[4] = new BaseClasses.CMember(5, m_arrNodes[8], m_arrNodes[9], m_arrCrSc[4], 0); m_arrMembers[5] = new BaseClasses.CMember(6, m_arrNodes[10], m_arrNodes[11], m_arrCrSc[5], 0); m_arrMembers[6] = new BaseClasses.CMember(7, m_arrNodes[12], m_arrNodes[13], m_arrCrSc[6], 0); m_arrMembers[7] = new BaseClasses.CMember(8, m_arrNodes[14], m_arrNodes[15], m_arrCrSc[7], 0); m_arrMembers[8] = new BaseClasses.CMember(9, m_arrNodes[16], m_arrNodes[17], m_arrCrSc[8], 0); m_arrMembers[9] = new BaseClasses.CMember(10, m_arrNodes[18], m_arrNodes[19], m_arrCrSc[9], 0); m_arrMembers[10] = new BaseClasses.CMember(11, m_arrNodes[20], m_arrNodes[21], m_arrCrSc[10], 0); m_arrMembers[11] = new BaseClasses.CMember(12, m_arrNodes[22], m_arrNodes[23], m_arrCrSc[11], 0); m_arrMembers[12] = new BaseClasses.CMember(13, m_arrNodes[24], m_arrNodes[25], m_arrCrSc[12], 0); m_arrMembers[13] = new BaseClasses.CMember(14, m_arrNodes[26], m_arrNodes[27], m_arrCrSc[13], 0); m_arrMembers[14] = new BaseClasses.CMember(15, m_arrNodes[28], m_arrNodes[29], m_arrCrSc[14], 0); m_arrMembers[15] = new BaseClasses.CMember(16, m_arrNodes[30], m_arrNodes[31], m_arrCrSc[15], 0); m_arrMembers[16] = new BaseClasses.CMember(17, m_arrNodes[32], m_arrNodes[33], m_arrCrSc[16], 0); m_arrMembers[17] = new BaseClasses.CMember(18, m_arrNodes[34], m_arrNodes[35], m_arrCrSc[17], 0); m_arrMembers[18] = new BaseClasses.CMember(19, m_arrNodes[36], m_arrNodes[37], m_arrCrSc[18], 0); m_arrMembers[19] = new BaseClasses.CMember(20, m_arrNodes[38], m_arrNodes[39], m_arrCrSc[19], 0); m_arrMembers[20] = new BaseClasses.CMember(21, m_arrNodes[40], m_arrNodes[41], m_arrCrSc[20], 0); m_arrMembers[21] = new BaseClasses.CMember(22, m_arrNodes[42], m_arrNodes[43], m_arrCrSc[21], 0); m_arrMembers[22] = new BaseClasses.CMember(23, m_arrNodes[44], m_arrNodes[45], m_arrCrSc[22], 0); m_arrMembers[23] = new BaseClasses.CMember(24, m_arrNodes[46], m_arrNodes[47], m_arrCrSc[23], 0); m_arrMembers[24] = new BaseClasses.CMember(25, m_arrNodes[48], m_arrNodes[49], m_arrCrSc[24], 0); m_arrMembers[25] = new BaseClasses.CMember(26, m_arrNodes[50], m_arrNodes[51], m_arrCrSc[25], 0); m_arrMembers[26] = new BaseClasses.CMember(27, m_arrNodes[52], m_arrNodes[53], m_arrCrSc[26], 0); m_arrMembers[27] = new BaseClasses.CMember(28, m_arrNodes[54], m_arrNodes[55], m_arrCrSc[27], 0); m_arrMembers[28] = new BaseClasses.CMember(29, m_arrNodes[56], m_arrNodes[57], m_arrCrSc[28], 0); m_arrMembers[29] = new BaseClasses.CMember(30, m_arrNodes[58], m_arrNodes[59], m_arrCrSc[29], 0); m_arrMembers[30] = new BaseClasses.CMember(31, m_arrNodes[60], m_arrNodes[61], m_arrCrSc[30], 0); //Sort by ID //Array.Sort(m_arrMembers, new BaseClasses.CCompare_MemberID()); // Nodal Supports - fill values // Set values bool[] bSupport1 = { true, false, true, false, true, false }; bool[] bSupport2 = { false, false, true, false, true, false }; bool[] bSupport3 = { true, false, false, false, false, false }; // Create Support Objects // Pozn. Jednym z parametrov by malo byt pole ID uzlov v ktorych je zadefinovana tato podpora // objekt podpory bude len jeden a dotknute uzly budu vediet ze na ich podpora existuje a ake je konkretne ID jej nastaveni m_arrNSupports[0] = new BaseClasses.CNSupport(6, 1, m_arrNodes[0], bSupport1, 0); m_arrNSupports[1] = new BaseClasses.CNSupport(6, 2, m_arrNodes[2], bSupport2, 0); m_arrNSupports[2] = new BaseClasses.CNSupport(6, 3, m_arrNodes[5], bSupport3, 0); // Sort by ID Array.Sort(m_arrNSupports, new BaseClasses.CCompare_NSupportID()); }
protected override void loadCrScIndices() { CCrSc_3_00 oTemp = new CCrSc_3_00(); oTemp.loadCrScIndices_00_01(m_sShape, 0, m_iNumOfArcSegment); TriangleIndices = new Int32Collection(); TriangleIndices = oTemp.TriangleIndices; }
/* public CNode[] m_arrNodes = new CNode[68]; public CMember[] m_arrMembers = new CMember[101]; public CNSupport[] arrSupports = new CNSupport[2]; //public CNForce[] arrForces = new CNForce[35]; int eNDOF = (int)ENDOF.e3DEnv; */ public CExample_3D_05() { m_eSLN = ESLN.e3DD_1D; // 1D members in 3D model m_eNDOF = (int)ENDOF.e3DEnv; // DOF in 3D m_eGCS = EGCS.eGCSLeftHanded; // Global coordinate system m_arrNodes = new BaseClasses.CNode[135]; m_arrMembers = new CMember[237]; m_arrMat = new CMat_00[1]; m_arrCrSc = new CRSC.CCrSc[21]; m_arrNSupports = new BaseClasses.CNSupport[2]; //m_arrNLoads = new BaseClasses.CNLoad[35]; // Materials // Materials List - Materials Array - Fill Data of Materials Array m_arrMat[0] = new CMat_03_00(); // Cross-sections // CrSc List - CrSc Array - Fill Data of Cross-sections Array //m_arrCrSc[0] = new CCrSc_0_05(2.8f, 1.2f); m_arrCrSc[0] = new CCrSc_3_07(0,2.8f, 1.2f, 0.08f); m_arrCrSc[1] = new CCrSc_3_00(0, 8, 1.500f, 0.500f, 0.080f, 0.050f, 0.050f, 0.030f, 0.640f); m_arrCrSc[2] = new CCrSc_0_02(0.4f, 13); // Tie, cable, tendon - solid round section //m_arrCrSc[2] = new CCrSc_0_22(0.3f, 0.03f, 36); // Tube //m_arrCrSc[3] = new CCrSc_3_07(0, 0.900f, 0.500f, 0.08f); m_arrCrSc[3] = new CCrSc_0_05(5.00f, 1.50f); m_arrCrSc[4] = new CCrSc_0_05(4.80f, 1.48f); m_arrCrSc[5] = new CCrSc_0_05(4.60f, 1.46f); m_arrCrSc[6] = new CCrSc_0_05(4.40f, 1.44f); m_arrCrSc[7] = new CCrSc_0_05(4.20f, 1.42f); m_arrCrSc[8] = new CCrSc_0_05(4.00f, 1.40f); m_arrCrSc[9] = new CCrSc_0_05(3.80f, 1.38f); m_arrCrSc[10] = new CCrSc_0_05(3.60f, 1.36f); m_arrCrSc[11] = new CCrSc_0_05(3.40f, 1.34f); m_arrCrSc[12] = new CCrSc_0_05(3.20f, 1.32f); m_arrCrSc[13] = new CCrSc_0_05(3.00f, 1.30f); m_arrCrSc[14] = new CCrSc_0_05(2.80f, 1.28f); m_arrCrSc[15] = new CCrSc_0_05(2.60f, 1.26f); m_arrCrSc[16] = new CCrSc_0_05(2.40f, 1.24f); m_arrCrSc[17] = new CCrSc_0_05(2.20f, 1.22f); m_arrCrSc[18] = new CCrSc_0_05(2.00f, 1.20f); m_arrCrSc[19] = new CCrSc_0_05(1.80f, 1.18f); m_arrCrSc[20] = new CCrSc_0_05(1.60f, 1.16f); // Nodes Automatic Generation // Nodes List - Nodes Array // Nodes m_arrNodes[00] = new CNode(01, 000000, -15000, 00000, 0); m_arrNodes[01] = new CNode(02, 008126, -12769, 05354, 0); m_arrNodes[02] = new CNode(03, 011471, -15000, 00000, 0); m_arrNodes[03] = new CNode(04, 014160, -11258, 08980, 0); m_arrNodes[04] = new CNode(05, 019344, -15000, 00000, 0); m_arrNodes[05] = new CNode(06, 020317, -9836, 12393, 0); m_arrNodes[06] = new CNode(07, 026589, -8505, 15589, 0); m_arrNodes[07] = new CNode(08, 026906, -15000, 00000, 0); m_arrNodes[08] = new CNode(09, 032969, -7265, 18564, 0); m_arrNodes[09] = new CNode(10, 034192, -15000, 00000, 0); m_arrNodes[10] = new CNode(11, 039449, -6119, 21314, 0); m_arrNodes[11] = new CNode(12, 041234, -15000, 00000, 0); m_arrNodes[12] = new CNode(13, 046021, -5068, 23837, 0); m_arrNodes[13] = new CNode(14, 048061, -15000, 00000, 0); m_arrNodes[14] = new CNode(15, 052677, -4113, 26129, 0); m_arrNodes[15] = new CNode(16, 054697, -15000, 00000, 0); m_arrNodes[16] = new CNode(17, 059409, -3255, 28187, 0); m_arrNodes[17] = new CNode(18, 061167, -15000, 00000, 0); m_arrNodes[18] = new CNode(19, 066209, -2496, 30009, 0); m_arrNodes[19] = new CNode(20, 067492, -15000, 00000, 0); m_arrNodes[20] = new CNode(21, 073068, -1836, 31593, 0); m_arrNodes[21] = new CNode(22, 073691, -15000, 00000, 0); m_arrNodes[22] = new CNode(23, 079784, -15000, 00000, 0); m_arrNodes[23] = new CNode(24, 079979, -1277, 32936, 0); m_arrNodes[24] = new CNode(25, 085786, -15000, 00000, 0); m_arrNodes[25] = new CNode(26, 086931, -818, 34037, 0); m_arrNodes[26] = new CNode(27, 091715, -15000, 00000, 0); m_arrNodes[27] = new CNode(28, 093919, -460, 34895, 0); m_arrNodes[28] = new CNode(29, 097586, -15000, 00000, 0); m_arrNodes[29] = new CNode(30, 100931, -205, 35509, 0); m_arrNodes[30] = new CNode(31, 103414, -15000, 00000, 0); m_arrNodes[31] = new CNode(32, 107961, -51, 35877, 0); m_arrNodes[32] = new CNode(33, 109214, -15000, 00000, 0); m_arrNodes[33] = new CNode(34, 115000, 0, 36000, 0); m_arrNodes[34] = new CNode(35, 115000, -15000, 00000, 0); m_arrNodes[35] = new CNode(36, 120786, -15000, 00000, 0); m_arrNodes[36] = new CNode(37, 122039, -51, 35877, 0); m_arrNodes[37] = new CNode(38, 126586, -15000, 00000, 0); m_arrNodes[38] = new CNode(39, 129069, -205, 35509, 0); m_arrNodes[39] = new CNode(40, 132414, -15000, 00000, 0); m_arrNodes[40] = new CNode(41, 136081, -460, 34895, 0); m_arrNodes[41] = new CNode(42, 138285, -15000, 00000, 0); m_arrNodes[42] = new CNode(43, 143069, -818, 34037, 0); m_arrNodes[43] = new CNode(44, 144214, -15000, 00000, 0); m_arrNodes[44] = new CNode(45, 150021, -1277, 32936, 0); m_arrNodes[45] = new CNode(46, 150216, -15000, 00000, 0); m_arrNodes[46] = new CNode(47, 156309, -15000, 00000, 0); m_arrNodes[47] = new CNode(48, 156932, -1836, 31593, 0); m_arrNodes[48] = new CNode(49, 162508, -15000, 00000, 0); m_arrNodes[49] = new CNode(50, 163791, -2496, 30009, 0); m_arrNodes[50] = new CNode(51, 168833, -15000, 00000, 0); m_arrNodes[51] = new CNode(52, 170591, -3255, 28187, 0); m_arrNodes[52] = new CNode(53, 175303, -15000, 00000, 0); m_arrNodes[53] = new CNode(54, 177323, -4113, 26129, 0); m_arrNodes[54] = new CNode(55, 181939, -15000, 00000, 0); m_arrNodes[55] = new CNode(56, 183979, -5068, 23837, 0); m_arrNodes[56] = new CNode(57, 188766, -15000, 00000, 0); m_arrNodes[57] = new CNode(58, 190551, -6119, 21314, 0); m_arrNodes[58] = new CNode(59, 195808, -15000, 00000, 0); m_arrNodes[59] = new CNode(60, 197031, -7265, 18564, 0); m_arrNodes[60] = new CNode(61, 203094, -15000, 00000, 0); m_arrNodes[61] = new CNode(62, 203411, -8505, 15589, 0); m_arrNodes[62] = new CNode(63, 209683, -9836, 12393, 0); m_arrNodes[63] = new CNode(64, 210656, -15000, 00000, 0); m_arrNodes[64] = new CNode(65, 215840, -11258, 08980, 0); m_arrNodes[65] = new CNode(66, 218529, -15000, 00000, 0); m_arrNodes[66] = new CNode(67, 221874, -12769, 05354, 0); m_arrNodes[67] = new CNode(68, 230000, -15000, 00000, 0); m_arrNodes[068] = new CNode(069, 000000, 15000, 00000, 0); m_arrNodes[069] = new CNode(070, 008126, 12769, 05354, 0); m_arrNodes[070] = new CNode(071, 011471, 15000, 00000, 0); m_arrNodes[071] = new CNode(072, 014160, 11258, 08980, 0); m_arrNodes[072] = new CNode(073, 019344, 15000, 00000, 0); m_arrNodes[073] = new CNode(074, 020317, 09836, 12393, 0); m_arrNodes[074] = new CNode(075, 026589, 08505, 15589, 0); m_arrNodes[075] = new CNode(076, 026906, 15000, 00000, 0); m_arrNodes[076] = new CNode(077, 032969, 07265, 18564, 0); m_arrNodes[077] = new CNode(078, 034192, 15000, 00000, 0); m_arrNodes[078] = new CNode(079, 039449, 06119, 21314, 0); m_arrNodes[079] = new CNode(080, 041234, 15000, 00000, 0); m_arrNodes[080] = new CNode(081, 046021, 05068, 23837, 0); m_arrNodes[081] = new CNode(082, 048061, 15000, 00000, 0); m_arrNodes[082] = new CNode(083, 052677, 04113, 26129, 0); m_arrNodes[083] = new CNode(084, 054697, 15000, 00000, 0); m_arrNodes[084] = new CNode(085, 059409, 03255, 28187, 0); m_arrNodes[085] = new CNode(086, 061167, 15000, 00000, 0); m_arrNodes[086] = new CNode(087, 066209, 02496, 30009, 0); m_arrNodes[087] = new CNode(088, 067492, 15000, 00000, 0); m_arrNodes[088] = new CNode(089, 073068, 01836, 31593, 0); m_arrNodes[089] = new CNode(090, 073691, 15000, 00000, 0); m_arrNodes[090] = new CNode(091, 079784, 15000, 00000, 0); m_arrNodes[091] = new CNode(092, 079979, 01277, 32936, 0); m_arrNodes[092] = new CNode(093, 085786, 15000, 00000, 0); m_arrNodes[093] = new CNode(094, 086931, 00818, 34037, 0); m_arrNodes[094] = new CNode(095, 091715, 15000, 00000, 0); m_arrNodes[095] = new CNode(096, 093919, 00460, 34895, 0); m_arrNodes[096] = new CNode(097, 097586, 15000, 00000, 0); m_arrNodes[097] = new CNode(098, 100931, 00205, 35509, 0); m_arrNodes[098] = new CNode(099, 103414, 15000, 00000, 0); m_arrNodes[099] = new CNode(100, 107961, 00051, 35877, 0); m_arrNodes[100] = new CNode(101, 109214, 15000, 00000, 0); m_arrNodes[101] = new CNode(102, 115000, 15000, 00000, 0); m_arrNodes[102] = new CNode(103, 120786, 15000, 00000, 0); m_arrNodes[103] = new CNode(104, 122039, 00051, 35877, 0); m_arrNodes[104] = new CNode(105, 126586, 15000, 00000, 0); m_arrNodes[105] = new CNode(106, 129069, 00205, 35509, 0); m_arrNodes[106] = new CNode(107, 132414, 15000, 00000, 0); m_arrNodes[107] = new CNode(108, 136081, 00460, 34895, 0); m_arrNodes[108] = new CNode(109, 138285, 15000, 00000, 0); m_arrNodes[109] = new CNode(110, 143069, 00818, 34037, 0); m_arrNodes[110] = new CNode(111, 144214, 15000, 00000, 0); m_arrNodes[111] = new CNode(112, 150021, 01277, 32936, 0); m_arrNodes[112] = new CNode(113, 150216, 15000, 00000, 0); m_arrNodes[113] = new CNode(114, 156309, 15000, 00000, 0); m_arrNodes[114] = new CNode(115, 156932, 01836, 31593, 0); m_arrNodes[115] = new CNode(116, 162508, 15000, 00000, 0); m_arrNodes[116] = new CNode(117, 163791, 02496, 30009, 0); m_arrNodes[117] = new CNode(118, 168833, 15000, 00000, 0); m_arrNodes[118] = new CNode(119, 170591, 03255, 28187, 0); m_arrNodes[119] = new CNode(120, 175303, 15000, 00000, 0); m_arrNodes[120] = new CNode(121, 177323, 04113, 26129, 0); m_arrNodes[121] = new CNode(122, 181939, 15000, 00000, 0); m_arrNodes[122] = new CNode(123, 183979, 05068, 23837, 0); m_arrNodes[123] = new CNode(124, 188766, 15000, 00000, 0); m_arrNodes[124] = new CNode(125, 190551, 06119, 21314, 0); m_arrNodes[125] = new CNode(126, 195808, 15000, 00000, 0); m_arrNodes[126] = new CNode(127, 197031, 07265, 18564, 0); m_arrNodes[127] = new CNode(128, 203094, 15000, 00000, 0); m_arrNodes[128] = new CNode(129, 203411, 08505, 15589, 0); m_arrNodes[129] = new CNode(130, 209683, 09836, 12393, 0); m_arrNodes[130] = new CNode(131, 210656, 15000, 00000, 0); m_arrNodes[131] = new CNode(132, 215840, 11258, 08980, 0); m_arrNodes[132] = new CNode(133, 218529, 15000, 00000, 0); m_arrNodes[133] = new CNode(134, 221874, 12769, 05354, 0); m_arrNodes[134] = new CNode(135, 230000, 15000, 00000, 0); // Convert coordinates to meters foreach (CNode node in m_arrNodes) { node.X /= 1000; node.Y /= 1000; node.Z /= 1000; } // Setridit pole podle ID //Array.Sort(m_arrNodes, new CCompare_NodeID()); // Members Automatic Generation // Members List - Members Array // Members m_arrMembers[000] = new CMember(001, m_arrNodes[00], m_arrNodes[01], m_arrCrSc[3], m_arrCrSc[4], 0); m_arrMembers[001] = new CMember(002, m_arrNodes[00], m_arrNodes[02], m_arrCrSc[0], 0); m_arrMembers[002] = new CMember(003, m_arrNodes[02], m_arrNodes[01], m_arrCrSc[2], 0); m_arrMembers[003] = new CMember(004, m_arrNodes[01], m_arrNodes[03], m_arrCrSc[4], m_arrCrSc[5], 0); m_arrMembers[004] = new CMember(005, m_arrNodes[02], m_arrNodes[04], m_arrCrSc[0], 0); m_arrMembers[005] = new CMember(006, m_arrNodes[04], m_arrNodes[03], m_arrCrSc[2], 0); m_arrMembers[006] = new CMember(007, m_arrNodes[03], m_arrNodes[05], m_arrCrSc[5], m_arrCrSc[6], 0); m_arrMembers[007] = new CMember(008, m_arrNodes[04], m_arrNodes[07], m_arrCrSc[0], 0); m_arrMembers[008] = new CMember(009, m_arrNodes[05], m_arrNodes[06], m_arrCrSc[6], m_arrCrSc[7], 0); m_arrMembers[009] = new CMember(010, m_arrNodes[07], m_arrNodes[05], m_arrCrSc[2], 0); m_arrMembers[010] = new CMember(011, m_arrNodes[06], m_arrNodes[08], m_arrCrSc[7], m_arrCrSc[8], 0); m_arrMembers[011] = new CMember(012, m_arrNodes[06], m_arrNodes[09], m_arrCrSc[2], 0); m_arrMembers[012] = new CMember(013, m_arrNodes[07], m_arrNodes[09], m_arrCrSc[0], 0); m_arrMembers[013] = new CMember(014, m_arrNodes[08], m_arrNodes[10], m_arrCrSc[8], m_arrCrSc[9], 0); m_arrMembers[014] = new CMember(015, m_arrNodes[08], m_arrNodes[11], m_arrCrSc[2], 0); m_arrMembers[015] = new CMember(016, m_arrNodes[09], m_arrNodes[11], m_arrCrSc[0], 0); m_arrMembers[016] = new CMember(017, m_arrNodes[10], m_arrNodes[12], m_arrCrSc[9], m_arrCrSc[10], 0); m_arrMembers[017] = new CMember(018, m_arrNodes[10], m_arrNodes[13], m_arrCrSc[2], 0); m_arrMembers[018] = new CMember(019, m_arrNodes[11], m_arrNodes[13], m_arrCrSc[0], 0); m_arrMembers[019] = new CMember(020, m_arrNodes[12], m_arrNodes[14], m_arrCrSc[10], m_arrCrSc[11], 0); m_arrMembers[020] = new CMember(021, m_arrNodes[12], m_arrNodes[15], m_arrCrSc[2], 0); m_arrMembers[021] = new CMember(022, m_arrNodes[13], m_arrNodes[15], m_arrCrSc[0], 0); m_arrMembers[022] = new CMember(023, m_arrNodes[14], m_arrNodes[16], m_arrCrSc[11], m_arrCrSc[12], 0); m_arrMembers[023] = new CMember(024, m_arrNodes[14], m_arrNodes[17], m_arrCrSc[2], 0); m_arrMembers[024] = new CMember(025, m_arrNodes[15], m_arrNodes[17], m_arrCrSc[0], 0); m_arrMembers[025] = new CMember(026, m_arrNodes[16], m_arrNodes[18], m_arrCrSc[12], m_arrCrSc[13], 0); m_arrMembers[026] = new CMember(027, m_arrNodes[16], m_arrNodes[19], m_arrCrSc[2], 0); m_arrMembers[027] = new CMember(028, m_arrNodes[17], m_arrNodes[19], m_arrCrSc[0], 0); m_arrMembers[028] = new CMember(029, m_arrNodes[18], m_arrNodes[20], m_arrCrSc[13], m_arrCrSc[14], 0); m_arrMembers[029] = new CMember(030, m_arrNodes[18], m_arrNodes[21], m_arrCrSc[2], 0); m_arrMembers[030] = new CMember(031, m_arrNodes[19], m_arrNodes[21], m_arrCrSc[0], 0); m_arrMembers[031] = new CMember(032, m_arrNodes[20], m_arrNodes[22], m_arrCrSc[2], 0); m_arrMembers[032] = new CMember(033, m_arrNodes[20], m_arrNodes[23], m_arrCrSc[14], m_arrCrSc[15], 0); m_arrMembers[033] = new CMember(034, m_arrNodes[21], m_arrNodes[22], m_arrCrSc[0], 0); m_arrMembers[034] = new CMember(035, m_arrNodes[22], m_arrNodes[24], m_arrCrSc[0], 0); m_arrMembers[035] = new CMember(036, m_arrNodes[23], m_arrNodes[24], m_arrCrSc[2], 0); m_arrMembers[036] = new CMember(037, m_arrNodes[23], m_arrNodes[25], m_arrCrSc[15], m_arrCrSc[16], 0); m_arrMembers[037] = new CMember(038, m_arrNodes[24], m_arrNodes[26], m_arrCrSc[0], 0); m_arrMembers[038] = new CMember(039, m_arrNodes[25], m_arrNodes[26], m_arrCrSc[2], 0); m_arrMembers[039] = new CMember(040, m_arrNodes[25], m_arrNodes[27], m_arrCrSc[16], m_arrCrSc[17], 0); m_arrMembers[040] = new CMember(041, m_arrNodes[26], m_arrNodes[28], m_arrCrSc[0], 0); m_arrMembers[041] = new CMember(042, m_arrNodes[27], m_arrNodes[28], m_arrCrSc[2], 0); m_arrMembers[042] = new CMember(043, m_arrNodes[27], m_arrNodes[29], m_arrCrSc[17], m_arrCrSc[18], 0); m_arrMembers[043] = new CMember(044, m_arrNodes[28], m_arrNodes[30], m_arrCrSc[0], 0); m_arrMembers[044] = new CMember(045, m_arrNodes[29], m_arrNodes[30], m_arrCrSc[2], 0); m_arrMembers[045] = new CMember(046, m_arrNodes[29], m_arrNodes[31], m_arrCrSc[18], m_arrCrSc[19], 0); m_arrMembers[046] = new CMember(047, m_arrNodes[30], m_arrNodes[32], m_arrCrSc[0], 0); m_arrMembers[047] = new CMember(048, m_arrNodes[31], m_arrNodes[32], m_arrCrSc[2], 0); m_arrMembers[048] = new CMember(049, m_arrNodes[31], m_arrNodes[33], m_arrCrSc[19], m_arrCrSc[20], 0); m_arrMembers[049] = new CMember(050, m_arrNodes[32], m_arrNodes[34], m_arrCrSc[0], 0); m_arrMembers[050] = new CMember(051, m_arrNodes[33], m_arrNodes[34], m_arrCrSc[2], 0); m_arrMembers[051] = new CMember(052, m_arrNodes[34], m_arrNodes[35], m_arrCrSc[0], 0); m_arrMembers[052] = new CMember(053, m_arrNodes[33], m_arrNodes[36], m_arrCrSc[20], m_arrCrSc[19], 0); m_arrMembers[053] = new CMember(054, m_arrNodes[35], m_arrNodes[36], m_arrCrSc[2], 0); m_arrMembers[054] = new CMember(055, m_arrNodes[35], m_arrNodes[37], m_arrCrSc[0], 0); m_arrMembers[055] = new CMember(056, m_arrNodes[36], m_arrNodes[38], m_arrCrSc[19], m_arrCrSc[18], 0); m_arrMembers[056] = new CMember(057, m_arrNodes[37], m_arrNodes[38], m_arrCrSc[2], 0); m_arrMembers[057] = new CMember(058, m_arrNodes[37], m_arrNodes[39], m_arrCrSc[0], 0); m_arrMembers[058] = new CMember(059, m_arrNodes[38], m_arrNodes[40], m_arrCrSc[18], m_arrCrSc[17], 0); m_arrMembers[059] = new CMember(060, m_arrNodes[39], m_arrNodes[40], m_arrCrSc[2], 0); m_arrMembers[060] = new CMember(061, m_arrNodes[39], m_arrNodes[41], m_arrCrSc[0], 0); m_arrMembers[061] = new CMember(062, m_arrNodes[40], m_arrNodes[42], m_arrCrSc[17], m_arrCrSc[16], 0); m_arrMembers[062] = new CMember(063, m_arrNodes[41], m_arrNodes[42], m_arrCrSc[2], 0); m_arrMembers[063] = new CMember(064, m_arrNodes[41], m_arrNodes[43], m_arrCrSc[0], 0); m_arrMembers[064] = new CMember(065, m_arrNodes[42], m_arrNodes[44], m_arrCrSc[16], m_arrCrSc[15], 0); m_arrMembers[065] = new CMember(066, m_arrNodes[43], m_arrNodes[44], m_arrCrSc[2], 0); m_arrMembers[066] = new CMember(067, m_arrNodes[43], m_arrNodes[45], m_arrCrSc[0], 0); m_arrMembers[067] = new CMember(068, m_arrNodes[45], m_arrNodes[46], m_arrCrSc[0], 0); m_arrMembers[068] = new CMember(069, m_arrNodes[44], m_arrNodes[47], m_arrCrSc[15], m_arrCrSc[14], 0); m_arrMembers[069] = new CMember(070, m_arrNodes[45], m_arrNodes[47], m_arrCrSc[2], 0); m_arrMembers[070] = new CMember(071, m_arrNodes[46], m_arrNodes[48], m_arrCrSc[0], 0); m_arrMembers[071] = new CMember(072, m_arrNodes[46], m_arrNodes[49], m_arrCrSc[2], 0); m_arrMembers[072] = new CMember(073, m_arrNodes[47], m_arrNodes[49], m_arrCrSc[14], m_arrCrSc[13], 0); m_arrMembers[073] = new CMember(074, m_arrNodes[48], m_arrNodes[50], m_arrCrSc[0], 0); m_arrMembers[074] = new CMember(075, m_arrNodes[48], m_arrNodes[51], m_arrCrSc[2], 0); m_arrMembers[075] = new CMember(076, m_arrNodes[49], m_arrNodes[51], m_arrCrSc[13], m_arrCrSc[12], 0); m_arrMembers[076] = new CMember(077, m_arrNodes[50], m_arrNodes[52], m_arrCrSc[0], 0); m_arrMembers[077] = new CMember(078, m_arrNodes[50], m_arrNodes[53], m_arrCrSc[2], 0); m_arrMembers[078] = new CMember(079, m_arrNodes[51], m_arrNodes[53], m_arrCrSc[12], m_arrCrSc[11], 0); m_arrMembers[079] = new CMember(080, m_arrNodes[52], m_arrNodes[54], m_arrCrSc[0], 0); m_arrMembers[080] = new CMember(081, m_arrNodes[52], m_arrNodes[55], m_arrCrSc[2], 0); m_arrMembers[081] = new CMember(082, m_arrNodes[53], m_arrNodes[55], m_arrCrSc[11], m_arrCrSc[10], 0); m_arrMembers[082] = new CMember(083, m_arrNodes[54], m_arrNodes[56], m_arrCrSc[0], 0); m_arrMembers[083] = new CMember(084, m_arrNodes[54], m_arrNodes[57], m_arrCrSc[2], 0); m_arrMembers[084] = new CMember(085, m_arrNodes[55], m_arrNodes[57], m_arrCrSc[10], m_arrCrSc[09], 0); m_arrMembers[085] = new CMember(086, m_arrNodes[56], m_arrNodes[58], m_arrCrSc[0], 0); m_arrMembers[086] = new CMember(087, m_arrNodes[56], m_arrNodes[59], m_arrCrSc[2], 0); m_arrMembers[087] = new CMember(088, m_arrNodes[57], m_arrNodes[59], m_arrCrSc[09], m_arrCrSc[08], 0); m_arrMembers[088] = new CMember(089, m_arrNodes[58], m_arrNodes[60], m_arrCrSc[0], 0); m_arrMembers[089] = new CMember(090, m_arrNodes[58], m_arrNodes[61], m_arrCrSc[2], 0); m_arrMembers[090] = new CMember(091, m_arrNodes[59], m_arrNodes[61], m_arrCrSc[08], m_arrCrSc[07], 0); m_arrMembers[091] = new CMember(092, m_arrNodes[62], m_arrNodes[60], m_arrCrSc[2], 0); m_arrMembers[092] = new CMember(093, m_arrNodes[61], m_arrNodes[62], m_arrCrSc[07], m_arrCrSc[06], 0); m_arrMembers[093] = new CMember(094, m_arrNodes[60], m_arrNodes[63], m_arrCrSc[0], 0); m_arrMembers[094] = new CMember(095, m_arrNodes[62], m_arrNodes[64], m_arrCrSc[06], m_arrCrSc[05], 0); m_arrMembers[095] = new CMember(096, m_arrNodes[64], m_arrNodes[63], m_arrCrSc[2], 0); m_arrMembers[096] = new CMember(097, m_arrNodes[63], m_arrNodes[65], m_arrCrSc[0], 0); m_arrMembers[097] = new CMember(098, m_arrNodes[64], m_arrNodes[66], m_arrCrSc[05], m_arrCrSc[04], 0); m_arrMembers[098] = new CMember(099, m_arrNodes[66], m_arrNodes[65], m_arrCrSc[2], 0); m_arrMembers[099] = new CMember(100, m_arrNodes[65], m_arrNodes[67], m_arrCrSc[0], 0); m_arrMembers[100] = new CMember(101, m_arrNodes[66], m_arrNodes[67], m_arrCrSc[04], m_arrCrSc[3], 0); m_arrMembers[101] = new CMember(102, m_arrNodes[068], m_arrNodes[069], m_arrCrSc[3], m_arrCrSc[4], 0); m_arrMembers[102] = new CMember(103, m_arrNodes[068], m_arrNodes[070], m_arrCrSc[0], 0); m_arrMembers[103] = new CMember(104, m_arrNodes[070], m_arrNodes[069], m_arrCrSc[2], 0); m_arrMembers[104] = new CMember(105, m_arrNodes[069], m_arrNodes[071], m_arrCrSc[4], m_arrCrSc[5], 0); m_arrMembers[105] = new CMember(106, m_arrNodes[070], m_arrNodes[072], m_arrCrSc[0], 0); m_arrMembers[106] = new CMember(107, m_arrNodes[072], m_arrNodes[071], m_arrCrSc[2], 0); m_arrMembers[107] = new CMember(108, m_arrNodes[071], m_arrNodes[073], m_arrCrSc[5], m_arrCrSc[6], 0); m_arrMembers[108] = new CMember(109, m_arrNodes[072], m_arrNodes[075], m_arrCrSc[0], 0); m_arrMembers[109] = new CMember(110, m_arrNodes[073], m_arrNodes[074], m_arrCrSc[6], m_arrCrSc[7], 0); m_arrMembers[110] = new CMember(111, m_arrNodes[075], m_arrNodes[073], m_arrCrSc[2], 0); m_arrMembers[111] = new CMember(112, m_arrNodes[074], m_arrNodes[076], m_arrCrSc[7], m_arrCrSc[8], 0); m_arrMembers[112] = new CMember(113, m_arrNodes[074], m_arrNodes[077], m_arrCrSc[2], 0); m_arrMembers[113] = new CMember(114, m_arrNodes[075], m_arrNodes[077], m_arrCrSc[0], 0); m_arrMembers[114] = new CMember(115, m_arrNodes[076], m_arrNodes[078], m_arrCrSc[8], m_arrCrSc[9], 0); m_arrMembers[115] = new CMember(116, m_arrNodes[076], m_arrNodes[079], m_arrCrSc[2], 0); m_arrMembers[116] = new CMember(117, m_arrNodes[077], m_arrNodes[079], m_arrCrSc[0], 0); m_arrMembers[117] = new CMember(118, m_arrNodes[078], m_arrNodes[080], m_arrCrSc[9], m_arrCrSc[10], 0); m_arrMembers[118] = new CMember(119, m_arrNodes[078], m_arrNodes[081], m_arrCrSc[2], 0); m_arrMembers[119] = new CMember(120, m_arrNodes[079], m_arrNodes[081], m_arrCrSc[0], 0); m_arrMembers[120] = new CMember(121, m_arrNodes[080], m_arrNodes[082], m_arrCrSc[10], m_arrCrSc[11], 0); m_arrMembers[121] = new CMember(122, m_arrNodes[080], m_arrNodes[083], m_arrCrSc[2], 0); m_arrMembers[122] = new CMember(123, m_arrNodes[081], m_arrNodes[083], m_arrCrSc[0], 0); m_arrMembers[123] = new CMember(124, m_arrNodes[082], m_arrNodes[084], m_arrCrSc[11], m_arrCrSc[12], 0); m_arrMembers[124] = new CMember(125, m_arrNodes[082], m_arrNodes[085], m_arrCrSc[2], 0); m_arrMembers[125] = new CMember(126, m_arrNodes[083], m_arrNodes[085], m_arrCrSc[0], 0); m_arrMembers[126] = new CMember(127, m_arrNodes[084], m_arrNodes[086], m_arrCrSc[12], m_arrCrSc[13], 0); m_arrMembers[127] = new CMember(128, m_arrNodes[084], m_arrNodes[087], m_arrCrSc[2], 0); m_arrMembers[128] = new CMember(129, m_arrNodes[085], m_arrNodes[087], m_arrCrSc[0], 0); m_arrMembers[129] = new CMember(130, m_arrNodes[086], m_arrNodes[088], m_arrCrSc[13], m_arrCrSc[14], 0); m_arrMembers[130] = new CMember(131, m_arrNodes[086], m_arrNodes[089], m_arrCrSc[2], 0); m_arrMembers[131] = new CMember(132, m_arrNodes[087], m_arrNodes[089], m_arrCrSc[0], 0); m_arrMembers[132] = new CMember(133, m_arrNodes[088], m_arrNodes[090], m_arrCrSc[2], 0); m_arrMembers[133] = new CMember(134, m_arrNodes[088], m_arrNodes[091], m_arrCrSc[14], m_arrCrSc[15], 0); m_arrMembers[134] = new CMember(135, m_arrNodes[089], m_arrNodes[090], m_arrCrSc[0], 0); m_arrMembers[135] = new CMember(136, m_arrNodes[090], m_arrNodes[092], m_arrCrSc[0], 0); m_arrMembers[136] = new CMember(137, m_arrNodes[091], m_arrNodes[092], m_arrCrSc[2], 0); m_arrMembers[137] = new CMember(138, m_arrNodes[091], m_arrNodes[093], m_arrCrSc[15], m_arrCrSc[16], 0); m_arrMembers[138] = new CMember(139, m_arrNodes[092], m_arrNodes[094], m_arrCrSc[0], 0); m_arrMembers[139] = new CMember(140, m_arrNodes[093], m_arrNodes[094], m_arrCrSc[2], 0); m_arrMembers[140] = new CMember(141, m_arrNodes[093], m_arrNodes[095], m_arrCrSc[16], m_arrCrSc[17], 0); m_arrMembers[141] = new CMember(142, m_arrNodes[094], m_arrNodes[096], m_arrCrSc[0], 0); m_arrMembers[142] = new CMember(143, m_arrNodes[095], m_arrNodes[096], m_arrCrSc[2], 0); m_arrMembers[143] = new CMember(144, m_arrNodes[095], m_arrNodes[097], m_arrCrSc[17], m_arrCrSc[18], 0); m_arrMembers[144] = new CMember(145, m_arrNodes[096], m_arrNodes[098], m_arrCrSc[0], 0); m_arrMembers[145] = new CMember(146, m_arrNodes[097], m_arrNodes[098], m_arrCrSc[2], 0); m_arrMembers[146] = new CMember(147, m_arrNodes[097], m_arrNodes[099], m_arrCrSc[18], m_arrCrSc[19], 0); m_arrMembers[147] = new CMember(148, m_arrNodes[098], m_arrNodes[100], m_arrCrSc[0], 0); m_arrMembers[148] = new CMember(149, m_arrNodes[099], m_arrNodes[100], m_arrCrSc[2], 0); m_arrMembers[149] = new CMember(150, m_arrNodes[099], m_arrNodes[033], m_arrCrSc[19], m_arrCrSc[20], 0); m_arrMembers[150] = new CMember(151, m_arrNodes[100], m_arrNodes[101], m_arrCrSc[0], 0); m_arrMembers[151] = new CMember(152, m_arrNodes[033], m_arrNodes[101], m_arrCrSc[2], 0); m_arrMembers[152] = new CMember(153, m_arrNodes[033], m_arrNodes[103], m_arrCrSc[20], m_arrCrSc[19], 0); m_arrMembers[153] = new CMember(154, m_arrNodes[101], m_arrNodes[102], m_arrCrSc[0], 0); m_arrMembers[154] = new CMember(155, m_arrNodes[102], m_arrNodes[103], m_arrCrSc[2], 0); m_arrMembers[155] = new CMember(156, m_arrNodes[102], m_arrNodes[104], m_arrCrSc[0], 0); m_arrMembers[156] = new CMember(157, m_arrNodes[103], m_arrNodes[105], m_arrCrSc[19], m_arrCrSc[18], 0); m_arrMembers[157] = new CMember(158, m_arrNodes[104], m_arrNodes[105], m_arrCrSc[2], 0); m_arrMembers[158] = new CMember(159, m_arrNodes[104], m_arrNodes[106], m_arrCrSc[0], 0); m_arrMembers[159] = new CMember(160, m_arrNodes[105], m_arrNodes[107], m_arrCrSc[18], m_arrCrSc[17], 0); m_arrMembers[160] = new CMember(161, m_arrNodes[106], m_arrNodes[107], m_arrCrSc[2], 0); m_arrMembers[161] = new CMember(162, m_arrNodes[106], m_arrNodes[108], m_arrCrSc[0], 0); m_arrMembers[162] = new CMember(163, m_arrNodes[107], m_arrNodes[109], m_arrCrSc[17], m_arrCrSc[16], 0); m_arrMembers[163] = new CMember(164, m_arrNodes[108], m_arrNodes[109], m_arrCrSc[2], 0); m_arrMembers[164] = new CMember(165, m_arrNodes[108], m_arrNodes[110], m_arrCrSc[0], 0); m_arrMembers[165] = new CMember(166, m_arrNodes[109], m_arrNodes[111], m_arrCrSc[16], m_arrCrSc[15], 0); m_arrMembers[166] = new CMember(167, m_arrNodes[110], m_arrNodes[111], m_arrCrSc[2], 0); m_arrMembers[167] = new CMember(168, m_arrNodes[110], m_arrNodes[112], m_arrCrSc[0], 0); m_arrMembers[168] = new CMember(169, m_arrNodes[111], m_arrNodes[114], m_arrCrSc[15], m_arrCrSc[14], 0); m_arrMembers[169] = new CMember(170, m_arrNodes[112], m_arrNodes[114], m_arrCrSc[2], 0); m_arrMembers[170] = new CMember(171, m_arrNodes[112], m_arrNodes[113], m_arrCrSc[0], 0); m_arrMembers[171] = new CMember(172, m_arrNodes[114], m_arrNodes[116], m_arrCrSc[14], m_arrCrSc[13], 0); m_arrMembers[172] = new CMember(173, m_arrNodes[113], m_arrNodes[116], m_arrCrSc[2], 0); m_arrMembers[173] = new CMember(174, m_arrNodes[113], m_arrNodes[115], m_arrCrSc[0], 0); m_arrMembers[174] = new CMember(175, m_arrNodes[116], m_arrNodes[118], m_arrCrSc[13], m_arrCrSc[12], 0); m_arrMembers[175] = new CMember(176, m_arrNodes[115], m_arrNodes[118], m_arrCrSc[2], 0); m_arrMembers[176] = new CMember(177, m_arrNodes[115], m_arrNodes[117], m_arrCrSc[0], 0); m_arrMembers[177] = new CMember(178, m_arrNodes[118], m_arrNodes[120], m_arrCrSc[12], m_arrCrSc[11], 0); m_arrMembers[178] = new CMember(179, m_arrNodes[117], m_arrNodes[120], m_arrCrSc[2], 0); m_arrMembers[179] = new CMember(180, m_arrNodes[117], m_arrNodes[119], m_arrCrSc[0], 0); m_arrMembers[180] = new CMember(181, m_arrNodes[120], m_arrNodes[122], m_arrCrSc[11], m_arrCrSc[10], 0); m_arrMembers[181] = new CMember(182, m_arrNodes[119], m_arrNodes[122], m_arrCrSc[2], 0); m_arrMembers[182] = new CMember(183, m_arrNodes[119], m_arrNodes[121], m_arrCrSc[0], 0); m_arrMembers[183] = new CMember(184, m_arrNodes[122], m_arrNodes[124], m_arrCrSc[10], m_arrCrSc[9], 0); m_arrMembers[184] = new CMember(185, m_arrNodes[121], m_arrNodes[124], m_arrCrSc[2], 0); m_arrMembers[185] = new CMember(186, m_arrNodes[121], m_arrNodes[123], m_arrCrSc[0], 0); m_arrMembers[186] = new CMember(187, m_arrNodes[124], m_arrNodes[126], m_arrCrSc[9], m_arrCrSc[8], 0); m_arrMembers[187] = new CMember(188, m_arrNodes[123], m_arrNodes[126], m_arrCrSc[2], 0); m_arrMembers[188] = new CMember(189, m_arrNodes[123], m_arrNodes[125], m_arrCrSc[0], 0); m_arrMembers[189] = new CMember(190, m_arrNodes[126], m_arrNodes[128], m_arrCrSc[8], m_arrCrSc[7], 0); m_arrMembers[190] = new CMember(191, m_arrNodes[125], m_arrNodes[128], m_arrCrSc[2], 0); m_arrMembers[191] = new CMember(192, m_arrNodes[125], m_arrNodes[127], m_arrCrSc[0], 0); m_arrMembers[192] = new CMember(193, m_arrNodes[128], m_arrNodes[129], m_arrCrSc[7], m_arrCrSc[6], 0); m_arrMembers[193] = new CMember(194, m_arrNodes[127], m_arrNodes[129], m_arrCrSc[2], 0); m_arrMembers[194] = new CMember(195, m_arrNodes[127], m_arrNodes[130], m_arrCrSc[0], 0); m_arrMembers[195] = new CMember(196, m_arrNodes[129], m_arrNodes[131], m_arrCrSc[6], m_arrCrSc[5], 0); m_arrMembers[196] = new CMember(197, m_arrNodes[130], m_arrNodes[131], m_arrCrSc[2], 0); m_arrMembers[197] = new CMember(198, m_arrNodes[130], m_arrNodes[132], m_arrCrSc[0], 0); m_arrMembers[198] = new CMember(199, m_arrNodes[131], m_arrNodes[133], m_arrCrSc[5], m_arrCrSc[4], 0); m_arrMembers[199] = new CMember(200, m_arrNodes[132], m_arrNodes[133], m_arrCrSc[2], 0); m_arrMembers[200] = new CMember(201, m_arrNodes[133], m_arrNodes[134], m_arrCrSc[4], m_arrCrSc[3], 0); m_arrMembers[201] = new CMember(202, m_arrNodes[132], m_arrNodes[134], m_arrCrSc[0], 0); m_arrMembers[202] = new CMember(203, m_arrNodes[00], m_arrNodes[068], m_arrCrSc[1], 0); m_arrMembers[203] = new CMember(204, m_arrNodes[02], m_arrNodes[070], m_arrCrSc[1], 0); m_arrMembers[204] = new CMember(205, m_arrNodes[04], m_arrNodes[072], m_arrCrSc[1], 0); m_arrMembers[205] = new CMember(206, m_arrNodes[07], m_arrNodes[075], m_arrCrSc[1], 0); m_arrMembers[206] = new CMember(207, m_arrNodes[09], m_arrNodes[077], m_arrCrSc[1], 0); m_arrMembers[207] = new CMember(208, m_arrNodes[11], m_arrNodes[079], m_arrCrSc[1], 0); m_arrMembers[208] = new CMember(209, m_arrNodes[13], m_arrNodes[081], m_arrCrSc[1], 0); m_arrMembers[209] = new CMember(210, m_arrNodes[15], m_arrNodes[083], m_arrCrSc[1], 0); m_arrMembers[210] = new CMember(211, m_arrNodes[17], m_arrNodes[085], m_arrCrSc[1], 0); m_arrMembers[211] = new CMember(212, m_arrNodes[19], m_arrNodes[087], m_arrCrSc[1], 0); m_arrMembers[212] = new CMember(213, m_arrNodes[21], m_arrNodes[089], m_arrCrSc[1], 0); m_arrMembers[213] = new CMember(214, m_arrNodes[22], m_arrNodes[090], m_arrCrSc[1], 0); m_arrMembers[214] = new CMember(215, m_arrNodes[24], m_arrNodes[092], m_arrCrSc[1], 0); m_arrMembers[215] = new CMember(216, m_arrNodes[26], m_arrNodes[094], m_arrCrSc[1], 0); m_arrMembers[216] = new CMember(217, m_arrNodes[28], m_arrNodes[096], m_arrCrSc[1], 0); m_arrMembers[217] = new CMember(218, m_arrNodes[30], m_arrNodes[098], m_arrCrSc[1], 0); m_arrMembers[218] = new CMember(219, m_arrNodes[32], m_arrNodes[100], m_arrCrSc[1], 0); m_arrMembers[219] = new CMember(220, m_arrNodes[34], m_arrNodes[101], m_arrCrSc[1], 0); m_arrMembers[220] = new CMember(221, m_arrNodes[35], m_arrNodes[102], m_arrCrSc[1], 0); m_arrMembers[221] = new CMember(222, m_arrNodes[37], m_arrNodes[104], m_arrCrSc[1], 0); m_arrMembers[222] = new CMember(223, m_arrNodes[39], m_arrNodes[106], m_arrCrSc[1], 0); m_arrMembers[223] = new CMember(224, m_arrNodes[41], m_arrNodes[108], m_arrCrSc[1], 0); m_arrMembers[224] = new CMember(225, m_arrNodes[43], m_arrNodes[110], m_arrCrSc[1], 0); m_arrMembers[225] = new CMember(226, m_arrNodes[45], m_arrNodes[112], m_arrCrSc[1], 0); m_arrMembers[226] = new CMember(227, m_arrNodes[46], m_arrNodes[113], m_arrCrSc[1], 0); m_arrMembers[227] = new CMember(228, m_arrNodes[48], m_arrNodes[115], m_arrCrSc[1], 0); m_arrMembers[228] = new CMember(229, m_arrNodes[50], m_arrNodes[117], m_arrCrSc[1], 0); m_arrMembers[229] = new CMember(230, m_arrNodes[52], m_arrNodes[119], m_arrCrSc[1], 0); m_arrMembers[230] = new CMember(231, m_arrNodes[54], m_arrNodes[121], m_arrCrSc[1], 0); m_arrMembers[231] = new CMember(232, m_arrNodes[56], m_arrNodes[123], m_arrCrSc[1], 0); m_arrMembers[232] = new CMember(233, m_arrNodes[58], m_arrNodes[125], m_arrCrSc[1], 0); m_arrMembers[233] = new CMember(234, m_arrNodes[60], m_arrNodes[127], m_arrCrSc[1], 0); m_arrMembers[234] = new CMember(235, m_arrNodes[63], m_arrNodes[130], m_arrCrSc[1], 0); m_arrMembers[235] = new CMember(236, m_arrNodes[65], m_arrNodes[132], m_arrCrSc[1], 0); m_arrMembers[236] = new CMember(237, m_arrNodes[67], m_arrNodes[134], m_arrCrSc[1], 0); // Setridit pole podle ID //Array.Sort(m_arrMembers, new CCompare_LineID()); // Nodal Supports - fill values // Set values bool[] bSupport1 = { true, false, true, false, false, false }; bool[] bSupport2 = { false, false, true, false, false, false }; // Create Support Objects m_arrNSupports[0] = new CNSupport(6, 1, m_arrNodes[00], bSupport1, 0); m_arrNSupports[1] = new CNSupport(6, 2, m_arrNodes[67], bSupport2, 0); // Setridit pole podle ID Array.Sort(m_arrNSupports, new CCompare_NSupportID()); // Member Releases / hinges - fill values // Set values bool?[] bMembRelase1 = { false, false, false, false, true, false }; // Create Release / Hinge Objects m_arrMembers[02].CnRelease1 = new CNRelease(6, m_arrMembers[02].NodeStart, bMembRelase1, 0); m_arrMembers[05].CnRelease1 = new CNRelease(6, m_arrMembers[05].NodeStart, bMembRelase1, 0); m_arrMembers[09].CnRelease1 = new CNRelease(6, m_arrMembers[09].NodeStart, bMembRelase1, 0); m_arrMembers[11].CnRelease1 = new CNRelease(6, m_arrMembers[11].NodeStart, bMembRelase1, 0); m_arrMembers[14].CnRelease1 = new CNRelease(6, m_arrMembers[14].NodeStart, bMembRelase1, 0); m_arrMembers[17].CnRelease1 = new CNRelease(6, m_arrMembers[17].NodeStart, bMembRelase1, 0); m_arrMembers[20].CnRelease1 = new CNRelease(6, m_arrMembers[20].NodeStart, bMembRelase1, 0); m_arrMembers[23].CnRelease1 = new CNRelease(6, m_arrMembers[23].NodeStart, bMembRelase1, 0); m_arrMembers[26].CnRelease1 = new CNRelease(6, m_arrMembers[26].NodeStart, bMembRelase1, 0); m_arrMembers[29].CnRelease1 = new CNRelease(6, m_arrMembers[29].NodeStart, bMembRelase1, 0); m_arrMembers[31].CnRelease1 = new CNRelease(6, m_arrMembers[31].NodeStart, bMembRelase1, 0); m_arrMembers[35].CnRelease1 = new CNRelease(6, m_arrMembers[35].NodeStart, bMembRelase1, 0); m_arrMembers[38].CnRelease1 = new CNRelease(6, m_arrMembers[38].NodeStart, bMembRelase1, 0); m_arrMembers[41].CnRelease1 = new CNRelease(6, m_arrMembers[41].NodeStart, bMembRelase1, 0); m_arrMembers[44].CnRelease1 = new CNRelease(6, m_arrMembers[44].NodeStart, bMembRelase1, 0); m_arrMembers[47].CnRelease1 = new CNRelease(6, m_arrMembers[47].NodeStart, bMembRelase1, 0); m_arrMembers[50].CnRelease1 = new CNRelease(6, m_arrMembers[50].NodeStart, bMembRelase1, 0); m_arrMembers[53].CnRelease1 = new CNRelease(6, m_arrMembers[53].NodeStart, bMembRelase1, 0); m_arrMembers[56].CnRelease1 = new CNRelease(6, m_arrMembers[56].NodeStart, bMembRelase1, 0); m_arrMembers[59].CnRelease1 = new CNRelease(6, m_arrMembers[59].NodeStart, bMembRelase1, 0); m_arrMembers[62].CnRelease1 = new CNRelease(6, m_arrMembers[62].NodeStart, bMembRelase1, 0); m_arrMembers[65].CnRelease1 = new CNRelease(6, m_arrMembers[65].NodeStart, bMembRelase1, 0); m_arrMembers[69].CnRelease1 = new CNRelease(6, m_arrMembers[69].NodeStart, bMembRelase1, 0); m_arrMembers[71].CnRelease1 = new CNRelease(6, m_arrMembers[71].NodeStart, bMembRelase1, 0); m_arrMembers[74].CnRelease1 = new CNRelease(6, m_arrMembers[74].NodeStart, bMembRelase1, 0); m_arrMembers[77].CnRelease1 = new CNRelease(6, m_arrMembers[77].NodeStart, bMembRelase1, 0); m_arrMembers[80].CnRelease1 = new CNRelease(6, m_arrMembers[80].NodeStart, bMembRelase1, 0); m_arrMembers[83].CnRelease1 = new CNRelease(6, m_arrMembers[83].NodeStart, bMembRelase1, 0); m_arrMembers[86].CnRelease1 = new CNRelease(6, m_arrMembers[86].NodeStart, bMembRelase1, 0); m_arrMembers[89].CnRelease1 = new CNRelease(6, m_arrMembers[89].NodeStart, bMembRelase1, 0); m_arrMembers[91].CnRelease1 = new CNRelease(6, m_arrMembers[91].NodeStart, bMembRelase1, 0); m_arrMembers[95].CnRelease1 = new CNRelease(6, m_arrMembers[95].NodeStart, bMembRelase1, 0); m_arrMembers[98].CnRelease1 = new CNRelease(6, m_arrMembers[98].NodeStart, bMembRelase1, 0); // Nodal Forces - fill values //arrForces[00] = new CNForce(m_arrNodes[00], -00.0f, 0.0f, -020.0f, m_arrCrSc[0], 0); //arrForces[01] = new CNForce(m_arrNodes[02], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[02] = new CNForce(m_arrNodes[04], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[03] = new CNForce(m_arrNodes[07], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[04] = new CNForce(m_arrNodes[09], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[05] = new CNForce(m_arrNodes[11], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[06] = new CNForce(m_arrNodes[13], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[07] = new CNForce(m_arrNodes[15], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[08] = new CNForce(m_arrNodes[17], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[09] = new CNForce(m_arrNodes[19], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[10] = new CNForce(m_arrNodes[21], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[11] = new CNForce(m_arrNodes[22], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[12] = new CNForce(m_arrNodes[24], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[13] = new CNForce(m_arrNodes[26], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[14] = new CNForce(m_arrNodes[28], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[15] = new CNForce(m_arrNodes[30], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[16] = new CNForce(m_arrNodes[32], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[17] = new CNForce(m_arrNodes[34], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[18] = new CNForce(m_arrNodes[35], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[19] = new CNForce(m_arrNodes[37], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[20] = new CNForce(m_arrNodes[39], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[21] = new CNForce(m_arrNodes[41], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[22] = new CNForce(m_arrNodes[43], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[23] = new CNForce(m_arrNodes[45], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[24] = new CNForce(m_arrNodes[46], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[25] = new CNForce(m_arrNodes[48], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[26] = new CNForce(m_arrNodes[50], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[27] = new CNForce(m_arrNodes[52], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[28] = new CNForce(m_arrNodes[54], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[29] = new CNForce(m_arrNodes[56], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[30] = new CNForce(m_arrNodes[58], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[31] = new CNForce(m_arrNodes[60], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[32] = new CNForce(m_arrNodes[63], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[33] = new CNForce(m_arrNodes[65], -00.0f, 0.0f, -050.0f, m_arrCrSc[0], 0); //arrForces[34] = new CNForce(m_arrNodes[67], -00.0f, 0.0f, -020.0f, m_arrCrSc[0], 0); }
private CMember[] getMembers(DataTable dt) { List<CMember> members = new List<CMember>(); CMember member = null; int Line_ID; CNode Node1; int node1ID; CNode Node2; int node2ID; float fRotation; CRSC.CCrSc_3_00 CrSc1; // Temp int iCrSc1ID; CRSC.CCrSc_3_00 CrSc2; // Temp int iCrSc2ID; // ReleaseStartID // ReleaseEndID int Time = 100; float Length; foreach (DataRow row in dt.Rows) { try { // Nodes int.TryParse(row["MemberID"].ToString(), out Line_ID); if (Line_ID == 0) continue; //do not include empty MemberID or with memberID=0 Node1 = new CNode(); int.TryParse(row["NodeStartID"].ToString(), out node1ID); Node1.ID = node1ID; Node2 = new CNode(); int.TryParse(row["NodeEndID"].ToString(), out node2ID); Node2.ID = node2ID; //Cross-sections CrSc1 = new CRSC.CCrSc_3_00(); int.TryParse(row["CrossSectionStartID"].ToString(), out iCrSc1ID); CrSc1.ICrSc_ID = iCrSc1ID; CrSc2 = new CRSC.CCrSc_3_00(); int.TryParse(row["CrossSectionEndID"].ToString(), out iCrSc2ID); CrSc2.ICrSc_ID = iCrSc2ID; // Create member member = new CMember(Line_ID, Node1, Node2, CrSc1, Time); float.TryParse(row["Length"].ToString(), out Length); member.FLength = Length; members.Add(member); } catch (Exception) { throw; } } foreach (CMember m in members) { Console.WriteLine(string.Format("IMember_ID: {0},NodeStart.ID: {1},NodeEnd.ID: {2},m.FLength: {3}", m.ID, m.NodeStart.ID, m.NodeEnd.ID, m.FLength)); } return members.ToArray(); }