개정판 2b8c256c
dev issue #000 : fix EndBreakModeling
Change-Id: I7fa0570b50048c709d1e2c30b942e95d4c26d83d
DTI_PID/SPPIDConverter/AutoModeling.cs | ||
---|---|---|
3078 | 3078 |
downStreamObj != null) |
3079 | 3079 |
{ |
3080 | 3080 |
LMConnector targetLMConnector = FindBreakLineTarget(upStreamObj, downStreamObj); |
3081 |
if (upStreamObj.GetType() == typeof(Symbol) && downStreamObj.GetType() == typeof(Symbol) && targetLMConnector != null) |
|
3081 |
if (upStreamObj.GetType() == typeof(Symbol) && downStreamObj.GetType() == typeof(Symbol) && |
|
3082 |
targetLMConnector != null && |
|
3083 |
!IsModelingEndBreak(upStreamObj as Symbol, downStreamObj as Symbol)) |
|
3082 | 3084 |
targetLMConnector = ReModelingZeroLengthLMConnectorForSegment(targetLMConnector); |
3083 | 3085 |
|
3084 | 3086 |
if (targetLMConnector != null) |
... | ... | |
3564 | 3566 |
} |
3565 | 3567 |
} |
3566 | 3568 |
|
3569 |
private bool IsModelingEndBreak(Symbol symbol1, Symbol symbol2) |
|
3570 |
{ |
|
3571 |
bool result = false; |
|
3572 |
List<EndBreak> endBreaks = document.EndBreaks.FindAll(x => |
|
3573 |
(x.OWNER == symbol1.UID || x.OWNER == symbol2.UID) && |
|
3574 |
(x.PROPERTIES.Find(y => y.ATTRIBUTE == "Connected Item").VALUE == symbol1.UID || x.PROPERTIES.Find(y => y.ATTRIBUTE == "Connected Item").VALUE == symbol2.UID)); |
|
3575 |
|
|
3576 |
foreach (var item in endBreaks) |
|
3577 |
{ |
|
3578 |
if (!string.IsNullOrEmpty(item.SPPID.RepresentationId)) |
|
3579 |
{ |
|
3580 |
result = true; |
|
3581 |
break; |
|
3582 |
} |
|
3583 |
} |
|
3584 |
|
|
3585 |
return result; |
|
3586 |
} |
|
3567 | 3587 |
private List<string> FindOtherModelItemBySymbolWhereTypePipeRun(LMSymbol symbol, string modelId) |
3568 | 3588 |
{ |
3569 | 3589 |
List<string> temp = new List<string>(); |
내보내기 Unified diff