개정판 09a565dd
issue #1060 : 계산식 - Liquid 일부 적용
Change-Id: I3f0ba3ae386db900757b6aa5511c87ccb3883509
HYTOS/HYTOS/Ball.py | ||
---|---|---|
174 | 174 |
if drawing: |
175 | 175 |
for attr in drawing.attrs: |
176 | 176 |
if attr[0] == 'Units': |
177 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure'])
|
|
177 |
self.ui.label_PressureUnit.setText('{}(g)'.format(attr[1]['Pressure']))
|
|
178 | 178 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
179 | 179 |
|
180 | 180 |
for connector in self._item.connectors: |
HYTOS/HYTOS/BatteryLimit.py | ||
---|---|---|
62 | 62 |
if drawing: |
63 | 63 |
for attr in drawing.attrs: |
64 | 64 |
if attr[0] == 'Units': |
65 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure'])
|
|
65 |
self.ui.label_PressureUnit.setText('{}(g)'.format(attr[1]['Pressure']))
|
|
66 | 66 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
67 | 67 |
|
68 | 68 |
matches = [connector.nozzle_data for connector in self._item.connectors if connector.nozzle_data] |
HYTOS/HYTOS/BatteryLimit_UI.py | ||
---|---|---|
89 | 89 |
self.lineEdit_Pressure.setAlignment(QtCore.Qt.AlignCenter) |
90 | 90 |
self.lineEdit_Pressure.setObjectName("lineEdit_Pressure") |
91 | 91 |
self.label_PressureUnit = QtWidgets.QLabel(self.groupBox) |
92 |
self.label_PressureUnit.setGeometry(QtCore.QRect(276, 59, 57, 16))
|
|
92 |
self.label_PressureUnit.setGeometry(QtCore.QRect(276, 59, 62, 16))
|
|
93 | 93 |
font = QtGui.QFont() |
94 | 94 |
font.setBold(False) |
95 | 95 |
font.setWeight(50) |
HYTOS/HYTOS/Calculation.py | ||
---|---|---|
55 | 55 |
|
56 | 56 |
def calculation_Vapor(self): |
57 | 57 |
|
58 |
|
|
59 | 58 |
# (1) density 입력 |
60 | 59 |
|
61 | 60 |
Ref_baro = self.getBarometricPressure() |
62 | 61 |
|
63 | 62 |
press2 = 100 # To쪽 Equipment의 Pressure |
64 | 63 |
|
64 |
# '여기에 아래의 p를 이용하여 density를 넣는 항을 만들어줘야함 |
|
65 |
# 'pressure를 k.g.a로 맞춤 |
|
65 | 66 |
if self.pressure_unit == 'kg/cm2': |
66 | 67 |
press2 = press2 + Ref_baro |
67 | 68 |
elif self.pressure_unit == 'psi': |
... | ... | |
77 | 78 |
elif self.pressure_unit == 'MPa': |
78 | 79 |
press2 = press2 / 0.101325 * 1.033 + Ref_baro |
79 | 80 |
|
81 |
# temp 가져오기 |
|
80 | 82 |
temp = self._hmb.temperature |
83 |
|
|
81 | 84 |
# temp를 kalvin으로 맞추기 |
82 | 85 |
if self.temperature_unit == '℃': |
83 | 86 |
temp = temp + 273.15 |
... | ... | |
371 | 374 |
return x2 |
372 | 375 |
|
373 | 376 |
def calculation_Liquid(self): |
374 |
self._hmb.velocity = 2.889 |
|
377 |
# To Do ... |
|
378 |
# 옵션 처리 요망 |
|
379 |
# Liquid Drop Pressure Method 선택 |
|
380 |
# Darcy Equation (General Design) : darcy |
|
381 |
# Hagen-Williams Equation (Water Design) : hagen |
|
382 |
|
|
383 |
liquid_dp_method = 'darcy' #'hagen' #'darcy' |
|
384 |
|
|
385 |
if liquid_dp_method == 'darcy': |
|
386 |
self.liquid_calc_darcy() |
|
387 |
elif liquid_dp_method == 'hagen': |
|
388 |
self.liquid_calc_hagen() |
|
389 |
|
|
390 |
|
|
391 |
#self._hmb.velocity = 2.889 |
|
392 |
|
|
393 |
def liquid_calc_darcy(self): |
|
394 |
''' |
|
395 |
Incompressible Line 계산 |
|
396 |
|
|
397 |
********************************************************************************** |
|
398 |
참고사항 : |
|
399 |
유닛의 기준 : 유량 (kg/h, m3/h), 밀도 (kg/m3), 지름 (m), 점도 (kg/m/s), 속도 (m/s), 압력강하 (kg/cm2/100m) |
|
400 |
********************************************************************************** |
|
401 |
''' |
|
402 |
|
|
403 |
# ********** 1. Flowrate 구하기 *********** |
|
404 |
if self._hmb.flowrate_mass and self._hmb.flowrate_volume is None: # (1)질량만 적혀있는경우 |
|
405 |
density = self._hmb.density |
|
406 |
|
|
407 |
# '질량유량을 kg/h로 변환. |
|
408 |
if self.flowrate_mass_unit == 'kg/h': |
|
409 |
mass = self._hmb.flowrate_mass |
|
410 |
elif self.flowrate_mass_unit == 'g/min': |
|
411 |
mass = self._hmb.flowrate_mass * 60 / 1000 |
|
412 |
elif self.flowrate_mass_unit == 'lb/h': |
|
413 |
mass = self._hmb.flowrate_mass * 0.453592 |
|
414 |
elif self.flowrate_mass_unit == 't/h': |
|
415 |
mass = self._hmb.flowrate_mass * 1000 |
|
416 |
|
|
417 |
# 'density case에 따라 volume rate (m3/h) 계산 |
|
418 |
if self.density_unit == 'kg/m3': |
|
419 |
volume = mass / density |
|
420 |
elif self.density_unit == 'lb/ft3': |
|
421 |
volume = mass / (density * 16.0185) |
|
422 |
|
|
423 |
# '부피 유닛에 맞춰서 뿌려줌 |
|
424 |
if self.flowrate_volume_unit == 'm3/h': |
|
425 |
self._hmb.flowrate_volume = round(volume, 3) |
|
426 |
elif self.flowrate_volume_unit == 'l/min': |
|
427 |
self._hmb.flowrate_volume = round(volume / 60 * 1000, 3) |
|
428 |
elif self.flowrate_volume_unit == 'ft3/h': |
|
429 |
self._hmb.flowrate_volume = round(volume * 35.3147, 3) |
|
430 |
elif self.flowrate_volume_unit == 'USgpm': |
|
431 |
self._hmb.flowrate_volume = round(volume * 4.40287, 3) |
|
432 |
elif self.flowrate_volume_unit == 'BPSD': |
|
433 |
self._hmb.flowrate_volume = round(volume * 150.955, 3) |
|
434 |
|
|
435 |
elif self._hmb.flowrate_mass is None and self._hmb.flowrate_volume: # (2)부피만 적혀있는경우 |
|
436 |
density = self._hmb.density |
|
437 |
|
|
438 |
# '부피유량을 m3/h로 변환. |
|
439 |
if self.flowrate_volume_unit == 'm3/h': |
|
440 |
volume = self._hmb.flowrate_volume |
|
441 |
elif self.flowrate_volume_unit == 'l/min': |
|
442 |
volume = self._hmb.flowrate_volume * 60 / 1000 |
|
443 |
elif self.flowrate_volume_unit == 'ft3/h': |
|
444 |
volume = self._hmb.flowrate_volume / 35.3147 |
|
445 |
elif self.flowrate_volume_unit == 'USgpm': |
|
446 |
volume = self._hmb.flowrate_volume / 4.40287 |
|
447 |
elif self.flowrate_volume_unit == 'BPSD': |
|
448 |
volume = self._hmb.flowrate_volume / 150.955 |
|
449 |
|
|
450 |
# 'density case에 따라 mass rate (kg/h) 계산 |
|
451 |
if self.density_unit == 'kg/m3': |
|
452 |
mass = volume * density |
|
453 |
elif self.density_unit == 'lb/ft3': |
|
454 |
mass = volume * (density * 16.0185) |
|
455 |
|
|
456 |
# '질량 유닛에 맞춰서 뿌려줌 |
|
457 |
if self.flowrate_mass_unit == 'kg/h': |
|
458 |
self._hmb.flowrate_mass = round(mass, 3) |
|
459 |
elif self.flowrate_mass_unit == 'g/min': |
|
460 |
self._hmb.flowrate_mass = round(mass / 60 * 1000, 3) |
|
461 |
elif self.flowrate_mass_unit == 'lb/h': |
|
462 |
self._hmb.flowrate_mass = round(mass * 2.20462, 3) |
|
463 |
elif self.flowrate_mass_unit == 't/h': |
|
464 |
self._hmb.flowrate_mass = round(mass * 1000, 3) |
|
465 |
else: |
|
466 |
# (5-3) 둘다 적힌 경우 |
|
467 |
density = self._hmb.density |
|
468 |
|
|
469 |
# '질량유량을 kg/h로 변환. |
|
470 |
if self.flowrate_mass_unit == 'kg/h': |
|
471 |
mass = self._hmb.flowrate_mass |
|
472 |
elif self.flowrate_mass_unit == 'g/min': |
|
473 |
mass = self._hmb.flowrate_mass * 60 / 1000 |
|
474 |
elif self.flowrate_mass_unit == 'lb/h': |
|
475 |
mass = self._hmb.flowrate_mass * 0.453592 |
|
476 |
elif self.flowrate_mass_unit == 't/h': |
|
477 |
mass = self._hmb.flowrate_mass * 1000 |
|
478 |
|
|
479 |
# 'density case에 따라 volume rate (m3/h) 계산 |
|
480 |
if self.density_unit == 'kg/m3': |
|
481 |
volume = mass / density |
|
482 |
elif self.density_unit == 'lb/ft3': |
|
483 |
volume = mass / (density * 16.0185) |
|
484 |
|
|
485 |
# '부피 유닛에 맞춰서 뿌려줌 |
|
486 |
|
|
487 |
if self.flowrate_volume_unit == 'm3/h': |
|
488 |
self._hmb.flowrate_volume = round(volume, 3) |
|
489 |
elif self.flowrate_volume_unit == 'l/min': |
|
490 |
self._hmb.flowrate_volume = round(volume / 60 * 1000, 3) |
|
491 |
elif self.flowrate_volume_unit == 'ft3/h': |
|
492 |
self._hmb.flowrate_volume = round(volume * 35.3147, 3) |
|
493 |
elif self.flowrate_volume_unit == 'USgpm': |
|
494 |
self._hmb.flowrate_volume = round(volume * 4.40287, 3) |
|
495 |
elif self.flowrate_volume_unit == 'BPSD': |
|
496 |
self._hmb.flowrate_volume = round(volume * 150.955, 3) |
|
497 |
|
|
498 |
|
|
499 |
|
|
500 |
|
|
501 |
|
|
502 |
# ********** 2. Velocity 구하기 *********** |
|
503 |
# '지름을 m로 변환 |
|
504 |
if self.pipe_diameter_unit == 'in': |
|
505 |
ida = self._hmb.inside_pipe_size * 0.0254 |
|
506 |
elif self.pipe_diameter_unit == 'mm': |
|
507 |
ida = self._hmb.inside_pipe_size / 1000 |
|
508 |
|
|
509 |
|
|
510 |
# '속도 계산 (m/s) |
|
511 |
velocity = 4 * volume / 3.1415 / ida ** 2 / 3600 |
|
512 |
|
|
513 |
# '속도 유닛에 맞춰서 뿌려줌 |
|
514 |
if self.velocity_unit == 'm/s': |
|
515 |
self._hmb.velocity = round(velocity, 3) |
|
516 |
elif self.velocity_unit == 'ft/s': |
|
517 |
self._hmb.velocity = round(velocity * 3.28084, 3) |
|
518 |
|
|
519 |
|
|
520 |
# ********** 3. Reynolds 수 구하기 *********** |
|
521 |
|
|
522 |
# ' viscosity 유닛 변환 (모두 kg/m.s로 바꿀것임) |
|
523 |
if self.viscosity_unit == 'kg/m.sec': |
|
524 |
viscosity = self._hmb.viscosity |
|
525 |
elif self.viscosity_unit == 'cP': |
|
526 |
viscosity = self._hmb.viscosity * 0.001 |
|
527 |
elif self.viscosity_unit == 'kg/m.h': |
|
528 |
viscosity = self._hmb.viscosity / 3600 |
|
529 |
elif self.viscosity_unit == 'lb/ft.s': |
|
530 |
viscosity = self._hmb.viscosity * 1.48816 |
|
531 |
|
|
532 |
# 'density case에 따라 re계산 |
|
533 |
if self.density_unit == 'kg/m3': |
|
534 |
reynolds = ida * velocity * density / viscosity |
|
535 |
elif self.density_unit == 'lb/ft3': |
|
536 |
reynolds = ida * velocity * (density * 16.0185) / viscosity |
|
537 |
|
|
538 |
# 'MACH 넘버 자리이므로 미입력 처리 |
|
539 |
self._hmb.reynolds = None |
|
540 |
|
|
541 |
# ********** 4. Friction Factor 구하기 *********** |
|
542 |
# 'roughness 를 m로 바꿔줌 |
|
543 |
if self.roughness_unit == 'm': |
|
544 |
rough = self._hmb.roughness |
|
545 |
elif self.roughness_unit == 'ft': |
|
546 |
rough = self._hmb.roughness * 0.3048 |
|
547 |
elif self.roughness_unit == 'in': |
|
548 |
rough = self._hmb.roughness * 0.0254 |
|
549 |
elif self.roughness_unit == 'mm': |
|
550 |
rough = self._hmb.roughness * 0.001 |
|
551 |
|
|
552 |
|
|
553 |
# ' reynolds수에 따라 Fanning/Chen friction factor 계산 |
|
554 |
if reynolds <= 2100: |
|
555 |
f = 4 * 16 / reynolds |
|
556 |
else: |
|
557 |
a = math.log(rough / ida / 3.7 + (6.7 / reynolds) ** 0.9) / math.log(10) |
|
558 |
f = (-2 * (math.log(rough / 3.7 / ida - 5.02 / reynolds * a) / math.log(10))) ** (-2) |
|
559 |
|
|
560 |
# '뿌려줌 |
|
561 |
self._hmb.friction_factor = round(f, 3) |
|
562 |
|
|
563 |
# ********** 5. pressure Drop 구하기 *********** |
|
564 |
# '100m 당 압력강하를 kg/cm2 단위로 구한 후, 설정된 유닛에 맞춰서 conversion후 기입해줌. |
|
565 |
if self.density_unit == 'kg/m3': |
|
566 |
# 100m 당 압력강하 |
|
567 |
dp = f * density * (velocity ** 2) / 2 / ida / 9.8066 / 10000 * 100 |
|
568 |
elif self.density_unit == 'lb/ft3': |
|
569 |
# 100m 당 압력강하 |
|
570 |
dp = f * (density * 16.0185) * (velocity ** 2) / 2 / ida / 9.8066 / 10000 * 100 |
|
571 |
|
|
572 |
|
|
573 |
if self.pressure_unit == 'psi': |
|
574 |
dp = dp / 1.033 * 14.7 |
|
575 |
elif self.pressure_unit == 'atm': |
|
576 |
dp = dp / 1.033 |
|
577 |
elif self.pressure_unit == 'bar': |
|
578 |
dp = dp / 1.033 * 1.013 |
|
579 |
elif self.pressure_unit == 'mmHg': |
|
580 |
dp = dp / 1.033 * 760 |
|
581 |
elif self.pressure_unit == 'kPa': |
|
582 |
dp = dp / 1.033 * 101.325 |
|
583 |
elif self.pressure_unit == 'MPa': |
|
584 |
dp = dp / 1.033 * 0.101325 |
|
585 |
|
|
586 |
if self.length_unit == 'm': |
|
587 |
self._hmb.pressure_drop = round(dp, 3) |
|
588 |
elif self.length_unit == 'in': |
|
589 |
self._hmb.pressure_drop = round(dp / 39.3701, 3) |
|
590 |
elif self.length_unit == 'ft': |
|
591 |
self._hmb.pressure_drop = round(dp / 3.28084, 3) |
|
592 |
elif self.length_unit == 'yd': |
|
593 |
self._hmb.pressure_drop = round(dp / 1.09361, 3) |
|
594 |
elif self.length_unit == 'mile': |
|
595 |
self._hmb.pressure_drop = round(dp / 0.000621371, 3) |
|
596 |
elif self.length_unit == 'mm': |
|
597 |
self._hmb.pressure_drop = round(dp / 1000, 3) |
|
598 |
|
|
599 |
# '100m 당 압력강하를 상당길이에 맞춰서 전체 압력강하로 넣어줌 .. |
|
600 |
self._hmb.pressure_drop_friction = round(self._hmb.pressure_drop / 100 * self._hmb.equivalent_length, 3) |
|
601 |
|
|
602 |
|
|
603 |
|
|
604 |
|
|
605 |
|
|
606 |
|
|
607 |
|
|
608 |
|
|
609 |
|
|
610 |
|
|
611 |
|
|
612 |
|
|
613 |
|
|
614 |
|
|
615 |
|
|
616 |
|
|
617 |
def liquid_calc_hagen(self): |
|
618 |
''' |
|
619 |
************************************************************** |
|
620 |
Hagen-Williams 모드에서 사용할 지배식은 다음과 같다. |
|
621 |
h[m] = 10.67 / C^1.85 * Q[m3/s]^1.85 / dia[m]^4.87 |
|
622 |
dP[k/g/1m] = h[m] * S.G / 10 |
|
623 |
************************************************************** |
|
624 |
''' |
|
625 |
|
|
626 |
# ********** 1. Flowrate 구하기 *********** |
|
627 |
if self._hmb.flowrate_mass and self._hmb.flowrate_volume is None: # (1)질량만 적혀있는경우 |
|
628 |
density = self._hmb.density |
|
629 |
|
|
630 |
# '질량유량을 kg/h로 변환. |
|
631 |
if self.flowrate_mass_unit == 'kg/h': |
|
632 |
mass = self._hmb.flowrate_mass |
|
633 |
elif self.flowrate_mass_unit == 'g/min': |
|
634 |
mass = self._hmb.flowrate_mass * 60 / 1000 |
|
635 |
elif self.flowrate_mass_unit == 'lb/h': |
|
636 |
mass = self._hmb.flowrate_mass * 0.453592 |
|
637 |
elif self.flowrate_mass_unit == 't/h': |
|
638 |
mass = self._hmb.flowrate_mass * 1000 |
|
639 |
|
|
640 |
# 'density case에 따라 volume rate (m3/h) 계산 |
|
641 |
if self.density_unit == 'kg/m3': |
|
642 |
volume = mass / density |
|
643 |
elif self.density_unit == 'lb/ft3': |
|
644 |
volume = mass / (density * 16.0185) |
|
645 |
|
|
646 |
# '부피 유닛에 맞춰서 뿌려줌 |
|
647 |
if self.flowrate_volume_unit == 'm3/h': |
|
648 |
self._hmb.flowrate_volume = round(volume, 3) |
|
649 |
elif self.flowrate_volume_unit == 'l/min': |
|
650 |
self._hmb.flowrate_volume = round(volume / 60 * 1000, 3) |
|
651 |
elif self.flowrate_volume_unit == 'ft3/h': |
|
652 |
self._hmb.flowrate_volume = round(volume * 35.3147, 3) |
|
653 |
elif self.flowrate_volume_unit == 'USgpm': |
|
654 |
self._hmb.flowrate_volume = round(volume * 4.40287, 3) |
|
655 |
elif self.flowrate_volume_unit == 'BPSD': |
|
656 |
self._hmb.flowrate_volume = round(volume * 150.955, 3) |
|
657 |
|
|
658 |
elif self._hmb.flowrate_mass is None and self._hmb.flowrate_volume: # (2)부피만 적혀있는경우 |
|
659 |
density = self._hmb.density |
|
660 |
|
|
661 |
# '부피유량을 m3/h로 변환. |
|
662 |
if self.flowrate_volume_unit == 'm3/h': |
|
663 |
volume = self._hmb.flowrate_volume |
|
664 |
elif self.flowrate_volume_unit == 'l/min': |
|
665 |
volume = self._hmb.flowrate_volume * 60 / 1000 |
|
666 |
elif self.flowrate_volume_unit == 'ft3/h': |
|
667 |
volume = self._hmb.flowrate_volume / 35.3147 |
|
668 |
elif self.flowrate_volume_unit == 'USgpm': |
|
669 |
volume = self._hmb.flowrate_volume / 4.40287 |
|
670 |
elif self.flowrate_volume_unit == 'BPSD': |
|
671 |
volume = self._hmb.flowrate_volume / 150.955 |
|
672 |
|
|
673 |
# 'density case에 따라 mass rate (kg/h) 계산 |
|
674 |
if self.density_unit == 'kg/m3': |
|
675 |
mass = volume * density |
|
676 |
elif self.density_unit == 'lb/ft3': |
|
677 |
mass = volume * (density * 16.0185) |
|
678 |
|
|
679 |
# '질량 유닛에 맞춰서 뿌려줌 |
|
680 |
if self.flowrate_mass_unit == 'kg/h': |
|
681 |
self._hmb.flowrate_mass = round(mass, 3) |
|
682 |
elif self.flowrate_mass_unit == 'g/min': |
|
683 |
self._hmb.flowrate_mass = round(mass / 60 * 1000, 3) |
|
684 |
elif self.flowrate_mass_unit == 'lb/h': |
|
685 |
self._hmb.flowrate_mass = round(mass * 2.20462, 3) |
|
686 |
elif self.flowrate_mass_unit == 't/h': |
|
687 |
self._hmb.flowrate_mass = round(mass * 1000, 3) |
|
688 |
|
|
689 |
else: |
|
690 |
# '(5-3) 둘다 적힌 경우 |
|
691 |
density = self._hmb.density |
|
692 |
|
|
693 |
# '질량유량을 kg/h로 변환. |
|
694 |
if self.flowrate_mass_unit == 'kg/h': |
|
695 |
mass = self._hmb.flowrate_mass |
|
696 |
elif self.flowrate_mass_unit == 'g/min': |
|
697 |
mass = self._hmb.flowrate_mass * 60 / 1000 |
|
698 |
elif self.flowrate_mass_unit == 'lb/h': |
|
699 |
mass = self._hmb.flowrate_mass * 0.453592 |
|
700 |
elif self.flowrate_mass_unit == 't/h': |
|
701 |
mass = self._hmb.flowrate_mass * 1000 |
|
702 |
|
|
703 |
# 'density case에 따라 volume rate (m3/h) 계산 |
|
704 |
if self.density_unit == 'kg/m3': |
|
705 |
volume = mass / density |
|
706 |
elif self.density_unit == 'lb/ft3': |
|
707 |
volume = mass / (density * 16.0185) |
|
708 |
|
|
709 |
# '부피 유닛에 맞춰서 뿌려줌 |
|
710 |
|
|
711 |
if self.flowrate_volume_unit == 'm3/h': |
|
712 |
self._hmb.flowrate_volume = round(volume, 3) |
|
713 |
elif self.flowrate_volume_unit == 'l/min': |
|
714 |
self._hmb.flowrate_volume = round(volume / 60 * 1000, 3) |
|
715 |
elif self.flowrate_volume_unit == 'ft3/h': |
|
716 |
self._hmb.flowrate_volume = round(volume * 35.3147, 3) |
|
717 |
elif self.flowrate_volume_unit == 'USgpm': |
|
718 |
self._hmb.flowrate_volume = round(volume * 4.40287, 3) |
|
719 |
elif self.flowrate_volume_unit == 'BPSD': |
|
720 |
self._hmb.flowrate_volume = round(volume * 150.955, 3) |
|
721 |
|
|
722 |
# ****************** 2. 지름 구하기 ****************** ****************** |
|
723 |
|
|
724 |
# '지름을 m로 변환 |
|
725 |
if self.pipe_diameter_unit == 'in': |
|
726 |
ida = self._hmb.inside_pipe_size * 0.0254 |
|
727 |
elif self.pipe_diameter_unit == 'mm': |
|
728 |
ida = self._hmb.inside_pipe_size / 1000 |
|
729 |
|
|
730 |
# '속도 계산 (m/s) |
|
731 |
velocity = 4 * volume / 3.1415 / ida ** 2 / 3600 |
|
732 |
|
|
733 |
# '속도 유닛에 맞춰서 뿌려줌 |
|
734 |
if self.velocity_unit == 'm/s': |
|
735 |
self._hmb.velocity = round(velocity, 3) |
|
736 |
elif self.velocity_unit == 'ft/s': |
|
737 |
self._hmb.velocity = round(velocity * 3.28084, 3) |
|
738 |
|
|
739 |
#' viscosity 유닛 변환 (모두 kg/m.s로 바꿀것임) |
|
740 |
if self.viscosity_unit == 'kg/m.sec': |
|
741 |
viscosity = self._hmb.viscosity |
|
742 |
elif self.viscosity_unit == 'cP': |
|
743 |
viscosity = self._hmb.viscosity * 0.001 |
|
744 |
elif self.viscosity_unit == 'kg/m.h': |
|
745 |
viscosity = self._hmb.viscosity / 3600 |
|
746 |
elif self.viscosity_unit == 'lb/ft.s': |
|
747 |
viscosity = self._hmb.viscosity * 1.48816 |
|
748 |
|
|
749 |
# 'density case에 따라 re계산 |
|
750 |
if self.density_unit == 'kg/m3': |
|
751 |
reynolds = ida * velocity * density / viscosity |
|
752 |
elif self.density_unit == 'lb/ft3': |
|
753 |
reynolds = ida * velocity * (density * 16.0185) / viscosity |
|
754 |
|
|
755 |
# 'MACH 넘버 자리이므로 미입력 처리 |
|
756 |
self._hmb.reynolds = None |
|
757 |
|
|
758 |
# ''****************** 3. roughness 가져오기 ****************** ****************** |
|
759 |
rough = self._hmb.roughness #'무차원 상수이다 |
|
760 |
|
|
761 |
# ' ********** 4. pressure Drop 구하기 *********** |
|
762 |
|
|
763 |
volume = volume / 3600 |
|
764 |
# '현재 volume은 m3/s |
|
765 |
|
|
766 |
# '본격 계산 '단위 [m] |
|
767 |
dp = 10.67 / (rough ** 1.85) * (volume ** 1.85) / (ida ** 4.87) |
|
768 |
|
|
769 |
# 'density case에 따라 dp계산 '단위 [k/g/1m] |
|
770 |
if self.density_unit == 'kg/m3': |
|
771 |
dp = dp * (density / 1000) / 10 |
|
772 |
elif self.density_unit == 'lb/ft3': |
|
773 |
dp = dp * ((density * 16.0185) / 1000) / 10 |
|
774 |
|
|
775 |
dp = dp * 100 |
|
776 |
|
|
777 |
# '현재 100m 당으로 산출되었다 |
|
778 |
if self.pressure_unit == 'psi': |
|
779 |
dp = dp / 1.033 * 14.7 |
|
780 |
elif self.pressure_unit == 'atm': |
|
781 |
dp = dp / 1.033 |
|
782 |
elif self.pressure_unit == 'bar': |
|
783 |
dp = dp / 1.033 * 1.013 |
|
784 |
elif self.pressure_unit == 'mmHg': |
|
785 |
dp = dp / 1.033 * 760 |
|
786 |
elif self.pressure_unit == 'kPa': |
|
787 |
dp = dp / 1.033 * 101.325 |
|
788 |
elif self.pressure_unit == 'MPa': |
|
789 |
dp = dp / 1.033 * 0.101325 |
|
790 |
|
|
791 |
|
|
792 |
if self.length_unit == 'm': |
|
793 |
self._hmb.pressure_drop = round(dp, 3) |
|
794 |
elif self.length_unit == 'in': |
|
795 |
self._hmb.pressure_drop = round(dp / 39.3701, 3) |
|
796 |
elif self.length_unit == 'ft': |
|
797 |
self._hmb.pressure_drop = round(dp / 3.28084, 3) |
|
798 |
elif self.length_unit == 'yd': |
|
799 |
self._hmb.pressure_drop = round(dp / 1.09361, 3) |
|
800 |
elif self.length_unit == 'mile': |
|
801 |
self._hmb.pressure_drop = round(dp / 0.000621371, 3) |
|
802 |
elif self.length_unit == 'mm': |
|
803 |
self._hmb.pressure_drop = round(dp / 1000, 3) |
|
804 |
|
|
805 |
|
|
806 |
# '100m 당 압력강하를 상당길이에 맞춰서 전체 압력강하로 넣어줌 .. |
|
807 |
self._hmb.pressure_drop_friction = round(self._hmb.pressure_drop / 100 * self._hmb.equivalent_length, 3) |
|
808 |
|
|
809 |
|
|
810 |
# 'friction factor는 필요없음 |
|
811 |
self._hmb.friction_factor = None |
|
812 |
|
|
375 | 813 |
|
376 | 814 |
def calculation_Mixed(self): |
377 | 815 |
self._hmb.velocity = 2.889 |
HYTOS/HYTOS/ConeRoof.py | ||
---|---|---|
162 | 162 |
if drawing: |
163 | 163 |
for attr in drawing.attrs: |
164 | 164 |
if attr[0] == 'Units': |
165 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure'])
|
|
165 |
self.ui.label_PressureUnit.setText('{}(g)'.format(attr[1]['Pressure']))
|
|
166 | 166 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
167 | 167 |
|
168 | 168 |
for connector in self._item.connectors: |
HYTOS/HYTOS/DomeRoof.py | ||
---|---|---|
161 | 161 |
if drawing: |
162 | 162 |
for attr in drawing.attrs: |
163 | 163 |
if attr[0] == 'Units': |
164 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure'])
|
|
164 |
self.ui.label_PressureUnit.setText('{}(g)'.format(attr[1]['Pressure']))
|
|
165 | 165 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
166 | 166 |
|
167 | 167 |
for connector in self._item.connectors: |
HYTOS/HYTOS/Drum_Horizontal.py | ||
---|---|---|
173 | 173 |
if drawing: |
174 | 174 |
for attr in drawing.attrs: |
175 | 175 |
if attr[0] == 'Units': |
176 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure'])
|
|
176 |
self.ui.label_PressureUnit.setText('{}(g)'.format(attr[1]['Pressure']))
|
|
177 | 177 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
178 | 178 |
|
179 | 179 |
for connector in self._item.connectors: |
HYTOS/HYTOS/Drum_Vertical.py | ||
---|---|---|
198 | 198 |
if drawing: |
199 | 199 |
for attr in drawing.attrs: |
200 | 200 |
if attr[0] == 'Units': |
201 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure'])
|
|
201 |
self.ui.label_PressureUnit.setText('{}(g)'.format(attr[1]['Pressure']))
|
|
202 | 202 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
203 | 203 |
|
204 | 204 |
for connector in self._item.connectors: |
HYTOS/HYTOS/DualPacked.py | ||
---|---|---|
198 | 198 |
if drawing: |
199 | 199 |
for attr in drawing.attrs: |
200 | 200 |
if attr[0] == 'Units': |
201 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure'])
|
|
201 |
self.ui.label_PressureUnit.setText('{}(g)'.format(attr[1]['Pressure']))
|
|
202 | 202 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
203 | 203 |
|
204 | 204 |
for connector in self._item.connectors: |
HYTOS/HYTOS/Equipment.py | ||
---|---|---|
197 | 197 |
if drawing: |
198 | 198 |
for attr in drawing.attrs: |
199 | 199 |
if attr[0] == 'Units': |
200 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure'])
|
|
200 |
self.ui.label_PressureUnit.setText('{}(g)'.format(attr[1]['Pressure']))
|
|
201 | 201 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
202 | 202 |
|
203 | 203 |
for connector in self._item.connectors: |
HYTOS/HYTOS/HMBTable.py | ||
---|---|---|
87 | 87 |
''' |
88 | 88 |
@stream_no.setter |
89 | 89 |
def stream_no(self, value): |
90 |
self._stream_no = int(value) |
|
90 |
if value: |
|
91 |
self._stream_no = int(value) |
|
91 | 92 |
|
92 | 93 |
@property |
93 | 94 |
def phase_type(self): |
... | ... | |
95 | 96 |
|
96 | 97 |
@phase_type.setter |
97 | 98 |
def phase_type(self, value): |
98 |
self._phase_type = value |
|
99 |
if value: |
|
100 |
self._phase_type = value |
|
99 | 101 |
|
100 | 102 |
@property |
101 | 103 |
def flowrate_mass(self): |
... | ... | |
103 | 105 |
|
104 | 106 |
@flowrate_mass.setter |
105 | 107 |
def flowrate_mass(self, value): |
106 |
self._flowrate_mass = float(value) |
|
108 |
if value: |
|
109 |
self._flowrate_mass = float(value) |
|
107 | 110 |
|
108 | 111 |
@property |
109 | 112 |
def flowrate_volume(self): |
... | ... | |
111 | 114 |
|
112 | 115 |
@flowrate_volume.setter |
113 | 116 |
def flowrate_volume(self, value): |
114 |
self._flowrate_volume = float(value) |
|
117 |
if value: |
|
118 |
self._flowrate_volume = float(value) |
|
115 | 119 |
|
116 | 120 |
@property |
117 | 121 |
def density(self): |
... | ... | |
119 | 123 |
|
120 | 124 |
@density.setter |
121 | 125 |
def density(self, value): |
122 |
self._density = float(value) |
|
126 |
if value: |
|
127 |
self._density = float(value) |
|
123 | 128 |
|
124 | 129 |
@property |
125 | 130 |
def viscosity(self): |
... | ... | |
127 | 132 |
|
128 | 133 |
@viscosity.setter |
129 | 134 |
def viscosity(self, value): |
130 |
self._viscosity = float(value) |
|
135 |
if value: |
|
136 |
self._viscosity = float(value) |
|
131 | 137 |
|
132 | 138 |
@property |
133 | 139 |
def temperature(self): |
... | ... | |
135 | 141 |
|
136 | 142 |
@temperature.setter |
137 | 143 |
def temperature(self, value): |
138 |
self._temperature = float(value) |
|
144 |
if value: |
|
145 |
self._temperature = float(value) |
|
139 | 146 |
|
140 | 147 |
@property |
141 | 148 |
def molecular_weight(self): |
... | ... | |
143 | 150 |
|
144 | 151 |
@molecular_weight.setter |
145 | 152 |
def molecular_weight(self, value): |
146 |
self._molecular_weight = float(value) |
|
153 |
if value: |
|
154 |
self._molecular_weight = float(value) |
|
147 | 155 |
|
148 | 156 |
@property |
149 | 157 |
def specific_heat_ratio(self): |
... | ... | |
151 | 159 |
|
152 | 160 |
@specific_heat_ratio.setter |
153 | 161 |
def specific_heat_ratio(self, value): |
154 |
self._specific_heat_ratio = float(value) |
|
162 |
if value: |
|
163 |
self._specific_heat_ratio = float(value) |
|
155 | 164 |
|
156 | 165 |
@property |
157 | 166 |
def compress_factor(self): |
... | ... | |
159 | 168 |
|
160 | 169 |
@compress_factor.setter |
161 | 170 |
def compress_factor(self, value): |
162 |
self._compress_factor = float(value) |
|
171 |
if value: |
|
172 |
self._compress_factor = float(value) |
|
163 | 173 |
|
164 | 174 |
@property |
165 | 175 |
def nominal_pipe_size(self): |
... | ... | |
167 | 177 |
|
168 | 178 |
@nominal_pipe_size.setter |
169 | 179 |
def nominal_pipe_size(self, value): |
170 |
self._nominal_pipe_size = float(value) |
|
180 |
if value: |
|
181 |
self._nominal_pipe_size = float(value) |
|
171 | 182 |
|
172 | 183 |
@property |
173 | 184 |
def inside_pipe_size(self): |
... | ... | |
175 | 186 |
|
176 | 187 |
@inside_pipe_size.setter |
177 | 188 |
def inside_pipe_size(self, value): |
178 |
self._inside_pipe_size = float(value) |
|
189 |
if value: |
|
190 |
self._inside_pipe_size = float(value) |
|
179 | 191 |
|
180 | 192 |
@property |
181 | 193 |
def schedule_no(self): |
... | ... | |
183 | 195 |
|
184 | 196 |
@schedule_no.setter |
185 | 197 |
def schedule_no(self, value): |
186 |
self._schedule_no = value |
|
198 |
if value: |
|
199 |
self._schedule_no = value |
|
187 | 200 |
|
188 | 201 |
@property |
189 | 202 |
def straight_length(self): |
... | ... | |
191 | 204 |
|
192 | 205 |
@straight_length.setter |
193 | 206 |
def straight_length(self, value): |
194 |
self._straight_length = float(value) |
|
207 |
if value: |
|
208 |
self._straight_length = float(value) |
|
195 | 209 |
|
196 | 210 |
@property |
197 | 211 |
def equivalent_length(self): |
... | ... | |
199 | 213 |
|
200 | 214 |
@equivalent_length.setter |
201 | 215 |
def equivalent_length(self, value): |
202 |
self._equivalent_length = float(value) |
|
216 |
if value: |
|
217 |
self._equivalent_length = float(value) |
|
203 | 218 |
|
204 | 219 |
@property |
205 | 220 |
def roughness(self): |
... | ... | |
207 | 222 |
|
208 | 223 |
@roughness.setter |
209 | 224 |
def roughness(self, value): |
210 |
self._roughness = float(value) |
|
225 |
if value: |
|
226 |
self._roughness = float(value) |
|
211 | 227 |
|
212 | 228 |
@property |
213 | 229 |
def limitation_velocity(self): |
... | ... | |
215 | 231 |
|
216 | 232 |
@limitation_velocity.setter |
217 | 233 |
def limitation_velocity(self, value): |
218 |
self._limitation_velocity = float(value) |
|
234 |
if value: |
|
235 |
self._limitation_velocity = float(value) |
|
219 | 236 |
|
220 | 237 |
@property |
221 | 238 |
def limitation_pressure_drop(self): |
... | ... | |
223 | 240 |
|
224 | 241 |
@limitation_pressure_drop.setter |
225 | 242 |
def limitation_pressure_drop(self, value): |
226 |
self._limitation_pressure_drop = float(value) |
|
243 |
if value: |
|
244 |
self._limitation_pressure_drop = float(value) |
|
227 | 245 |
|
228 | 246 |
@property |
229 | 247 |
def velocity(self): |
... | ... | |
231 | 249 |
|
232 | 250 |
@velocity.setter |
233 | 251 |
def velocity(self, value): |
234 |
self._velocity = float(value) |
|
252 |
if value: |
|
253 |
self._velocity = float(value) |
|
235 | 254 |
|
236 | 255 |
@property |
237 | 256 |
def reynolds(self): |
... | ... | |
239 | 258 |
|
240 | 259 |
@reynolds.setter |
241 | 260 |
def reynolds(self, value): |
242 |
self._reynolds = float(value) |
|
261 |
if value: |
|
262 |
self._reynolds = float(value) |
|
243 | 263 |
|
244 | 264 |
@property |
245 | 265 |
def friction_factor(self): |
... | ... | |
247 | 267 |
|
248 | 268 |
@friction_factor.setter |
249 | 269 |
def friction_factor(self, value): |
250 |
self._friction_factor = float(value) |
|
270 |
if value: |
|
271 |
self._friction_factor = float(value) |
|
251 | 272 |
|
252 | 273 |
@property |
253 | 274 |
def pressure_drop(self): |
... | ... | |
255 | 276 |
|
256 | 277 |
@pressure_drop.setter |
257 | 278 |
def pressure_drop(self, value): |
258 |
self._pressure_drop = float(value) |
|
279 |
if value: |
|
280 |
self._pressure_drop = float(value) |
|
259 | 281 |
|
260 | 282 |
@property |
261 | 283 |
def pressure_drop_friction(self): |
... | ... | |
263 | 285 |
|
264 | 286 |
@pressure_drop_friction.setter |
265 | 287 |
def pressure_drop_friction(self, value): |
266 |
self._pressure_drop_friction = float(value) |
|
288 |
if value: |
|
289 |
self._pressure_drop_friction = float(value) |
|
267 | 290 |
|
268 | 291 |
@property |
269 | 292 |
def pressure_drop_static(self): |
... | ... | |
271 | 294 |
|
272 | 295 |
@pressure_drop_static.setter |
273 | 296 |
def pressure_drop_static(self, value): |
274 |
self._pressure_drop_static = float(value) |
|
297 |
if value: |
|
298 |
self._pressure_drop_static = float(value) |
|
275 | 299 |
|
276 | 300 |
@property |
277 | 301 |
def pressure_pipe_end_point(self): |
... | ... | |
279 | 303 |
|
280 | 304 |
@pressure_pipe_end_point.setter |
281 | 305 |
def pressure_pipe_end_point(self, value): |
282 |
self._pressure_pipe_end_point = float(value) |
|
306 |
if value: |
|
307 |
self._pressure_pipe_end_point = float(value) |
|
283 | 308 |
|
284 | 309 |
@property |
285 | 310 |
def power(self): |
... | ... | |
287 | 312 |
|
288 | 313 |
@power.setter |
289 | 314 |
def power(self, value): |
290 |
self._power = float(value) |
|
315 |
if value: |
|
316 |
self._power = float(value) |
|
291 | 317 |
|
292 | 318 |
|
293 | 319 |
def fromRow(row): |
HYTOS/HYTOS/MainWindow_UI.py | ||
---|---|---|
110 | 110 |
self.toolBar.setIconSize(QtCore.QSize(32, 32)) |
111 | 111 |
self.toolBar.setObjectName("toolBar") |
112 | 112 |
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar) |
113 |
self.actionOpen = QtWidgets.QAction(MainWindow) |
|
114 |
icon1 = QtGui.QIcon() |
|
115 |
icon1.addPixmap(QtGui.QPixmap(":/newPrefix/file.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) |
|
116 |
self.actionOpen.setIcon(icon1) |
|
117 |
font = QtGui.QFont() |
|
118 |
font.setFamily("맑은 고딕") |
|
119 |
self.actionOpen.setFont(font) |
|
120 |
self.actionOpen.setObjectName("actionOpen") |
|
121 | 113 |
self.actionClose = QtWidgets.QAction(MainWindow) |
122 |
icon2 = QtGui.QIcon()
|
|
123 |
icon2.addPixmap(QtGui.QPixmap(":/images/Exit.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
124 |
self.actionClose.setIcon(icon2)
|
|
114 |
icon1 = QtGui.QIcon()
|
|
115 |
icon1.addPixmap(QtGui.QPixmap(":/images/Exit.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
116 |
self.actionClose.setIcon(icon1)
|
|
125 | 117 |
font = QtGui.QFont() |
126 | 118 |
font.setFamily("맑은 고딕") |
127 | 119 |
self.actionClose.setFont(font) |
128 | 120 |
self.actionClose.setShortcut("") |
129 | 121 |
self.actionClose.setObjectName("actionClose") |
130 | 122 |
self.actionRecognition = QtWidgets.QAction(MainWindow) |
131 |
icon3 = QtGui.QIcon()
|
|
132 |
icon3.addPixmap(QtGui.QPixmap(":/newPrefix/recognition.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
133 |
self.actionRecognition.setIcon(icon3)
|
|
123 |
icon2 = QtGui.QIcon()
|
|
124 |
icon2.addPixmap(QtGui.QPixmap(":/newPrefix/recognition.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
125 |
self.actionRecognition.setIcon(icon2)
|
|
134 | 126 |
font = QtGui.QFont() |
135 | 127 |
font.setFamily("맑은 고딕") |
136 | 128 |
font.setBold(True) |
... | ... | |
139 | 131 |
self.actionRecognition.setObjectName("actionRecognition") |
140 | 132 |
self.actionLine = QtWidgets.QAction(MainWindow) |
141 | 133 |
self.actionLine.setCheckable(True) |
142 |
icon4 = QtGui.QIcon()
|
|
143 |
icon4.addPixmap(QtGui.QPixmap(":/images/Stream_Line.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
144 |
self.actionLine.setIcon(icon4)
|
|
134 |
icon3 = QtGui.QIcon()
|
|
135 |
icon3.addPixmap(QtGui.QPixmap(":/images/Stream_Line.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
136 |
self.actionLine.setIcon(icon3)
|
|
145 | 137 |
font = QtGui.QFont() |
146 | 138 |
font.setFamily("맑은 고딕") |
147 | 139 |
font.setBold(False) |
... | ... | |
149 | 141 |
self.actionLine.setFont(font) |
150 | 142 |
self.actionLine.setObjectName("actionLine") |
151 | 143 |
self.actionValidate = QtWidgets.QAction(MainWindow) |
152 |
icon5 = QtGui.QIcon()
|
|
153 |
icon5.addPixmap(QtGui.QPixmap(":/newPrefix/validation.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
154 |
self.actionValidate.setIcon(icon5)
|
|
144 |
icon4 = QtGui.QIcon()
|
|
145 |
icon4.addPixmap(QtGui.QPixmap(":/newPrefix/validation.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
146 |
self.actionValidate.setIcon(icon4)
|
|
155 | 147 |
font = QtGui.QFont() |
156 | 148 |
font.setFamily("맑은 고딕") |
157 | 149 |
font.setBold(True) |
... | ... | |
159 | 151 |
self.actionValidate.setFont(font) |
160 | 152 |
self.actionValidate.setObjectName("actionValidate") |
161 | 153 |
self.actionConfiguration = QtWidgets.QAction(MainWindow) |
162 |
icon6 = QtGui.QIcon()
|
|
163 |
icon6.addPixmap(QtGui.QPixmap(":/images/Configuration.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
164 |
self.actionConfiguration.setIcon(icon6)
|
|
154 |
icon5 = QtGui.QIcon()
|
|
155 |
icon5.addPixmap(QtGui.QPixmap(":/images/Configuration.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
156 |
self.actionConfiguration.setIcon(icon5)
|
|
165 | 157 |
font = QtGui.QFont() |
166 | 158 |
font.setFamily("맑은 고딕") |
167 | 159 |
font.setBold(False) |
... | ... | |
169 | 161 |
self.actionConfiguration.setFont(font) |
170 | 162 |
self.actionConfiguration.setObjectName("actionConfiguration") |
171 | 163 |
self.actionArea = QtWidgets.QAction(MainWindow) |
172 |
icon7 = QtGui.QIcon()
|
|
173 |
icon7.addPixmap(QtGui.QPixmap(":/newPrefix/setting.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
174 |
self.actionArea.setIcon(icon7)
|
|
164 |
icon6 = QtGui.QIcon()
|
|
165 |
icon6.addPixmap(QtGui.QPixmap(":/newPrefix/setting.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
166 |
self.actionArea.setIcon(icon6)
|
|
175 | 167 |
font = QtGui.QFont() |
176 | 168 |
font.setFamily("맑은 고딕") |
177 | 169 |
font.setBold(True) |
... | ... | |
180 | 172 |
self.actionArea.setObjectName("actionArea") |
181 | 173 |
self.actionOCR = QtWidgets.QAction(MainWindow) |
182 | 174 |
self.actionOCR.setCheckable(True) |
183 |
icon8 = QtGui.QIcon()
|
|
184 |
icon8.addPixmap(QtGui.QPixmap(":/newPrefix/OCR.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
185 |
self.actionOCR.setIcon(icon8)
|
|
175 |
icon7 = QtGui.QIcon()
|
|
176 |
icon7.addPixmap(QtGui.QPixmap(":/newPrefix/OCR.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
177 |
self.actionOCR.setIcon(icon7)
|
|
186 | 178 |
font = QtGui.QFont() |
187 | 179 |
font.setFamily("맑은 고딕") |
188 | 180 |
font.setBold(True) |
... | ... | |
190 | 182 |
self.actionOCR.setFont(font) |
191 | 183 |
self.actionOCR.setObjectName("actionOCR") |
192 | 184 |
self.actionLineRecognition = QtWidgets.QAction(MainWindow) |
193 |
icon9 = QtGui.QIcon()
|
|
194 |
icon9.addPixmap(QtGui.QPixmap(":/newPrefix/connection.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
195 |
self.actionLineRecognition.setIcon(icon9)
|
|
185 |
icon8 = QtGui.QIcon()
|
|
186 |
icon8.addPixmap(QtGui.QPixmap(":/newPrefix/connection.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
187 |
self.actionLineRecognition.setIcon(icon8)
|
|
196 | 188 |
font = QtGui.QFont() |
197 | 189 |
font.setFamily("맑은 고딕") |
198 | 190 |
font.setBold(True) |
... | ... | |
200 | 192 |
self.actionLineRecognition.setFont(font) |
201 | 193 |
self.actionLineRecognition.setObjectName("actionLineRecognition") |
202 | 194 |
self.actionGenerateOutput = QtWidgets.QAction(MainWindow) |
203 |
icon10 = QtGui.QIcon()
|
|
204 |
icon10.addPixmap(QtGui.QPixmap(":/newPrefix/Convert.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
205 |
self.actionGenerateOutput.setIcon(icon10)
|
|
195 |
icon9 = QtGui.QIcon()
|
|
196 |
icon9.addPixmap(QtGui.QPixmap(":/newPrefix/Convert.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
197 |
self.actionGenerateOutput.setIcon(icon9)
|
|
206 | 198 |
font = QtGui.QFont() |
207 | 199 |
font.setFamily("맑은 고딕") |
208 | 200 |
font.setBold(True) |
... | ... | |
231 | 223 |
self.actionInstrument_Data_List.setFont(font) |
232 | 224 |
self.actionInstrument_Data_List.setObjectName("actionInstrument_Data_List") |
233 | 225 |
self.actionInitialize = QtWidgets.QAction(MainWindow) |
234 |
icon11 = QtGui.QIcon()
|
|
235 |
icon11.addPixmap(QtGui.QPixmap(":/images/Reset.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
236 |
self.actionInitialize.setIcon(icon11)
|
|
226 |
icon10 = QtGui.QIcon()
|
|
227 |
icon10.addPixmap(QtGui.QPixmap(":/images/Reset.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
228 |
self.actionInitialize.setIcon(icon10)
|
|
237 | 229 |
font = QtGui.QFont() |
238 | 230 |
font.setFamily("맑은 고딕") |
239 | 231 |
self.actionInitialize.setFont(font) |
... | ... | |
247 | 239 |
self.actionImage_Drawing.setObjectName("actionImage_Drawing") |
248 | 240 |
self.actionZoom = QtWidgets.QAction(MainWindow) |
249 | 241 |
self.actionZoom.setCheckable(True) |
250 |
icon12 = QtGui.QIcon()
|
|
251 |
icon12.addPixmap(QtGui.QPixmap(":/images/ZoomIn.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
252 |
self.actionZoom.setIcon(icon12)
|
|
242 |
icon11 = QtGui.QIcon()
|
|
243 |
icon11.addPixmap(QtGui.QPixmap(":/images/ZoomIn.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
244 |
self.actionZoom.setIcon(icon11)
|
|
253 | 245 |
font = QtGui.QFont() |
254 | 246 |
font.setFamily("맑은 고딕") |
255 | 247 |
font.setBold(False) |
... | ... | |
257 | 249 |
self.actionZoom.setFont(font) |
258 | 250 |
self.actionZoom.setObjectName("actionZoom") |
259 | 251 |
self.actionFitWindow = QtWidgets.QAction(MainWindow) |
260 |
icon13 = QtGui.QIcon()
|
|
261 |
icon13.addPixmap(QtGui.QPixmap(":/images/FullExtent.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
262 |
self.actionFitWindow.setIcon(icon13)
|
|
252 |
icon12 = QtGui.QIcon()
|
|
253 |
icon12.addPixmap(QtGui.QPixmap(":/images/FullExtent.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
254 |
self.actionFitWindow.setIcon(icon12)
|
|
263 | 255 |
font = QtGui.QFont() |
264 | 256 |
font.setFamily("맑은 고딕") |
265 | 257 |
font.setBold(False) |
... | ... | |
295 | 287 |
self.actionViewUnknown.setFont(font) |
296 | 288 |
self.actionViewUnknown.setObjectName("actionViewUnknown") |
297 | 289 |
self.actionCodeTable = QtWidgets.QAction(MainWindow) |
298 |
icon14 = QtGui.QIcon()
|
|
299 |
icon14.addPixmap(QtGui.QPixmap(":/newPrefix/codetable.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
300 |
self.actionCodeTable.setIcon(icon14)
|
|
290 |
icon13 = QtGui.QIcon()
|
|
291 |
icon13.addPixmap(QtGui.QPixmap(":/newPrefix/codetable.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
292 |
self.actionCodeTable.setIcon(icon13)
|
|
301 | 293 |
font = QtGui.QFont() |
302 | 294 |
font.setFamily("맑은 고딕") |
303 | 295 |
self.actionCodeTable.setFont(font) |
... | ... | |
315 | 307 |
self.actionHMB_DATA = QtWidgets.QAction(MainWindow) |
316 | 308 |
self.actionHMB_DATA.setObjectName("actionHMB_DATA") |
317 | 309 |
self.actionSave = QtWidgets.QAction(MainWindow) |
318 |
icon15 = QtGui.QIcon()
|
|
319 |
icon15.addPixmap(QtGui.QPixmap(":/images/Save.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
320 |
self.actionSave.setIcon(icon15)
|
|
310 |
icon14 = QtGui.QIcon()
|
|
311 |
icon14.addPixmap(QtGui.QPixmap(":/images/Save.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
312 |
self.actionSave.setIcon(icon14)
|
|
321 | 313 |
font = QtGui.QFont() |
322 | 314 |
font.setFamily("맑은 고딕") |
323 | 315 |
self.actionSave.setFont(font) |
324 | 316 |
self.actionSave.setObjectName("actionSave") |
325 | 317 |
self.actionRotate = QtWidgets.QAction(MainWindow) |
326 |
icon16 = QtGui.QIcon()
|
|
327 |
icon16.addPixmap(QtGui.QPixmap(":/newPrefix/Rotate_Minus.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
328 |
self.actionRotate.setIcon(icon16)
|
|
318 |
icon15 = QtGui.QIcon()
|
|
319 |
icon15.addPixmap(QtGui.QPixmap(":/newPrefix/Rotate_Minus.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
320 |
self.actionRotate.setIcon(icon15)
|
|
329 | 321 |
self.actionRotate.setObjectName("actionRotate") |
330 | 322 |
self.actionFindReplaceText = QtWidgets.QAction(MainWindow) |
331 | 323 |
self.actionFindReplaceText.setObjectName("actionFindReplaceText") |
... | ... | |
353 | 345 |
self.actionDrawing_Only.setObjectName("actionDrawing_Only") |
354 | 346 |
self.actionVendor = QtWidgets.QAction(MainWindow) |
355 | 347 |
self.actionVendor.setCheckable(True) |
356 |
icon17 = QtGui.QIcon()
|
|
357 |
icon17.addPixmap(QtGui.QPixmap(":/newPrefix/vendor.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
358 |
icon17.addPixmap(QtGui.QPixmap(":/newPrefix/vendor_hot.png"), QtGui.QIcon.Normal, QtGui.QIcon.On)
|
|
359 |
icon17.addPixmap(QtGui.QPixmap(":/newPrefix/vendor.png"), QtGui.QIcon.Active, QtGui.QIcon.On)
|
|
360 |
self.actionVendor.setIcon(icon17)
|
|
348 |
icon16 = QtGui.QIcon()
|
|
349 |
icon16.addPixmap(QtGui.QPixmap(":/newPrefix/vendor.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
350 |
icon16.addPixmap(QtGui.QPixmap(":/newPrefix/vendor_hot.png"), QtGui.QIcon.Normal, QtGui.QIcon.On)
|
|
351 |
icon16.addPixmap(QtGui.QPixmap(":/newPrefix/vendor.png"), QtGui.QIcon.Active, QtGui.QIcon.On)
|
|
352 |
self.actionVendor.setIcon(icon16)
|
|
361 | 353 |
self.actionVendor.setObjectName("actionVendor") |
362 | 354 |
self.actionViewVendor_Area = QtWidgets.QAction(MainWindow) |
363 | 355 |
self.actionViewVendor_Area.setCheckable(True) |
364 | 356 |
self.actionViewVendor_Area.setChecked(True) |
365 | 357 |
self.actionViewVendor_Area.setObjectName("actionViewVendor_Area") |
366 | 358 |
self.actionNew = QtWidgets.QAction(MainWindow) |
367 |
icon18 = QtGui.QIcon()
|
|
368 |
icon18.addPixmap(QtGui.QPixmap(":/images/New.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
369 |
self.actionNew.setIcon(icon18)
|
|
359 |
icon17 = QtGui.QIcon()
|
|
360 |
icon17.addPixmap(QtGui.QPixmap(":/images/New.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
361 |
self.actionNew.setIcon(icon17)
|
|
370 | 362 |
font = QtGui.QFont() |
371 | 363 |
font.setFamily("맑은 고딕") |
372 | 364 |
self.actionNew.setFont(font) |
... | ... | |
376 | 368 |
self.actionCreate_Stream = QtWidgets.QAction(MainWindow) |
377 | 369 |
self.actionCreate_Stream.setObjectName("actionCreate_Stream") |
378 | 370 |
self.actionOptions = QtWidgets.QAction(MainWindow) |
379 |
icon19 = QtGui.QIcon()
|
|
380 |
icon19.addPixmap(QtGui.QPixmap(":/images/Option.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
381 |
self.actionOptions.setIcon(icon19)
|
|
371 |
icon18 = QtGui.QIcon()
|
|
372 |
icon18.addPixmap(QtGui.QPixmap(":/images/Option.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
373 |
self.actionOptions.setIcon(icon18)
|
|
382 | 374 |
font = QtGui.QFont() |
383 | 375 |
font.setFamily("맑은 고딕") |
384 | 376 |
self.actionOptions.setFont(font) |
385 | 377 |
self.actionOptions.setObjectName("actionOptions") |
386 | 378 |
self.actionCalculation = QtWidgets.QAction(MainWindow) |
387 |
icon20 = QtGui.QIcon()
|
|
388 |
icon20.addPixmap(QtGui.QPixmap(":/images/Calculation.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
389 |
self.actionCalculation.setIcon(icon20)
|
|
379 |
icon19 = QtGui.QIcon()
|
|
380 |
icon19.addPixmap(QtGui.QPixmap(":/images/Calculation.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
381 |
self.actionCalculation.setIcon(icon19)
|
|
390 | 382 |
self.actionCalculation.setText("") |
391 | 383 |
font = QtGui.QFont() |
392 | 384 |
font.setFamily("맑은 고딕") |
... | ... | |
439 | 431 |
self.treeWidgetDrawingList.setSortingEnabled(True) |
440 | 432 |
self.dockWidgetHMBList.setWindowTitle(_translate("MainWindow", "HMB List")) |
441 | 433 |
self.toolBar.setWindowTitle(_translate("MainWindow", "Main Toolbar")) |
442 |
self.actionOpen.setText(_translate("MainWindow", "Open")) |
|
443 |
self.actionOpen.setToolTip(_translate("MainWindow", "Open(Ctrl + O)")) |
|
444 |
self.actionOpen.setShortcut(_translate("MainWindow", "Ctrl+O")) |
|
445 | 434 |
self.actionClose.setText(_translate("MainWindow", "Exit")) |
446 | 435 |
self.actionClose.setToolTip(_translate("MainWindow", "Exit")) |
447 | 436 |
self.actionRecognition.setText(_translate("MainWindow", "Recognize Eng. Info.")) |
HYTOS/HYTOS/PlateHeatExchanger.py | ||
---|---|---|
83 | 83 |
appDocData = AppDocData.instance() |
84 | 84 |
drawing = appDocData.activeDrawing |
85 | 85 |
if drawing: |
86 |
columnDisplayNameList = appDocData.getColumnDisplayNames(drawing.UID, 'Nozzles') |
|
87 |
if len(columnDisplayNameList) > 0: |
|
88 |
for columnDisplayName in columnDisplayNameList: |
|
89 |
if columnDisplayName[0] == 'Pressure Drop': |
|
90 |
self.ui.label_PressureUnit.setText(columnDisplayName[1]) |
|
91 |
elif columnDisplayName[0] == 'Elevation': |
|
92 |
self.ui.label_ElevationUnit.setText(columnDisplayName[1]) |
|
86 |
for attr in drawing.attrs: |
|
87 |
if attr[0] == 'Units': |
|
88 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure']) |
|
89 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
|
93 | 90 |
|
94 | 91 |
|
95 | 92 |
for connector in self._item.connectors: |
HYTOS/HYTOS/SinglePacked.py | ||
---|---|---|
174 | 174 |
if drawing: |
175 | 175 |
for attr in drawing.attrs: |
176 | 176 |
if attr[0] == 'Units': |
177 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure'])
|
|
177 |
self.ui.label_PressureUnit.setText('{}(g)'.format(attr[1]['Pressure']))
|
|
178 | 178 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
179 | 179 |
|
180 | 180 |
for connector in self._item.connectors: |
HYTOS/HYTOS/StreamDataDialog.py | ||
---|---|---|
196 | 196 |
drawing = AppDocData.instance().activeDrawing |
197 | 197 |
if drawing: |
198 | 198 |
for hmb in drawing.hmbTable._hmbs: |
199 |
if hmb.components_uid == self.components_uid: |
|
199 |
if hmb.components_uid == self.components_uid: |
|
200 |
|
|
201 |
self.ui.groupBox_StreamNo.setTitle('Stream No. : {}'.format(hmb.stream_no)) |
|
202 |
|
|
200 | 203 |
if hmb.phase_type: |
201 | 204 |
index = self.getIndexByValue(self.ui.comboBox_PhaseType, hmb.phase_type) |
202 | 205 |
if index: |
HYTOS/HYTOS/Tray.py | ||
---|---|---|
198 | 198 |
if drawing: |
199 | 199 |
for attr in drawing.attrs: |
200 | 200 |
if attr[0] == 'Units': |
201 |
self.ui.label_PressureUnit.setText(attr[1]['Pressure'])
|
|
201 |
self.ui.label_PressureUnit.setText('{}(g)'.format(attr[1]['Pressure']))
|
|
202 | 202 |
self.ui.label_ElevationUnit.setText(attr[1]['Length']) |
203 | 203 |
|
204 | 204 |
for connector in self._item.connectors: |
HYTOS/HYTOS/UI/BatteryLimit.ui | ||
---|---|---|
239 | 239 |
<rect> |
240 | 240 |
<x>276</x> |
241 | 241 |
<y>59</y> |
242 |
<width>57</width>
|
|
242 |
<width>62</width>
|
|
243 | 243 |
<height>16</height> |
244 | 244 |
</rect> |
245 | 245 |
</property> |
HYTOS/HYTOS/UI/MainWindow.ui | ||
---|---|---|
223 | 223 |
<addaction name="actionZoom"/> |
224 | 224 |
<addaction name="actionFitWindow"/> |
225 | 225 |
</widget> |
226 |
<action name="actionOpen"> |
|
227 |
<property name="icon"> |
|
228 |
<iconset> |
|
229 |
<normaloff>:/newPrefix/file.png</normaloff>:/newPrefix/file.png</iconset> |
|
230 |
</property> |
|
231 |
<property name="text"> |
|
232 |
<string>Open</string> |
|
233 |
</property> |
|
234 |
<property name="toolTip"> |
|
235 |
<string>Open(Ctrl + O)</string> |
|
236 |
</property> |
|
237 |
<property name="font"> |
|
238 |
<font> |
|
239 |
<family>맑은 고딕</family> |
|
240 |
</font> |
|
241 |
</property> |
|
242 |
<property name="shortcut"> |
|
243 |
<string>Ctrl+O</string> |
|
244 |
</property> |
|
245 |
</action> |
|
246 | 226 |
<action name="actionClose"> |
247 | 227 |
<property name="icon"> |
248 | 228 |
<iconset resource="../res/Resource.qrc"> |
내보내기 Unified diff