Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }