// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 1항
Check(NFSC503_5_1){ IF !CS THEN KS } CS{ getResult(NFSC503_5_1_2) = TRUE getResult(NFSC503_5_1_3) = TRUE } KS{ getObjectProperty(Pipe.Material) = "KS D 3507" OR getObjectProperty(Pipe.Material) = "KS D 3562" }
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 1항 2호
Check(NFSC503_5_1_2){ KS } KS{ Duct myDcut{ isFireResistantStructure(Duct) = TRUE } isInstalled(Pipe, Duct) = TRUE OR isInstalled(Pipe, Pit.Inside) = TRUE }
//연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 1항 3호
Check(NFSC503_5_1_3){
KS
}
KS{
(isObjectProperty(Ceiling.Material.nonCombustibility)=TRUE
OR isObjectProperty(Ceiling.Material.quasiNonCombustibility)=TRUE)
(isObjectProperty(CeilingCovering.Material.nonCombustibility)=TRUE
OR isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=TRUE)
SprinklerSystem mySprinklerSystem{
SprinklerSystem.type = "WetPipeSprinklerSystem"
}
isInstalled(mySprinklerSystem, Ceiling)=TRUE
isInstalled(mySprinklerSystem, CeilingCovering)=TRUE
}
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항
Check(NFSC503_5_2){ KS } KS{ getResult(NFSC503_5_2_1) = TRUE getResult(NFSC503_5_2_2) = TRUE }
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항 1호
Check(NFSC503_5_2_1){
IF CS THEN KS
}
CS{
getObjectProperty(Head.systemType) = "HookingUpSprinklerSystem"
isObjectProperty(Head.isShared) = FALSE
}
KS{
Head myHead{
isInstalled(Head., Pipe.One) = TRUE
}
NH = getObjectCount(myHead)
IF NH = 1 THEN getObjectDiameter(Pipe) >= 32mm
ELSE IF NH = 2 THEN getObjectDiameter(Pipe) >= 40mm
ELSE IF NH = 3 THEN getObjectDiameter(Pipe) >= 50mm
ELSE IF NH = 4 OR NH = 5 THEN getObjectDiameter(Pipe) >= 65mm
ELSE IF NH >= 6 AND HN <= 10 THEN getObjectDiameter(Pipe) >= 80mm
}
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항 2호
Check(NFSC503_5_2_2){
IF CS THEN KS
}
CS{
isObjectProperty(SprinklerSystem.Head.systemType) = "HookingUpSprinklerSystem"
}
KS{
getResult(NFSC103_*_1) = TRUE
}
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항 1호
Check(NFSC503_5_2_1){
IF CS THEN KS
}
CS{
getObjectProperty(Head.systemType) = "HookingUpSprinklerSystem"
isObjectProperty(Head.isShared) = FALSE
}
KS{
Head myHead{
isInstalled(HookingUpSprinklerSystem.Head., Pipe.One) = TRUE
}
NH = getObjectCount(myHead)
IF NH = 1 THEN getObjectDiameter(Pipe) >= 32mm
ELSE IF NH = 2 THEN getObjectDiameter(Pipe) >= 40mm
ELSE IF NH = 3 THEN getObjectDiameter(Pipe) >= 50mm
ELSE IF NH = 4 OR NH = 5 THEN getObjectDiameter(Pipe) >= 65mm
ELSE IF NH >= 6 AND HN <= 10 THEN getObjectDiameter(Pipe) >= 80mm
}
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 3항
Check(NFSC503_5_3){
IF CS THEN KS
}
Head myHead{
isObjectProperty(Head.openAndCloseType) = "EnclosedType"
}
Pipe myPipe1{
isObjectProperty(Pipe.isRiser) = TRUE
isObjectProperty(myPipe.systemType) = "HookingUpSprinklerSystem"
}
CS{
isInstalled(myHead, myPipe1) = TRUE
}
KS{
Pipe myPipe2{
isObjectProperty(Pipe.isRiser) = TRUE
isObjectProperty(myPipe.systemType) = "IndoorFireHydrantSystem"
}
Tank myTank{
isInstalled(Tank, Rooftop) = TRUE
}
Pipe myPipe3{
Pipe.isForWater = TRUE
연결살수설비가 설치된 건축물 안에 설치된 수도배관 중 구경이 가장 큰 배관
}
Valve myValve{
isObjectProperty(Valve.isCheckValve) = TRUE
}
(isConnectedTo(myPipe1, myPipe2) = TRUE
isInstalled(myValve, myPipe1) = TRUE
isInstalled(myValve, myPipe2) = TRUE)
OR (isConnectedTo(myPipe1, myPipe3) = TRUE
isInstalled(myValve, myPipe1) = TRUE
isInstalled(myValve, myPipe3) = TRUE)
OR (isConnectedTo(myPipe1, myTank) = TRUE
isInstalled(myValve, myPipe1) = TRUE
isInstalled(myValve, myTank) = TRUE)
}
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 4항
Check(NFSC503_5_4){ IF CS THEN KS } CS{ Head myHead{ isObjectProperty(Head.openAndCloseType) = "EnclosedType" } isObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem" } KS{ isInstalled(myPipe) = TRUE getResult(NFSC503_5_4_1) = TRUE getResult(NFSC503_5_4_2) = TRUE }
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 4항
Check(NFSC503_5_4_1){ KS } KS{ Pipe myPipe1{ isObjectProperty(Pipe.isForTest) = TRUE } Port myPort{ getObjectProperty(Port.typeForWater) = "FireDepartmentConnection" } Pipe myPipe2{ isObjectProperty(Pipe.isBranchLines) = TRUE isFarthestDistance(myPort, Pipe) = TRUE }
isConnectedTo(myPipe1, myPipe2) = TRUE }
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 4항 2호
Check(NFSC503_5_4_2){ KS } KS{ Pipe myPipe1{ isObjectProperty(Pipe.isForTest) = TRUE } Pipe myPipe2{ isObjectProperty(Pipe.isBranchLines) = TRUE isFarthestDistance(myPipe1, Pipe) = TRUE } DP = getObjectDiameter(myPipe1)
getObjectDiameter(myPipe2) = DP
}
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 5항
Check(NFSC503_5_5){
IF CS THEN KS
}
CS{
Head myHead{
isObjectProperty(Head.openAndCloseType) = "OpenType"
}
isInstalled(myHead, HookingUpSprinklerSystem) = TRUE
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isFeedMains) = TRUE
getObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem"
}
두 객체의 기울기(myPipe, Head) >= 1/100
}
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 6항
Check(NFSC503_5_6){ IF CS THEN KS }
Pipe myPipe1{ isObjectProperty(Pipe.isBranchLines) = TRUE } Pipe myPipe2{ isObjectProperty(Pipe.isCrossMains) = TRUE } Pipe myPipe3{ isObjectProperty(Pipe.isRiser) = TRUE } CS{ isInstalled(myPipe1) = TRUE OR isInstalled(myPipe2) = TRUE } KS{ Head myHead{ isInstalled(Head, myPipe1.DivergedSide.One) = TRUE } isObjectProperty(myPipe1.tournamentArrangement) = FALSE getObjectCount(myHead) <= 8 }
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 8항
Check(NFSC503_5_6){ IF CS THEN KS } Pipe myPipe{ isObjectProperty(Pipe.usage) = "WaterSupplyPipe" } Valve myValve1{ isObjectProperty(Valve.isShutoffValve) = TRUE } CS{ isInstalled(myValve1,myPipe) = TRUE } KS{ isObjectProperty(myValve1.isIndicatingValve) = TRUE Valve myValve2{ isInstalled(Valve, Pump.Inlet) = TRUE } isObjectProperty(myValve2.isIndicatingValve) = TRUE isObjectProperty(myValve2.isButterflyValve) = FALSE }
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항
Check(NFSC503_5_9){ IF CS THEN KS } CS{ Pipe myPipe1{ isObjectProperty(Pipe.isCrossMains) = TRUE isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem") } Pipe myPipe2{ isObjectProperty(Pipe.isBranchLines) = TRUE isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem") } CleanOut myCleanOut{ isObjectProperty(CleanOut.systemType) = "HookingUpSprinklerSystem") } isInstalled(myPipe1) = TRUE OR isInstalled(myPipe2.Head) = TRUE OR (isInstalled(myCleanOut) = TRUE
} KS{ getResult(NFSC503_5_9_1) = TRUE getResult(NFSC503_5_9_2) = TRUE getResult(NFSC503_5_9_3) = TRUE }
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 1호
Check(NFSC503_5_9_1){ KS } KS{ Pipe myPipe1{ isObjectProperty(Pipe.isCrossMains) = TRUE isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem" } Pipe myPipe2{ isObjectProperty(Pipe.isBranchLines) = TRUE isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem" } (isParallel(myPipe1, myPipe2) = TRUE OR getObjectVerticalLocation(myPipe1, myPipe2) < 0) getObjectDiameter(myPipe1) >= 40mm getResult(NFSC503_5_2) = TRUE }
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 2호
Check(NFSC503_5_9_2){ IF CS THEN KS } CS{ Head myHead{ isObjectProperty(Head.openAndCloseType)="EnclosedType" } isObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem" } KS{ Pipe myPipe1{ isObjectProperty(Pipe.isRiser) = TRUE } Pipe myPipe2{ isObjectProperty(Pipe.isCrossMains) = TRUE } Valve myValve{ isObjectProperty(Valve.isShutoffValve) = TRUE getObjectLength(Valve) >= 40mm } getObjectProperty(myValve.Type) = "나사식" getObjectProperty(myValve.usage) = "옥내소화전 호스접결용" }
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 3호
Check(NFSC503_5_9_3){ IF CS THEN KS } Head myHead1{ isObjectProperty(Head.openAndCloseType) = "EnclosedType" } Head myHead2{ isObjectProperty(myHead.installationDirectionType) = "TopDownType" } CS{ isObjectProperty(myHead1.systemType) = "HookingUpSprinklerSystem" isInstalled(myHead2, HookingUpSprinklerSystem) = TRUE } KS{ Pipe myPipe1{ isObjectProperty(Pipe.isBranchLines) = TRUE } Pipe myPipe2{ isConnectedTo(Pipe, myPipe1) = TRUE isConnectedTo(Pipe, myHead2) = TRUE } getObjectVerticalLocation(myPipe2, myPipe1) > 0 }
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항
Check(NFSC503_5_10){ IF CS THEN KS } CS{ isInstalled(Hanger, Pipe) = TRUE } KS{ getResult(NFSC503_5_10_1) = TRUE getResult(NFSC503_5_10_2) = TRUE getResult(NFSC503_5_10_3) = TRUE }
//연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항 1호
Check(NFSC503_5_10_1){ KS }
Pipe myPipe{ isObjectProperty(Pipe.isBranchLines)=True } Head myHead{ getObjectProperty(Head.installationDirectionType)="BottomUpType" }
KS{ isInstalled(Hanger, myPipe, "헤드의 설치지점 사이")=True IF getObjectDistance(Head)>3.5 m THEN isInstalled(Hanger, myPipe, 3.5 m)=True getObjectDistance(myHead, Hanger)>8 cm
getResult(NFSC503_5_10_3)=True }
//연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항 2호
Check(NFSC503_5_10_2){ KS }
Pipe myPipe{ isObjectProperty(Pipe.isCrossMains)=True } Pipe myPipe2{ isObjectProperty(Pipe.isBranchLines)=True }
KS{ isInstalled(Hanger, myPipe, "가지배관 사이")=True
IF getObjectDistance(myPipe2)>4.5 m THEN isInstalled(Hanger, myPipe, 4.5 m)=True END IF
getResult(NFSC503_5_10_3)=True }
//연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항 3호
Check(NFSC503_5_10_3){ IF CS THEN KS }
CS{ isObjectProperty(Pipe.isFeedMains)=True }
Pipe myPipe2{ isObjectProperty(Pipe.isFeedMains)=True }
KS{ isInstalled(Hanger, myPipe2,4.5 m)=True
}
|