public bool AutoCodeCompile(List <string> original_code, ref string errorString) { int compile_result = -1; SourceCodeFarmat(original_code); FANUC_OI_M AutoFanuc_OI_M = new FANUC_OI_M(); CurrentModal.SetCooZero(CooSystem_Script.AbsoluteZero); AutoFanuc_OI_M.ModalClone(CurrentModal); compile_result = AutoFanuc_OI_M.CompileEntrance(SourceCode, CooSystem_Script.absolute_pos, motion_info_list, Auto_Script.CurrentVirtualPos(), original_motion_info_list, tool_motion_list); if (compile_result == (int)ResultType.Success) { errorString = ""; CreatePathLine(ref PathLineDraw_Script.lineDrawer, Color.green, motion_info_list); CreatePathLine(ref PathLineDraw_Script.lineOriginalDrawer, Color.red, original_motion_info_list); // Debug.Log(original_motion_info_list.Count + "<||>" + motion_info_list.Count); // foreach(MotionInfo motion_info in motion_info_list) // Debug.Log(motion_info.ToString()); // for(int i = 0; i < motion_info_list.Count && i < 300; i++) // { // Debug.Log(motion_info_list[i].ToString()); // Debug.Log(original_motion_info_list[i].ToString()); // } // for(int i = 0; i < original_motion_info_list.Count && i < 300; i++) // { // Debug.Log(motion_info_list[i].ToString()); // Debug.Log(original_motion_info_list[i].ToString()); // } return(true); } else if (compile_result == (int)ResultType.CompileError) { errorString = "代码编译错误!"; // Debug.Log(AutoFanuc_OI_M.CompileInfo.Count); for (int i = 0; i < AutoFanuc_OI_M.CompileInfo.Count && i < 300; i++) { // Debug.Log(AutoFanuc_OI_M.CompileInfo[i]); Warnning_Script.object_description += AutoFanuc_OI_M.CompileInfo[i] + "\n"; } Warnning_Script.object_description += "代码编译错误!\n"; if (!Warnning_Script.come_forth) { Warnning_Script.motion_start = true; } return(false); } else { errorString = "程序中含有宏代码,本系统暂不支持宏代码!"; Warnning_Script.object_description += "程序中含有宏代码,本系统暂不支持宏代码!\n"; if (!Warnning_Script.come_forth) { Warnning_Script.motion_start = true; } return(false); } }