コード例 #1
0
ファイル: NxDrawingCreator.cs プロジェクト: Jipsey/ESTDoc
        /// <summary>
        /// Создает листы с картами наладки
        /// </summary>
        /// <param name="ds"></param>
        public void CreateSetupDrawnings(DrawingsSetup ds)
        {
            _operationNumber = ds.OperationNumber;

            for (var i = 0; i < ds.SheetNums; i++)
            {
                var sheet = _currentSheetNumber == 0
                    ? CreateSheet(_part, ds.DrawingsFormats.FirstOrDefault(df => df.DrawingType == 2 && df.IsFirstSheet))
                    : CreateSheet(_part, ds.DrawingsFormats.FirstOrDefault(df => df.DrawingType == 2 && !df.IsFirstSheet));

                if (!string.IsNullOrEmpty(ds.AdditionalFile))
                {
                    AddTechNotes(ds.AdditionalFile, ds.DrawingsFormatName);
                }

                if (_sparkToolGroupNotes != null)
                {
                    AddSparkToolGroupNotes(_sparkToolGroupNotes, ds.DrawingsFormatName);
                }

                if (sheet != null)
                {
                    SetSheetNotes(sheet);
                }
            }
        }
コード例 #2
0
ファイル: NxDrawingCreator.cs プロジェクト: Jipsey/ESTDoc
        /// <summary>
        ///  Создает листы с картами инструмента
        /// </summary>
        /// <param name="ds"></param>
        private void CreateToolDrawings(DrawingsSetup ds)
        {
            _operationNumber = ds.OperationNumber;

            bool answer;

            ufs.Cam.IsSessionInitialized(out answer);
            if (!answer)
            {
                ufs.Cam.InitSession();
            }

            if (ds.DrawingsType != 1)
            {
                throw new Exception("Ошибка вызова метода создания листа для типа " + ds.DrawingsType);
            }


            if (!ds.NxOperationGroups.Any())
            {
                throw new Exception("Не удалось получить выделенные объекты из навигатора операций!");
            }

//            var groups = ds.AdditionalTools.OfType<NCGroup>().ToList();
//            var operations = ds.AdditionalTools.OfType<Operation>().ToList();
//
//            if (!groups.Any() && !operations.Any())
//                throw new Exception("Ошибка вызова метода создания листа. Выбраный объект не является операцией или группой");
//
//            // сначала получим все родительские выделенные группы операций
//            var ncGroups = groups
//                .Where(gr =>
//                    !groups.Any(g =>
//                        g.GetMembers().Contains(gr)));
//
//            // если ни одна из групп операций не содержит выделенную операцию, добавим ее к группам
//            var taggedObjects = ncGroups
//                .Concat(operations
//                .Where(op =>
//                    !groups.Any(gr => gr.GetMembers().Contains(op)))
//                .Cast<TaggedObject>());
//
//            var operationGroups = taggedObjects
//                .Select(o => new NxOperationGroup(o, _additionalToolName));

            var descriptionsService = new NxOperationDescriptionsService();
            var descriptions        = descriptionsService.GetDescriptions(ds.NxOperationGroups);

            AddDescriptionsToSheets(descriptions.ToList(), ds.DrawingsFormats);   //ВНИМАНИЕ!!! Создаём КИ!
        }
コード例 #3
0
ファイル: NxDrawingCreator.cs プロジェクト: Jipsey/ESTDoc
        /// <summary>
        /// Создает листы с картами эскизов
        /// </summary>
        /// <param name="ds"></param>
        public void CreateSketchDrawnings(DrawingsSetup ds)
        {
            _operationNumber = ds.OperationNumber;

            for (var i = 0; i < ds.SheetNums; i++)
            {
                var sheet = i == 0
                    ? CreateSheet(_part, ds.DrawingsFormats.FirstOrDefault(df => df.DrawingType == 3 && df.IsFirstSheet))
                    : CreateSheet(_part, ds.DrawingsFormats.FirstOrDefault(df => df.DrawingType == 3 && !df.IsFirstSheet));

                if (!string.IsNullOrEmpty(ds.AdditionalFile))
                {
                    AddTechNotes(ds.AdditionalFile, ds.DrawingsFormatName);
                }

                if (sheet != null)
                {
                    SetSheetNotes(sheet);
                }

                // Сразу обозначим кол-во листов эскизов
                SetFirstSheetNotes(sheet, ds.SheetNums);
            }
        }