private bool SavePartToDXF(PartDoc part, string partConfiguration, string savePath) { try { var partModel = part as ModelDoc2; if (partModel.IsSheetMetal() == false) { Print(partModel.GetTitle() + " - skipped, not sheet metal"); return(false); } if (templateDrawing == null) { templateDrawing = CreateDrawing(); } var sheet = templateDrawing.IGetCurrentSheet(); var modelName = Path.GetFileNameWithoutExtension(partModel.GetPathName()); sheet.SetName(modelName); Print(partModel.GetTitle() + " - Creating flat pattern."); SolidWorks.Interop.sldworks.View view; view = templateDrawing.CreateFlatPatternViewFromModelView3(partModel.GetPathName(), partConfiguration, 0, 0, 0, false, false); view.ShowSheetMetalBendNotes = true; var drawingModel = templateDrawing as ModelDoc2; drawingModel.ViewZoomtofit2(); if (HasSupressedBends(view)) { Print("A bend is suppressed, please check flat pattern!", Color.Red); } if (HideModelSketches(view)) { // delete the current view that has sketches shown drawingModel.SelectByName(0, view.Name); drawingModel.DeleteSelection(false); // recreate the flat pattern view view = templateDrawing.CreateFlatPatternViewFromModelView3(partModel.GetPathName(), partConfiguration, 0, 0, 0, false, false); view.ShowSheetMetalBendNotes = true; } if (viewFlipDecider.ShouldFlip(view)) { Print(partModel.GetTitle() + " - Flipped view", Color.Blue); view.FlipView = true; } drawingModel.SaveAs(savePath); Print(partModel.GetTitle() + " - Saved to \"" + savePath + "\"", Color.Green); drawingModel.SelectByName(0, view.Name); drawingModel.DeleteSelection(false); return(true); } catch (Exception ex) { MessageBox.Show(ex.Message); return(false); } }