개정판 39a2a688
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