Beispiel #1
0
        /// <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("_ТИП_КАРТЫ_НЕ_ОПРЕДЕЛЕН!_");
        }
Beispiel #2
0
        /// <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 = 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();

            builder.Destroy();

            var sheet = nxObject as DrawingSheet;

            if (sheet == null)
            {
                throw new Exception("Ошибка при создании нового листа!");
            }
            //            sheet.Open();
            return(sheet);
        }