프로젝트

일반

사용자정보

개정판 83c14a07

ID83c14a073c250433b013427b252ebb7e09ec138f
상위 3734dcc5
하위 88bac50c, 149967a7

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

dev issue #1132 : line attribute

Change-Id: Iecf85536730f056530e79e9a442443d564ed718c

차이점 보기:

DTI_PID/SPPIDConverter/AutoModeling.cs
3197 3197

  
3198 3198
                    if (connectedLMConnector != null)
3199 3199
                    {
3200
                        Association association = line.ASSOCIATIONS.Find(x => x.VALUE == text.UID);
3201
                        List<BaseModel.Attribute> attributes = line.ATTRIBUTES.FindAll(x => x.ATTRIBUTETYPE == association.TYPE);
3202
                        AttributeMapping mapping = null;
3203
                        foreach (var attribute in attributes)
3200
                        BaseModel.Attribute attribute = line.ATTRIBUTES.Find(x => x.ASSOCITEM == text.UID);
3201
                        if (attribute != null && !string.IsNullOrEmpty(attribute.VALUE) && attribute.VALUE != "None")
3204 3202
                        {
3205
                            if (string.IsNullOrEmpty(attribute.VALUE) || attribute.VALUE == "None")
3206
                                continue;
3203
                            AttributeMapping mapping = document.AttributeMappings.Find(x => x.UID == attribute.UID && !string.IsNullOrEmpty(x.SPPIDSYMBOLNAME));
3207 3204

  
3208
                            mapping = document.AttributeMappings.Find(x => x.UID == attribute.UID && !string.IsNullOrEmpty(x.SPPIDSYMBOLNAME));
3209 3205
                            if (mapping != null)
3210
                                break;
3211
                        }
3212

  
3213
                        if (mapping != null)
3214
                        {
3215
                            double x = 0;
3216
                            double y = 0;
3206
                            {
3207
                                double x = 0;
3208
                                double y = 0;
3217 3209

  
3218
                            CalcLabelLocation(ref x, ref y, text.SPPID.ORIGINAL_X, text.SPPID.ORIGINAL_Y, text.SPPIDLabelLocation, mapping.Location);
3219
                            Array array = new double[] { 0, x, y };
3210
                                CalcLabelLocation(ref x, ref y, text.SPPID.ORIGINAL_X, text.SPPID.ORIGINAL_Y, text.SPPIDLabelLocation, mapping.Location);
3211
                                Array array = new double[] { 0, x, y };
3220 3212

  
3221
                            LMLabelPersist _LMLabelPersist = _placement.PIDPlaceLabel(mapping.SPPIDSYMBOLNAME, ref array, Rotation: text.ANGLE, LabeledItem: connectedLMConnector.AsLMRepresentation(), IsLeaderVisible: mapping.LeaderLine);
3222
                            if (_LMLabelPersist != null)
3223
                            {
3224
                                _LMLabelPersist.Commit();
3225
                                ReleaseCOMObjects(_LMLabelPersist);
3213
                                LMLabelPersist _LMLabelPersist = _placement.PIDPlaceLabel(mapping.SPPIDSYMBOLNAME, ref array, Rotation: text.ANGLE, LabeledItem: connectedLMConnector.AsLMRepresentation(), IsLeaderVisible: mapping.LeaderLine);
3214
                                if (_LMLabelPersist != null)
3215
                                {
3216
                                    _LMLabelPersist.Commit();
3217
                                    ReleaseCOMObjects(_LMLabelPersist);
3218
                                }
3226 3219
                            }
3227 3220
                        }
3228 3221
                    }

내보내기 Unified diff

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