프로젝트

일반

사용자정보

개정판 6c8f490e

ID6c8f490e7e5ced64b11d5bff7d47c7aed563b5bc
상위 500a7753
하위 692f6b3b

백흠경이(가) 일년 이상 전에 추가함

Fix: 테마 적용, 영역이 작을때 Cloud Mark가 생성되지 않는 오류 수정

Change-Id: I9d57bb3e81df4e5a6cafb8701318de7d3d4feef6

차이점 보기:

ID2.Manager/ID2.Manager/Controls/Verification.Designer.cs
113 113
            devDept.Eyeshot.ViewCubeIcon viewCubeIcon3 = new devDept.Eyeshot.ViewCubeIcon(devDept.Eyeshot.coordinateSystemPositionType.TopRight, false, System.Drawing.Color.FromArgb(((int)(((byte)(220)))), ((int)(((byte)(20)))), ((int)(((byte)(60))))), true, "FRONT", "BACK", "LEFT", "RIGHT", "TOP", "BOTTOM", System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), System.Drawing.Color.FromArgb(((int)(((byte)(240)))), ((int)(((byte)(77)))), ((int)(((byte)(77)))), ((int)(((byte)(77))))), 'S', 'N', 'W', 'E', true, null, System.Drawing.Color.White, System.Drawing.Color.Black, 120, true, true, null, null, null, null, null, null, false, new devDept.Geometry.Quaternion(0D, 0D, 0D, 1D), true);
114 114
            devDept.Eyeshot.Viewport.SavedViewsManager savedViewsManager3 = new devDept.Eyeshot.Viewport.SavedViewsManager(8);
115 115
            devDept.Eyeshot.Viewport viewport3 = new devDept.Eyeshot.Viewport(new System.Drawing.Point(0, 0), new System.Drawing.Size(528, 214), backgroundSettings3, camera3, new devDept.Eyeshot.ToolBar[] {
116
            toolBar3}, new devDept.Eyeshot.Legend[0], histogram3, devDept.Eyeshot.displayType.Wireframe, true, false, false, false, new devDept.Eyeshot.Grid[] {
116
            toolBar3}, new devDept.Eyeshot.Legend[0], histogram3, devDept.Eyeshot.displayType.Wireframe, false, false, false, false, new devDept.Eyeshot.Grid[] {
117 117
            grid3}, new devDept.Eyeshot.OriginSymbol[] {
118 118
            originSymbol3}, false, rotateSettings3, zoomSettings3, panSettings3, navigationSettings3, coordinateSystemIcon3, viewCubeIcon3, savedViewsManager3, devDept.Eyeshot.viewType.Top);
119 119
            Telerik.WinControls.UI.TableViewDefinition tableViewDefinition1 = new Telerik.WinControls.UI.TableViewDefinition();
......
165 165
            this.radLabel6 = new Telerik.WinControls.UI.RadLabel();
166 166
            this.radColorBoxAVEVAColor = new Telerik.WinControls.UI.RadColorBox();
167 167
            this.radButtonCompare = new Telerik.WinControls.UI.RadButton();
168
            this.splitPanel5 = new Telerik.WinControls.UI.SplitPanel();
169
            this.splitPanel3 = new Telerik.WinControls.UI.SplitPanel();
170 168
            this.radLabel11 = new Telerik.WinControls.UI.RadLabel();
171 169
            this.radColorBoxRevCloudColor = new Telerik.WinControls.UI.RadColorBox();
170
            this.splitPanel5 = new Telerik.WinControls.UI.SplitPanel();
171
            this.splitPanel3 = new Telerik.WinControls.UI.SplitPanel();
172 172
            ((System.ComponentModel.ISupportInitialize)(this.radSplitContainer1)).BeginInit();
173 173
            this.radSplitContainer1.SuspendLayout();
174 174
            ((System.ComponentModel.ISupportInitialize)(this.splitPanel1)).BeginInit();
......
230 230
            ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).BeginInit();
231 231
            ((System.ComponentModel.ISupportInitialize)(this.radColorBoxAVEVAColor)).BeginInit();
232 232
            ((System.ComponentModel.ISupportInitialize)(this.radButtonCompare)).BeginInit();
233
            ((System.ComponentModel.ISupportInitialize)(this.splitPanel5)).BeginInit();
234
            ((System.ComponentModel.ISupportInitialize)(this.splitPanel3)).BeginInit();
235 233
            ((System.ComponentModel.ISupportInitialize)(this.radLabel11)).BeginInit();
236 234
            ((System.ComponentModel.ISupportInitialize)(this.radColorBoxRevCloudColor)).BeginInit();
235
            ((System.ComponentModel.ISupportInitialize)(this.splitPanel5)).BeginInit();
236
            ((System.ComponentModel.ISupportInitialize)(this.splitPanel3)).BeginInit();
237 237
            this.SuspendLayout();
238 238
            // 
239 239
            // radSplitContainer1
......
417 417
            this.radLabel8.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
418 418
            this.radLabel8.Location = new System.Drawing.Point(3, 4);
419 419
            this.radLabel8.Name = "radLabel8";
420
            this.radLabel8.Size = new System.Drawing.Size(88, 21);
420
            this.radLabel8.Size = new System.Drawing.Size(525, 21);
421 421
            this.radLabel8.TabIndex = 1;
422 422
            this.radLabel8.Text = "AVEVA P&&ID";
423 423
            // 
......
557 557
            this.radLabel10.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
558 558
            this.radLabel10.Location = new System.Drawing.Point(3, 4);
559 559
            this.radLabel10.Name = "radLabel10";
560
            this.radLabel10.Size = new System.Drawing.Size(36, 21);
560
            this.radLabel10.Size = new System.Drawing.Size(522, 21);
561 561
            this.radLabel10.TabIndex = 1;
562 562
            this.radLabel10.Text = "Data";
563 563
            // 
......
852 852
            this.radButtonCompare.TabIndex = 9;
853 853
            this.radButtonCompare.Text = "Compare";
854 854
            // 
855
            // radLabel11
856
            // 
857
            this.radLabel11.Dock = System.Windows.Forms.DockStyle.Fill;
858
            this.radLabel11.Location = new System.Drawing.Point(903, 3);
859
            this.radLabel11.Name = "radLabel11";
860
            this.radLabel11.Size = new System.Drawing.Size(94, 18);
861
            this.radLabel11.TabIndex = 10;
862
            this.radLabel11.Text = "Rev Cloud Color : ";
863
            // 
864
            // radColorBoxRevCloudColor
865
            // 
866
            this.radColorBoxRevCloudColor.Dock = System.Windows.Forms.DockStyle.Fill;
867
            this.radColorBoxRevCloudColor.Location = new System.Drawing.Point(1003, 3);
868
            this.radColorBoxRevCloudColor.Name = "radColorBoxRevCloudColor";
869
            this.radColorBoxRevCloudColor.Size = new System.Drawing.Size(114, 18);
870
            this.radColorBoxRevCloudColor.TabIndex = 11;
871
            this.radColorBoxRevCloudColor.Value = System.Drawing.Color.Magenta;
872
            // 
855 873
            // splitPanel5
856 874
            // 
857 875
            this.splitPanel5.Location = new System.Drawing.Point(102, 0);
......
877 895
            this.splitPanel3.TabIndex = 0;
878 896
            this.splitPanel3.TabStop = false;
879 897
            // 
880
            // radLabel11
881
            // 
882
            this.radLabel11.Dock = System.Windows.Forms.DockStyle.Fill;
883
            this.radLabel11.Location = new System.Drawing.Point(903, 3);
884
            this.radLabel11.Name = "radLabel11";
885
            this.radLabel11.Size = new System.Drawing.Size(96, 18);
886
            this.radLabel11.TabIndex = 10;
887
            this.radLabel11.Text = "Rev Cloud Color : ";
888
            // 
889
            // radColorBoxRevCloudColor
890
            // 
891
            this.radColorBoxRevCloudColor.Dock = System.Windows.Forms.DockStyle.Fill;
892
            this.radColorBoxRevCloudColor.Location = new System.Drawing.Point(1003, 3);
893
            this.radColorBoxRevCloudColor.Name = "radColorBoxRevCloudColor";
894
            this.radColorBoxRevCloudColor.Size = new System.Drawing.Size(114, 20);
895
            this.radColorBoxRevCloudColor.TabIndex = 11;
896
            this.radColorBoxRevCloudColor.Value = System.Drawing.Color.Magenta;
897
            // 
898 898
            // Verification
899 899
            // 
900 900
            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
......
970 970
            ((System.ComponentModel.ISupportInitialize)(this.radLabel6)).EndInit();
971 971
            ((System.ComponentModel.ISupportInitialize)(this.radColorBoxAVEVAColor)).EndInit();
972 972
            ((System.ComponentModel.ISupportInitialize)(this.radButtonCompare)).EndInit();
973
            ((System.ComponentModel.ISupportInitialize)(this.splitPanel5)).EndInit();
974
            ((System.ComponentModel.ISupportInitialize)(this.splitPanel3)).EndInit();
975 973
            ((System.ComponentModel.ISupportInitialize)(this.radLabel11)).EndInit();
976 974
            ((System.ComponentModel.ISupportInitialize)(this.radColorBoxRevCloudColor)).EndInit();
975
            ((System.ComponentModel.ISupportInitialize)(this.splitPanel5)).EndInit();
976
            ((System.ComponentModel.ISupportInitialize)(this.splitPanel3)).EndInit();
977 977
            this.ResumeLayout(false);
978 978

  
979 979
        }
ID2.Manager/ID2.Manager/Controls/Verification.cs
33 33
            Application.ProductName, $"{Application.ProductName}.ini");
34 34

  
35 35
        #region 기본값
36
        private static string AutoCADLayer { get; } = "AutoCAD";
36 37
        private static Color AutoCADColor = Color.FromArgb(44, 44, 44);
38
        private static string AVEVALayer { get; } = "AVEVA";
37 39
        private static Color AVEVAColor = Color.FromArgb(44, 44, 44);
38 40
        private static Color DiffColor = Color.Yellow;
39 41
        private static Color RevCloudColor = Color.Magenta;
......
133 135
                Application.ProductName, "Compare");
134 136
            if (!System.IO.Directory.Exists(FileFolder)) System.IO.Directory.CreateDirectory(FileFolder);
135 137

  
136
            var FixedDoc = new RadFixedDocument();
138
            
137 139

  
138 140
            try
139 141
            {
140
                var size = new Size(1920 * 2, 1080 * 2);
141 142
                var docs = this.radGridViewDocument.Rows.Where(x => Convert.ToBoolean(x.Cells["Checked"].Value)).Select(x => x.DataBoundItem as Documents);
143
                if(!docs.Any())
144
                {
145
                    RadMessageBox.Show("There are no checked documents.");
146
                    return;
147
                }
148

  
149
                var size = new Size(1920 * 2, 1080 * 2);
150

  
151
                var FixedDoc = new RadFixedDocument();
142 152

  
143 153
                _progressBar.Maximum = docs.Count();
144 154
                _progressBar.Value1 = 0;
......
203 213
                {
204 214
                    string ExceptLayers = string.Join(",", Forms.ExceptLayer.ExceptLayers.Select(x => x.Name));
205 215
                    Classes.ID2Helper.IniWriteValue(IniFilePath, "Verification", "Except Layers", ExceptLayers);
216

  
217
                    string ExceptLayersVisible = string.Join(",", Forms.ExceptLayer.ExceptLayers.Select(x => x.Visible));
218
                    Classes.ID2Helper.IniWriteValue(IniFilePath, "Verification", "Except Layers Visible", ExceptLayersVisible);
206 219
                }
207 220
            }
208 221
        }
......
332 345
            if (!string.IsNullOrEmpty(_ExceptLayers))
333 346
            {
334 347
                Forms.ExceptLayer.ExceptLayers.AddRange(_ExceptLayers.Split(',').ToList().ConvertAll(x => new Forms.ExceptLayer.Layer(x)));
348

  
349
                string _ExceptLayersVisible = Classes.ID2Helper.IniReadValue(IniFilePath, "Verification", "Except Layers Visible");
350
                if (!string.IsNullOrEmpty(_ExceptLayersVisible))
351
                {
352
                    var tokens = _ExceptLayersVisible.Split(',').ToList().ConvertAll(x => Convert.ToBoolean(x));
353
                    for (int i = 0; i < Forms.ExceptLayer.ExceptLayers.Count; ++i)
354
                    {
355
                        if (i < tokens.Count)
356
                        {
357
                            Forms.ExceptLayer.ExceptLayers[i].Visible = tokens[i];
358
                        }
359
                    }
360
                }
335 361
            }
336 362
            #endregion
337 363
        }
......
404 430
            /// AutoCAD P&ID 파일을 화면에 표시한다.
405 431
            void ShowAutoCADFile(string FilePath, Design design, bool clear = true)
406 432
            {
407
                string LayerName = "AutoCAD";
408 433
                if (clear) design.Clear();
409 434
                if (System.IO.File.Exists(FilePath))
410 435
                {
......
412 437
                    {
413 438
                        devDept.Eyeshot.Translators.ReadAutodesk ra = new devDept.Eyeshot.Translators.ReadAutodesk(FilePath);
414 439
                        ra.DoWork();
415
                        if (!ra.Layers.Contains(LayerName)) ra.Layers.Add(LayerName, Verification.AVEVAColor);
416
                        foreach (var ent in ra.Entities) ent.LayerName = LayerName;
440
                        if (!ra.Layers.Contains(Verification.AutoCADLayer)) ra.Layers.Add(Verification.AutoCADLayer, Verification.AutoCADColor);
441
                        foreach (var ent in ra.Entities)
442
                        {
443
                            ent.Color = Verification.AutoCADColor;
444
                            ent.ColorMethod = colorMethodType.byEntity;
445
                            if (!Forms.ExceptLayer.ExceptLayers.Exists(x => x.Name.ToUpper() == ent.LayerName.ToUpper()))
446
                            {
447
                                ent.LayerName = Verification.AutoCADLayer;
448
                            }
449
                        }
417 450
                        ra.AddToScene(design);
418 451
                    }
419 452
                    catch (Exception ex)
......
423 456
                    }
424 457

  
425 458
                    var AddEntities = new List<Entity>();
426
                    design.Entities.Where(x => x.LayerName == LayerName).ToList().ForEach(x =>
459
                    design.Entities.Where(x => x.LayerName == Verification.AutoCADLayer).ToList().ForEach(x =>
427 460
                    {
428 461
                        if (x is LinearPath lp)
429 462
                        {
......
445 478
                            foreach (var ent in entities.Where(y => y is devDept.Eyeshot.Entities.Attribute))
446 479
                            {
447 480
                                var txt = ent as devDept.Eyeshot.Entities.Attribute;
448
                                txt.LayerName = LayerName;
481
                                txt.LayerName = Verification.AutoCADLayer;
449 482
                                KeyValuePair<string, AttributeReference>? kp = attributes.FirstOrDefault(z => z.Key == txt.TextString);
450 483
                                if (kp.HasValue) txt.TextString = (kp.Value.Value) != null ? kp.Value.Value.Value : string.Empty;
451 484
                            }
......
461 494
                        }
462 495
                    });
463 496

  
464
                    #region LinearPath 그리고 Except Layer에 있 항목 제외
465
                    var ExceptLayers = Forms.ExceptLayer.ExceptLayers.Select(x => x.Name);
466
                    design.Entities.RemoveAll(x => (x is LinearPath) || ExceptLayers.Contains(x.LayerName));
497
                    #region LinearPath 그리고 Except Layer에 있고 Visible=False 항목 제외
498
                    design.Entities.RemoveAll(x => (x is LinearPath && x.LayerName == Verification.AutoCADLayer) || 
499
                    Forms.ExceptLayer.ExceptLayers.Exists(y => y.Name.ToUpper() == x.LayerName.ToUpper() && !y.Visible));
467 500
                    #endregion
468 501
                    design.Entities.AddRange(AddEntities);
469 502

  
470 503
                    #region 브랜치가 생성되는 부분에서 라인을 분할
471
                    var queue = design.Entities.Where(x => x is Line).ToList();
504
                    var queue = design.Entities.Where(x => x is Line && x.LayerName == Verification.AutoCADLayer).ToList();
472 505
                    while (queue.Any())
473 506
                    {
474 507
                        var line1 = queue.First() as Line;
......
537 570
                    }
538 571
                    #endregion
539 572

  
540
                    ColorEntities(design, design.Entities.Where(x => x.LayerName == LayerName).ToList(), Verification.AutoCADColor);
573
                    ColorEntities(design, design.Entities, Verification.AutoCADColor);
541 574

  
542 575
                    // Sets the view as Top
543 576
                    design.SetView(viewType.Top);
......
549 582
            /// AVEVA P&ID 파일을 화면에 표시한다.
550 583
            void ShowAVEVAPIDFile(string FilePath, Design design, bool clear = true)
551 584
            {
552
                string LayerName = "AVEVA";
553

  
554 585
                if (clear) design.Clear();
555 586
                if (System.IO.File.Exists(FilePath))
556 587
                {
557 588
                    devDept.Eyeshot.Translators.ReadAutodesk ra = new devDept.Eyeshot.Translators.ReadAutodesk(FilePath);
558 589
                    ra.DoWork();
559
                    if (!ra.Layers.Contains(LayerName)) ra.Layers.Add(LayerName, Verification.AVEVAColor);
560
                    foreach (var ent in ra.Entities) ent.LayerName = LayerName;
590
                    if (!ra.Layers.Contains(Verification.AVEVALayer)) ra.Layers.Add(Verification.AVEVALayer, Verification.AVEVAColor);
591
                    foreach (var ent in ra.Entities)
592
                    {
593
                        ent.Color = Verification.AVEVAColor;
594
                        ent.ColorMethod = colorMethodType.byEntity;
595
                        if (!Forms.ExceptLayer.ExceptLayers.Exists(x => x.Name.ToUpper() == ent.LayerName.ToUpper()))
596
                        {
597
                            ent.LayerName = Verification.AVEVALayer;
598
                        }
599
                    }
561 600
                    ra.AddToScene(design);
562 601

  
563 602
                    #region 멀티 라인들을 분할하여 추가한다.
564 603
                    var AddEntities = new List<Entity>();
565
                    design.Entities.Where(x => x.LayerName == LayerName).ToList().ForEach(x =>
604
                    design.Entities.Where(x => x.LayerName == Verification.AVEVALayer).ToList().ForEach(x =>
566 605
                    {
567 606
                        if (x is Mesh mesh && (mesh.LayerName == "AS_PIPE" || mesh.LayerName == "AS_INST"))
568 607
                        {
......
613 652
                        }
614 653
                        else if(x is BlockReference blkref)
615 654
                        {
655
                            var attributes = blkref.Attributes;
656
                            var entities = blkref.Explode(design.Blocks);
657
                            foreach (var ent in entities.Where(y => y is devDept.Eyeshot.Entities.Attribute))
658
                            {
659
                                var txt = ent as devDept.Eyeshot.Entities.Attribute;
660
                                txt.LayerName = Verification.AVEVALayer;
661
                                KeyValuePair<string, AttributeReference>? kp = attributes.FirstOrDefault(z => z.Key == txt.TextString);
662
                                if (kp.HasValue) txt.TextString = (kp.Value.Value) != null ? kp.Value.Value.Value : string.Empty;
663
                            }
664

  
665
                            AddEntities.AddRange(entities.Where(y =>
666
                            {
667
                                if (y is devDept.Eyeshot.Entities.Attribute attr && !string.IsNullOrEmpty(attr.TextString)) return true;
668
                                if (y is devDept.Eyeshot.Entities.Text text && !string.IsNullOrEmpty(text.TextString)) return true;
669
                                return false;
670
                            }));
671
                            blkref.Attributes.Clear();
616 672
                            blkref.UpdateBoundingBox(new TraversalParams(design));
617 673
                        }
618 674
                    });
619 675
                    design.Entities.RemoveAll(x =>
620 676
                    ((x is Mesh || x is TabulatedSurface) && (x.LayerName == "AS_PIPE" || x.LayerName == "AS_INST")) ||
621
                    (x is LinearPath));
677
                    (x is LinearPath && x.LayerName == Verification.AVEVALayer) ||
678
                    Forms.ExceptLayer.ExceptLayers.Exists(y => y.Name.ToUpper() == x.LayerName.ToUpper() && !y.Visible));
622 679
                    design.Entities.AddRange(AddEntities);
623 680
                    #endregion
624 681

  
625
                    ColorEntities(design, design.Entities.Where(x => x.LayerName == LayerName).ToList(), Verification.AVEVAColor);
682
                    ColorEntities(design, design.Entities.Where(x => x.LayerName == Verification.AVEVALayer).ToList(), Verification.AVEVAColor);
626 683

  
627 684
                    #region 블럭 이름이 PSNODE, PENODE인 블럭은 보이지 않도록 한다.
628 685
                    design.Entities.ForEach(x =>
......
640 697
            }
641 698

  
642 699
            string dwgExtension = ".dwg";
643
            string ID2DrawingFolder = System.IO.Path.Combine(informations.FindID2LocalPath(doc.RefProjectCode), "drawings", "Native");
700
            string ID2DrawingFolder = @"d:\Projects\ID2\ID2.Manager\Docs\ID2\";// System.IO.Path.Combine(informations.FindID2LocalPath(doc.RefProjectCode), "drawings", "Native");
644 701
            string dwgFilePath = System.IO.Path.Combine(ID2DrawingFolder, $"{doc.DocumentNo}{dwgExtension}");
645 702
            this.radTextBoxID2DrawingFolder.Text = ID2DrawingFolder;
646 703
            if (!ResultOnly) ShowAutoCADFile(dwgFilePath, this.designAutoCAD);
......
657 714

  
658 715
            if (System.IO.File.Exists(dwgFilePath) && System.IO.File.Exists(AVEVAPIDFilePath))
659 716
            {
660
                var AutoCADEntities = this.designCompare.Entities.Where(x => x.LayerName == "AutoCAD").ToList();
661
                var AVEVAtities = this.designCompare.Entities.Where(x => x.LayerName == "AVEVA").ToList();
717
                var AutoCADEntities = this.designCompare.Entities.Where(x => x.LayerName == Verification.AutoCADLayer).ToList();
718
                var AVEVAtities = this.designCompare.Entities.Where(x => x.LayerName == Verification.AVEVALayer).ToList();
662 719
                CompareAndMark(this.designCompare, AutoCADEntities, this.designCompare, AVEVAtities);
663 720
            }
664 721
        }
......
809 866
                double step = 10;
810 867
                double dist = start.DistanceTo(end);
811 868
                int count = Convert.ToInt32(dist / step);
812
                for(int i = 0;i < count;++i)
869
                if (count == 0 && dist > 0)
813 870
                {
814
                    var _start = (start + AxisX * i * step);
815
                    var _end = (start + AxisX * (i + 1) * step);
816
                    if (i == count - 1) _end = end;
817
                    var tmp = (_start + _end) * 0.5;
818
                    
871
                    var tmp = (start + end) * 0.5;
872

  
819 873
                    var center = new devDept.Geometry.Point3D(tmp.X, tmp.Y, 0);
820 874
                    var plane = new devDept.Geometry.Plane(center, AxisX, AxisY);
821
                    GArc arc = new GArc(plane, center, _start.DistanceTo(_end) * 0.5, Math.PI, Math.PI * 2);
875
                    GArc arc = new GArc(plane, center, start.DistanceTo(end) * 0.5, Math.PI, Math.PI * 2);
822 876
                    res.Add(arc);
823 877
                }
878
                else
879
                {
880
                    for (int i = 0; i < count; ++i)
881
                    {
882
                        var _start = (start + AxisX * i * step);
883
                        var _end = (start + AxisX * (i + 1) * step);
884
                        if (i == count - 1) _end = end;
885
                        var tmp = (_start + _end) * 0.5;
886

  
887
                        var center = new devDept.Geometry.Point3D(tmp.X, tmp.Y, 0);
888
                        var plane = new devDept.Geometry.Plane(center, AxisX, AxisY);
889
                        GArc arc = new GArc(plane, center, _start.DistanceTo(_end) * 0.5, Math.PI, Math.PI * 2);
890
                        res.Add(arc);
891
                    }
892
                }
824 893

  
825 894
                return res;
826 895
            }
ID2.Manager/ID2.Manager/Forms/ExceptLayer.Designer.cs
33 33
            System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ExceptLayer));
34 34
            this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
35 35
            this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
36
            this.radGridViewExceptLayer = new Telerik.WinControls.UI.RadGridView();
37 36
            this.radButtonOK = new Telerik.WinControls.UI.RadButton();
38 37
            this.radButtonCancel = new Telerik.WinControls.UI.RadButton();
38
            this.radGridViewExceptLayer = new Telerik.WinControls.UI.RadGridView();
39 39
            this.tableLayoutPanel1.SuspendLayout();
40 40
            this.tableLayoutPanel2.SuspendLayout();
41
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewExceptLayer)).BeginInit();
42
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewExceptLayer.MasterTemplate)).BeginInit();
43 41
            ((System.ComponentModel.ISupportInitialize)(this.radButtonOK)).BeginInit();
44 42
            ((System.ComponentModel.ISupportInitialize)(this.radButtonCancel)).BeginInit();
43
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewExceptLayer)).BeginInit();
44
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewExceptLayer.MasterTemplate)).BeginInit();
45 45
            ((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
46 46
            this.SuspendLayout();
47 47
            // 
......
58 58
            this.tableLayoutPanel1.RowCount = 2;
59 59
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
60 60
            this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F));
61
            this.tableLayoutPanel1.Size = new System.Drawing.Size(281, 162);
61
            this.tableLayoutPanel1.Size = new System.Drawing.Size(281, 304);
62 62
            this.tableLayoutPanel1.TabIndex = 0;
63 63
            // 
64 64
            // tableLayoutPanel2
......
70 70
            this.tableLayoutPanel2.Controls.Add(this.radButtonOK, 1, 0);
71 71
            this.tableLayoutPanel2.Controls.Add(this.radButtonCancel, 2, 0);
72 72
            this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
73
            this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 125);
73
            this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 267);
74 74
            this.tableLayoutPanel2.Name = "tableLayoutPanel2";
75 75
            this.tableLayoutPanel2.RowCount = 1;
76 76
            this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
77 77
            this.tableLayoutPanel2.Size = new System.Drawing.Size(275, 34);
78 78
            this.tableLayoutPanel2.TabIndex = 0;
79 79
            // 
80
            // radGridViewExceptLayer
81
            // 
82
            this.radGridViewExceptLayer.Dock = System.Windows.Forms.DockStyle.Fill;
83
            this.radGridViewExceptLayer.Location = new System.Drawing.Point(3, 3);
84
            // 
85
            // 
86
            // 
87
            this.radGridViewExceptLayer.MasterTemplate.ViewDefinition = tableViewDefinition1;
88
            this.radGridViewExceptLayer.Name = "radGridViewExceptLayer";
89
            this.radGridViewExceptLayer.Size = new System.Drawing.Size(275, 116);
90
            this.radGridViewExceptLayer.TabIndex = 1;
91
            // 
92 80
            // radButtonOK
93 81
            // 
94 82
            this.radButtonOK.Dock = System.Windows.Forms.DockStyle.Fill;
......
107 95
            this.radButtonCancel.TabIndex = 1;
108 96
            this.radButtonCancel.Text = "Cancel";
109 97
            // 
98
            // radGridViewExceptLayer
99
            // 
100
            this.radGridViewExceptLayer.Dock = System.Windows.Forms.DockStyle.Fill;
101
            this.radGridViewExceptLayer.Location = new System.Drawing.Point(3, 3);
102
            // 
103
            // 
104
            // 
105
            this.radGridViewExceptLayer.MasterTemplate.ViewDefinition = tableViewDefinition1;
106
            this.radGridViewExceptLayer.Name = "radGridViewExceptLayer";
107
            this.radGridViewExceptLayer.Size = new System.Drawing.Size(275, 258);
108
            this.radGridViewExceptLayer.TabIndex = 1;
109
            // 
110 110
            // ExceptLayer
111 111
            // 
112 112
            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
113 113
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
114
            this.ClientSize = new System.Drawing.Size(281, 162);
114
            this.ClientSize = new System.Drawing.Size(281, 304);
115 115
            this.Controls.Add(this.tableLayoutPanel1);
116 116
            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
117 117
            this.MaximizeBox = false;
......
121 121
            this.Text = "Except Layers";
122 122
            this.tableLayoutPanel1.ResumeLayout(false);
123 123
            this.tableLayoutPanel2.ResumeLayout(false);
124
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewExceptLayer.MasterTemplate)).EndInit();
125
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewExceptLayer)).EndInit();
126 124
            ((System.ComponentModel.ISupportInitialize)(this.radButtonOK)).EndInit();
127 125
            ((System.ComponentModel.ISupportInitialize)(this.radButtonCancel)).EndInit();
126
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewExceptLayer.MasterTemplate)).EndInit();
127
            ((System.ComponentModel.ISupportInitialize)(this.radGridViewExceptLayer)).EndInit();
128 128
            ((System.ComponentModel.ISupportInitialize)(this)).EndInit();
129 129
            this.ResumeLayout(false);
130 130

  
ID2.Manager/ID2.Manager/Forms/ExceptLayer.cs
29 29
            }
30 30

  
31 31
            public string Name { get; set; } = string.Empty;
32
            public bool Visible { get; set; } = false;
32 33
        }
33 34

  
34 35
        public static List<Layer> ExceptLayers { get; } = new List<Layer>();
......
39 40
            InitializeComponent();
40 41

  
41 42
            ExceptLayers.ForEach(x => _Bindings.Add(x));
43
            this.radGridViewExceptLayer.DataBindingComplete += RadGridViewExceptLayer_DataBindingComplete;
42 44
            this.radGridViewExceptLayer.DataSource = _Bindings;
43 45

  
44 46
            this.radButtonOK.Click += RadButtonOK_Click;
45 47
            this.radButtonCancel.Click += RadButtonCancel_Click;
46 48
        }
47 49

  
50
        private void RadGridViewExceptLayer_DataBindingComplete(object sender, GridViewBindingCompleteEventArgs e)
51
        {
52
            radGridViewExceptLayer.BestFitColumns();
53
        }
54

  
48 55
        private void RadButtonOK_Click(object sender, EventArgs e)
49 56
        {
50 57
            ExceptLayers.Clear();
ID2.Manager/ID2.Manager/Forms/Login.Designer.cs
36 36
            this.radTextBoxID = new Telerik.WinControls.UI.RadTextBox();
37 37
            this.radCheckBoxRememberID = new Telerik.WinControls.UI.RadCheckBox();
38 38
            this.radButtonCancel = new Telerik.WinControls.UI.RadButton();
39
            this.office2013DarkTheme1 = new Telerik.WinControls.Themes.Office2013DarkTheme();
40
            this.telerikMetroTheme1 = new Telerik.WinControls.Themes.TelerikMetroTheme();
41
            this.visualStudio2012DarkTheme1 = new Telerik.WinControls.Themes.VisualStudio2012DarkTheme();
42
            this.visualStudio2012LightTheme1 = new Telerik.WinControls.Themes.VisualStudio2012LightTheme();
43
            this.windows8Theme1 = new Telerik.WinControls.Themes.Windows8Theme();
39 44
            this.tableLayoutPanel1.SuspendLayout();
40 45
            ((System.ComponentModel.ISupportInitialize)(this.radButtonOK)).BeginInit();
41 46
            ((System.ComponentModel.ISupportInitialize)(this.radTextBoxPW)).BeginInit();
......
47 52
            // 
48 53
            // tableLayoutPanel1
49 54
            // 
50
            this.tableLayoutPanel1.BackColor = System.Drawing.Color.Transparent;
55
            this.tableLayoutPanel1.BackColor = System.Drawing.SystemColors.Control;
51 56
            this.tableLayoutPanel1.ColumnCount = 5;
52 57
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
53 58
            this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 80F));
......
182 187
        private Telerik.WinControls.UI.RadTextBox radTextBoxPW;
183 188
        private Telerik.WinControls.UI.RadButton radButtonCancel;
184 189
        private Telerik.WinControls.UI.RadButton radButtonOK;
190
        private Telerik.WinControls.Themes.Office2013DarkTheme office2013DarkTheme1;
191
        private Telerik.WinControls.Themes.TelerikMetroTheme telerikMetroTheme1;
192
        private Telerik.WinControls.Themes.VisualStudio2012DarkTheme visualStudio2012DarkTheme1;
193
        private Telerik.WinControls.Themes.VisualStudio2012LightTheme visualStudio2012LightTheme1;
194
        private Telerik.WinControls.Themes.Windows8Theme windows8Theme1;
185 195
    }
186 196
}
ID2.Manager/ID2.Manager/Forms/Login.resx
117 117
  <resheader name="writer">
118 118
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
119 119
  </resheader>
120
  <metadata name="office2013DarkTheme1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
121
    <value>17, 17</value>
122
  </metadata>
123
  <metadata name="telerikMetroTheme1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
124
    <value>208, 17</value>
125
  </metadata>
126
  <metadata name="visualStudio2012DarkTheme1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
127
    <value>379, 17</value>
128
  </metadata>
129
  <metadata name="visualStudio2012LightTheme1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
130
    <value>610, 17</value>
131
  </metadata>
132
  <metadata name="windows8Theme1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
133
    <value>842, 17</value>
134
  </metadata>
120 135
  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
121 136
  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
122 137
    <value>
ID2.Manager/ID2.Manager/Main.cs
56 56
        BriefAndImages briefAndImagesReview = new BriefAndImages { Dock = DockStyle.Fill };
57 57
        IssueImagesAndAnswer issueImagesAndAnswerWork = new IssueImagesAndAnswer { Dock = DockStyle.Fill };
58 58

  
59
        #region 테마
60
        private static Telerik.WinControls.Themes.Office2013DarkTheme office2013DarkTheme1 = new Telerik.WinControls.Themes.Office2013DarkTheme();
61
        private static Telerik.WinControls.Themes.TelerikMetroTheme telerikMetroTheme1 = new Telerik.WinControls.Themes.TelerikMetroTheme();
62
        private static Telerik.WinControls.Themes.VisualStudio2012DarkTheme visualStudio2012DarkTheme1 = new Telerik.WinControls.Themes.VisualStudio2012DarkTheme();
63
        private static Telerik.WinControls.Themes.VisualStudio2012LightTheme visualStudio2012LightTheme1 = new Telerik.WinControls.Themes.VisualStudio2012LightTheme();
64
        private static Telerik.WinControls.Themes.Windows8Theme windows8Theme1 = new Telerik.WinControls.Themes.Windows8Theme();
65
        #endregion
59
        
66 60
//#if DEBUG
67 61
//        Telerik.WinControls.RadControlSpy.RadControlSpyForm radControlSpyForm = new Telerik.WinControls.RadControlSpy.RadControlSpyForm();
68 62
//#endif
ID2.Manager/ID2.Manager/Program.cs
19 19
        public static bool IsSearch = false;
20 20
        public static string IniFilePath = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
21 21
                    Application.ProductName, $"{Application.ProductName}.ini");
22
        #region 테마
22 23
        public static string ThemeName = "ControlDefault";
24
        #endregion
23 25

  
24 26
        /// <summary>
25 27
        /// 해당 애플리케이션의 주 진입점입니다.

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)