private void TraverseFile(DirectoryInfo dir, string OldName, string NewName) { foreach (FileInfo fi in dir.GetFiles()) { if (fi.Extension.ToLower() != ".drwdot" && fi.Extension.ToLower() != ".slddrw") { continue; //slddrt. } string str = fi.FullName; ModelDoc2 swModel = (ModelDoc2)AllData.iSwApp.OpenDoc(str, (int)swDocumentTypes_e.swDocDRAWING); if (swModel == null) { iErr++; continue; } DrawingDoc swDraw = (DrawingDoc)swModel; if (swDraw == null) { iErr++; continue; } swDraw.EditTemplate(); SolidWorks.Interop.sldworks.View swView = (SolidWorks.Interop.sldworks.View)swDraw.GetFirstView(); Note swnote = (Note)swView.GetFirstNote(); while (swnote != null) { string s = swnote.GetText().ToString(); if (s == OldName) { swnote.SetText(NewName); iOK++; //这里需要保存 swDraw.EditSheet(); swModel.Save(); } swnote = (Note)swnote.GetNext(); } AllData.iSwApp.CloseDoc(swModel.GetTitle()); } foreach (DirectoryInfo dirsub in dir.GetDirectories()) { TraverseFile(dirsub, OldName, NewName); } }
private void CmdOk_Click(object sender, EventArgs e) // OK { try { // Предварительное удаление свойств из файла ok = swModel.DeleteCustomInfo2("", RowQuantity.ToString()); for (i = 1; i <= RowQuantityMax; i++) { NName = "N" + Strings.LTrim(Convert.ToString(i)); TTName = "TT" + Strings.LTrim(Convert.ToString(i)); ok = swModel.DeleteCustomInfo2("", NName); ok = swModel.DeleteCustomInfo2("", TTName); } RowQuantity = CboN.Count; // Заполнение свойств файла и текста заметки TTNote = ""; for (i = 1; i <= RowQuantity; i++) { NName = "N" + Strings.LTrim(Convert.ToString(i)); TTName = "TT" + Strings.LTrim(Convert.ToString(i)); AnalyserString = CboTT[i - 1].Text; Analyser2(); TempString = AnalyserString; if (ChkList.Checked == Convert.ToBoolean(1)) // Список включен { if (ChkN[i - 1].Checked == Convert.ToBoolean(1)) { if (i - 1 != 0) { if (ChkN[i - 2].Checked != Convert.ToBoolean(1)) { TempStringNew = "<PARA indent=1 findent=-7 number=on ntype=1 nformat=$$.>" + TempString; } else { TempStringNew = TempString; } } else { TempStringNew = "<PARA indent=7 findent=-1 number=on ntype=1 nformat=$$.>" + TempString; } } else { if (i - 1 != 0) { if (ChkN[i - 2].Checked != Convert.ToBoolean(0)) { TempStringNew = "<PARA indent=1 findent=0 number=off>" + TempString; } else { TempStringNew = TempString; } } else { TempStringNew = "<PARA indent=1 findent=0 number=off>" + TempString; } } TTNote = TTNote + TempStringNew; } else // Список выключен { TempStringNew = CboN[i - 1].Text; if (TempStringNew == "->") { TempStringNew = " "; } TTNote = TTNote + TempStringNew + TempString; } if (RowQuantity - i != 0) { TTNote = TTNote + (char)(10); } } // Создание заметки if (m2 == 1) { swNote.SetText(TTNote); NoteAlign(); } else { swModel.ClearSelection2(true); swDraw.EditSheet(); swNote = swModel.InsertNote(TTNote); ok = swNote.SetName(newNoteName); ChkAlign.Checked = Convert.ToBoolean(1); NoteAlign(); } swModel.ClearSelection2(true); swModel.WindowRedraw(); Close(); swApp = null; } catch (Exception ex) { MessageBox.Show(ex.Message + "; " + ex.StackTrace); } }