public int LoadEnable() { try { int functionReturnValue = 0; swModel = SwApp.ActiveDoc; try { if (swModel.GetType() != (int)swDocumentTypes_e.swDocDRAWING) { functionReturnValue = 0; } else { _swDraw = (DrawingDoc)swModel; swSheet = _swDraw.GetCurrentSheet(); swView = _swDraw.GetFirstView(); functionReturnValue = 1; } if (swSheet.CustomPropertyView == "По умолчанию" | swSheet.CustomPropertyView == "Default") { swView = swView.GetNextView(); // Получаем первый вид } swModel = swView.ReferencedDocument; if (swModel.GetType() != (int)swDocumentTypes_e.swDocASSEMBLY) { functionReturnValue = 0; } } catch { functionReturnValue = 0; } return(functionReturnValue); } catch (Exception ex) { MessageBox.Show(ex.Message); throw; } }
public void check() { int m = 0; //swapp = CreateObject("SldWorks.Application") swapp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application"); swmodel = swapp.ActiveDoc; // Проверка открытого документа if (swmodel == null) { swapp.SendMsgToUser("Откройте чертеж"); return; } //Or swDocumentTypes_e.swDocASSEMBLY if (swmodel.GetType() != (int)swDocumentTypes_e.swDocDRAWING) { swapp.SendMsgToUser("Откройте чертеж"); return; } if (string.IsNullOrEmpty(swmodel.GetPathName())) { swapp.SendMsgToUser("Сохраните чертеж!"); Close(); return; } swDraw = (DrawingDoc)swmodel; // Получение первого листа swSheet = swDraw.GetCurrentSheet(); strActiveSheetName = swSheet.GetName(); // Узнаем имя активного листа vSheetNames = swDraw.GetSheetNames(); ok = swDraw.ActivateSheet(vSheetNames[0]); swSheet = swDraw.GetCurrentSheet(); swView = swDraw.GetFirstView(); //m = 0 //Debug.Print(swSheet.CustomPropertyView); if (swSheet.CustomPropertyView == "По умолчанию" | swSheet.CustomPropertyView == "Default") { swView = swView.GetNextView(); // Получаем первый вид } else { while (!(swView == null)) { if (swView.GetName2() == swSheet.CustomPropertyView) { m = 1; break; } swView = swView.GetNextView(); } if (m == 0) { swView = swDraw.GetFirstView(); swView = swView.GetNextView(); swapp.SendMsgToUser("Не удалось определить вид из свойств листа. Ипользуется первый вид."); } } if (swView == null) { swapp.SendMsgToUser("Отсутсвует модель!"); // Возвращение активного листа ok = swDraw.ActivateSheet(strActiveSheetName); return; } if (swView.ReferencedDocument == null) { swapp.SendMsgToUser("Отсутсвует модель!"); // Возвращение активного листа ok = swDraw.ActivateSheet(strActiveSheetName); return; } swmodel = swView.ReferencedDocument; if (swmodel.GetType() != (int)swDocumentTypes_e.swDocASSEMBLY) { swapp.SendMsgToUser("Чертеж должен быть сборочным!"); // Возвращение активного листа ok = swDraw.ActivateSheet(strActiveSheetName); return; } }
public void LoadDataGridConfig() { try { //SelectionMgr swSelMgr; //Configuration swConfig; ; string sConfigName; object[] vConfNameArr; //swapp = CreateObject("SldWorks.Application") swapp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application"); swmodel = swapp.ActiveDoc; swDraw = (DrawingDoc)swmodel; swSheet = swDraw.GetCurrentSheet(); strActiveSheetName = swSheet.GetName(); vSheetNames = swDraw.GetSheetNames(); swDraw.ActivateSheet(vSheetNames[0]); swSheet = swDraw.GetCurrentSheet(); swView = swDraw.GetFirstView(); // Получаем параметры модели if (swSheet.CustomPropertyView == "По умолчанию" | swSheet.CustomPropertyView == "Default") { swView = swView.GetNextView(); } sConfigName = swView.ReferencedConfiguration; swmodel = swView.ReferencedDocument; swmodel.GetConfigurationByName(sConfigName); vConfNameArr = swmodel.GetConfigurationNames(); // Конфигурация for (var i = 0; i <= vConfNameArr.GetUpperBound(0); i++) { DataGridConfig.Rows.Add(ColChB.Selected, vConfNameArr[i]); } //Get customProperty from Assy CustomPropertyManager swCustProp = default(CustomPropertyManager); string valOut = ""; string Number = ""; string Description = ""; swCustProp = swmodel.Extension.CustomPropertyManager[""]; swCustProp.Get2("Обозначение", out valOut, out Number); swCustProp.Get2("Наименование", out valOut, out Description); addinform = new addincheckbox(); try { //Fill DataGriad foreach (string line in System.IO.File.ReadAllLines("C:\\Program Files\\SW-Complex\\doc.txt")) { addinform.DGDoc.Rows.Add(addinform.DocChb.Selected, line); } } catch (Exception ex) { //Interaction.MsgBox("Отсутствует SW-Complex или Doc.txt"); this.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void GetXMLfromBOM() { swapp = (SldWorks)Marshal.GetActiveObject("SldWorks.Application"); swmodel = swapp.ActiveDoc; swModelDocExt = swmodel.Extension; //создаем MemoryStream, в который будем писать XML var myMemoryStream = new MemoryStream(); //создаем XmlTextWriter, указываем объект – myMemoryStream, в который будем писать XML, и кодировку try { var myXml = new System.Xml.XmlTextWriter("C:\\Program Files\\SW-Complex\\SP-Temp.xml", System.Text.Encoding.UTF8); swDraw = (DrawingDoc)swmodel; vSheetNames = swDraw.GetSheetNames(); ok = swDraw.ActivateSheet(vSheetNames[0]); swView = swDraw.GetFirstView(); // Получаем параметры модели swView = swView.GetNextView(); swmodel = swView.ReferencedDocument; //swSelMgr = swDraw.SelectionManager; myXml.WriteStartDocument(); myXml.Formatting = System.Xml.Formatting.Indented; //длина отступа myXml.Indentation = 2; vConfName = swmodel.GetConfigurationNames(); swapp = new SldWorks(); swmodel = swapp.ActiveDoc; Feature swFeat = swmodel.FirstFeature(); while ((swFeat != null)) { if (swFeat.GetTypeName() == "BomFeat") { swFeat.Select(true); swBomFeature = swFeat.GetSpecificFeature2(); } swFeat = swFeat.GetNextFeature(); } ////////////////////////////////////////////////////// // // GetPropertyBomTableFromDrawDoc // ////////////////////////////////////////////////////// object vConfigurations = null; object vVisibility = null; bool bGetVisible = false; long lNumRow = 0; long lNumColumn = 0; int lRow = 0; TableAnnotation swTableAnnotation = default(TableAnnotation); ModelDoc2 swDocument = default(ModelDoc2); AssemblyDoc swAssembly = default(AssemblyDoc); int lStartRow = 0; string strItemNumber = ""; string strPartNumber = ""; string strDescription = ""; var strDocumentName = swBomFeature.GetReferencedModelName(); swDocument = swapp.GetOpenDocumentByName(strDocumentName); swAssembly = (AssemblyDoc)swDocument; //swBOMTableAnnotation = swBomFeature.GetTableAnnotations(0) var swBomTableAnnotation = (BomTableAnnotation)swBomFeature.GetTableAnnotations()[0]; swTableAnnotation = (TableAnnotation)swBomTableAnnotation; lNumRow = swTableAnnotation.RowCount; lNumColumn = swTableAnnotation.ColumnCount; lStartRow = 1; //If (Not (swTableAnnotation.TitleVisible = False)) Then if (swTableAnnotation.TitleVisible == false) { lStartRow = 2; } bGetVisible = false; vConfigurations = swBomFeature.GetConfigurations(bGetVisible, vVisibility); //swTableAnnotation = swTableAnnotation; /////////////////////////////////////////////////////////////////// swSheet = swDraw.GetCurrentSheet(); strActiveSheetName = swSheet.GetName(); vSheetNames = swDraw.GetSheetNames(); ok = swDraw.ActivateSheet(vSheetNames[0]); swSheet = swDraw.GetCurrentSheet(); swView = swDraw.GetFirstView(); if (swSheet.CustomPropertyView == "По умолчанию" | swSheet.CustomPropertyView == "Default") { swView = swView.GetNextView(); } // get custom property var valout = ""; //Обозначение var valout1 = ""; //Наименование CustomPropertyManager swCustProp = default(CustomPropertyManager); var resolvedValOut = ""; var resolvedValOut1 = ""; //string resolvedValOut3 = ""; //string resolvedValOut4 = ""; //string resolvedValOut5 = ""; swCustProp = swmodel.Extension.CustomPropertyManager[""]; swCustProp.Get2("Обозначение", out valout, out resolvedValOut); swCustProp.Get2("Description", out valout1, out resolvedValOut1); // переменные для колонок int Jj = 0; // наименование int aa = 0; // раздел int oo = 0; // обозначение int tt = 0; // формат int yy = 0; // int uu = 0; // Код материала int ss = 0; // Примечание string sRowStr = null; // наименовани string sRowStr1 = null; // раздел string sRowStr2 = null; // обозначение string sRowStr3 = null; // формат string sRowStr4 = null; // ERP code string sRowStr5 = null; // Код материала string sRowStr6 = null; // Примечание // При выборе электромонтажа string Complect = ""; if (addinform.ChkElectro1.Checked) { Complect = "МЭ"; } else if (addinform.ChkElectro2.Checked) { Complect = "ТБ"; } //////////////////////////////////////////////////////////// // // XML // //////////////////////////////////////////////////////////// //создаем элементы myXml.WriteStartElement("xml"); // myXml.WriteStartElement("Item"); // имя пути основного чертежа myXml.WriteStartElement("PathName"); //записываем строку myXml.WriteString(swmodel.GetPathName()); myXml.WriteEndElement(); // Устанавливаем ДОК из формы добавление myXml.WriteStartElement("doc"); // myXml.WriteStartElement("Обозначение"); //записываем строку myXml.WriteString(resolvedValOut + "CБ"); myXml.WriteEndElement(); // myXml.WriteStartElement("Наименование"); myXml.WriteString("Сборочный чертеж"); myXml.WriteEndElement(); // myXml.WriteEndElement(); //doc //dynamic CheckedRows2 = (from Rows in addinform.DGDoc.Rows.Cast<DataGridViewRow>()where Convert.ToBoolean(Rows.Cells(0).Value) == true).ToList; dynamic CheckedRows2 = (from Rows in addinform.DGDoc.Rows.Cast <DataGridViewRow>() where Convert.ToBoolean(Rows.Cells[0].Value.ToString()) select Rows).ToList(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); foreach (DataGridViewRow row in CheckedRows2) { sb.AppendLine(row.Cells[1].Value.ToString()); sb.ToString(); //Оставляем первые две буквы для обозначения разделитель var literal = row.Cells[1].Value.ToString(); var substring = literal.Substring(0, 2); var literal2 = row.Cells[1].Value.ToString(); var substring2 = literal2.Substring(5); myXml.WriteStartElement("doc"); /// myXml.WriteStartElement("Обозначение"); //записываем строку myXml.WriteString(resolvedValOut + substring); myXml.WriteEndElement(); /// myXml.WriteStartElement("Наименование"); myXml.WriteString(substring2); myXml.WriteEndElement(); /// myXml.WriteEndElement(); //doc } //<------------- Elec if (addinform.ChkElectro.Checked == true & addinform.ChkElectro1.Checked == false & addinform.ChkElectro2.Checked == false) { myXml.WriteStartElement("Elec"); //Elec myXml.WriteString("Устанавливают при электромонтаже"); myXml.WriteEndElement(); //Elec } //<------------- ChkElectro1 if (addinform.ChkElectro.Checked == true & addinform.ChkElectro1.Checked == true) { myXml.WriteStartElement("Elec"); //Elec myXml.WriteString("Устанавливают по " + resolvedValOut + Complect); myXml.WriteEndElement(); //Elec } //<------------- ChkElectro2 if (addinform.ChkElectro.Checked == true & addinform.ChkElectro2.Checked == true) { myXml.WriteStartElement("Elec"); //Elec myXml.WriteString("Устанавливают по " + resolvedValOut + Complect); myXml.WriteEndElement(); //Elec } // myXml.WriteStartElement("Обозначение"); //записываем строку myXml.WriteString(resolvedValOut); myXml.WriteEndElement(); /// myXml.WriteStartElement("Наименование"); myXml.WriteString(resolvedValOut1); myXml.WriteEndElement(); //\reference myXml.WriteStartElement("references"); // ВЫГРУЖАЕМ ВЫБРАННЫЕ КОНФИГУРАЦИИ dynamic CheckedRows = (from Rows in DataGridConfig.Rows.Cast <DataGridViewRow>() where Convert.ToBoolean(Rows.Cells[0].Value.ToString()) select Rows).ToList(); System.Text.StringBuilder sb2 = new System.Text.StringBuilder(); foreach (DataGridViewRow row in CheckedRows) { sb2.AppendLine(row.Cells[1].Value.ToString()); swmodel = swView.ReferencedDocument; var configuration = swView.ReferencedConfiguration; var sConfigName = swView.ReferencedConfiguration; Configuration swConfig = swmodel.GetConfigurationByName(sConfigName); for (var i = 0; i <= vConfName.GetUpperBound(0); i++) { const string ucase = ""; if (vConfName[i] == row.Cells[1].Value.ToString()) { configuration = vConfName[i]; } } swView.ReferencedConfiguration = sConfigName; myXml.WriteStartElement("config"); myXml.WriteAttributeString("value", row.Cells[1].Value.ToString()); ///////////////////////////////////////////////////////////// // // PART // ///////////////////////////////////////////////////////////// for (lRow = lStartRow; lRow <= (lNumRow - 1); lRow++) { if (swBomTableAnnotation.GetComponentsCount2((int)lRow, row.Cells[1].Value.ToString(), out strItemNumber, out strPartNumber) > 0) { myXml.WriteStartElement("part"); //PathNameComponent string strModelPathName = null; var vModelPathNames = swBomTableAnnotation.GetModelPathNames((int)lRow, out strItemNumber, out strPartNumber); if (((vModelPathNames != null))) { myXml.WriteStartElement("PathNameComponent"); foreach (var vModelPathName_loopVariable in vModelPathNames) { var vModelPathName = vModelPathName_loopVariable; strModelPathName = vModelPathName; myXml.WriteString(strModelPathName); } myXml.WriteEndElement(); } //'\ Row myXml.WriteStartElement("Row"); myXml.WriteString(Convert.ToString(lRow - lStartRow + 1)); myXml.WriteEndElement(); vModelPathNames = swBomTableAnnotation.GetModelPathNames((int)lRow, out strItemNumber, out strPartNumber); //\ ItemNum myXml.WriteStartElement("ItemNum"); myXml.WriteString(strItemNumber); myXml.WriteEndElement(); //\ раздел aa = 3; /// раздел sRowStr1 = ""; sRowStr1 = sRowStr1 + swTableAnnotation.Text[lRow, aa]; myXml.WriteStartElement("Раздел"); myXml.WriteString(sRowStr1); myXml.WriteEndElement(); //\ обозначение oo = 1; /// обозначение sRowStr2 = ""; sRowStr2 = sRowStr2 + swTableAnnotation.Text[lRow, oo]; myXml.WriteStartElement("Обозначение"); myXml.WriteString(sRowStr2); myXml.WriteEndElement(); //\ наименование Jj = 2; /// наименование sRowStr = ""; sRowStr = sRowStr + swTableAnnotation.Text[lRow, Jj]; myXml.WriteStartElement("Наименование"); myXml.WriteString(sRowStr); myXml.WriteEndElement(); //\ tt = 4; /// формат sRowStr3 = ""; sRowStr3 = sRowStr3 + swTableAnnotation.Text[lRow, tt]; myXml.WriteStartElement("Формат"); myXml.WriteString(sRowStr3); myXml.WriteEndElement(); //\ yy = 5; /// ERP code sRowStr4 = ""; sRowStr4 = sRowStr4 + swTableAnnotation.Text[lRow, yy]; myXml.WriteStartElement("ERP_code"); myXml.WriteString(sRowStr4); myXml.WriteEndElement(); //\ uu = 6; /// Код материала sRowStr5 = ""; sRowStr5 = sRowStr5 + swTableAnnotation.Text[lRow, uu]; myXml.WriteStartElement("Код_материала"); myXml.WriteString(sRowStr5); myXml.WriteEndElement(); //\ ss = 7; /// наименование sRowStr6 = ""; sRowStr6 = sRowStr6 + swTableAnnotation.Text[lRow, ss]; myXml.WriteStartElement("Примечание"); myXml.WriteString(sRowStr6); myXml.WriteEndElement(); //\ myXml.WriteStartElement("Количество"); //myXml.WriteString(swTableAnnotation.GetComponentsCount2(lRow, strConfiguration, strItemNumber, strPartNumber)) myXml.WriteString(Convert.ToString(swBomTableAnnotation.GetComponentsCount2(lRow, row.Cells[1].Value.ToString(), out strItemNumber, out strPartNumber))); myXml.WriteEndElement(); myXml.WriteEndElement(); //config } } myXml.WriteEndElement(); //part } myXml.WriteEndElement(); //references //<~~~~~~~~~~~~~~~~~~~~~~~~~~~ Get the Total Number of Rows Annotation swAnn = default(Annotation); TableAnnotation swTable = default(TableAnnotation); long nNumRow = 0; swmodel = swapp.ActiveDoc; swView = swDraw.GetFirstView(); swTable = swView.GetFirstTableAnnotation(); swAnn = swTable.GetAnnotation(); nNumRow = swTable.RowCount; myXml.WriteStartElement("TotalRows"); myXml.WriteString(Convert.ToString(nNumRow)); myXml.WriteEndElement(); //end TotalRows myXml.WriteEndElement(); //Item myXml.WriteEndElement(); //элемент XML //End If //заносим данные в myMemoryStream myXml.Flush(); myXml.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); throw; } }
/// <summary> /// 生成零件号 /// </summary> private void CreatePartNumber() { ModelDoc2 swModel = (ModelDoc2)AllData.iSwApp.ActiveDoc; if (swModel == null) { return; } DrawingDoc swDraw = (DrawingDoc)swModel; if (swDraw == null) { return; } //序号为零件属性,还是项目号, 还是文字 int iTextContent = -1; string strText = ""; if (this.rdoTemp1.Checked) { iTextContent = (int)swBalloonTextContent_e.swBalloonTextItemNumber; strText = ""; } else if (this.rdoTemp2.Checked) { iTextContent = (int)swBalloonTextContent_e.swBalloonTextCustomProperties; strText = Interop.Office.Core.Properties.Settings.Default.CreateNbr_PPtName; //"序号"; } else if (this.rdoTemp3.Checked) { iTextContent = (int)swBalloonTextContent_e.swBalloonTextCustom; strText = "0"; } else if (this.rdoTemp4.Checked) { iTextContent = (int)swBalloonTextContent_e.swBalloonTextQuantity; strText = "0"; } //以正方形分布 int iLayout = (int)swBalloonLayoutType_e.swDetailingBalloonLayout_Square; //下划线 int iStyle = (int)swBalloonStyle_e.swBS_Underline; //下划线长度 int iSize = (int)swBalloonFit_e.swBF_Tightest; //如果用户没有选中一个视图,就选中所有的视图 SolidWorks.Interop.sldworks.View swView = (SolidWorks.Interop.sldworks.View)swDraw.ActiveDrawingView; if (swView == null)//对所有的视图进行重排序 { swModel.ClearSelection2(true); swView = (SolidWorks.Interop.sldworks.View)swDraw.GetFirstView(); while (swView != null) { swModel.Extension.SelectByID2(swView.Name, "DRAWINGVIEW", 0, 0, 0, true, 0, null, 0); swView = (SolidWorks.Interop.sldworks.View)swView.GetNextView(); } } //自动添加序号 swDraw.AutoBalloon3(iLayout, true, iStyle, iSize, iTextContent, strText, iTextContent, strText, ""); //Notes = Part.AutoBalloon3(1, True, 10, 2, 1, "", 2, "", "-无-") //swDraw.AutoBalloon3(iLayout, true, iStyle, -1, iTextContent, "xh", iTextContent, "xh", ""); //swDraw.AutoBalloon3(1, true, 10, 2, 1, "", 2, "", "-无-"); //.AutoBalloon3(1, True, 10, 2, 1, "", 2, "", "-无-") ////SolidWorks2006 //swDraw.AutoBalloon2((int)swBalloonLayoutType_e.swDetailingBalloonLayout_Top, true); }
/// <summary> /// 如果有一个视图为选中状态,则对这个视图进行重排序, /// 否则,对一个图纸下的所有视图进行重排序 /// </summary> private void ReSortAllView() { this.arCheckRepect.Clear(); if (this.rdoTemp1.Checked) { if (StringOperate.Alert("序号为项目号时,无法重排序,要继续吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes) { return; } } ModelDoc2 swModel = (ModelDoc2)AllData.iSwApp.ActiveDoc; if (swModel == null) { return; } DrawingDoc swDraw = (DrawingDoc)swModel; SelectionMgr SelMgr = (SelectionMgr)swModel.SelectionManager; swModel.ClearSelection2(true); //101,$数量×"序号",$数量×"属性名" string strTxt = this.cmbStartIndex.Text; int abc = 1; bool bText = false; try { abc = Convert.ToInt16(this.cmbStartIndex.Text);//序号从一开始 } catch { bText = true; } SolidWorks.Interop.sldworks.View swView = (SolidWorks.Interop.sldworks.View)swDraw.ActiveDrawingView; if (swView == null)//对所有的视图进行重排序 { swView = (SolidWorks.Interop.sldworks.View)swDraw.GetFirstView(); //遍历视图 while (swView != null) { swDraw.ActivateView(swView.Name); if (bText) { SaidiResortOneView(swView, swModel);//对这个视图进行排序 } else { abc = ReSortOneView(abc, swView, swModel);//对这个视图进行排序 } //转到下一个视图 swView = (SolidWorks.Interop.sldworks.View)swView.GetNextView(); } } else//只对当前视图进行重排序 { if (bText) { SaidiResortOneView(swView, swModel);//对这个视图进行排序 } else { ReSortOneView(abc, swView, swModel); } } //重建,以更新明细表 swModel.EditRebuild3(); this.arCheckRepect.Clear(); }
public void SaveDrawingV2() { //This callback is for a utility to save an un-saved drawing of a part with a BPA part number into the correct Vault directory with the correct file name. DrawingDoc swDraw = iSwApp.ActiveDoc; SolidWorks.Interop.sldworks.View swView = swDraw.IGetFirstView(); swView = swView.GetNextView(); ModelDoc2 swDrawModel = swView.ReferencedDocument; int errors = 0; int warnings = 0; String configName = swView.ReferencedConfiguration; String drawingNumber = swDrawModel.GetCustomInfoValue(configName, "Drawing Number"); //MessageBox.Show("The drawing number is: " + drawingNumber); if (drawingNumber == "" || drawingNumber == " ") { MessageBox.Show("Please fill out the drawing number field on the model's file data card before proceeding.", "Missing Drawing Number", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } String modelPath = swDrawModel.GetPathName().ToString(); MessageBox.Show("The model's path is: " + modelPath); if (modelPath == "" || modelPath == " ") { MessageBox.Show("Please save the model before proceeding", "Save the Model", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } swDrawModel = iSwApp.ActiveDoc; String swDrawPath = swDrawModel.GetPathName().ToString(); //MessageBox.Show("The drawing path is: " + swDrawPath); if (swDrawPath != "") { MessageBox.Show("The drawing has already been saved as '" + swDrawPath + "' in the Vault.", "Drawng Saved", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { string[] pathDir = modelPath.Split('\\'); int pathDirLength = pathDir.Length; string path = pathDir[0] + "\\" + pathDir[1] + "\\" + pathDir[2] + "\\" + pathDir[3] + "\\" + pathDir[4] + "\\"; string dwgPath = path + drawingNumber + ".SLDDRW"; string dialogText = "The drawing path is: \n" + dwgPath + "\nContinue?"; DialogResult result = MessageBox.Show(dialogText, "Save Drawing?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (result == DialogResult.OK) { ModelDoc2 Model = SwApp.ActiveDoc; Boolean Save; Save = Model.SaveAs4(dwgPath, 0, 1, errors, warnings); } } //ModelDocExtension swModExt = default(ModelDocExtension); //Return the filepath of the referenced model in the parent view in the active drawing document. //string swModel = swView.GetReferencedModelName(); }