private void ConvertToDxf(SldWorks swApp, Files.Info item, ModelDoc2 swModel, ref Exception exOut, object[] confArray, bool IsBendsFixed) { if (!item.ExistDXF) { // Проходимся по всем конфигурациям для Fix, DXF foreach (var confName in confArray) { // Проверка на Dxf if (!item.ExistDXF) { Exception exc; if (!Dxf.ExistDxf(item.IdPDM, item.CurrentVersion, confName.ToString(), out exc)) // using export part data { swModel.ShowConfiguration2(confName.ToString()); if (!IsBendsFixed) { var list = new List <Bends.SolidWorksFixPattern.PartBendInfo>(); Bends.Fix(swApp, out list, false); // using export part data } var listDxf = new List <Dxf.DxfFile>(); if (Dxf.Save(swApp, out exOut, item.IdPDM, item.CurrentVersion, out listDxf, false, false, confName.ToString())) // using export part data { if (exOut != null) { Logger.Add(exOut.Message + "; " + exOut.StackTrace); } var exOutList = new List <Dxf.ResultList>(); Dxf.AddToSql(listDxf, true, out exOutList); if (exOutList != null) { foreach (var itemEx in exOutList) { Logger.Add($"DXF AddToSql err: {itemEx.dxfFile} Exception {itemEx.exc}"); } } } } } } } }
private static void ExportDataToXmlSql(SldWorks swApp, Files.Info item, ModelDoc2 swModel, ref Exception exOut, object[] confArray, out bool isFix) { if (!item.ExistCutList) { try { List <ExportXmlSql.DataToExport> listCutList = new List <ExportXmlSql.DataToExport>(); // using export part data // Проходимся по всем конфигурация для Fix, CutList foreach (var confName in confArray) { Configuration swConf = swModel.GetConfigurationByName(confName.ToString()); if (swConf.IsDerived()) { continue; // только детали верхнего уровня } swModel.ShowConfiguration2(confName.ToString()); // Проверка на CutList: false - XML отсутствует, true - XML есть if (!item.ExistCutList) { var list = new List <Bends.SolidWorksFixPattern.PartBendInfo>(); // using export part data Bends.Fix(swApp, out list, false); // разгиб List <ExportXmlSql.DataToExport> listCutListConf; // using export part data ExportXmlSql.GetCurrentConfigPartData(swApp, item.CurrentVersion, item.IdPDM, false, false, out listCutListConf, out exOut); listCutList.AddRange(listCutListConf); } if (exOut != null) { Logger.Add(exOut.Message); } } isFix = true; //CutList To Sql if (listCutList != null) { //Logger.Add("=============================== Сохранение Cut list data через ExportXmlSql.ExportDataToXmlSql метод ====================================="); //System.Text.StringBuilder messageBuilder = new System.Text.StringBuilder(); //foreach (var EachCut in listCutList) //{ // messageBuilder.Append("id " + EachCut.IdPdm+", "); // messageBuilder.Append("name " + EachCut.FileName + ", "); // messageBuilder.Append("ver. " + EachCut.Version + ", "); // messageBuilder.Append("conf. " + EachCut.Config + ", "); // messageBuilder.Append("Mat-l Id " + EachCut.MaterialId + ", "); // messageBuilder.Append("PaintX " + EachCut.PaintX + ", "); // messageBuilder.Append("PaintY " + EachCut.PaintY + ", "); // messageBuilder.Append("PaintZ " + EachCut.PaintZ + ", "); // messageBuilder.Append("ДлинаГраничнойРамки " + EachCut.ДлинаГраничнойРамки + ", "); // messageBuilder.Append("КодМатериала " + EachCut.КодМатериала + ", "); // messageBuilder.Append("Материал " + EachCut.Материал + ", "); // messageBuilder.Append("ПлощадьПокрытия " + EachCut.ПлощадьПокрытия + ", "); // messageBuilder.Append("Сгибы " + EachCut.Сгибы + ", "); // messageBuilder.Append("ТолщинаЛистовогоМеталла " + EachCut.ТолщинаЛистовогоМеталла + ", "); // messageBuilder.Append("ШиринаГраничнойРамки " + EachCut.ШиринаГраничнойРамки + ", "); // messageBuilder.Append("\n============================================================================================\n"); //} //Logger.Add(messageBuilder.ToString()); ExportXmlSql.ExportDataToXmlSql(item.FileName.ToUpper().Replace(".SLDPRT", ""), listCutList, out exOut); // using export part data if (exOut != null) { Logger.Add(exOut.Message); } } } catch (Exception ex) { Logger.Add("!item.ExistCutList ------ " + ex.Message + "; " + ex.StackTrace); } } isFix = false; }