새기능 #1426
# Shipping Size 설정, Shipping Size 벗어날 시 자동으로 Field Joint 부여
# Straight Pipe의 경우 Cut Length에 기준해서 Field Joint 생성 & 부여
{{plantuml(svg)
@startuml
note
==옵션 처리==
1. Tee의 허용 거리는 1,500mm
2. Nozzle Weld의 허용 거리는 Branch Size에 따라 결정됨
- 8" 이하 : branch Center기준 500mm
- 10" ~ 16" : Branch Center기준 600mm
- 18" ~ 32" : Branch Center기준 700mm
- 34" ~ 40" : Branch Center기준 800mm
- 42" ~ 56" : Branch Center기준 900mm
- 58" ~ 72" : Branch Center기준 1,200mm
- 74" 이상 : Branch Center기준 1,500 mm
3. Support의 허용 거리는 1,000mm
end note
start
:SBP(Shipping Box 위치)를 구함
(NEW SBP=SBP);
:==(1) FWP(앞에서 NEW SBP에서 가장 가까운 Joint)를 구함;
if (NEW SBP와 FWP의 거리가 FWP 허용 거리 이내?) then (false)
:BWP(뒤에서 NEW SBP에서 가장 가까운 Joint)를 구함;
if (NEW SBP와 BWP의 거리가 BWP 허용 거리 이내?) then (true)
if (BWP가 Shpping Box 시작점?) then (false)
if (BWP가 Tee?) then (true)
:NEW SBP 지점에서 가까운 Tee의 Port를 F/W로 변경;
else (false)
if (BWP가 Nozzle Weld?) then (true)
:NEW SBP 위치 계산(Nozzle Weld 위치에서 허용 거리만큼 뒤로 이동);
:==(1)로 이동;
stop
else if (BWP가 Support?) then (true)
:NEW SBP 위치 계산(Support 위치에서 허용 거리 만큼 뒤로 이동);
:==(1)로 이동;
stop
else (false)
endif
endif
else (true)
:<color:red>**ERROR**</color>; :==ERROR==;
end
endif
else (false)
endif
else (true)
:NEW SBP 계산(FWP에서 FWP 허용 거리만큼 뒤로 이동);
:==(1) 로 이동;
stop
endif
:SBP = NEW SBP;
:SBP에 Shipping Box Welding Point 생성;
end
@enduml
}}
# Straight Pipe의 경우 Cut Length에 기준해서 Field Joint 생성 & 부여
{{plantuml(svg)
@startuml
note
==옵션 처리==
1. Tee의 허용 거리는 1,500mm
2. Nozzle Weld의 허용 거리는 Branch Size에 따라 결정됨
- 8" 이하 : branch Center기준 500mm
- 10" ~ 16" : Branch Center기준 600mm
- 18" ~ 32" : Branch Center기준 700mm
- 34" ~ 40" : Branch Center기준 800mm
- 42" ~ 56" : Branch Center기준 900mm
- 58" ~ 72" : Branch Center기준 1,200mm
- 74" 이상 : Branch Center기준 1,500 mm
3. Support의 허용 거리는 1,000mm
end note
start
:SBP(Shipping Box 위치)를 구함
(NEW SBP=SBP);
:==(1) FWP(앞에서 NEW SBP에서 가장 가까운 Joint)를 구함;
if (NEW SBP와 FWP의 거리가 FWP 허용 거리 이내?) then (false)
:BWP(뒤에서 NEW SBP에서 가장 가까운 Joint)를 구함;
if (NEW SBP와 BWP의 거리가 BWP 허용 거리 이내?) then (true)
if (BWP가 Shpping Box 시작점?) then (false)
if (BWP가 Tee?) then (true)
:NEW SBP 지점에서 가까운 Tee의 Port를 F/W로 변경;
else (false)
if (BWP가 Nozzle Weld?) then (true)
:NEW SBP 위치 계산(Nozzle Weld 위치에서 허용 거리만큼 뒤로 이동);
:==(1)로 이동;
stop
else if (BWP가 Support?) then (true)
:NEW SBP 위치 계산(Support 위치에서 허용 거리 만큼 뒤로 이동);
:==(1)로 이동;
stop
else (false)
endif
endif
else (true)
:<color:red>**ERROR**</color>; :==ERROR==;
end
endif
else (false)
endif
else (true)
:NEW SBP 계산(FWP에서 FWP 허용 거리만큼 뒤로 이동);
:==(1) 로 이동;
stop
endif
:SBP = NEW SBP;
:SBP에 Shipping Box Welding Point 생성;
end
@enduml
}}