Ejemplo n.º 1
0
 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}");
                             }
                         }
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 private void ConvertToEprt(SldWorks swApp, List <Files.Info> ListForBatchAdd, Files.Info item, ModelDoc2 swModel)
 {
     if (!item.ExistEdrawing)
     {
         try
         {
             if (ConvertToErpt(swApp, swModel, item.FullFilePath))
             {
                 ListForBatchAdd.Add(item);
             }
         }
         catch (Exception ex)
         {
             Logger.Add(ex.Message + "; " + ex.StackTrace);
         }
     }
 }
Ejemplo n.º 3
0
        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;
        }