프로젝트

일반

사용자정보

개정판 39a2a688

ID39a2a688053945d39d52da6d1b2d406dc9cba20a
상위 5244d622
하위 ce1c530d

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

dev issue #000 : item mapping

Change-Id: I25661ee253628059f352c9776bacaf6e31f3daa6

차이점 보기:

DTI_PID/BaseModel/BaseModel.csproj
84 84
    <Compile Include="Model\Other\Connector.cs" />
85 85
    <Compile Include="Model\Other\LineNumberRun.cs" />
86 86
    <Compile Include="Model\Other\Property.cs" />
87
    <Compile Include="Model\SPPID_Info.cs" />
87
    <Compile Include="Model\SPPIDLineInfo.cs" />
88
    <Compile Include="Model\SPPIDSymbolInfo.cs" />
88 89
    <Compile Include="Project_DB.cs" />
89 90
    <Compile Include="Project_Info.cs" />
90 91
    <Compile Include="Model\Document.cs" />
DTI_PID/BaseModel/Model/ChildSymbol.cs
13 13
        private string _NAME;
14 14
        private List<ChildSymbol> _ChildSymbols = new List<ChildSymbol>();
15 15
        private List<Connector> _Connectors = new List<Connector>();
16
        private SPPID_Info _SPPID;
16
        private SPPIDSymbolInfo _SPPID;
17 17

  
18 18
        public string NAME { get => _NAME; set => _NAME = value; }
19 19
        public List<ChildSymbol> ChildSymbols { get => _ChildSymbols; set => _ChildSymbols = value; }
20 20
        public int ParentAt { get => _ParentAt; set => _ParentAt = value; }
21 21
        public string Direction { get => _Direction; set => _Direction = value; }
22 22
        public List<Connector> Connectors { get => _Connectors; set => _Connectors = value; }
23
        public SPPID_Info SPPID { get => _SPPID; set => _SPPID = value; }
23
        public SPPIDSymbolInfo SPPID { get => _SPPID; set => _SPPID = value; }
24 24
    }
25 25
}
DTI_PID/BaseModel/Model/Document.cs
13 13
    {
14 14
        private string _DWGNAME;
15 15
        private string _SIZE;
16
        private double _SIZE_WIDTH;
17
        private double _SIZE_HEIGHT;
16 18
        private List<Symbol> _SYMBOLS = new List<Symbol>();
17 19
        private List<Text> _TEXTINFOS = new List<Text>();
18 20
        private List<Note> _NOTES = new List<Note>();
......
28 30
        public List<Line> LINES { get => _LINES; set => _LINES = value; }
29 31
        public List<LineNumber> LINENUMBERS { get => _LINENUMBERS; set => _LINENUMBERS = value; }
30 32
        public string DWGNAME { get => _DWGNAME; set => _DWGNAME = value; }
31
        public string SIZE { get => _SIZE; set => _SIZE = value; }
33
        public string SIZE
34
        {
35
            get
36
            {
37
                return _SIZE;
38
            }
39
            set
40
            {
41
                _SIZE = value;
42
                string[] pointArr = _SIZE.Split(new char[] { ',' });
43
                if (pointArr.Length == 2)
44
                {
45
                    _SIZE_WIDTH = Convert.ToDouble(pointArr[0]);
46
                    _SIZE_HEIGHT = Convert.ToDouble(pointArr[1]);
47
                }
48
            }
49
        }
50
        public double SIZE_WIDTH { get => _SIZE_WIDTH; }
51
        public double SIZE_HEIGHT { get => _SIZE_HEIGHT; }
32 52

  
33 53
        public Document(string xmlPath)
34 54
        {
DTI_PID/BaseModel/Model/Line.cs
17 17
        private string _AREA;
18 18
        private string _THICKNESS;
19 19
        private List<Connector> _CONNECTORS = new List<Connector>();
20
        private SPPID_Info _SPPID;
20
        private SPPIDLineInfo _SPPID;
21 21

  
22 22
        public string OWNER { get => _OWNER; set => _OWNER = value; }
23 23
        public string UID { get => _UID; set => _UID = value; }
......
28 28
        public string THICKNESS { get => _THICKNESS; set => _THICKNESS = value; }
29 29
        public List<Connector> CONNECTORS { get => _CONNECTORS; set => _CONNECTORS = value; }
30 30
        public string TYPEUID { get => _TYPEUID; set => _TYPEUID = value; }
31
        public SPPID_Info SPPID { get => _SPPID; set => _SPPID = value; }
31
        public SPPIDLineInfo SPPID { get => _SPPID; set => _SPPID = value; }
32 32
    }
33 33
}
DTI_PID/BaseModel/Model/LineNumber.cs
18 18
        private List<LineNumberRun> _RUNS = new List<LineNumberRun>();
19 19
        private List<Property> _PROPERTIES = new List<Property>();
20 20
        private List<Attribute> _ATTRIBUTES = new List<Attribute>();
21
        private SPPID_Info _SPPID;
22 21

  
23 22
        public string UID { get => _UID; set => _UID = value; }
24 23
        public string TEXT { get => _TEXT; set => _TEXT = value; }
......
30 29
        public List<LineNumberRun> RUNS { get => _RUNS; set => _RUNS = value; }
31 30
        public List<Property> PROPERTIES { get => _PROPERTIES; set => _PROPERTIES = value; }
32 31
        public List<Attribute> ATTRIBUTES { get => _ATTRIBUTES; set => _ATTRIBUTES = value; }
33
        public SPPID_Info SPPID { get => _SPPID; set => _SPPID = value; }
34 32
    }
35 33
}
DTI_PID/BaseModel/Model/Note.cs
17 17
        private string _WIDTH;
18 18
        private string _HEIGHT;
19 19
        private string _AREA;
20
        private SPPID_Info _SPPID;
21 20

  
22 21
        public string UID { get => _UID; set => _UID = value; }
23 22
        public string ATTRIBUTEVALUE { get => _ATTRIBUTEVALUE; set => _ATTRIBUTEVALUE = value; }
......
28 27
        public string WIDTH { get => _WIDTH; set => _WIDTH = value; }
29 28
        public string HEIGHT { get => _HEIGHT; set => _HEIGHT = value; }
30 29
        public string AREA { get => _AREA; set => _AREA = value; }
31
        public SPPID_Info SPPID { get => _SPPID; set => _SPPID = value; }
32 30
    }
33 31
}
DTI_PID/BaseModel/Model/SPPIDLineInfo.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Threading.Tasks;
6

  
7
namespace Converter.BaseModel
8
{
9
    public class SPPIDLineInfo
10
    {
11
        public string MAPPINGNAME { get; set; }
12
        public double START_X { get; set; }
13
        public double START_Y { get; set; }
14
        public double END_X { get; set; }
15
        public double END_Y { get; set; }
16
        public string SP_ID { get; set; }
17
    }
18
}
DTI_PID/BaseModel/Model/SPPIDSymbolInfo.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Threading.Tasks;
6

  
7
namespace Converter.BaseModel
8
{
9
    public class SPPIDSymbolInfo
10
    {
11
        public string MAPPINGNAME { get; set; }
12
        public double LOCATION_X { get; set; }
13
        public double LOCATION_Y { get; set; }
14
        public object ITEMOBJECT { get; set; }
15
    }
16
}
DTI_PID/BaseModel/Model/SPPID_Info.cs
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
using System.Text;
5
using System.Threading.Tasks;
6

  
7
namespace Converter.BaseModel
8
{
9
    public class SPPID_Info
10
    {
11
        public string MAPPINGNAME { get; set; }
12
        public double LOCATION_X { get; set; }
13
        public double LOCATION_Y { get; set; }
14
        public object ITEMOBJECT { get; set; }
15
    }
16
}
DTI_PID/BaseModel/Model/Symbol.cs
29 29
        private List<Attribute> _ATTRIBUTES = new List<Attribute>();
30 30
        private int _CURRENTPOINTMODEINDEX;
31 31
        private List<ChildSymbol> _ChildSymbols = new List<ChildSymbol>();
32
        private SPPID_Info _SPPID;
32
        private SPPIDSymbolInfo _SPPID;
33 33

  
34 34
        public string UID { get => _UID; set => _UID = value; }
35 35
        public string NAME { get => _NAME; set => _NAME = value; }
......
52 52
        public int CURRENTPOINTMODEINDEX { get => _CURRENTPOINTMODEINDEX; set => _CURRENTPOINTMODEINDEX = value; }
53 53
        public List<ChildSymbol> ChildSymbols { get => _ChildSymbols; set => _ChildSymbols = value; }
54 54
        public string DBUID { get => _DBUID; set => _DBUID = value; }
55
        public SPPID_Info SPPID { get => _SPPID; set => _SPPID = value; }
55
        public SPPIDSymbolInfo SPPID { get => _SPPID; set => _SPPID = value; }
56 56
    }
57 57
}
DTI_PID/BaseModel/Model/Text.cs
17 17
        private string _WIDTH;
18 18
        private string _HEIGHT;
19 19
        private string _AREA;
20
        private SPPID_Info _SPPID;
21 20

  
22 21
        public string UID { get => _UID; set => _UID = value; }
23 22
        public string ATTRIBUTEVALUE { get => _ATTRIBUTEVALUE; set => _ATTRIBUTEVALUE = value; }
......
28 27
        public string WIDTH { get => _WIDTH; set => _WIDTH = value; }
29 28
        public string HEIGHT { get => _HEIGHT; set => _HEIGHT = value; }
30 29
        public string AREA { get => _AREA; set => _AREA = value; }
31
        public SPPID_Info SPPID { get => _SPPID; set => _SPPID = value; }
32 30
    }
33 31
}
DTI_PID/SPPIDConverter/ConverterForm.cs
455 455
        {
456 456
#if DEBUG
457 457
            SPPID_Document document = new SPPID_Document(@"Z:\HanKyouHo\temp\Isocynates\Temp\zIsocynates-325_Page75.xml");
458
            AutoModeling modeling = new AutoModeling(document);
459
            modeling.Run();
458
            document.SymbolMappings = symbolMappings;
459
            document.LineMappings = lineMappings;
460
            document.LineNumberMappings = lineNumberMappings;
461
            document.AssociationMappings = associationMappings;
462
            document.ETCSetting = ETCSetting.GetInstance();
463
            document.SetSPPIDInfo();
464

  
465
            if (document.SetSPPIDMapping())
466
            {
467
                AutoModeling modeling = new AutoModeling(document);
468
                modeling.Run();
469
            }
470
            
460 471
            return;
461 472
#endif
462 473

  
DTI_PID/SPPIDConverter/Model/SPPID_Document.cs
15 15

  
16 16
        }
17 17

  
18
        private double testX = 0.855;
19
        private double testY = 0.55;
20

  
21
        public List<SymbolMapping> SymbolMappings;
22
        public List<LineMapping> LineMappings;
23
        public List<LineNumberMapping> LineNumberMappings;
24
        public List<AssociationMapping> AssociationMappings;
25
        public ETCSetting ETCSetting;
26

  
18 27
        public string DrawingName { get; set; }
19 28
        public string DrawingNumber { get; set; }
20 29
        public string Unit { get; set; }
......
24 33
        {
25 34
            foreach (var item in SYMBOLS)
26 35
            {
27
                //item.SPPID.MAPPINGNAME = 
36
                if (item.SPPID == null)
37
                    item.SPPID = new SPPIDSymbolInfo();
38
                double x = double.NaN;
39
                double y = double.NaN;
40
                SPPIDUtil.ConvertPointBystring(item.LOCATION, ref x, ref y);
41
                SPPIDUtil.ConvertSPPIDPoint(ref x, ref y, SIZE_WIDTH, SIZE_HEIGHT, testX, testY);
42
                item.SPPID.LOCATION_X = x;
43
                item.SPPID.LOCATION_Y = y;
44
            }
45

  
46
            foreach (var item in LINES)
47
            {
48
                if (item.SPPID == null)
49
                    item.SPPID = new SPPIDLineInfo();
50
                double x = double.NaN;
51
                double y = double.NaN;
52

  
53
                SPPIDUtil.ConvertPointBystring(item.STARTPOINT, ref x, ref y);
54
                SPPIDUtil.ConvertSPPIDPoint(ref x, ref y, SIZE_WIDTH, SIZE_HEIGHT, testX, testY);
55
                item.SPPID.START_X = x;
56
                item.SPPID.START_Y = y;
57

  
58
                SPPIDUtil.ConvertPointBystring(item.ENDPOINT, ref x, ref y);
59
                SPPIDUtil.ConvertSPPIDPoint(ref x, ref y, SIZE_WIDTH, SIZE_HEIGHT, testX, testY);
60
                item.SPPID.END_X = x;
61
                item.SPPID.END_Y = y;
62
            }
63
        }
64
        
65
        public bool SetSPPIDMapping()
66
        {
67
            foreach (var item in SYMBOLS)
68
            {
69
                SymbolMapping mapping = SymbolMappings.Find(x => x.UID == item.DBUID);
70
                item.SPPID.MAPPINGNAME = mapping != null ? mapping.SPPIDSYMBOLNAME : null;
71
                if (string.IsNullOrEmpty(item.SPPID.MAPPINGNAME))
72
                    return false;
73
            }
74

  
75
            foreach (var item in LINES)
76
            {
77
                LineMapping mapping = LineMappings.Find(x => x.UID == item.TYPEUID);
78
                item.SPPID.MAPPINGNAME = mapping != null ? mapping.SPPIDSYMBOLNAME : null;
79
                if (string.IsNullOrEmpty(item.SPPID.MAPPINGNAME))
80
                    return false;
28 81
            }
29 82

  
83
            return true;
30 84
        }
31 85
    }
32 86
}
DTI_PID/SPPIDConverter/Util/SPPIDUtil.cs
70 70
            return null;
71 71
        }
72 72

  
73
        public static bool ConvertPointBystring(string sPoint, ref double dX, ref double dY)
74
        {
75
            try
76
            {
77
                string[] pointArr = sPoint.Split(new char[] { ',' });
78
                if (pointArr.Length == 2)
79
                {
80
                    dX = Convert.ToDouble(pointArr[0]);
81
                    dY = Convert.ToDouble(pointArr[1]);
82
                }
83
            }
84
            catch (Exception)
85
            {
86
                dX = 0;
87
                dY = 0;
88
                return false;
89
            }
90

  
91
            return true;
92
        }
73 93

  
94
        public static void ConvertSPPIDPoint(ref double dX, ref double dY, double dDwgX, double dDwgY, double SPPID_Width, double SPPID_Height)
95
        {
96
            double calcX = 0;
97
            double calcY = 0;
98
            calcX = (dX * SPPID_Width) / dDwgX;
99
            calcX = Math.Truncate(calcX * 1000) / 1000;
100
            calcY = SPPID_Height - ((dY * SPPID_Height) / dDwgY);
101
            calcY = Math.Truncate(calcY * 1000) / 1000;
102
            dX = calcX;
103
            dY = calcY;
104
        }
74 105

  
75 106
        #region
76 107
        public static bool IsBranchLine(string UID, Line connectedLine)

내보내기 Unified diff

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