프로젝트

일반

사용자정보

개정판 8aa6f2db

ID8aa6f2dbb2f7f2950cd6fa9605de2c6d4cde4cef
상위 5f611a2e
하위 ec1279b0

gaqhf 이(가) 약 6년 전에 추가함

dev issue #000 : add flow direction logic

Change-Id: Ifb1915357b5b2178b0e2614169ff504e65b64b1b

차이점 보기:

DTI_PID/SPPIDConverter/AutoModeling.cs
5 5
using System.Threading.Tasks;
6 6
using Llama;
7 7
using Plaice;
8
using Ingr.RAD2D.Interop.RAD2D;
9
using Ingr.RAD2D.Internal;
10
using Ingr.RAD2D.Helper;
8 11
using Converter.BaseModel;
9 12
using Converter.SPPID.Model;
10 13
using Converter.SPPID.Properties;
......
35 38
        {
36 39
            _placement = new Placement();
37 40
            dataSource = _placement.PIDDataSource;
38

  
39 41
            //dynamic application = Interaction.GetObject("", "PIDAutomation.Application");
40 42
            //dynamic newDrawing = application.Drawings.Add(document.Unit, document.Template, document.DrawingNumber, document.DrawingName);
41 43
            //application.ActiveWindow.Fit();
......
50 52

  
51 53
            foreach (LineNumber lineNumber in document.LINENUMBERS)
52 54
            {
53
                foreach (LineNumberRun run in lineNumber.RUNS)
55
                foreach (LineRun run in lineNumber.RUNS)
54 56
                {
55 57
                    SymbolModelingByRun(run);
58
                }
59
            }
60

  
61

  
62
            foreach (TrimLine trimLine in document.TRIMLINES)
63
            {
64
                foreach (LineRun run in trimLine.RUNS)
65
                {
66
                    SymbolModelingByRun(run);
67
                }
68
            }
69

  
70
            foreach (LineNumber lineNumber in document.LINENUMBERS)
71
            {
72
                foreach (LineRun run in lineNumber.RUNS)
73
                {
56 74
                    LineModelingByRun(run);
75
                }
76
            }
57 77

  
58
                    //bool IsFirst = true;
59
                    //// Run 별로 Modeling
60
                    //Symbol prevSymbol = null;
61
                    //object prevItem = null;
62

  
63
                    
64

  
65
                    //// Symbol 먼저
66
                    //foreach (var item in run.RUNITEMS)
67
                    //{
68
                    //    if (item.GetType() == typeof(Symbol))
69
                    //    {
70
                    //        Symbol symbol = item as Symbol;
71
                    //        SymbolModeling(symbol, prevSymbol, prevItem, IsFirst);
72
                    //        prevSymbol = symbol;
73
                    //    }
74
                    //    IsFirst = false;
75
                    //    prevItem = item;
76
                    //}
77

  
78

  
79
                    //Line prevLine = null;
80
                    //prevSymbol = null;
81
                    //prevItem = null;
82
                    //List<Line> lines = new List<Line>();
83
                    //foreach (var item in run.RUNITEMS)
84
                    //{
85
                    //    // Line일 경우
86
                    //    if (item.GetType() == typeof(Line))
87
                    //    {
88
                    //        Line line = item as Line;
89
                    //        if (prevLine == null)
90
                    //            lines.Add(line);
91
                    //        else if (prevLine != null)
92
                    //        {
93
                    //            if (prevLine.SPPID.MAPPINGNAME == line.SPPID.MAPPINGNAME)
94
                    //                lines.Add(line);
95
                    //            else
96
                    //            {
97
                    //                LineModeling(lines);
98
                    //                lines.Clear();
99
                    //                lines.Add(line);
100
                    //            }
101
                    //        }
102

  
103
                    //        prevLine = line;
104
                    //    }
105
                    //    // Symbol 일 경우
106
                    //    else if (item.GetType() == typeof(Symbol))
107
                    //    {
108
                    //        if (lines.Count > 0)
109
                    //        {
110
                    //            LineModeling(lines);
111
                    //            lines.Clear();
112
                    //        }
113
                    //    }
114
                    //    prevItem = item;
115
                    //}
116

  
117
                    //if (lines.Count > 0)
118
                    //    LineModeling(lines);
78
            foreach (TrimLine trimLine in document.TRIMLINES)
79
            {
80
                foreach (LineRun run in trimLine.RUNS)
81
                {
82
                    LineModelingByRun(run);
119 83
                }
120 84
            }
121 85

  
......
125 89
            System.Windows.Forms.MessageBox.Show("end");
126 90
        }
127 91

  
128
        private void LineModelingByRun(LineNumberRun run)
92
        private void LineModelingByRun(LineRun run)
129 93
        {
130 94
            Line prevLine = null;
131 95
            List<Line> lines = new List<Line>();
......
166 130
                LineModeling(lines);
167 131
        }
168 132

  
169
        private void SymbolModelingByRun(LineNumberRun run)
133
        private void SymbolModelingByRun(LineRun run)
170 134
        {
171 135
            // 양끝 Symbol 검사 후 Line이 나올때까지만 Symbol Modeling
172 136
            if (run.RUNITEMS.Count > 0)
......
196 160
            }
197 161
        }
198 162

  
199
        private void SymbolModelingByRunStart(Symbol symbol, LineNumberRun run)
163
        private void SymbolModelingByRunStart(Symbol symbol, LineRun run)
200 164
        {
201 165
            foreach (var connector in symbol.CONNECTORS)
202 166
            {
......
221 185

  
222 186
        }
223 187

  
224
        private void SymbolModelingByRunEnd(Symbol symbol, LineNumberRun run)
188
        private void SymbolModelingByRunEnd(Symbol symbol, LineRun run)
225 189
        {
226 190
            foreach (var connector in symbol.CONNECTORS)
227 191
            {
......
280 244
            }
281 245
            else if (prevItem != null && prevItem.GetType() == typeof(Symbol))
282 246
                _TargetItem = dataSource.GetSymbol(((Symbol)prevItem).SPPID.RepresentationId);
283

  
247
            
284 248
            if (prevSymbol != null)
285 249
            {
286 250
                SlopeType slopeType = SPPIDUtil.CalcSlope(x, y, prevSymbol.SPPID.ORIGINAL_X, prevSymbol.SPPID.ORIGINAL_Y);
......
291 255
                    y = prevY;
292 256
                else if (slopeType == SlopeType.VERTICAL)
293 257
                    x = prevX;
294

  
258
                
295 259
                ReleaseCOMObjects(prevLMSymbol);
296 260
            }
297 261

  

내보내기 Unified diff

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