프로젝트

일반

사용자정보

개정판 519902b7

ID519902b7f03ba5fa192a5b1042a56a4557698dd9
상위 7dc233eb
하위 f78d485d

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

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

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