private void SelPic_Click(object sender, EventArgs e) { try { string PicFilter = "jpg Files (*.jpg)|*.jpg|eps Files (*.eps)|*.eps|gif Files (*.gif)|*.gif|bmp Files (*.bmp)|*.bmp|png Files (*.png)|*.png|All Files (*.*)|*.*"; status = CaxPublic.OpenFilesDialog(out PicNameStr, out PicPathStr, "", PicFilter); if (!status) { MessageBox.Show("2D圖選擇失敗"); return; } //PhotoFolderPath = string.Format(@"{0}\OP{1}\OIS\{2}", Path.GetDirectoryName(workPart.FullPath), op1, Path.GetFileNameWithoutExtension(workPart.FullPath)); //if (!Directory.Exists(PhotoFolderPath)) //{ // System.IO.Directory.CreateDirectory(PhotoFolderPath); //} for (int i = 0; i < PicNameStr.Length; i++) { if (PicPath.Text != "") { PicPath.Text = Path.GetFileNameWithoutExtension(PicNameStr[i]) + "、" + PicPath.Text; S_PicPath = S_PicPath + "," + string.Format(@"{0}\{1}", S_Folder, PicNameStr[i]); } else { PicPath.Text = Path.GetFileNameWithoutExtension(PicNameStr[i]); S_PicPath = string.Format(@"{0}\{1}", S_Folder, PicNameStr[i]); } } } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); } }
private void AbsCheDimen_Click(object sender, EventArgs e) { try { IsAbsCheck = false; AbsCheDimen.Text = "Key Chara.(0)"; IsRemove = false; RepairDimen.Text = "Remove(0)"; CaxPublic.SelectObjects(out SelDimensionAry); if (SelDimensionAry.Length > 0) { IsAbsCheck = true; } AbsCheDimen.Text = string.Format(@"Key Chara.({0})", SelDimensionAry.Length); //foreach (NXObject i in SelDimensionAry) // i.SetAttribute("KC", "KeyChara"); //MessageBox.Show("指定成功"); } catch (System.Exception ex) { return; } }
private void button900SelPart_Click(object sender, EventArgs e) { string tempFileName = ""; status = CaxPublic.OpenFileDialog(out tempFileName, out label900BilletPath); if (!status) { MessageBox.Show("選擇檔案失敗,請聯繫開發工程師"); return; } label900.Text = tempFileName; }
private void SelDimen_Click(object sender, EventArgs e) { try { this.Hide(); CaxPublic.SelectObjects(out SelDimensionAry); this.Show(); SelDimen.Text = string.Format("選擇物件({0})", SelDimensionAry.Length.ToString()); } catch (System.Exception ex) { return; } }
private void SelectObject_Click(object sender, EventArgs e) { this.Hide(); NXObject[] SelDimensionAry; CaxPublic.SelectObjects(out SelDimensionAry); DicSelDimension = new Dictionary <NXObject, string>(); foreach (NXObject single in SelDimensionAry) { string DimenType = single.GetType().ToString(); DicSelDimension.Add(single, DimenType); } this.Show(); SelectObject.Text = string.Format("選擇物件({0})", SelDimensionAry.Length.ToString()); }
private void buttonWSelPart_Click(object sender, EventArgs e) { string ServerPartPath = string.Format(@"{0}\{1}\{2}\{3}", CaxEnv.GetGlobaltekTaskDir(), CurrentCusName, CurrentPartNo, CurrentCusVer); string tempFileName = ""; status = CaxPublic.OpenFileDialog(out tempFileName, out labelWBilletPath, ServerPartPath); if (!status) { MessageBox.Show("選擇檔案失敗,請聯繫開發工程師"); return; } labelW.Text = tempFileName; }
private void selDimen_Click(object sender, EventArgs e) { try { this.Hide(); CaxPublic.SelectObjects(out Variables.SelDimensionAry); Variables.DicSelDimension = new Dictionary <NXObject, string>(); foreach (NXObject single in Variables.SelDimensionAry) { string DimenType = single.GetType().ToString(); Variables.DicSelDimension.Add(single, DimenType); } selDimen.Text = string.Format("選擇尺寸({0})", Variables.SelDimensionAry.Length.ToString()); this.Show(); } catch (System.Exception ex) { MessageBox.Show("選擇尺寸的對話框載入失敗"); } }
public static bool CopyNCToDesktop(string cus, string partNo, string cusVer, string opVer, string op1, string ncName) { try { string NCFolderPath = string.Format(@"{0}\{1}\{2}\{3}\{4}\{5}\{6}\{7}", OutputForm.EnvVariables.env_Task, cus, partNo, cusVer, opVer, "OP" + op1, "CAM", ncName); string DeskTopPath = string.Format(@"{0}\{1}_{2}_{3}\{4}", Environment.GetFolderPath(Environment.SpecialFolder.Desktop), partNo, cusVer, opVer, ncName); if (!Directory.Exists(DeskTopPath)) { Directory.CreateDirectory(DeskTopPath); } status = CaxPublic.DirectoryCopy(NCFolderPath, DeskTopPath, false); if (!status) { MessageBox.Show("CAM資料夾複製失敗,請聯繫開發工程師"); return(false); } } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); return(false); } return(true); }
private void OK_Click(object sender, EventArgs e) { CaxPart.SaveAll(); #region Part上傳 List <string> ListPartName = new List <string>(); status = CaxUpLoad.UploadPart(DicPartDirData, out ListPartName); if (!status) { this.Close(); return; } System.IO.File.WriteAllLines(string.Format(@"{0}\{1}\{2}", sDownUpLoadDat.Server_ShareStr, "OP" + cCaxTEUpLoad.OpNum, "PartNameText_CAM.txt"), ListPartName.ToArray()); #endregion //CAM資料夾上傳 status = CaxPublic.DirectoryCopy(sDownUpLoadDat.Local_Folder_CAM, sDownUpLoadDat.Server_Folder_CAM, true); if (!status) { MessageBox.Show("CAM資料夾複製失敗,請聯繫開發工程師"); this.Close(); } #region (註解中)Excel上傳 /* * if (File.Exists(sExcelDirData.ExcelShopDocLocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelShopDocLocalDir, sExcelDirData.ExcelShopDocServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("ShopDoc.xls上傳失敗"); * this.Close(); * } * } */ #endregion #region (註解)NC上傳 /* * if (Directory.Exists(sNCProgramDirData.NCProgramLocalDir)) * { * try * { * CaxPublic.DirectoryCopy(sNCProgramDirData.NCProgramLocalDir, sNCProgramDirData.NCProgramServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("NC上傳失敗"); * this.Close(); * } * } */ #endregion #region (註解)上傳至資料庫 /* * NCGroup[] NCGroupAry = displayPart.CAMSetup.CAMGroupCollection.ToArray(); * Dictionary<string, Function.OperData> DicNCData = new Dictionary<string, Function.OperData>(); * status = Function.GetNCProgramData(NCGroupAry, out DicNCData); * if (!status) * { * MessageBox.Show("取得NC資料失敗,無法上傳至數據庫,僅上傳NX檔案"); * goto finish; * } * * Com_PEMain comPEMain = new Com_PEMain(); * status = Function.GetCom_PEMain(sPartInfo, out comPEMain); * if (!status) * { * MessageBox.Show("資料庫無此筆料號,僅上傳NX檔案"); * goto finish; * } * * Com_PartOperation comPartOperation = new Com_PartOperation(); * status = Function.GetCom_PartOperation(sPartInfo, comPEMain, out comPartOperation); * if (!status) * { * MessageBox.Show("資料庫無此筆料號,僅上傳NX檔案"); * goto finish; * } * * foreach (KeyValuePair<string,Function.OperData> kvp in DicNCData) * { * Com_TEMain ComTEMain = session.QueryOver<Com_TEMain>() * .Where(x => x.comPartOperation == comPartOperation) * .And(x => x.ncGroupName == kvp.Key) * .SingleOrDefault(); * if (ComTEMain == null) * { * //表示未插入過此NC資料,直接插入 * * } * } */ #endregion //finish: MessageBox.Show("上傳完成!"); this.Close(); }
private void ExportMainProg_Click(object sender, EventArgs e) { List <string> ExportData = new List <string>(); for (int i = 0; i < listView3.Items.Count; i++) { ExportData.Add(listView3.Items[i].Text); } for (int i = 0; i < listView1.Items.Count; i++) { ExportData.Add(listView1.Items[i].Text); } for (int i = 0; i < listView4.Items.Count; i++) { ExportData.Add(listView4.Items[i].Text); } //建立NC資料夾 string Is_Local = "", NCFolderPath = ""; Is_Local = Environment.GetEnvironmentVariable("UGII_ENV_FILE"); if (Is_Local != "") { CaxPublic.GetAllPath("TE", displayPart.FullPath, ref cMETE_Download_Upload_Path); NCFolderPath = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Local_Folder_CAM, "NC"); } else { NCFolderPath = string.Format(@"{0}\{1}", Path.GetDirectoryName(displayPart.FullPath), "NC"); } if (!Directory.Exists(NCFolderPath)) { System.IO.Directory.CreateDirectory(NCFolderPath); } //設定輸出路徑 string ExportPath = string.Format(@"{0}\{1}", NCFolderPath, NewGroupName); //string NCFolderPath = string.Format(@"{0}\{1}", Path.GetDirectoryName(displayPart.FullPath), "NC"); //if (!Directory.Exists(NCFolderPath)) //{ // System.IO.Directory.CreateDirectory(NCFolderPath); //} //string ExportPath = string.Format(@"{0}\{1}", Path.GetDirectoryName(displayPart.FullPath), NewGroupName); if (chb_Heidenhain.Checked == true) { for (int i = 0; i < ExportData.Count; i++) { ExportData[i] = i.ToString() + " " + ExportData[i]; } ExportPath = ExportPath + ".h"; } else if (chb_Simens.Checked == true) { for (int i = 0; i < ExportData.Count; i++) { ExportData[i] = "N" + i.ToString() + " " + ExportData[i]; } ExportPath = ExportPath + ".MPF"; } System.IO.StreamWriter file = new System.IO.StreamWriter(ExportPath); for (int i = 0; i < ExportData.Count; i++) { file.Write(ExportData[i] + "\r\n"); } file.Close(); this.Hide(); UI.GetUI().NXMessageBox.Show("恭喜", NXMessageBox.DialogType.Information, "主程式編輯完成!"); this.Show(); }
private void AssignGaugeDlg_Load(object sender, EventArgs e) { try { int module_id; theUfSession.UF.AskApplicationModule(out module_id); if (module_id != UFConstants.UF_APP_DRAFTING) { MessageBox.Show("請先轉換為製圖模組後再執行!"); this.Close(); } Is_Local = Environment.GetEnvironmentVariable("UGII_ENV_FILE"); if (Is_Local != null) { //取得AssignGaugeData status = CaxGetDatData.GetAssignGaugeData(out AGData); if (!status) { CaxLog.ShowListingWindow("GetAssignGaugeData失敗,請檢查MEConfig是否有檔案"); return; } //取得圖紙範圍資料Data status = CaxGetDatData.GetDraftingCoordinateData(out cCoordinateData); //取得PRODUCT資料(未完成,資料庫還沒建立) ISession session = MyHibernateHelper.SessionFactory.OpenSession(); IList <Sys_Product> sysProduct = session.QueryOver <Sys_Product>().List <Sys_Product>(); foreach (Sys_Product i in sysProduct) { listProduct.Add(i.productName); } } else { //取得AssignGaugeData string AssignGaugeData_dat = "AssignGaugeData.dat"; string AssignGaugeData_Path = string.Format(@"{0}\{1}", "D:", AssignGaugeData_dat); AGData = System.IO.File.ReadAllLines(AssignGaugeData_Path); //取得圖紙範圍資料Data string DraftingCoordinate_dat = "DraftingCoordinate.dat"; string DraftingCoordinate_Path = string.Format(@"{0}\{1}", "D:", DraftingCoordinate_dat); if (!System.IO.File.Exists(DraftingCoordinate_Path)) { MessageBox.Show("路徑:" + DraftingCoordinate_Path + "不存在"); return; } CaxPublic.ReadCoordinateData(DraftingCoordinate_Path, out cCoordinateData); } //預設關閉選擇物件 //SelectDimen.Enabled = false; #region 存AGData到DicGaugeData中 foreach (string Row in AGData) { string[] splitRow = Row.Split(','); if (splitRow.Length == 0) { continue; } GaugeData cGaugeData = new GaugeData(); status = DicGaugeData.TryGetValue(splitRow[1], out cGaugeData); if (status) { continue; } cGaugeData = new GaugeData(); cGaugeData.Color = splitRow[0]; try { cGaugeData.EngName = splitRow[2]; } catch (System.Exception ex) { cGaugeData.EngName = ""; } DicGaugeData.Add(splitRow[1], cGaugeData); } #endregion //填檢具到下拉選單中 //Gauge.Items.Add(""); //Gauge.Items.AddRange(DicGaugeData.Keys.ToArray()); //填檢具到SelfCheck下拉選單中 //SelfCheckGauge.Items.Add(""); //foreach (KeyValuePair<string,GaugeData> kvp in DicGaugeData) //{ // if (kvp.Key.Contains("T")) // { // continue; // } // SelfCheckGauge.Items.Add(kvp.Key); //} //取得sheet並填入下拉選單中 int SheetCount = 0; NXOpen.Tag[] SheetTagAry = null; theUfSession.Draw.AskDrawings(out SheetCount, out SheetTagAry); for (int i = 0; i < SheetCount; i++) { NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); ListSheet.Items.Add(CurrentSheet.Name); } //預設開啟sheet1圖紙 NXOpen.Drawings.DrawingSheet DefaultSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[0]); ListSheet.Text = DefaultSheet.Name; //取得圖紙長寬 SheetLength = DefaultSheet.Length; SheetHeight = DefaultSheet.Height; //填入IQC、IPQC與SelfCheck的單位 //string[] CheckUnits = new string[] { "HRS", "PCS", "100%" }; //Freq_Units.Items.AddRange(CheckUnits.ToArray()); //SelfCheck_Units.Items.AddRange(CheckUnits.ToArray()); } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); } }
private void RepairDimen_Click(object sender, EventArgs e) { try { IsRemove = false; RepairDimen.Text = "Remove(0)"; IsAbsCheck = false; AbsCheDimen.Text = "Key Chara.(0)"; CaxPublic.SelectObjects(out SelDimensionAry); if (SelDimensionAry.Length > 0) { IsRemove = true; DicSelDimension = new Dictionary <NXObject, string>(); foreach (NXObject single in SelDimensionAry) { DicSelDimension.Add(single, single.GetType().ToString()); } } RepairDimen.Text = string.Format(@"Remove({0})", SelDimensionAry.Length); //foreach (KeyValuePair<NXObject, string> kvp in DicSelDimension) //{ // //恢復原始顏色 // string oldColor = ""; // try // { // //第二次以上指定顏色的話,抓出來的顏色就不是內建顏色EX:125->108->186,抓到的是108 // oldColor = kvp.Key.GetStringAttribute(CaxME.DimenAttr.OldColor); // //內建原始顏色 // oldColor = "125"; // } // catch (System.Exception ex) // { // oldColor = "125"; // } // CaxME.SetDimensionColor(kvp.Key, Convert.ToInt32(oldColor)); // //取得泡泡資訊 // string BallonNum = ""; // try // { // BallonNum = kvp.Key.GetStringAttribute(CaxME.DimenAttr.BallonNum); // } // catch (System.Exception ex) // { // BallonNum = ""; // } // if (BallonNum != "") // { // CaxME.DeleteBallon(BallonNum); // } // kvp.Key.DeleteAllAttributesByType(NXObject.AttributeType.String); //} //MessageBox.Show("移除成功"); } catch (System.Exception ex) { return; } }
private void OK_Click(object sender, EventArgs e) { //Part上傳 List <string> ListPartName = new List <string>(); string[] PartText; foreach (KeyValuePair <string, PartDirData> kvp in DicPartDirData) { //判斷Part是否存在 if (!File.Exists(kvp.Value.PartLocalDir)) { CaxLog.ShowListingWindow("Part不存在,無法上傳"); return; } try { File.Copy(kvp.Value.PartLocalDir, kvp.Value.PartServer1Dir, true); } catch (System.Exception ex) { CaxLog.ShowListingWindow(Path.GetFileName(kvp.Value.PartLocalDir) + "上傳失敗"); this.Close(); } ListPartName.Add(kvp.Key + ".prt"); } PartText = ListPartName.ToArray(); System.IO.File.WriteAllLines(string.Format(@"{0}\{1}", Server_OP_Folder, "PartNameText_CAM.txt"), PartText); //Excel上傳 if (File.Exists(sExcelDirData.ExcelShopDocLocalDir)) { try { File.Copy(sExcelDirData.ExcelShopDocLocalDir, sExcelDirData.ExcelShopDocServerDir, true); } catch (System.Exception ex) { CaxLog.ShowListingWindow("ShopDoc.xls上傳失敗"); this.Close(); } } //NC上傳 //判斷NC是否存在 if (Directory.Exists(sNCProgramDirData.NCProgramLocalDir)) { try { CaxPublic.DirectoryCopy(sNCProgramDirData.NCProgramLocalDir, sNCProgramDirData.NCProgramServerDir, true); } catch (System.Exception ex) { CaxLog.ShowListingWindow("NC上傳失敗"); this.Close(); } } MessageBox.Show("上傳完成!"); this.Close(); }
private void OK_Click(object sender, EventArgs e) { CaxPart.SaveAll(); //Part上傳 List <string> ListPartName = new List <string>(); status = CaxMEUpLoad.UploadPart(DicPartDirData, out ListPartName); //status = Function.UploadPart(DicPartDirData, out ListPartName); if (!status) { this.Close(); return; } System.IO.File.WriteAllLines(string.Format(@"{0}\{1}\{2}", sDownUpLoadDat.Server_ShareStr, "OP" + cCaxMEUpLoad.OpNum, "PartNameText_OIS.txt"), ListPartName.ToArray()); //新增TE的下載文件 if (TEDownloadText.Count > 0) { string PartNameText_CAM = string.Format(@"{0}\{1}\{2}", sDownUpLoadDat.Server_ShareStr, "OP" + cCaxMEUpLoad.OpNum, "PartNameText_CAM.txt"); foreach (string i in TEDownloadText) { using (StreamWriter sw = File.AppendText(PartNameText_CAM)) { sw.WriteLine(i); } } } #region (註解)Excel上傳 /* * //Excel上傳 * if (File.Exists(sExcelDirData.ExcelIPQCLocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelIPQCLocalDir, sExcelDirData.ExcelIPQCServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("IPQC.xls上傳失敗"); * this.Close(); * } * } * * if (File.Exists(sExcelDirData.ExcelSelfCheckLocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelSelfCheckLocalDir, sExcelDirData.ExcelSelfCheckServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("SelfCheck.xls上傳失敗"); * this.Close(); * } * } * * if (File.Exists(sExcelDirData.ExcelIQCLocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelIQCLocalDir, sExcelDirData.ExcelIQCServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("IQC.xls上傳失敗"); * this.Close(); * } * } * * if (File.Exists(sExcelDirData.ExcelFAILocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelFAILocalDir, sExcelDirData.ExcelFAIServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("FAI.xls上傳失敗"); * this.Close(); * } * } * * if (File.Exists(sExcelDirData.ExcelFQCLocalDir)) * { * try * { * File.Copy(sExcelDirData.ExcelFQCLocalDir, sExcelDirData.ExcelFQCServerDir, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("FQC.xls上傳失敗"); * this.Close(); * } * } */ #endregion int SheetCount = 0; NXOpen.Tag[] SheetTagAry = null; theUfSession.Draw.AskDrawings(out SheetCount, out SheetTagAry); List <NXOpen.Drawings.DrawingSheet> listDrawingSheet = new List <NXOpen.Drawings.DrawingSheet>(); for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); listDrawingSheet.Add(CurrentSheet); } #region 輸出OIS //輸出PDF if (ExportPFD.Checked == true) { //建立PFD資料夾 string PFDFullPath = string.Format(@"{0}\{1}", sDownUpLoadDat.Local_Folder_OIS, cCaxMEUpLoad.PartName + "_OIS" + cCaxMEUpLoad.OpNum + ".pdf"); CaxME.CreateOISPDF(listDrawingSheet, PFDFullPath); //OIS資料夾上傳 status = CaxPublic.DirectoryCopy(sDownUpLoadDat.Local_Folder_OIS, sDownUpLoadDat.Server_Folder_OIS, true); if (!status) { MessageBox.Show("OIS資料夾複製失敗,請聯繫開發工程師"); this.Close(); } } #endregion #region 資料上傳至Database //取得WorkPart資訊並檢查資料是否完整 DadDimension.WorkPartAttribute sWorkPartAttribute = new DadDimension.WorkPartAttribute(); //status = Function.GetWorkPartAttribute(workPart, out sWorkPartAttribute); status = DadDimension.GetWorkPartAttribute(workPart, out sWorkPartAttribute); if (!status) { MessageBox.Show("量測資訊不足,僅上傳CAD檔案,上傳完成!"); this.Close(); return; } #region 取得所有量測尺寸資料 /* * //取得泡泡特徵,並記錄總共有幾個泡泡,後續比對數量用 * IdSymbolCollection BallonCollection = workPart.Annotations.IdSymbols; * IdSymbol[] BallonAry = BallonCollection.ToArray(); * int balloonCount = 0; * foreach (IdSymbol i in BallonAry) * { * try * { * i.GetStringAttribute("BalloonAtt"); * balloonCount++; * } * catch (System.Exception ex) * { * continue; * } * } * * List<CaxME.DimensionData> listDimensionData = new List<CaxME.DimensionData>(); * List<int> listBalloonCount = new List<int>(); * NXOpen.Drawings.DrawingSheet FirstSheet = null; * while (listBalloonCount.Count != balloonCount) * { * for (int i = 0; i < SheetCount; i++) * { * //打開Sheet並記錄所有OBJ * NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); * if (CurrentSheet.Name == "S1") * { * FirstSheet = CurrentSheet; * } * CurrentSheet.Open(); * CurrentSheet.View.UpdateDisplay(); * DisplayableObject[] SheetObj = CurrentSheet.View.AskVisibleObjects(); * status = CaxME.RecordDimension(SheetObj, sWorkPartAttribute, ref listDimensionData); * if (!status) * { * this.Close(); * return; * } * } * foreach (CaxME.DimensionData i in listDimensionData) * { * if (!listBalloonCount.Contains(i.ballonNum)) * { * listBalloonCount.Add(i.ballonNum); * } * } * * } */ //List<CaxME.DimensionData> listDimensionData = new List<CaxME.DimensionData>(); List <DadDimension> listDimensionData = new List <DadDimension>(); NXOpen.Drawings.DrawingSheet FirstSheet = null; for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); if (CurrentSheet.Name == "S1") { FirstSheet = CurrentSheet; } CurrentSheet.Open(); CurrentSheet.View.UpdateDisplay(); DisplayableObject[] SheetObj = CurrentSheet.View.AskVisibleObjects(); status = Com_Dimension.RecordDimension(SheetObj, sWorkPartAttribute, ref listDimensionData); if (!status) { this.Close(); return; } } #endregion //切回首頁 if (FirstSheet != null) { FirstSheet.Open(); } //由料號查Com_PEMain Com_PEMain cCom_PEMain = new Com_PEMain(); status = CaxSQL.GetCom_PEMain(cCaxMEUpLoad.CusName, cCaxMEUpLoad.PartName, cCaxMEUpLoad.CusRev, cCaxMEUpLoad.OpRev, out cCom_PEMain); if (!status) { return; } //由Com_PEMain和Op查Com_PartOperation Com_PartOperation cCom_PartOperation = new Com_PartOperation(); status = CaxSQL.GetCom_PartOperation(cCom_PEMain, cCaxMEUpLoad.OpNum, out cCom_PartOperation); if (!status) { return; } #region (註解)由excelType查meExcelSrNo //Sys_MEExcel sysMEExcel = new Sys_MEExcel(); //try //{ // sysMEExcel = session.QueryOver<Sys_MEExcel>().Where(x => x.meExcelType == meExcelType).SingleOrDefault<Sys_MEExcel>(); //} //catch (System.Exception ex) //{ // MessageBox.Show("資料庫中沒有此料號的紀錄,故無法上傳量測尺寸,僅成功上傳實體檔案"); // return; //} #endregion #region 比對資料庫MEMain是否有同筆數據 IList <Com_MEMain> ListCom_MEMain = new List <Com_MEMain>(); CaxSQL.GetListCom_MEMain(out ListCom_MEMain); bool Is_Exist = false; Com_MEMain currentComMEMain = new Com_MEMain(); foreach (Com_MEMain i in ListCom_MEMain) { if (i.comPartOperation == cCom_PartOperation) { Is_Exist = true; currentComMEMain = i; break; } } #endregion #region 如果本次上傳的資料不存在於資料庫,則開始上傳資料;如果已存在資料庫,則詢問是否要更新尺寸 bool Is_Update = true; if (Is_Exist) { if (eTaskDialogResult.Yes == CaxPublic.ShowMsgYesNo("此料號已存在上一次的標註尺寸資料,是否更新?")) { #region 刪除Com_Dimension資料表 IList <Com_Dimension> ListCom_Dimension = new List <Com_Dimension>(); CaxSQL.GetListCom_Dimension(currentComMEMain, out ListCom_Dimension); foreach (Com_Dimension i in ListCom_Dimension) { CaxSQL.Delete <Com_Dimension>(i); } #endregion #region 刪除Com_MEMain資料表 Com_MEMain cCom_MEMain = new Com_MEMain(); CaxSQL.GetCom_MEMain(cCom_PartOperation, out cCom_MEMain); CaxSQL.Delete <Com_MEMain>(cCom_MEMain); #endregion } else { Is_Update = false; } } if (Is_Update) { #region 整理資料並上傳 try { Com_MEMain cCom_MEMain = new Com_MEMain(); cCom_MEMain.comPartOperation = cCom_PartOperation; //cCom_MEMain.sysMEExcel = sysMEExcel; cCom_MEMain.partDescription = sWorkPartAttribute.partDescription; cCom_MEMain.createDate = sWorkPartAttribute.createDate; cCom_MEMain.material = sWorkPartAttribute.material; cCom_MEMain.draftingVer = sWorkPartAttribute.draftingVer; IList <Com_Dimension> listCom_Dimension = new List <Com_Dimension>(); foreach (DadDimension i in listDimensionData) { Com_Dimension cCom_Dimension = new Com_Dimension(); cCom_Dimension.MappingData(i); cCom_Dimension.comMEMain = cCom_MEMain; listCom_Dimension.Add(cCom_Dimension); //Com_Dimension cCom_Dimension = new Com_Dimension(); //cCom_Dimension.comMEMain = cCom_MEMain; //CaxME.MappingData(i, ref cCom_Dimension); //listCom_Dimension.Add(cCom_Dimension); } cCom_MEMain.comDimension = listCom_Dimension; CaxSQL.Save <Com_MEMain>(cCom_MEMain); } catch (System.Exception ex) { MessageBox.Show("上傳資料庫時發生錯誤,僅上傳實體檔案"); } #endregion } #endregion #endregion CaxPart.Save(); MessageBox.Show("上傳完成!"); this.Close(); }
private void comboBoxNCgroup_SelectedIndexChanged(object sender, EventArgs e) { PostPanel.Rows.Clear(); //清空superGrid資料&機台資訊 OperPanel.Rows.Clear(); MachineNo.Text = ""; //取得comboBox資料 CurrentNCGroup = comboBoxNCgroup.Text; #region 建立NC資料夾 string Is_Local = ""; Is_Local = Environment.GetEnvironmentVariable("UGII_ENV_FILE"); if (Is_Local != null) { //CaxPublic.GetAllPath("TE", displayPart.FullPath, out sPartInfo, ref cMETE_Download_Upload_Path); //if (!cMETE_Download_Upload_Path.Local_Folder_CAM.Contains("Oper1")) //{ // NCFolderPath = string.Format(@"{0}\{1}_{2}", cMETE_Download_Upload_Path.Local_Folder_CAM, CurrentNCGroup, "NC"); //} //else //{ // NCFolderPath = string.Format(@"{0}\{1}_{2}", Path.GetDirectoryName(displayPart.FullPath), CurrentNCGroup, "NC"); //} if (displayPart.FullPath.Contains("D:\\Globaltek\\Task")) { CaxPublic.GetAllPath("TE", displayPart.FullPath, out sPartInfo, ref cMETE_Download_Upload_Path); NCFolderPath = string.Format(@"{0}\{1}_{2}", cMETE_Download_Upload_Path.Local_Folder_CAM, CurrentNCGroup, "NC"); } else { NCFolderPath = string.Format(@"{0}\{1}_{2}", System.IO.Path.GetDirectoryName(displayPart.FullPath), CurrentNCGroup, "NC"); } } else { NCFolderPath = string.Format(@"{0}\{1}_{2}", Path.GetDirectoryName(displayPart.FullPath), CurrentNCGroup, "NC"); } if (!Directory.Exists(NCFolderPath)) { System.IO.Directory.CreateDirectory(NCFolderPath); } #endregion //取得選擇的NC foreach (NXOpen.CAM.NCGroup ncGroup in NCGroupAry) { if (CurrentNCGroup == ncGroup.Name) { SelectNCGroup = ncGroup; } } //取得Group下的所有OP OperationObj = SelectNCGroup.GetMembers(); #region 填值到SuperGridOperPanel GridRow gridRow = new GridRow(); foreach (KeyValuePair <string, string> kvp in DicNCData) { if (CurrentNCGroup != kvp.Key) { continue; } string[] splitOperName = kvp.Value.Split(','); for (int i = 0; i < splitOperName.Length; i++) { gridRow = new GridRow(false, splitOperName[i], ""); OperPanel.Rows.Add(gridRow); } } #endregion //填機台到MachineNo欄位並取得對應後處理器 try { this.MachineNo.Text = PostProcessorDlg.SelectNCGroup.GetStringAttribute("MachineNo"); } catch (Exception exception) { this.MachineNo.Text = ""; } if (this.MachineNo.Text == "") { gridRow = new GridRow(""); PostProcessorDlg.PostPanel.Rows.Add(gridRow); for (int k = 0; k < (int)PostProcessorDlg.TemplatePostData.Length; k++) { if (k > 6) { string templatePostData = PostProcessorDlg.TemplatePostData[k]; char[] chrArray = new char[] { ',' }; gridRow = new GridRow(templatePostData.Split(chrArray)[0]); PostProcessorDlg.PostPanel.Rows.Add(gridRow); } } } else { gridRow = new GridRow(""); PostProcessorDlg.PostPanel.Rows.Add(gridRow); ISession session = MyHibernateHelper.SessionFactory.OpenSession(); List <string> strs = new List <string>(); string[] strArrays1 = this.MachineNo.Text.Split(new char[] { ',' }); int num = 0; while (num < (int)strArrays1.Length) { string str = strArrays1[num]; Sys_MachineNo sysMachineNo = session.QueryOver <Sys_MachineNo>().Where((Sys_MachineNo x) => x.machineNo == str).SingleOrDefault <Sys_MachineNo>(); if (sysMachineNo.postprocessor != null) { string[] strArrays2 = sysMachineNo.postprocessor.Split(new char[] { ',' }); for (int l = 0; l < (int)strArrays2.Length; l++) { string str1 = strArrays2[l]; if (!strs.Contains(str1)) { strs.Add(str1); } } num++; } else { for (int m = 0; m < (int)PostProcessorDlg.TemplatePostData.Length; m++) { if (m > 6) { string templatePostData1 = PostProcessorDlg.TemplatePostData[m]; char[] chrArray1 = new char[] { ',' }; gridRow = new GridRow(templatePostData1.Split(chrArray1)[0]); PostProcessorDlg.PostPanel.Rows.Add(gridRow); } } break; } } foreach (string str2 in strs) { gridRow = new GridRow(str2); PostProcessorDlg.PostPanel.Rows.Add(gridRow); } } /* * try * { * MachineNo.Text = SelectNCGroup.GetStringAttribute("MachineNo"); * //postprocessor = SelectNCGroup.GetStringAttribute("postprocessor"); * } * catch (System.Exception ex) * { * MachineNo.Text = ""; * postprocessor = ""; * } * * if (postprocessor != "") * { * string[] splitPostProcessor = postprocessor.Split(','); * string empty = ""; * row = new GridRow(empty); * PostPanel.Rows.Add(row); * for (int i = 0; i < splitPostProcessor.Length; i++) * { * row = new GridRow(splitPostProcessor[i]); * PostPanel.Rows.Add(row); * } #region 在ShopDoc中有指定機台並且有後處理 * if (splitPostProcessor.Length == 1) * { * //如果只有一個後處理,則自動對應 * for (int i = 0; i < OperPanel.Rows.Count;i++ ) * { * OperPanel.GetCell(i, 2).Value = splitPostProcessor[0]; * } * } #endregion * } * else * { #region 在ShopDoc中沒指定機台or有指定機台但沒有後處理,則顯示全部後處理 * string empty = ""; * row = new GridRow(empty); * PostPanel.Rows.Add(row); * for (int i = 0; i < TemplatePostData.Length; i++) * { * if (i > 6) * { * string PostName = TemplatePostData[i].Split(',')[0]; * row = new GridRow(PostName); * PostPanel.Rows.Add(row); * } * } #endregion * } */ }
//------------------------------------------------------------------------------ // Explicit Activation // This entry point is used to activate the application explicitly //------------------------------------------------------------------------------ public static int Main(string[] args) { int retValue = 0; try { theProgram = new Program(); Session theSession = Session.GetSession(); Part workPart = theSession.Parts.Work; Part displayPart = theSession.Parts.Display; int module_id; theUfSession.UF.AskApplicationModule(out module_id); if (module_id != UFConstants.UF_APP_DRAFTING) { MessageBox.Show("請先轉換為製圖模組後再執行!"); return(retValue); } bool status, Is_Keep; //抓取目前圖紙數量和Tag //取得全部尺寸資料,並整理出尺寸落在的圖紙&尺寸設定的自定義泡泡再填入Panel中(當使用者點自定義時使用) int SheetCount = 0; NXOpen.Tag[] SheetTagAry = null; theUfSession.Draw.AskDrawings(out SheetCount, out SheetTagAry); Dictionary <NXObject, Sheet_DefineNum> DicUserDefine = new Dictionary <NXObject, Sheet_DefineNum>(); for (int i = 0; i < SheetCount; i++) { NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); CurrentSheet.Open(); CurrentSheet.View.UpdateDisplay(); NXObject[] SheetObj = CaxME.FindObjectsInView(CurrentSheet.View.Tag).ToArray(); GetUserDefineData(SheetObj, CurrentSheet.Name, ref DicUserDefine); } NXOpen.Drawings.DrawingSheet DefaultSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[0]); DefaultSheet.Open(); Application.EnableVisualStyles(); CreateBallonDlg cCreateBallonDlg = new CreateBallonDlg(DicUserDefine); FormUtilities.ReparentForm(cCreateBallonDlg); System.Windows.Forms.Application.Run(cCreateBallonDlg); if (cCreateBallonDlg.DialogResult == DialogResult.Yes) { Is_Keep = cCreateBallonDlg.Is_Keep; cCreateBallonDlg.Dispose(); } else { ((NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[0])).Open(); cCreateBallonDlg.Dispose(); theProgram.Dispose(); return(retValue); } #region 前置處理 string Is_Local = Environment.GetEnvironmentVariable("UGII_ENV_FILE"); CoordinateData cCoordinateData = new CoordinateData(); if (Is_Local != null) { //取得圖紙範圍資料Data status = CaxGetDatData.GetDraftingCoordinateData(out cCoordinateData); if (!status) { return(retValue); } } else { string DraftingCoordinate_dat = "DraftingCoordinate.dat"; string DraftingCoordinate_Path = string.Format(@"{0}\{1}", "D:", DraftingCoordinate_dat); CaxPublic.ReadCoordinateData(DraftingCoordinate_Path, out cCoordinateData); } //圖紙長、高 double SheetLength = 0; double SheetHeight = 0; //取得最後一顆泡泡的數字 int MaxBallonNum; try { MaxBallonNum = Convert.ToInt32(workPart.GetStringAttribute(CaxME.DimenAttr.BallonNum)); } catch (System.Exception ex) { MaxBallonNum = 0; } #endregion //重新產生泡泡 if (Is_Keep == false) { #region 刪除全部泡泡 IdSymbolCollection BallonCollection = workPart.Annotations.IdSymbols; IdSymbol[] BallonAry = BallonCollection.ToArray(); foreach (IdSymbol i in BallonAry) { try { i.GetStringAttribute("BalloonAtt"); } catch (System.Exception ex) { continue; } CaxPublic.DelectObject(i); } workPart.DeleteAttributeByTypeAndTitle(NXObject.AttributeType.String, "BALLONNUM"); #endregion #region 存DicDimenData(string=檢具名稱,DimenData=尺寸物件、泡泡座標) DefineParam.DicDimenData = new Dictionary <string, List <DimenData> >(); for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); //string SheetName = "S" + (i + 1).ToString(); //CaxME.SheetRename(CurrentSheet, SheetName); CurrentSheet.Open(); if (i == 0) { DefineParam.FirstDrawingSheet = CurrentSheet; } //取得圖紙長、高 SheetLength = CurrentSheet.Length; SheetHeight = CurrentSheet.Height; //DisplayableObject[] SheetObj = CurrentSheet.View.AskVisibleObjects(); NXObject[] SheetObj = CaxME.FindObjectsInView(CurrentSheet.View.Tag).ToArray(); foreach (NXObject singleObj in SheetObj) { #region 刪除尺寸數量產生的文字(ex:a-c) string dicount = "", chekcLevel = ""; try { dicount = singleObj.GetStringAttribute(CaxME.DimenAttr.DiCount); } catch (System.Exception ex) { dicount = ""; } try { chekcLevel = singleObj.GetStringAttribute(CaxME.DimenAttr.CheckLevel); } catch (System.Exception ex) { chekcLevel = ""; } if (dicount != "" && chekcLevel == "") { CaxPublic.DelectObject(singleObj); } #endregion string Gauge = "", AssignExcelType = ""; #region 判斷是否有屬性,沒有屬性就跳下一個 try{ AssignExcelType = singleObj.GetStringAttribute(CaxME.DimenAttr.AssignExcelType); } catch (System.Exception ex) { continue; } try{ Gauge = singleObj.GetStringAttribute(CaxME.DimenAttr.Gauge); } catch (System.Exception ex) { } #endregion //事先塞入該尺寸所在Sheet singleObj.SetAttribute("SheetName", CurrentSheet.Name); //string DimeType = singleObj.GetType().ToString(); CaxME.BoxCoordinate cBoxCoordinate = new CaxME.BoxCoordinate(); //GetTextBoxCoordinate(DimeType, singleObj, out cBoxCoordinate); //可以將NXOpen直接轉型成Annotation CaxME.GetTextBoxCoordinate(((NXOpen.Annotations.Annotation)singleObj).Tag, out cBoxCoordinate); #region 計算泡泡座標 DimenData sDimenData = new DimenData(); sDimenData.Obj = singleObj; sDimenData.CurrentSheet = CurrentSheet; Functions.CalculateBallonCoordinate(cBoxCoordinate, ref sDimenData); #endregion if (Gauge != "") { List <DimenData> ListDimenData = new List <DimenData>(); status = DefineParam.DicDimenData.TryGetValue(Gauge, out ListDimenData); if (!status) { ListDimenData = new List <DimenData>(); } ListDimenData.Add(sDimenData); DefineParam.DicDimenData[Gauge] = ListDimenData; } } } #endregion //插入泡泡 int BallonNum = 0; InsertBallon(ref BallonNum, cCoordinateData, SheetHeight, SheetLength, "BalloonAtt"); //將最後一顆泡泡的數字插入零件中 workPart.SetAttribute(CaxME.DimenAttr.BallonNum, BallonNum.ToString()); } //保留泡泡 else { #region 存DicDimenData(string=檢具名稱,DimenData=尺寸物件、泡泡座標) DefineParam.DicDimenData = new Dictionary <string, List <DimenData> >(); for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); CurrentSheet.Open(); if (i == 0) { DefineParam.FirstDrawingSheet = CurrentSheet; } //取得圖紙長、高 SheetLength = CurrentSheet.Length; SheetHeight = CurrentSheet.Height; //DisplayableObject[] SheetObj = CurrentSheet.View.AskVisibleObjects(); NXObject[] SheetObj = CaxME.FindObjectsInView(CurrentSheet.View.Tag).ToArray(); foreach (NXObject singleObj in SheetObj) { //判斷是否取到舊的尺寸,如果是就跳下一個 string OldBallonNum = ""; try { OldBallonNum = singleObj.GetStringAttribute(CaxME.DimenAttr.BallonNum); continue; } catch (System.Exception ex) { } //判斷是否有屬性,沒有屬性就跳下一個 string Gauge = "", AssignExcelType = ""; try { AssignExcelType = singleObj.GetStringAttribute(CaxME.DimenAttr.AssignExcelType); } catch (System.Exception ex) { continue; } try { Gauge = singleObj.GetStringAttribute(CaxME.DimenAttr.Gauge); } catch (System.Exception ex) { } //事先塞入該尺寸所在Sheet singleObj.SetAttribute("SheetName", CurrentSheet.Name); //string DimeType = ""; //DimeType = singleObj.GetType().ToString(); CaxME.BoxCoordinate cBoxCoordinate = new CaxME.BoxCoordinate(); //GetTextBoxCoordinate(DimeType, singleObj, out cBoxCoordinate); //CaxLog.ShowListingWindow(cBoxCoordinate.lower_left[0].ToString()); CaxME.GetTextBoxCoordinate(((NXOpen.Annotations.Annotation)singleObj).Tag, out cBoxCoordinate); //CaxLog.ShowListingWindow(cBoxCoordinate.lower_left[0].ToString()); #region 計算泡泡座標 DimenData sDimenData = new DimenData(); sDimenData.Obj = singleObj; sDimenData.CurrentSheet = CurrentSheet; Functions.CalculateBallonCoordinate(cBoxCoordinate, ref sDimenData); #endregion if (Gauge != "") { List <DimenData> ListDimenData = new List <DimenData>(); status = DefineParam.DicDimenData.TryGetValue(Gauge, out ListDimenData); if (!status) { ListDimenData = new List <DimenData>(); } ListDimenData.Add(sDimenData); DefineParam.DicDimenData[Gauge] = ListDimenData; } } } #endregion if (DefineParam.DicDimenData.Count != 0) { //插入泡泡 InsertBallon(ref MaxBallonNum, cCoordinateData, SheetHeight, SheetLength, "BalloonAtt"); //將最後一顆泡泡的數字插入零件中 workPart.SetAttribute(CaxME.DimenAttr.BallonNum, MaxBallonNum.ToString()); } } //切回第一張Sheet DefineParam.FirstDrawingSheet.Open(); MessageBox.Show("完成"); theProgram.Dispose(); } catch (NXOpen.NXException ex) { // ---- Enter your exception handling code here ----- CaxLog.ShowListingWindow(ex.ToString()); } return(retValue); }
private void Upload_Click(object sender, EventArgs e) { try { int SheetCount = 0; NXOpen.Tag[] SheetTagAry = null; theUfSession.Draw.AskDrawings(out SheetCount, out SheetTagAry); //判斷是否需要出PDF List <DrawingSheet> drawingSheets = new List <DrawingSheet>(); for (int j = 0; j < SheetCount; j++) { drawingSheets.Add((DrawingSheet)NXObjectManager.Get(SheetTagAry[j])); } if (this.ExportPDF.Checked) { if (!Directory.Exists(this.L_Folder)) { Directory.CreateDirectory(this.L_Folder); } string str1 = string.Format(@"{0}\{1}.pdf", this.L_Folder, Path.GetFileNameWithoutExtension(FixInsUploadDlg.displayPart.FullPath)); CaxME.CreateOISPDF(drawingSheets, str1); //傳OIS圖到SERVER if (!Directory.Exists(S_Folder)) { System.IO.Directory.CreateDirectory(S_Folder); } CaxPublic.DirectoryCopy(this.L_Folder, S_Folder, true); } //取得WorkPart資訊並檢查資料是否完整 DadDimension.WorkPartAttribute sWorkPartAttribute = new DadDimension.WorkPartAttribute(); status = DadDimension.GetWorkPartAttribute(workPart, out sWorkPartAttribute); if (!status) { if (this.ExportPDF.Checked) { MessageBox.Show("量測資訊不足,僅上傳PDF檔案,上傳完成!"); } else { MessageBox.Show("量測資訊不足,無法上傳資料!"); } this.Close(); return; } //if (sWorkPartAttribute.draftingVer == "" || sWorkPartAttribute.draftingDate == "" || // sWorkPartAttribute.partDescription == "" || sWorkPartAttribute.material == "") //{ // MessageBox.Show("量測資訊不足"); // this.Close(); // return; //} //取得所有量測尺寸資料 List <DadDimension> listDimensionData = new List <DadDimension>(); for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ NXOpen.Drawings.DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); CurrentSheet.Open(); CurrentSheet.View.UpdateDisplay(); DisplayableObject[] SheetObj = CurrentSheet.View.AskVisibleObjects(); status = Com_FixDimension.RecordFixDimension(SheetObj, sWorkPartAttribute, ref listDimensionData); if (!status) { this.Close(); return; } } //將圖片存到本機Globaltek內 for (int i = 0; i < PicNameStr.Length; i++) { string destFileName = string.Format(@"{0}\{1}", this.L_Folder, PicNameStr[i]); File.Copy(PicPathStr[i], destFileName, true); } //由料號查Com_PEMain Com_PEMain cCom_PEMain = new Com_PEMain(); status = CaxSQL.GetCom_PEMain(cCaxUpLoad.CusName, cCaxUpLoad.PartName, cCaxUpLoad.CusRev, cCaxUpLoad.OpRev, out cCom_PEMain); if (!status) { return; } //由Com_PEMain和Op查Com_PartOperation Com_PartOperation cCom_PartOperation = new Com_PartOperation(); status = CaxSQL.GetCom_PartOperation(cCom_PEMain, cCaxUpLoad.OpNum, out cCom_PartOperation); if (!status) { return; } #region 比對資料庫FixInspection是否有同筆數據 bool Is_Exit = true; Com_FixInspection cCom_FixInspection = new Com_FixInspection(); CaxSQL.GetCom_FixInspection(cCom_PartOperation, Path.GetFileNameWithoutExtension(workPart.FullPath), out cCom_FixInspection); if (cCom_FixInspection == null) { Is_Exit = false; } if (Is_Exit && eTaskDialogResult.Yes == CaxPublic.ShowMsgYesNo("此檢、治具已存在上一筆資料,是否更新?")) { #region 刪除Com_FixDimension IList <Com_FixDimension> listComFixDimension = new List <Com_FixDimension>(); CaxSQL.GetListCom_FixDimension(cCom_FixInspection, out listComFixDimension); foreach (Com_FixDimension i in listComFixDimension) { CaxSQL.Delete <Com_FixDimension>(i); } #endregion #region 刪除Com_FixInspection CaxSQL.Delete <Com_FixInspection>(cCom_FixInspection); #endregion Is_Exit = false; } if (!Is_Exit) { cCom_FixInspection = new Com_FixInspection() { comPartOperation = cCom_PartOperation, fixinsDescription = this.Desc.Text, fixinsERP = this.ERPNo.Text, fixinsNo = this.FixInsNo.Text, fixPicPath = this.S_PicPath, fixPartName = Path.GetFileNameWithoutExtension(FixInsUploadDlg.workPart.FullPath) }; IList <Com_FixDimension> listCom_FixDimension = new List <Com_FixDimension>(); foreach (DadDimension i in listDimensionData) { //Com_FixDimension cCom_FixDimension = new Com_FixDimension() //{ // comFixInspection = comFixInspection //}; ////cCom_FixDimension.comFixInspection = comFixInspection; //CaxME.MappingData(i, ref cCom_FixDimension); //listCom_FixDimension.Add(cCom_FixDimension); Com_FixDimension cCom_FixDimension = new Com_FixDimension(); cCom_FixDimension.MappingData(i); cCom_FixDimension.comFixInspection = cCom_FixInspection; listCom_FixDimension.Add(cCom_FixDimension); } cCom_FixInspection.comFixDimension = listCom_FixDimension; CaxSQL.Save <Com_FixInspection>(cCom_FixInspection); //傳OIS圖到SERVER if (!Directory.Exists(S_Folder)) { System.IO.Directory.CreateDirectory(S_Folder); } CaxPublic.DirectoryCopy(this.L_Folder, S_Folder, true); } #endregion MessageBox.Show("上傳完成"); base.Close(); } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); } }
private void TEUploadDlg_Load(object sender, EventArgs e) { //取得METEDownload_Upload.dat CaxGetDatData.GetMETEDownload_Upload(out cMETE_Download_Upload_Path); //取得料號 PartNoLabel.Text = Path.GetFileNameWithoutExtension(displayPart.FullPath).Split('_')[0]; OISLabel.Text = Path.GetFileNameWithoutExtension(displayPart.FullPath).Split('_')[1]; //將Local_Folder_OIS先暫存起來,然後改變成Server路徑 tempLocal_Folder_CAM = cMETE_Download_Upload_Path.Local_Folder_CAM; CaxPublic.GetAllPath("TE", displayPart.FullPath, ref cMETE_Download_Upload_Path); /* * //拆零件路徑字串取得客戶名稱、料號、版本 * string PartFullPath = displayPart.FullPath; * string[] SplitPath = PartFullPath.Split('\\'); * PartInfo.CusName = SplitPath[3]; * PartInfo.PartNo = SplitPath[4]; * PartInfo.CusRev = SplitPath[5]; * PartInfo.OpNum = Regex.Replace(Path.GetFileNameWithoutExtension(displayPart.FullPath).Split('_')[1], "[^0-9]", ""); * #region 取代Server路徑字串 * cMETE_Download_Upload_Path.Server_ShareStr = cMETE_Download_Upload_Path.Server_ShareStr.Replace("[Server_IP]", cMETE_Download_Upload_Path.Server_IP); * cMETE_Download_Upload_Path.Server_ShareStr = cMETE_Download_Upload_Path.Server_ShareStr.Replace("[CusName]", PartInfo.CusName); * cMETE_Download_Upload_Path.Server_ShareStr = cMETE_Download_Upload_Path.Server_ShareStr.Replace("[PartNo]", PartInfo.PartNo); * cMETE_Download_Upload_Path.Server_ShareStr = cMETE_Download_Upload_Path.Server_ShareStr.Replace("[CusRev]", PartInfo.CusRev); * Server_OP_Folder = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, "OP" + PartInfo.OpNum); #endregion * #region 取代Local路徑字串 * //將Local_Folder_OIS先暫存起來,然後改變成Server路徑 * tempLocal_Folder_CAM = cMETE_Download_Upload_Path.Local_Folder_CAM; * cMETE_Download_Upload_Path.Local_ShareStr = cMETE_Download_Upload_Path.Local_ShareStr.Replace("[Local_IP]", cMETE_Download_Upload_Path.Local_IP); * cMETE_Download_Upload_Path.Local_ShareStr = cMETE_Download_Upload_Path.Local_ShareStr.Replace("[CusName]", PartInfo.CusName); * cMETE_Download_Upload_Path.Local_ShareStr = cMETE_Download_Upload_Path.Local_ShareStr.Replace("[PartNo]", PartInfo.PartNo); * cMETE_Download_Upload_Path.Local_ShareStr = cMETE_Download_Upload_Path.Local_ShareStr.Replace("[CusRev]", PartInfo.CusRev); * cMETE_Download_Upload_Path.Local_Folder_CAM = cMETE_Download_Upload_Path.Local_Folder_CAM.Replace("[Local_ShareStr]", cMETE_Download_Upload_Path.Local_ShareStr); * cMETE_Download_Upload_Path.Local_Folder_CAM = cMETE_Download_Upload_Path.Local_Folder_CAM.Replace("[Oper1]", PartInfo.OpNum); #endregion */ DicPartDirData = new Dictionary <string, PartDirData>(); #region 處理Part的路徑 //預先加入總組立檔 PartDirData sPartDirData = new PartDirData(); sPartDirData.PartLocalDir = displayPart.FullPath; sPartDirData.PartServer1Dir = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, Path.GetFileName(displayPart.FullPath)); //sPartDirData.PartServer2Dir = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, "OP" + PartInfo.OIS); DicPartDirData.Add(Path.GetFileNameWithoutExtension(displayPart.FullPath), sPartDirData); listView1.Items.Add(Path.GetFileName(displayPart.FullPath)); //加入Comp資訊 NXOpen.Assemblies.ComponentAssembly casm = displayPart.ComponentAssembly; List <NXOpen.Assemblies.Component> ListChildrenComp = new List <NXOpen.Assemblies.Component>(); CaxAsm.GetCompChildren(casm.RootComponent, ref ListChildrenComp); foreach (NXOpen.Assemblies.Component i in ListChildrenComp) { sPartDirData = new PartDirData(); //判斷Server是否已存在此檔案,如果有就不上傳 string ServerPartPath = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, Path.GetFileName(((Part)i.Prototype).FullPath)); if (File.Exists(ServerPartPath)) { if (!((Part)i.Prototype).FullPath.Contains(PartInfo.OpNum)) { continue; } } sPartDirData.PartLocalDir = ((Part)i.Prototype).FullPath; sPartDirData.PartServer1Dir = ServerPartPath; DicPartDirData.Add(i.Name, sPartDirData); listView1.Items.Add(Path.GetFileName(((Part)i.Prototype).FullPath)); //sPartDirData.PartServer2Dir = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, "OP" + PartInfo.OIS); } //foreach (NXOpen.Assemblies.Component i in ListChildrenComp) //{ // sPartDirData = new PartDirData(); // sPartDirData.PartLocalDir = ((Part)i.Prototype).FullPath; // sPartDirData.PartServer1Dir = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, Path.GetFileName(((Part)i.Prototype).FullPath)); // //sPartDirData.PartServer2Dir = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, "OP" + PartInfo.OIS); // DicPartDirData.Add(i.Name, sPartDirData); // listView1.Items.Add(Path.GetFileName(((Part)i.Prototype).FullPath)); //} #endregion #region 處理Excel的路徑 string[] FolderFile = System.IO.Directory.GetFileSystemEntries(cMETE_Download_Upload_Path.Local_Folder_CAM, "*.xls"); string Server_Folder_CAM = ""; Server_Folder_CAM = tempLocal_Folder_CAM.Replace("[Local_ShareStr]", cMETE_Download_Upload_Path.Server_ShareStr); Server_Folder_CAM = Server_Folder_CAM.Replace("[Oper1]", PartInfo.OpNum); long FileTime = new long(); for (int i = 0; i < FolderFile.Length; i++) { System.IO.FileInfo ExcelInfo = new System.IO.FileInfo(FolderFile[i]); if (ExcelInfo.LastAccessTime.ToFileTime() > FileTime) { FileTime = ExcelInfo.LastAccessTime.ToFileTime(); sExcelDirData.ExcelShopDocLocalDir = FolderFile[i]; sExcelDirData.ExcelShopDocServerDir = string.Format(@"{0}\{1}", Server_Folder_CAM, ExcelInfo.Name); } } if (File.Exists(sExcelDirData.ExcelShopDocLocalDir)) { listView1.Items.Add(Path.GetFileName(sExcelDirData.ExcelShopDocLocalDir)); } #endregion #region 處理NC程式的路徑 string Local_NC_Folder = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Local_Folder_CAM, "NC"); if (Directory.Exists(Local_NC_Folder)) { sNCProgramDirData.NCProgramLocalDir = Local_NC_Folder; sNCProgramDirData.NCProgramServerDir = string.Format(@"{0}\{1}", Server_Folder_CAM, "NC"); listView1.Items.Add("NC資料夾"); } #endregion }
private void MEUploadDlg_Load(object sender, EventArgs e) { //取得METEDownload_Upload.dat CaxGetDatData.GetMETEDownload_Upload(out cMETE_Download_Upload_Path); //取得料號 PartNoLabel.Text = Path.GetFileNameWithoutExtension(displayPart.FullPath).Split('_')[0]; OISLabel.Text = Path.GetFileNameWithoutExtension(displayPart.FullPath).Split('_')[1]; //將Local_Folder_OIS先暫存起來,然後改變成Server路徑 tempLocal_Folder_OIS = cMETE_Download_Upload_Path.Local_Folder_OIS; CaxPublic.GetAllPath("ME", displayPart.FullPath, ref cMETE_Download_Upload_Path); /* * //拆零件路徑字串取得客戶名稱、料號、版本 * string PartFullPath = displayPart.FullPath; * string[] SplitPath = PartFullPath.Split('\\'); * PartInfo.CusName = SplitPath[3]; * PartInfo.PartNo = SplitPath[4]; * PartInfo.CusRev = SplitPath[5]; * PartInfo.OpNum = Path.GetFileNameWithoutExtension(displayPart.FullPath).Split(new string[] { "OIS" }, StringSplitOptions.RemoveEmptyEntries)[1]; * #region 取代Server路徑字串 * cMETE_Download_Upload_Path.Server_ShareStr = cMETE_Download_Upload_Path.Server_ShareStr.Replace("[Server_IP]", cMETE_Download_Upload_Path.Server_IP); * cMETE_Download_Upload_Path.Server_ShareStr = cMETE_Download_Upload_Path.Server_ShareStr.Replace("[CusName]", PartInfo.CusName); * cMETE_Download_Upload_Path.Server_ShareStr = cMETE_Download_Upload_Path.Server_ShareStr.Replace("[PartNo]", PartInfo.PartNo); * cMETE_Download_Upload_Path.Server_ShareStr = cMETE_Download_Upload_Path.Server_ShareStr.Replace("[CusRev]", PartInfo.CusRev); * Server_OP_Folder = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, "OP" + PartInfo.OpNum); #endregion * #region 取代Local路徑字串 * //將Local_Folder_OIS先暫存起來,然後改變成Server路徑 * tempLocal_Folder_OIS = cMETE_Download_Upload_Path.Local_Folder_OIS; * cMETE_Download_Upload_Path.Local_ShareStr = cMETE_Download_Upload_Path.Local_ShareStr.Replace("[Local_IP]", cMETE_Download_Upload_Path.Local_IP); * cMETE_Download_Upload_Path.Local_ShareStr = cMETE_Download_Upload_Path.Local_ShareStr.Replace("[CusName]", PartInfo.CusName); * cMETE_Download_Upload_Path.Local_ShareStr = cMETE_Download_Upload_Path.Local_ShareStr.Replace("[PartNo]", PartInfo.PartNo); * cMETE_Download_Upload_Path.Local_ShareStr = cMETE_Download_Upload_Path.Local_ShareStr.Replace("[CusRev]", PartInfo.CusRev); * cMETE_Download_Upload_Path.Local_Folder_OIS = cMETE_Download_Upload_Path.Local_Folder_OIS.Replace("[Local_ShareStr]", cMETE_Download_Upload_Path.Local_ShareStr); * cMETE_Download_Upload_Path.Local_Folder_OIS = cMETE_Download_Upload_Path.Local_Folder_OIS.Replace("[Oper1]", PartInfo.OpNum); #endregion */ DicPartDirData = new Dictionary <string, PartDirData>(); #region 處理Part的路徑 //預先加入總組立檔 PartDirData sPartDirData = new PartDirData(); sPartDirData.PartLocalDir = displayPart.FullPath; sPartDirData.PartServer1Dir = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, Path.GetFileName(displayPart.FullPath)); //sPartDirData.PartServer2Dir = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, "OP" + PartInfo.OIS); DicPartDirData.Add(Path.GetFileNameWithoutExtension(displayPart.FullPath), sPartDirData); listView1.Items.Add(Path.GetFileName(displayPart.FullPath)); //加入Comp資訊 NXOpen.Assemblies.ComponentAssembly casm = displayPart.ComponentAssembly; //NXOpen.Assemblies.Component[] compary = casm.RootComponent.GetChildren(); List <NXOpen.Assemblies.Component> ListChildrenComp = new List <NXOpen.Assemblies.Component>(); CaxAsm.GetCompChildren(casm.RootComponent, ref ListChildrenComp); foreach (NXOpen.Assemblies.Component i in ListChildrenComp) { sPartDirData = new PartDirData(); //判斷Server是否已存在此檔案,如果有就不上傳 string ServerPartPath = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, Path.GetFileName(((Part)i.Prototype).FullPath)); if (File.Exists(ServerPartPath)) { if (!((Part)i.Prototype).FullPath.Contains(PartInfo.OpNum)) { continue; } } sPartDirData.PartLocalDir = ((Part)i.Prototype).FullPath; sPartDirData.PartServer1Dir = ServerPartPath; DicPartDirData.Add(i.Name, sPartDirData); listView1.Items.Add(Path.GetFileName(((Part)i.Prototype).FullPath)); //sPartDirData.PartServer2Dir = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Server_ShareStr, "OP" + PartInfo.OIS); } #endregion #region 處理Excel的路徑 string[] FolderFile = System.IO.Directory.GetFileSystemEntries(cMETE_Download_Upload_Path.Local_Folder_OIS, "*.xls"); //篩選出IPQC、SelfCheck List <string> List_ExcelIPQC = new List <string>(); List <string> List_ExcelSelfCheck = new List <string>(); List <string> List_ExcelIQC = new List <string>(); List <string> List_ExcelFAI = new List <string>(); foreach (string i in FolderFile) { if (i.Contains("IPQC")) { List_ExcelIPQC.Add(i); } if (i.Contains("SelfCheck")) { List_ExcelSelfCheck.Add(i); } if (i.Contains("IQC")) { List_ExcelIQC.Add(i); } if (i.Contains("FAI")) { List_ExcelFAI.Add(i); } } long ExcelIPQCFileTime = new long(); long ExcelSelfCheckFileTime = new long(); long ExcelIQCFileTime = new long(); long ExcelFAIFileTime = new long(); #region 處理IPQC foreach (string i in List_ExcelIPQC) { System.IO.FileInfo ExcelInfo = new System.IO.FileInfo(i); if (ExcelInfo.LastAccessTime.ToFileTime() > ExcelIPQCFileTime) { ExcelIPQCFileTime = ExcelInfo.LastAccessTime.ToFileTime(); sExcelDirData.ExcelIPQCLocalDir = i; string Server_Folder_OIS = ""; Server_Folder_OIS = tempLocal_Folder_OIS.Replace("[Local_ShareStr]", cMETE_Download_Upload_Path.Server_ShareStr); Server_Folder_OIS = Server_Folder_OIS.Replace("[Oper1]", PartInfo.OpNum); sExcelDirData.ExcelIPQCServerDir = string.Format(@"{0}\{1}", Server_Folder_OIS, ExcelInfo.Name); } } if (List_ExcelIPQC.Count != 0) { listView1.Items.Add(Path.GetFileName(sExcelDirData.ExcelIPQCLocalDir)); } #endregion #region 處理SelfCheck foreach (string i in List_ExcelSelfCheck) { System.IO.FileInfo ExcelInfo = new System.IO.FileInfo(i); if (ExcelInfo.LastAccessTime.ToFileTime() > ExcelSelfCheckFileTime) { ExcelSelfCheckFileTime = ExcelInfo.LastAccessTime.ToFileTime(); sExcelDirData.ExcelSelfCheckLocalDir = i; string Server_Folder_OIS = ""; Server_Folder_OIS = tempLocal_Folder_OIS.Replace("[Local_ShareStr]", cMETE_Download_Upload_Path.Server_ShareStr); Server_Folder_OIS = Server_Folder_OIS.Replace("[Oper1]", PartInfo.OpNum); sExcelDirData.ExcelSelfCheckServerDir = string.Format(@"{0}\{1}", Server_Folder_OIS, ExcelInfo.Name); } } if (List_ExcelSelfCheck.Count != 0) { listView1.Items.Add(Path.GetFileName(sExcelDirData.ExcelSelfCheckLocalDir)); } #endregion #region 處理IQC foreach (string i in List_ExcelIQC) { System.IO.FileInfo ExcelInfo = new System.IO.FileInfo(i); if (ExcelInfo.LastAccessTime.ToFileTime() > ExcelIQCFileTime) { ExcelIQCFileTime = ExcelInfo.LastAccessTime.ToFileTime(); sExcelDirData.ExcelIQCLocalDir = i; string Server_Folder_OIS = ""; Server_Folder_OIS = tempLocal_Folder_OIS.Replace("[Local_ShareStr]", cMETE_Download_Upload_Path.Server_ShareStr); Server_Folder_OIS = Server_Folder_OIS.Replace("[Oper1]", PartInfo.OpNum); sExcelDirData.ExcelIQCServerDir = string.Format(@"{0}\{1}", Server_Folder_OIS, ExcelInfo.Name); } } if (List_ExcelIQC.Count != 0) { listView1.Items.Add(Path.GetFileName(sExcelDirData.ExcelIQCLocalDir)); } #endregion #region 處理FAI foreach (string i in List_ExcelFAI) { System.IO.FileInfo ExcelInfo = new System.IO.FileInfo(i); if (ExcelInfo.LastAccessTime.ToFileTime() > ExcelFAIFileTime) { ExcelFAIFileTime = ExcelInfo.LastAccessTime.ToFileTime(); sExcelDirData.ExcelFAILocalDir = i; string Server_Folder_OIS = ""; Server_Folder_OIS = tempLocal_Folder_OIS.Replace("[Local_ShareStr]", cMETE_Download_Upload_Path.Server_ShareStr); Server_Folder_OIS = Server_Folder_OIS.Replace("[Oper1]", PartInfo.OpNum); sExcelDirData.ExcelFAIServerDir = string.Format(@"{0}\{1}", Server_Folder_OIS, ExcelInfo.Name); } } if (List_ExcelFAI.Count != 0) { listView1.Items.Add(Path.GetFileName(sExcelDirData.ExcelFAILocalDir)); } #endregion #endregion }
private void OK_Click(object sender, EventArgs e) { //抓取目前圖紙數量和Tag int SheetCount = 0; NXOpen.Tag[] SheetTagAry = null; theUfSession.Draw.AskDrawings(out SheetCount, out SheetTagAry); //取得最後一顆泡泡的數字 int MaxBallonNum; try { MaxBallonNum = Convert.ToInt32(workPart.GetStringAttribute(CaxME.DimenAttr.BallonNum)); } catch (System.Exception ex) { MaxBallonNum = 0; } if (chb_Regeneration.Checked == true) { #region 刪除全部泡泡 IdSymbolCollection BallonCollection = workPart.Annotations.IdSymbols; IdSymbol[] BallonAry = BallonCollection.ToArray(); foreach (IdSymbol i in BallonAry) { try { i.GetStringAttribute("BalloonAtt"); } catch (System.Exception ex) { continue; } CaxPublic.DelectObject(i); } workPart.DeleteAttributeByTypeAndTitle(NXObject.AttributeType.String, "BALLONNUM"); #endregion for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); CurrentSheet.Open(); if (i == 0) { Variables.FirstDrawingSheet = CurrentSheet; } int BallonNum = 0; NXObject[] SheetObj = CaxME.FindObjectsInView(CurrentSheet.View.Tag).ToArray(); foreach (NXObject singleObj in SheetObj) { string diCount = "", fixDiemnsion = ""; #region 刪除尺寸數量產生的文字(ex:a-c) try { diCount = singleObj.GetStringAttribute(CaxME.DimenAttr.DiCount); } catch (System.Exception ex) { diCount = ""; } try { fixDiemnsion = singleObj.GetStringAttribute(CaxME.DimenAttr.FixDimension); } catch (System.Exception ex) { fixDiemnsion = ""; } if (diCount != "" && fixDiemnsion == "") { CaxPublic.DelectObject(singleObj); } #endregion string AssignExcelType = ""; #region 判斷是否有屬性,沒有屬性就跳下一個 try { AssignExcelType = singleObj.GetStringAttribute(CaxME.DimenAttr.FixDimension); } catch (System.Exception ex) { continue; } #endregion //事先塞入該尺寸所在Sheet singleObj.SetAttribute("SheetName", CurrentSheet.Name); CaxME.BoxCoordinate cBoxCoordinate = new CaxME.BoxCoordinate(); CaxME.GetTextBoxCoordinate(singleObj.Tag, out cBoxCoordinate); #region 計算泡泡座標 CaxME.DimenData sDimenData = new CaxME.DimenData(); sDimenData.Obj = singleObj; sDimenData.CurrentSheet = CurrentSheet; CaxME.CalculateBallonCoordinate(cBoxCoordinate, ref sDimenData); #endregion sDimenData.CurrentSheet.Open(); Point3d BallonLocation = new Point3d(); BallonLocation.X = sDimenData.LocationX; BallonLocation.Y = sDimenData.LocationY; BallonNum++; InsertBalloon(BallonNum, diCount, BallonLocation); singleObj.SetAttribute(CaxME.DimenAttr.BallonNum, BallonNum.ToString()); } //將最後一顆泡泡的數字插入零件中 workPart.SetAttribute(CaxME.DimenAttr.BallonNum, BallonNum.ToString()); } } else if (chb_keepOrigination.Checked == true) { for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); CurrentSheet.Open(); if (i == 0) { Variables.FirstDrawingSheet = CurrentSheet; } NXObject[] SheetObj = CaxME.FindObjectsInView(CurrentSheet.View.Tag).ToArray(); foreach (NXObject singleObj in SheetObj) { //判斷是否取到舊的尺寸,如果是就跳下一個 string OldBallonNum = ""; try { OldBallonNum = singleObj.GetStringAttribute(CaxME.DimenAttr.BallonNum); continue; } catch (System.Exception ex) { } string AssignExcelType = ""; #region 判斷是否有屬性,沒有屬性就跳下一個 try { AssignExcelType = singleObj.GetStringAttribute(CaxME.DimenAttr.FixDimension); } catch (System.Exception ex) { continue; } #endregion //事先塞入該尺寸所在Sheet singleObj.SetAttribute("SheetName", CurrentSheet.Name); CaxME.BoxCoordinate cBoxCoordinate = new CaxME.BoxCoordinate(); CaxME.GetTextBoxCoordinate(singleObj.Tag, out cBoxCoordinate); #region 計算泡泡座標 CaxME.DimenData sDimenData = new CaxME.DimenData(); sDimenData.Obj = singleObj; sDimenData.CurrentSheet = CurrentSheet; CaxME.CalculateBallonCoordinate(cBoxCoordinate, ref sDimenData); #endregion sDimenData.CurrentSheet.Open(); Point3d BallonLocation = new Point3d(); BallonLocation.X = sDimenData.LocationX; BallonLocation.Y = sDimenData.LocationY; MaxBallonNum++; string diCount = ""; try { diCount = singleObj.GetStringAttribute(CaxME.DimenAttr.DiCount); } catch (System.Exception ex) { diCount = "1"; } InsertBalloon(MaxBallonNum, diCount, BallonLocation); singleObj.SetAttribute(CaxME.DimenAttr.BallonNum, MaxBallonNum.ToString()); } //將最後一顆泡泡的數字插入零件中 workPart.SetAttribute(CaxME.DimenAttr.BallonNum, MaxBallonNum.ToString()); } } else if (chb_UserDefine.Checked == true) { //判斷所有的泡泡是否有重複 List <string> ListIsRepeat = new List <string>(); foreach (GridRow i in SGC.PrimaryGrid.Rows) { if (i.Cells["自定泡泡號"].Value.ToString() == "") { continue; } if (ListIsRepeat.Contains(i.Cells["自定泡泡號"].Value.ToString())) { MessageBox.Show("泡泡號【" + i.Cells["自定泡泡號"].Value.ToString() + "】重複,請重新檢查"); return; } else { ListIsRepeat.Add(i.Cells["自定泡泡號"].Value.ToString()); } } CoordinateData cCoordinateData = new CoordinateData(); CaxGetDatData.GetDraftingCoordinateData(out cCoordinateData); //開始插入自定義泡泡 foreach (GridRow i in SGC.PrimaryGrid.Rows) { //判斷是否有舊的泡泡,如果舊泡泡與自定的相同,則跳下一個 //判斷是否有舊的泡泡,如果舊泡泡與自定的不相同,則先刪除泡泡再重新產生 //如有Dicount也要加入一起生成 //如果沒有自定泡泡就跳下一個row if (i.Cells["自定泡泡號"].Value.ToString() == "") { //判斷是否需刪除已存在的泡泡 NXOpen.Drawings.DrawingSheet drawingSheet1 = (NXOpen.Drawings.DrawingSheet)workPart.DrawingSheets.FindObject(i.Cells["尺寸位置"].Value.ToString()); string oldBalloon = ""; try { oldBalloon = ((NXObject)i.Cells["Dimension"].Value).GetStringAttribute(CaxME.DimenAttr.BallonNum); } catch (System.Exception ex) { continue; } NXObject[] SheetObj = CaxME.FindObjectsInView(drawingSheet1.View.Tag).ToArray(); CaxME.DeleteBallon(oldBalloon, SheetObj); workPart.Views.Refresh(); //刪除屬性 ((NXObject)i.Cells["Dimension"].Value).DeleteAttributeByTypeAndTitle(NXObject.AttributeType.String, CaxME.DimenAttr.BallonNum); ((NXObject)i.Cells["Dimension"].Value).DeleteAttributeByTypeAndTitle(NXObject.AttributeType.String, CaxME.DimenAttr.BallonLocation); ((NXObject)i.Cells["Dimension"].Value).DeleteAttributeByTypeAndTitle(NXObject.AttributeType.String, CaxME.DimenAttr.SheetName); continue; } //如果回傳False,表示舊泡泡=自定泡泡;如果回傳True,表示舊泡泡=\=自定泡泡 if (!JudgmentBalloon(i)) { continue; } InsertBalloon(i, cCoordinateData); } if (exOnj != null) { exOnj.Unhighlight(); workPart.Views.Refresh(); } } MessageBox.Show("完成!"); }
public bool Doit() { try { int module_id; theUfSession.UF.AskApplicationModule(out module_id); if (module_id != UFConstants.UF_APP_CAM) { MessageBox.Show("請先轉換為加工模組後再執行!"); return(false); } if (!GetToolListPath(out ToolListPath)) { MessageBox.Show("取得ToolList.xls失敗"); return(false); } //取得正確路徑,拆零件路徑字串取得客戶名稱、料號、版本 status = CaxPublic.GetAllPath("TE", displayPart.FullPath, out sPartInfo, ref cMETE_Download_Upload_Path); if (!status) { Is_Local = null; } //此條件判斷是否為走系統的零件 if (!displayPart.FullPath.Contains("Task")) { Is_Local = null; } if (Is_Local == null) { PartNo = Path.GetFileNameWithoutExtension(displayPart.FullPath); } else { PartNo = sPartInfo.PartNo; } //取得所有GroupAry,用來判斷Group的Type決定是NC、Tool、Geometry NXOpen.CAM.NCGroup[] NCGroupAry = displayPart.CAMSetup.CAMGroupCollection.ToArray(); //取得所有OperationAry NXOpen.CAM.Operation[] OperationAry = displayPart.CAMSetup.CAMOperationCollection.ToArray(); #region 取得相關資訊,填入DIC DicNCData = new Dictionary <string, List <OperData> >(); foreach (NXOpen.CAM.NCGroup ncGroup in NCGroupAry) { if (!IsNC(ncGroup)) { continue; } if (!ncGroup.Name.Contains("OP")) { MessageBox.Show("請先手動將Group名稱:" + ncGroup.Name + ",改為正確格式,再重新啟動功能!"); return(false); } //取得此NCGroup下的所有Oper CAMObject[] OperGroup = ncGroup.GetMembers(); foreach (NXOpen.CAM.Operation item in OperGroup) { bool cheValue; List <OperData> listOperData = new List <OperData>(); cheValue = DicNCData.TryGetValue(ncGroup.Name, out listOperData); if (!cheValue) { listOperData = new List <OperData>(); } bool chk = true; foreach (OperData i in listOperData) { if (i.ToolNumber == "T" + CaxOper.AskOperToolNumber(item)) { chk = false; break; } } if (!chk) { continue; } OperData sOperData = new OperData(); GetOperToolAttr(item, ref sOperData); listOperData.Add(sOperData); DicNCData[ncGroup.Name] = listOperData; } } //將DicNCData的key存入程式群組下拉選單中 foreach (KeyValuePair <string, List <OperData> > kvp in DicNCData) { comboBoxNCName.Items.Add(kvp.Key); } if (comboBoxNCName.Items.Count == 1) { comboBoxNCName.Text = comboBoxNCName.Items[0].ToString(); } #endregion } catch (System.Exception ex) { return(false); } return(true); }
private void PostProcessorDlg_Load(object sender, EventArgs e) { //取得METEDownload_Upload資料 status = CaxGetDatData.GetMETEDownload_Upload(out cMETE_Download_Upload_Path); if (!status) { MessageBox.Show("取得METEDownload_Upload失敗"); return; } //取得所有GroupAry,用來判斷Group的Type決定是NC、Tool、Geometry NCGroupAry = displayPart.CAMSetup.CAMGroupCollection.ToArray(); //取得所有operationAry OperationAry = displayPart.CAMSetup.CAMOperationCollection.ToArray(); #region 建立NC資料夾 string Is_Local = ""; Is_Local = Environment.GetEnvironmentVariable("UGII_ENV_FILE"); if (Is_Local != "") { CaxPublic.GetAllPath("TE", displayPart.FullPath, ref cMETE_Download_Upload_Path); NCFolderPath = string.Format(@"{0}\{1}", cMETE_Download_Upload_Path.Local_Folder_CAM, "NC"); } else { NCFolderPath = string.Format(@"{0}\{1}", Path.GetDirectoryName(displayPart.FullPath), "NC"); } if (!Directory.Exists(NCFolderPath)) { System.IO.Directory.CreateDirectory(NCFolderPath); } #endregion #region 取得相關資訊,填入Dic DicNCData = new Dictionary <string, string>(); foreach (NXOpen.CAM.NCGroup ncGroup in NCGroupAry) { int type; int subtype; theUfSession.Obj.AskTypeAndSubtype(ncGroup.Tag, out type, out subtype); //判斷是否為Program群組 if (type != UFConstants.UF_machining_task_type) { continue; } foreach (NXOpen.CAM.Operation item in OperationAry) { //取得父層的群組(回傳:NCGroup XXXX) string NCProgramTag = item.GetParent(CAMSetup.View.ProgramOrder).ToString(); NCProgramTag = Regex.Replace(NCProgramTag, "[^0-9]", ""); if (NCProgramTag == ncGroup.Tag.ToString()) { bool cheValue; string OperName = ""; cheValue = DicNCData.TryGetValue(ncGroup.Name, out OperName); if (!cheValue) { OperName = item.Name; DicNCData.Add(ncGroup.Name, OperName); } else { OperName = OperName + "," + item.Name; DicNCData[ncGroup.Name] = OperName; } } } } #endregion //將DicProgName的key存入程式群組下拉選單中 comboBoxNCgroup.Items.AddRange(DicNCData.Keys.ToArray()); #region 將控制器名稱填入SuperGridPostPanel GridRow row = new GridRow(); //-----暫時使用版本(路徑指向UG) string TemplateRoot = string.Format(@"{0}\{1}\{2}\{3}", Environment.GetEnvironmentVariable("UGII_BASE_DIR"), "MACH", "resource", "postprocessor"); string TemplatePostPath = string.Format(@"{0}\{1}", TemplateRoot, "template_post.dat"); string[] TemplatePostData = System.IO.File.ReadAllLines(TemplatePostPath); //-----發佈使用版本(Server需有MACH檔案) //string[] TemplatePostData = CaxGetDatData.GetTemplatePostData(); if (TemplatePostData.Length == 0) { CaxLog.ShowListingWindow("template_post.dat為空,請檢查!"); } string empty = ""; row = new GridRow(empty); PostPanel.Rows.Add(row); for (int i = 0; i < TemplatePostData.Length; i++) { if (i > 6) { string PostName = TemplatePostData[i].Split(',')[0]; row = new GridRow(PostName); PostPanel.Rows.Add(row); } } #endregion }
private void OK_Click(object sender, EventArgs e) { //抓取目前圖紙數量和Tag int SheetCount = 0; NXOpen.Tag[] SheetTagAry = null; theUfSession.Draw.AskDrawings(out SheetCount, out SheetTagAry); //取得最後一顆泡泡的數字 int MaxBallonNum; try { MaxBallonNum = Convert.ToInt32(workPart.GetStringAttribute(CaxME.DimenAttr.BallonNum)); } catch (System.Exception ex) { MaxBallonNum = 0; } if (chb_Regeneration.Checked == true) { #region 刪除全部泡泡 IdSymbolCollection BallonCollection = workPart.Annotations.IdSymbols; IdSymbol[] BallonAry = BallonCollection.ToArray(); foreach (IdSymbol i in BallonAry) { try { i.GetStringAttribute("BalloonAtt"); } catch (System.Exception ex) { continue; } CaxPublic.DelectObject(i); } workPart.DeleteAttributeByTypeAndTitle(NXObject.AttributeType.String, "BALLONNUM"); #endregion for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); CurrentSheet.Open(); if (i == 0) { Variables.FirstDrawingSheet = CurrentSheet; } int BallonNum = 0; NXObject[] SheetObj = CaxME.FindObjectsInView(CurrentSheet.View.Tag).ToArray(); foreach (NXObject singleObj in SheetObj) { string diCount = "", fixDiemnsion = ""; #region 刪除尺寸數量產生的文字(ex:a-c) try { diCount = singleObj.GetStringAttribute(CaxME.DimenAttr.DiCount); } catch (System.Exception ex) { diCount = ""; } try { fixDiemnsion = singleObj.GetStringAttribute(CaxME.DimenAttr.FixDimension); } catch (System.Exception ex) { fixDiemnsion = ""; } if (diCount != "" && fixDiemnsion == "") { CaxPublic.DelectObject(singleObj); } #endregion string AssignExcelType = ""; #region 判斷是否有屬性,沒有屬性就跳下一個 try { AssignExcelType = singleObj.GetStringAttribute(CaxME.DimenAttr.FixDimension); } catch (System.Exception ex) { continue; } #endregion //事先塞入該尺寸所在Sheet singleObj.SetAttribute("SheetName", CurrentSheet.Name); CaxME.BoxCoordinate cBoxCoordinate = new CaxME.BoxCoordinate(); CaxME.GetTextBoxCoordinate(singleObj.Tag, out cBoxCoordinate); #region 計算泡泡座標 CaxME.DimenData sDimenData = new CaxME.DimenData(); sDimenData.Obj = singleObj; sDimenData.CurrentSheet = CurrentSheet; CaxME.CalculateBallonCoordinate(cBoxCoordinate, ref sDimenData); #endregion sDimenData.CurrentSheet.Open(); Point3d BallonLocation = new Point3d(); BallonLocation.X = sDimenData.LocationX; BallonLocation.Y = sDimenData.LocationY; BallonNum++; InsertBalloon(BallonNum, diCount, BallonLocation); singleObj.SetAttribute(CaxME.DimenAttr.BallonNum, BallonNum.ToString()); } //將最後一顆泡泡的數字插入零件中 workPart.SetAttribute(CaxME.DimenAttr.BallonNum, BallonNum.ToString()); } } else if (chb_keepOrigination.Checked == true) { for (int i = 0; i < SheetCount; i++) { //打開Sheet並記錄所有OBJ DrawingSheet CurrentSheet = (NXOpen.Drawings.DrawingSheet)NXObjectManager.Get(SheetTagAry[i]); CurrentSheet.Open(); if (i == 0) { Variables.FirstDrawingSheet = CurrentSheet; } NXObject[] SheetObj = CaxME.FindObjectsInView(CurrentSheet.View.Tag).ToArray(); foreach (NXObject singleObj in SheetObj) { //判斷是否取到舊的尺寸,如果是就跳下一個 string OldBallonNum = ""; try { OldBallonNum = singleObj.GetStringAttribute(CaxME.DimenAttr.BallonNum); continue; } catch (System.Exception ex) { } string AssignExcelType = ""; #region 判斷是否有屬性,沒有屬性就跳下一個 try { AssignExcelType = singleObj.GetStringAttribute(CaxME.DimenAttr.FixDimension); } catch (System.Exception ex) { continue; } #endregion //事先塞入該尺寸所在Sheet singleObj.SetAttribute("SheetName", CurrentSheet.Name); CaxME.BoxCoordinate cBoxCoordinate = new CaxME.BoxCoordinate(); CaxME.GetTextBoxCoordinate(singleObj.Tag, out cBoxCoordinate); #region 計算泡泡座標 CaxME.DimenData sDimenData = new CaxME.DimenData(); sDimenData.Obj = singleObj; sDimenData.CurrentSheet = CurrentSheet; CaxME.CalculateBallonCoordinate(cBoxCoordinate, ref sDimenData); #endregion sDimenData.CurrentSheet.Open(); Point3d BallonLocation = new Point3d(); BallonLocation.X = sDimenData.LocationX; BallonLocation.Y = sDimenData.LocationY; MaxBallonNum++; string diCount = ""; try { diCount = singleObj.GetStringAttribute(CaxME.DimenAttr.DiCount); } catch (System.Exception ex) { diCount = "1"; } InsertBalloon(MaxBallonNum, diCount, BallonLocation); singleObj.SetAttribute(CaxME.DimenAttr.BallonNum, MaxBallonNum.ToString()); } //將最後一顆泡泡的數字插入零件中 workPart.SetAttribute(CaxME.DimenAttr.BallonNum, MaxBallonNum.ToString()); } } MessageBox.Show("完成!"); }
private void buttonDownload_Click(object sender, EventArgs e) { //建立Local路徑資料 //string Local_IP = cMETE_Download_Upload_Path.Local_IP; //string Local_ShareStr = cMETE_Download_Upload_Path.Local_ShareStr; //Local_Folder_MODEL = cMETE_Download_Upload_Path.Local_Folder_MODEL; //Local_Folder_CAM = cMETE_Download_Upload_Path.Local_Folder_CAM; //Local_Folder_OIS = cMETE_Download_Upload_Path.Local_Folder_OIS; //取代字串成正確路徑 //Local_ShareStr = Local_ShareStr.Replace("[Local_IP]", Local_IP); //Local_ShareStr = Local_ShareStr.Replace("[CusName]", CurrentCusName); //Local_ShareStr = Local_ShareStr.Replace("[PartNo]", CurrentPartNo); //Local_ShareStr = Local_ShareStr.Replace("[CusRev]", CurrentCusRev); //Local_ShareStr = Local_ShareStr.Replace("[OpRev]", CurrentOpRev); //Local_Folder_MODEL = Local_Folder_MODEL.Replace("[Local_ShareStr]", Local_ShareStr); //Local_Folder_CAM = Local_Folder_CAM.Replace("[Local_ShareStr]", Local_ShareStr); //Local_Folder_OIS = Local_Folder_OIS.Replace("[Local_ShareStr]", Local_ShareStr); #region (2016.12.30註解)建立Local_Folder_MODEL資料夾 //if (!File.Exists(Local_Folder_MODEL)) //{ // try // { // System.IO.Directory.CreateDirectory(Local_Folder_MODEL); // } // catch (System.Exception ex) // { // MessageBox.Show(ex.ToString()); // return; // } //} #endregion #region (2016.12.30註解)複製Server客戶檔案到Local_Folder_MODEL資料夾內 /* * //判斷客戶檔案是否存在 * status = System.IO.File.Exists(Server_Folder_MODEL); * if (!status) * { * MessageBox.Show("指定的檔案不存在,請再次確認"); * return; * } * * //建立Local_Folder_MODEL資料夾內客戶檔案路徑 * string Local_CusPartFullPath = string.Format(@"{0}\{1}", Local_Folder_MODEL, Path.GetFileName(Server_Folder_MODEL)); * * //判斷是否存在,不存在則開始複製 * if (!File.Exists(Local_CusPartFullPath)) * { * try * { * File.Copy(Server_Folder_MODEL, Local_CusPartFullPath, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("客戶檔案複製失敗"); * this.Close(); * } * } */ #endregion #region (註解)複製ShopDoc.xls到Local_Folder_MODEL資料夾內 /* * //判斷ShopDoc.xls是否存在 * if (!File.Exists(Server_ShopDoc)) * { * listBox1.Items.Add("刀具路徑與清單樣板(ShopDoc.xls)不存在,無法下載"); * return; * } * * //建立Local_Folder_MODEL資料夾內客戶檔案路徑 * string Local_ShopDocFullPath = string.Format(@"{0}\{1}", Local_Folder_MODEL, Path.GetFileName(Server_ShopDoc)); * * //判斷是否存在,不存在則開始複製 * if (!File.Exists(Local_ShopDocFullPath)) * { * try * { * File.Copy(Server_ShopDoc, Local_ShopDocFullPath, true); * } * catch (System.Exception ex) * { * CaxLog.ShowListingWindow("ShopDoc.xls下載失敗"); * this.Close(); * } * } */ #endregion #region 先刪除本機中該製程的OPxxx->CAM資料夾、TEpart檔 //刪除本機OPxxx資料夾路徑 foreach (string i in Oper1comboBox.Items) { if (Oper1comboBox.Text == "全部下載") { if (i == "全部下載") { continue; } } else { if (i != Oper1comboBox.Text) { continue; } } Local_Folder_CAM = sDownUpLoadDat.Local_Folder_CAM; Local_Folder_CAM = Local_Folder_CAM.Replace("[Oper1]", i); if (Directory.Exists(Local_Folder_CAM)) { Directory.Delete(Local_Folder_CAM, true); } } /* * for (int i = 0; i < Oper1comboBox.Items.Count; i++) * { * if (CurrentOper1 != Oper1comboBox.Items[i].ToString() & CurrentOper1 != "全部下載") * { * continue; * } * string Local_OPxxxPath = string.Format(@"{0}\{1}\{2}", Local_ShareStr, "OP" + Oper1comboBox.Items[i].ToString(), "CAM"); * if (Directory.Exists(Local_OPxxxPath)) * { * Directory.Delete(Local_OPxxxPath, true); * } * string Local_TEpartPath = string.Format(@"{0}\{1}", Local_ShareStr, CurrentPartNo + "_TE_" + Oper1comboBox.Items[i].ToString() + ".prt"); * if (File.Exists(Local_TEpartPath)) * { * File.Delete(Local_TEpartPath); * } * } */ /* * string Local_OPxxxPath = string.Format(@"{0}\{1}\{2}", Local_ShareStr, "OP" + CurrentOper1, "CAM"); * if (Directory.Exists(Local_OPxxxPath)) * { * Directory.Delete(Local_OPxxxPath, true); * } * string Local_TEpartPath = string.Format(@"{0}\{1}", Local_ShareStr, CurrentPartNo + "_TE_" + CurrentOper1 + ".prt"); * if (File.Exists(Local_TEpartPath)) * { * File.Delete(Local_TEpartPath); * } */ #endregion #region 建立Local_Folder_CAM、Local_Folder_OIS資料夾 //暫存一個tempLocal_Folder_CAM、Local_Folder_OIS,目的要讓程式每次都能有[Oper1]可取代 //tempLocal_Folder_CAM = Local_Folder_CAM; //tempLocal_Folder_OIS = Local_Folder_OIS; //tempServer_Folder_CAM = Server_Folder_CAM; ListDownloadCAMPath = new List <CAMPath>(); foreach (string i in Oper1comboBox.Items) { if (Oper1comboBox.Text == "全部下載") { if (i == "全部下載") { continue; } } else { if (i != Oper1comboBox.Text) { continue; } } Local_Folder_CAM = sDownUpLoadDat.Local_Folder_CAM; Local_Folder_OIS = sDownUpLoadDat.Local_Folder_OIS; Local_Folder_CAM = Local_Folder_CAM.Replace("[Oper1]", i); Local_Folder_OIS = Local_Folder_OIS.Replace("[Oper1]", i); if (!File.Exists(Local_Folder_CAM)) { System.IO.Directory.CreateDirectory(Local_Folder_CAM); } if (!File.Exists(Local_Folder_OIS)) { System.IO.Directory.CreateDirectory(Local_Folder_OIS); } Server_Folder_CAM = sDownUpLoadDat.Server_Folder_CAM; Server_Folder_CAM = Server_Folder_CAM.Replace("[Oper1]", i.ToString()); CAMPath sCAMPath = new CAMPath(); sCAMPath.L_CAM_Path = Local_Folder_CAM; sCAMPath.S_CAM_Path = Server_Folder_CAM; ListDownloadCAMPath.Add(sCAMPath); } /* * if (CurrentOper1 == "全部下載") * { * for (int i = 0; i < Oper1comboBox.Items.Count; i++) * { * if (Oper1comboBox.Items[i].ToString() == "全部下載") * { * continue; * } * Local_Folder_CAM = tempLocal_Folder_CAM; * Local_Folder_OIS = tempLocal_Folder_OIS; * Local_Folder_CAM = Local_Folder_CAM.Replace("[Oper1]", Oper1comboBox.Items[i].ToString()); * Local_Folder_OIS = Local_Folder_OIS.Replace("[Oper1]", Oper1comboBox.Items[i].ToString()); * if (!File.Exists(Local_Folder_CAM)) * { * try * { * System.IO.Directory.CreateDirectory(Local_Folder_CAM); * } * catch (System.Exception ex) * { * MessageBox.Show(ex.ToString()); * return; * } * } * if (!File.Exists(Local_Folder_OIS)) * { * try * { * System.IO.Directory.CreateDirectory(Local_Folder_OIS); * } * catch (System.Exception ex) * { * MessageBox.Show(ex.ToString()); * return; * } * } * Server_Folder_CAM = tempServer_Folder_CAM; * Server_Folder_CAM = Server_Folder_CAM.Replace("[Oper1]", Oper1comboBox.Items[i].ToString()); * CAMPath sCAMPath = new CAMPath(); * sCAMPath.L_CAM_Path = Local_Folder_CAM; * sCAMPath.S_CAM_Path = Server_Folder_CAM; * ListDownloadCAMPath.Add(sCAMPath); * } * } * else * { * Local_Folder_CAM = tempLocal_Folder_CAM; * Local_Folder_OIS = tempLocal_Folder_OIS; * Local_Folder_CAM = Local_Folder_CAM.Replace("[Oper1]", CurrentOper1); * Local_Folder_OIS = Local_Folder_OIS.Replace("[Oper1]", CurrentOper1); * if (!File.Exists(Local_Folder_CAM)) * { * try * { * System.IO.Directory.CreateDirectory(Local_Folder_CAM); * } * catch (System.Exception ex) * { * MessageBox.Show(ex.ToString()); * return; * } * } * if (!File.Exists(Local_Folder_OIS)) * { * try * { * System.IO.Directory.CreateDirectory(Local_Folder_OIS); * } * catch (System.Exception ex) * { * MessageBox.Show(ex.ToString()); * return; * } * } * Server_Folder_CAM = tempServer_Folder_CAM; * Server_Folder_CAM = Server_Folder_CAM.Replace("[Oper1]", CurrentOper1); * CAMPath sCAMPath = new CAMPath(); * sCAMPath.L_CAM_Path = Local_Folder_CAM; * sCAMPath.S_CAM_Path = Server_Folder_CAM; * ListDownloadCAMPath.Add(sCAMPath); * } */ /* * //DicSeleOper1(Key = 製程序,Value = ServerPartPath) * foreach (KeyValuePair<string, string> kvp in DicSeleOper1) * { * Local_Folder_CAM = tempLocal_Folder_CAM; * Local_Folder_OIS = tempLocal_Folder_OIS; * Local_Folder_CAM = Local_Folder_CAM.Replace("[Oper1]", kvp.Key); * Local_Folder_OIS = Local_Folder_OIS.Replace("[Oper1]", kvp.Key); * if (!File.Exists(Local_Folder_CAM)) * { * try * { * System.IO.Directory.CreateDirectory(Local_Folder_CAM); * } * catch (System.Exception ex) * { * MessageBox.Show(ex.ToString()); * return; * } * } * if (!File.Exists(Local_Folder_OIS)) * { * try * { * System.IO.Directory.CreateDirectory(Local_Folder_OIS); * } * catch (System.Exception ex) * { * MessageBox.Show(ex.ToString()); * return; * } * } * } */ #endregion #region 複製Server製程序檔案到Local資料夾內 foreach (string i in ListDownloadPartPath) { //刪除本機TEpart string Local_TEpart = string.Format(@"{0}\{1}", sDownUpLoadDat.Local_ShareStr, Path.GetFileName(i)); if (File.Exists(Local_TEpart)) { File.Delete(Local_TEpart); } //判斷Part檔案是否存在 if (!File.Exists(i)) { CaxLog.ShowListingWindow("製程序檔案" + Path.GetFileName(i) + "不存在,請再次確認"); this.Close(); } //建立Local_ShareStr資料夾內製程序檔案路徑 string Local_Oper1PartFullPath = string.Format(@"{0}\{1}", sDownUpLoadDat.Local_ShareStr, Path.GetFileName(i)); //開始複製 try { File.Copy(i, Local_Oper1PartFullPath, true); } catch (System.Exception ex) { CaxLog.ShowListingWindow(Path.GetFileName(i) + "下載失敗"); this.Close(); } } /* * foreach (KeyValuePair<string, string> kvp in DicSeleOper1) * { * //判斷製程序檔案是否存在 * Server_TEDownloadPart = tempServer_TEDownloadPart; * Server_TEDownloadPart = Server_TEDownloadPart.Replace("[Oper1]", kvp.Key); * status = System.IO.File.Exists(Server_TEDownloadPart); * if (!status) * { * MessageBox.Show("製程序檔案" + Path.GetFileName(Server_TEDownloadPart) + "不存在,請再次確認"); * return; * } * * //建立Local_ShareStr資料夾內製程序檔案路徑 * string Local_Oper1PartFullPath = string.Format(@"{0}\{1}", Local_ShareStr, Path.GetFileName(Server_TEDownloadPart)); * * //開始複製 * File.Copy(Server_TEDownloadPart, Local_Oper1PartFullPath, true); * } */ #endregion #region 複製ServerCAM資料夾到Local資料夾內 foreach (CAMPath i in ListDownloadCAMPath) { status = CaxPublic.DirectoryCopy(i.S_CAM_Path, i.L_CAM_Path, true); if (!status) { MessageBox.Show("CAM資料夾複製失敗,請聯繫開發工程師"); this.Close(); } } #endregion MessageBox.Show("下載完成!"); this.Close(); }