/// <summary> /// Получает имя листа, в зависимости от типа формата /// </summary> /// <param name="nxDrawingsFromat"></param> /// <returns></returns> private string GetSheetName(NxDrawingsFromat nxDrawingsFromat) { switch (nxDrawingsFromat.DrawingType) { case 1: return("_КАРТА_ИНСТРУМЕНТОВ_"); case 2: return("_КАРТА_НАЛАДКИ_"); case 3: return("_КАРТА_ЭСКИЗОВ_"); } return("_ТИП_КАРТЫ_НЕ_ОПРЕДЕЛЕН!_"); }
/// <summary> /// Создает новый лист. Параметр указывает, является ли лист первым (для разных форматов) /// </summary> /// <param name="part"></param> /// <param name="drawingsFromat"></param> /// <returns></returns> private DrawingSheet CreateSheet(Part part, NxDrawingsFromat drawingsFromat) { _currentSheetNumber += 1; if (drawingsFromat == null) { throw new Exception("Не найдены форматки для создания листа!"); } // var strings = Directory.GetFiles(NxSession.UGII_TEMPLATE_DIR, drawingsFromat.Template, SearchOption.AllDirectories); var template = System.IO.Path.Combine(NxSession.UGII_TEMPLATE_DIR, drawingsFromat.Template); if (!File.Exists(template)) { throw new Exception(string.Format("Не существует файл шаблона форматки {0} в директории {1}", drawingsFromat.Template, NxSession.UGII_TEMPLATE_DIR)); } DrawingSheet drawingSheet = null; var builder = part.DrawingSheets.DrawingSheetBuilder(drawingSheet); builder.Option = DrawingSheetBuilder.SheetOption.UseTemplate; builder.AutoStartViewCreation = false; builder.Units = DrawingSheetBuilder.SheetUnits.Metric; builder.MetricSheetTemplateLocation = template; builder.Name = "0" + _operationNumber + GetSheetName(drawingsFromat) + string.Format("{0:D3}", _currentSheetNumber); var nxObject = builder.Commit(); nxObject.SetName(builder.Name); builder.Destroy(); var sheet = nxObject as DrawingSheet; if (sheet == null) { throw new Exception("Ошибка при создании нового листа!"); } return(sheet); }