개정판 f108d43f
fix size tracing
Change-Id: Ia587922164c194e9be2d478b5e8369d625bb4a95
DTI_PID/DTI_PID/Shapes/EngineeringAbstractItem.py | ||
---|---|---|
531 | 531 |
elif self.sizeDepth < 2: |
532 | 532 |
connected_items = self.find_connected_objects_size(self) |
533 | 533 |
if connected_items: |
534 |
at = connected_items.index(self) |
|
535 |
upstream = connected_items[:at] |
|
536 |
upstream.reverse() |
|
537 |
prev = self |
|
538 |
for item in upstream: |
|
539 |
if type(item) is QEngineeringReducerItem: |
|
540 |
if item.connectors[0].connectedItem is prev: ### Main Size |
|
541 |
if item.mainSubSize and item.mainSubSize[0]: |
|
542 |
self.sizeDepth = 0 |
|
543 |
return item.mainSubSize[0] |
|
544 |
elif item.connectors[1].connectedItem is prev: ### Sub Size |
|
545 |
if item.mainSubSize and item.mainSubSize[1]: |
|
546 |
self.sizeDepth = 0 |
|
547 |
return item.mainSubSize[1] |
|
548 |
elif type(item) is QEngineeringInstrumentItem and item.iType == 22: # Relief Valve -> upstream always false |
|
549 |
if item.mainSubSize and item.mainSubSize[0]: |
|
550 |
self.sizeDepth = 0 |
|
551 |
return item.mainSubSize[0] |
|
552 |
else: |
|
553 |
if item.Size: |
|
554 |
self.sizeDepth = 0 |
|
555 |
return item.Size |
|
556 |
prev = item |
|
557 |
|
|
558 |
downstream = connected_items[at:] |
|
559 |
prev = self |
|
560 |
for item in downstream: |
|
561 |
if type(item) is QEngineeringReducerItem: |
|
562 |
if item.connectors[0].connectedItem is prev: ### Main Size |
|
563 |
if item.mainSubSize and item.mainSubSize[0]: |
|
564 |
self.sizeDepth = 0 |
|
565 |
return item.mainSubSize[0] |
|
566 |
elif item.connectors[1].connectedItem is prev: ### Sub Size |
|
567 |
if item.mainSubSize and item.mainSubSize[1]: |
|
568 |
self.sizeDepth = 0 |
|
569 |
return item.mainSubSize[1] |
|
570 |
elif type(item) is QEngineeringInstrumentItem and item.iType == 22: # Relief Valve |
|
571 |
if item.mainSubSize and item.mainSubSize[1]: |
|
572 |
self.sizeDepth = 0 |
|
573 |
return item.mainSubSize[1] |
|
574 |
else: |
|
575 |
if item.Size: |
|
576 |
self.sizeDepth = 0 |
|
577 |
return item.Size |
|
578 |
prev = item |
|
579 |
|
|
534 | 580 |
res1 = None |
535 | 581 |
res2 = None |
536 | 582 |
if type(connected_items[0]) is QEngineeringLineItem: |
DTI_PID/DTI_PID/Shapes/EngineeringLineNoTextItem.py | ||
---|---|---|
920 | 920 |
try: |
921 | 921 |
for index in reversed(range(len(self.runs))): |
922 | 922 |
self.runs[index].explode() |
923 |
except Exception as ex: |
|
924 |
from App import App |
|
925 |
from AppDocData import MessageType |
|
926 |
|
|
927 |
message = 'error occurred({}) in {}:{}'.format(ex, sys.exc_info()[-1].tb_frame.f_code.co_filename, |
|
928 |
sys.exc_info()[-1].tb_lineno) + ' Item UID : ' + str(self.uid) |
|
929 |
App.mainWnd().addMessage.emit(MessageType.Error, message) |
|
923 | 930 |
finally: |
924 | 931 |
self.runs.clear() |
925 | 932 |
if not remainFromTo: |
내보내기 Unified diff