개정판 519902b7
dev issue #000 : specbreak relocation 수정
Change-Id: Iea8f0d447d8cbbf4e131d17b96d7e85a4202f1c6
DTI_PID/SPPIDConverter/AutoModeling.cs | ||
---|---|---|
1032 | 1032 |
LMDrawings drawings = new LMDrawings(); |
1033 | 1033 |
drawings.Collect(dataSource, Filter: filter); |
1034 | 1034 |
|
1035 |
// Input Drawing Attribute |
|
1036 |
LMDrawing drawing = ((dynamic)drawings).Nth(1); |
|
1037 |
if (drawing != null) |
|
1038 |
{ |
|
1039 |
|
|
1040 |
|
|
1041 |
|
|
1042 |
ReleaseCOMObjects(drawing); |
|
1043 |
} |
|
1044 |
|
|
1035 | 1045 |
drawingID = ((dynamic)drawings).Nth(1).Id; |
1036 | 1046 |
ReleaseCOMObjects(filter); |
1037 | 1047 |
ReleaseCOMObjects(criterion); |
DTI_PID/SPPIDConverter/ConverterDocking.cs | ||
---|---|---|
956 | 956 |
} |
957 | 957 |
private void SpecBreakRelocation(double degree, double crossX, double crossY, double topX, double topY, DependencyObject dependency1, DependencyObject dependency2, DependencyObject dependency3) |
958 | 958 |
{ |
959 |
double d1X1, d1Y1, d1X2, d1Y2, d2X1, d2Y1, d2X2, d2Y2; |
|
959 |
double d1X1, d1Y1, d1X2, d1Y2, d2X1, d2Y1, d2X2, d2Y2, d3X1 = 0, d3Y1 = 0, d3X2 = 0, d3Y2 = 0;
|
|
960 | 960 |
|
961 | 961 |
FindRangeWithOutLineString2d(dependency1, out d1X1, out d1Y1, out d1X2, out d1Y2); |
962 | 962 |
FindRangeWithOutLineString2d(dependency2, out d2X1, out d2Y1, out d2X2, out d2Y2); |
963 |
if (dependency3 != null) |
|
964 |
FindRangeWithOutLineString2d(dependency3, out d3X1, out d3Y1, out d3X2, out d3Y2); |
|
963 | 965 |
|
964 | 966 |
switch (degree) |
965 | 967 |
{ |
966 | 968 |
case 0: |
967 | 969 |
MoveDependency(dependency1, d1X2, d1Y2, crossX, crossY); |
968 | 970 |
MoveDependency(dependency2, d2X1, d2Y2, crossX, crossY); |
971 |
if (dependency3 != null) |
|
972 |
MoveDependency(dependency3, (d3X1 + d3X2) / 2, d3Y1, topX, topY); |
|
969 | 973 |
break; |
970 | 974 |
case 90: |
971 | 975 |
MoveDependency(dependency1, d1X1, d1Y2, crossX, crossY); |
972 | 976 |
MoveDependency(dependency2, d2X1, d2Y1, crossX, crossY); |
977 |
if (dependency3 != null) |
|
978 |
MoveDependency(dependency3, d3X2, (d3Y1 + d3Y2) / 2, topX, topY); |
|
973 | 979 |
break; |
974 | 980 |
case 180: |
975 | 981 |
MoveDependency(dependency1, d1X2, d1Y1, crossX, crossY); |
976 | 982 |
MoveDependency(dependency2, d2X1, d2Y1, crossX, crossY); |
983 |
if (dependency3 != null) |
|
984 |
MoveDependency(dependency3, (d3X1 + d3X2) / 2, d3Y2, topX, topY); |
|
977 | 985 |
break; |
978 | 986 |
case 270: |
979 | 987 |
MoveDependency(dependency1, d1X2, d1Y2, crossX, crossY); |
980 | 988 |
MoveDependency(dependency2, d2X2, d2Y1, crossX, crossY); |
989 |
if (dependency3 != null) |
|
990 |
MoveDependency(dependency3, d3X1, (d3Y1 + d3Y2) / 2, topX, topY); |
|
981 | 991 |
break; |
982 | 992 |
default: |
983 | 993 |
break; |
... | ... | |
1071 | 1081 |
//LMLabelPersist label = dataSource.GetLabelPersist(a); |
1072 | 1082 |
//label.set_XCoordinate(0.4); |
1073 | 1083 |
|
1074 |
DependencyObject dependency = application.ActiveSelectSet[0] as DependencyObject; |
|
1075 |
if (dependency != null) |
|
1084 |
Symbol2d symbol = application.ActiveSelectSet[0] as Symbol2d; |
|
1085 |
double minX = double.MaxValue; |
|
1086 |
int index = 0; |
|
1087 |
bool start = false; |
|
1088 |
Line2d tar = null; |
|
1089 |
double rx1 = 0, ry1 = 0, rx2 = 0, ry2 = 0; |
|
1090 |
if (symbol != null) |
|
1076 | 1091 |
{ |
1077 |
Transform transform = dependency.GetTransform(); |
|
1078 |
transform.DefineByMove2d(0.01, 0); |
|
1079 |
application.ActiveSelectSet.Transform(transform, true); |
|
1092 |
for (int i = 0; i < symbol.DrawingObjects.Count; i++) |
|
1093 |
{ |
|
1094 |
DrawingObjectBase drawingObj = symbol.DrawingObjects[i]; |
|
1095 |
|
|
1096 |
if (drawingObj.GetType() == typeof(Line2d)) |
|
1097 |
{ |
|
1098 |
Line2d line = drawingObj as Line2d; |
|
1099 |
double x1, y1, x2, y2; |
|
1100 |
line.GetStartPoint(out x1, out y1); |
|
1101 |
line.GetEndPoint(out x2, out y2); |
|
1102 |
if (x1 < minX) |
|
1103 |
{ |
|
1104 |
minX = x1; |
|
1105 |
index = i; |
|
1106 |
start = true; |
|
1107 |
tar = line; |
|
1108 |
|
|
1109 |
rx1 = x1; |
|
1110 |
rx2 = x2; |
|
1111 |
ry1 = y1; |
|
1112 |
ry2 = y2; |
|
1113 |
} |
|
1114 |
|
|
1115 |
if (x2 < minX) |
|
1116 |
{ |
|
1117 |
minX = x2; |
|
1118 |
index = i; |
|
1119 |
start = false; |
|
1120 |
tar = line; |
|
1121 |
|
|
1122 |
rx1 = x1; |
|
1123 |
rx2 = x2; |
|
1124 |
ry1 = y1; |
|
1125 |
ry2 = y2; |
|
1126 |
} |
|
1127 |
} |
|
1128 |
} |
|
1129 |
} |
|
1130 |
|
|
1131 |
if (start) |
|
1132 |
{ |
|
1133 |
symbol.Symbol2dParameters[0].Value = 0.02; |
|
1134 |
//Ingr.RAD2D.Group group = symbol.Convert(); |
|
1135 |
//group. |
|
1136 |
} |
|
1137 |
else |
|
1138 |
{ |
|
1139 |
|
|
1080 | 1140 |
} |
1081 | 1141 |
} |
1082 | 1142 |
|
내보내기 Unified diff