private void GetData(DrawingDoc swDraw) { // var swDraw = (DrawingDoc) swModel; // var ModelDoc var getFirstView = (View)swDraw.GetFirstView(); MessageBox.Show(getFirstView.ReferencedDocument.GetTitle()); swDraw.ResolveOutOfDateLightWeightComponents(); swDraw.ForceRebuild(); // Движение по листам var vSheetName = (string[])swDraw.GetSheetNames(); foreach (var name in vSheetName) { swDraw.ResolveOutOfDateLightWeightComponents(); var swSheet = swDraw.Sheet[name]; swDraw.ActivateSheet(swSheet.GetName()); if ((!swSheet.IsLoaded())) { continue; } var sheetviews1 = (object[])swSheet.GetViews(); var firstView1 = (View)sheetviews1[0]; var baseView1 = firstView1.IGetBaseView(); var dispData1 = (IModelDoc2)baseView1.ReferencedDocument; MessageBox.Show(dispData1.GetTitle()); try { var sheetviews = (object[])swSheet.GetViews(); var firstView = (View)sheetviews[0]; firstView.SetLightweightToResolved(); var baseView = firstView.IGetBaseView(); var dispData = (IModelDoc2)baseView.ReferencedDocument; MessageBox.Show(dispData.GetTitle()); } catch (Exception e) { MessageBox.Show(e.Message); } } }
public string PdfLoad(string filepath, bool deep, string pathpdf) { try { SwModel = SolidWorksAdapter.SldWoksAppExemplare.OpenDoc6(filepath, (int)swDocumentTypes_e.swDocDRAWING, (int)swOpenDocOptions_e.swOpenDocOptions_Silent, "", 0, 0); SwDraw = (DrawingDoc)SwModel; SwDraw.ResolveOutOfDateLightWeightComponents(); SwDraw.ForceRebuild(); var vSheetName = (string[])SwDraw.GetSheetNames(); foreach (var name in vSheetName) { if (name != null) { SwDraw.ResolveOutOfDateLightWeightComponents(); var swSheet = SwDraw.Sheet[name]; SwDraw.ActivateSheet(swSheet.GetName()); if ((swSheet.IsLoaded())) { var sheetviews = (object[])swSheet.GetViews(); if (sheetviews != null) { var firstView = (View)sheetviews[0]; firstView.SetLightweightToResolved(); } } if (!deep) { continue; } var views = (object[])swSheet.GetViews(); if (views != null) { foreach (var drwView in views.Cast <View>()) { drwView.SetLightweightToResolved(); } } } } var errors = 0; var warnings = 0; var newpath = pathpdf + "\\" + Path.GetFileNameWithoutExtension(SwModel.GetPathName()) + ".pdf"; //var newpath = Path.GetFullPath(SwModel.GetPathName().Replace("slddrw".ToUpper(), "pdf"));// + Path.GetFileNameWithoutExtension(SwModel.GetPathName()) + ".pdf"; SwModel.Extension.SaveAs(newpath, (int)swSaveAsVersion_e.swSaveAsCurrentVersion, (int)swSaveAsOptions_e.swSaveAsOptions_UpdateInactiveViews, null, ref errors, ref warnings); SolidWorksAdapter.SldWoksAppExemplare.CloseDoc(Path.GetFileNameWithoutExtension(new FileInfo(newpath).FullName)); //SolidWorksAdapter.KillProcsses("SLDWORKS"); return(newpath); } catch (Exception e) { MessageBox.Show(e.Message); throw; } }
public void CheckAndUpdateGaugeNotes2() { String currPage = swDraw.GetCurrentSheet().ToString(); Int32 shtCount = swDraw.GetSheetCount(); String[] shtName = (String[])swDraw.GetSheetNames(); for (int page = 0; page < shtCount; page++) { swFrame.SetStatusBarText(String.Format("Activating page {0}...", shtName[page])); swDraw.ActivateSheet(shtName[page]); swView = (View)swDraw.GetFirstView(); while (swView != null) { swDispDim = swView.GetFirstDisplayDimension5(); while (swDispDim != null) { swDim = (Dimension)swDispDim.GetDimension2(0); swFrame.SetStatusBarText(String.Format("Processing '{0}' => '{1}'...", swDim.Name, swDim.Value.ToString())); string dimtext = swDispDim.GetText((Int32)swDimensionTextParts_e.swDimensionTextCalloutBelow); dimtext = dimtext.Replace(@"(", string.Empty).Replace(@")", string.Empty).Trim(); if (gaugeRegex.IsMatch(dimtext)) { string[] texts_ = dimtext.Split(' '); gaugeNote = Regex.Replace(texts_[texts_.Length - 1], "[0-9]", string.Empty); Double og; if (!Double.TryParse(swDim.GetSystemValue2("").ToString(), out og)) { throw new GaugeSetterException("Couldn't parse dimension value."); } ourGauge = og / 0.0254; for (int i = 0; i < Gauges.Gauge.Length; i++) { Double dCellVal; if (!Double.TryParse(Gauges.Gauge[i].Thickness, out dCellVal)) { throw new GaugeSetterException("Couldn't parse gauge thickness."); } else if (Math.Abs(ourGauge - dCellVal) < 0.00003) { String gaugeCell = String.Empty; String gaugeString = String.Empty; gaugeNotFound = false; swDispDim.ShowParenthesis = true; gaugeString = String.Format("{0} {1}", Gauges.Gauge[i].GaugeNumber, gaugeNote.ToUpper()); swDispDim.SetText((int)swDimensionTextParts_e.swDimensionTextCalloutBelow, gaugeString); } } if (gaugeNotFound) { if (!APathSet.SilenceGaugeErrors) { StringBuilder sb = new StringBuilder("Non-standard gauge thickness detected:\n"); sb.AppendFormat(get_format_txt(), swDim.Name, swView.Name, ourGauge); swApp.SendMsgToUser2(sb.ToString() , (int)swMessageBoxIcon_e.swMbWarning , (int)swMessageBoxBtn_e.swMbOk); } gaugeNotFound = false; } } swDispDim = swDispDim.GetNext5(); } swView = (View)swView.GetNextView(); } } swDraw.ActivateSheet(currPage); if (gaugeNotFound) // Why waste time rebuilding? { swFrame.SetStatusBarText("Rebuilding"); swDraw.ForceRebuild(); } swFrame.SetStatusBarText(String.Empty); }