using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; /// /// /// public class CVT_TABLE { /// /// 将Datatable数据转化需要的格式 /// 2021.3.25 /// /// /// /// /// /// public static void DatatableTo_BaseToolTcp_List(DataTable dt, out List processCode_List, out List baseQ_List, out List toolQ_List, out List ptQ_List, out List ptP_List, out List useTime_List, out string modelCode_Base, out string modelName_Base, out int reverse) { processCode_List = new List(); baseQ_List = new List(); toolQ_List = new List(); ptQ_List = new List(); ptP_List = new List(); useTime_List = new List(); modelCode_Base = dt.Rows[0]["ModelCode"].ToString (); modelName_Base = dt.Rows[0]["ModelName"].ToString(); reverse = Convert.ToInt32(dt.Rows[0]["Reverse"]); for (int i = 0; i < dt.Rows.Count; i++) { var processCode = dt.Rows[i]["ProcessCode"].ToString(); var baseQ = new double[7]; baseQ[0] = Convert.ToDouble(dt.Rows[i]["X_Base"]); baseQ[1] = Convert.ToDouble(dt.Rows[i]["Y_Base"]); baseQ[2] = Convert.ToDouble(dt.Rows[i]["Z_Base"]); baseQ[3] = Convert.ToDouble(dt.Rows[i]["QX_Base"]); baseQ[4] = Convert.ToDouble(dt.Rows[i]["QY_Base"]); baseQ[5] = Convert.ToDouble(dt.Rows[i]["QZ_Base"]); baseQ[6] = Convert.ToDouble(dt.Rows[i]["QW_Base"]); var toolQ = new double[7]; toolQ[0] = Convert.ToDouble(dt.Rows[i]["X_Tool"]); toolQ[1] = Convert.ToDouble(dt.Rows[i]["Y_Tool"]); toolQ[2] = Convert.ToDouble(dt.Rows[i]["Z_Tool"]); toolQ[3] = Convert.ToDouble(dt.Rows[i]["QX_Tool"]); toolQ[4] = Convert.ToDouble(dt.Rows[i]["QY_Tool"]); toolQ[5] = Convert.ToDouble(dt.Rows[i]["QZ_Tool"]); toolQ[6] = Convert.ToDouble(dt.Rows[i]["QW_Tool"]); var ptQ = new double[7]; ptQ[0] = Convert.ToDouble(dt.Rows[i]["X"]); ptQ[1] = Convert.ToDouble(dt.Rows[i]["Y"]); ptQ[2] = Convert.ToDouble(dt.Rows[i]["Z"]); ptQ[3] = Convert.ToDouble(dt.Rows[i]["QX"]); ptQ[4] = Convert.ToDouble(dt.Rows[i]["QY"]); ptQ[5] = Convert.ToDouble(dt.Rows[i]["QZ"]); ptQ[6] = Convert.ToDouble(dt.Rows[i]["QW"]); var ptP = new double[6]; ptP[0] = Convert.ToDouble(dt.Rows[i]["X"]); ptP[1] = Convert.ToDouble(dt.Rows[i]["Y"]); ptP[2] = Convert.ToDouble(dt.Rows[i]["Z"]); ptP[3] = Convert.ToDouble(dt.Rows[i]["RX"]); ptP[4] = Convert.ToDouble(dt.Rows[i]["RY"]); ptP[5] = Convert.ToDouble(dt.Rows[i]["RZ"]); var useTime = Convert.ToInt32(dt.Rows[i]["UseTime"]); processCode_List.Add(processCode); baseQ_List.Add(baseQ); toolQ_List.Add(toolQ); ptQ_List.Add(ptQ); ptP_List.Add(ptP); useTime_List.Add(useTime); } } /// /// ToDataTable /// /// /// public static DataTable ToDataTable(DataRow[] rows) { if (rows == null || rows.Length == 0) return null; DataTable tmp = rows[0].Table.Clone(); // 复制DataRow的表结构 foreach (DataRow row in rows) { tmp.ImportRow(row); // 将DataRow添加到DataTable中 } return tmp; } }