// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 1항 Check(NFSC506_4_1){ KS }
KS{ getObjectProperty(Pipe.Material)="KSD3507" OR getObjectProperty(Pipe.Material)="KSD3562" }
// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 2항 Check(NFSC506_4_2){ KS }
KS{ Pipe myPipe{ getObjectProperty(Pipe.usage) = "WaterSUpplyPipe" }
isObjectProperty (myPipe.isShared) = FALSE }
//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 3항 Check(NFSC506_4_3){ KS }
KS{ FeedWaterShutoffValve myFeedWaterShutoffValve{ isObjectProperty(FeedWaterShutoffValve.isIndicatingValve) = TRUE } Pipe myPipe{ isObjectProperty(Pipe.usage) = "WaterSupplyPipe" }
hasObject(myPipe, myFeedWaterShutoffValve) = TRUE }
//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 4항 Check(NFSC506_4_4){ KS }
KS{ getResult(NFSC506_4_4_1) = TRUE getResult(NFSC506_4_4_2) = TRUE }
//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 4항 1호 Check(NFSC506_4_4_1){ IF CS THEN KS }
CS{ isInstalled(CombustionProtectionSystem, ?) = TRUE }
KS{ Pipe myPipe{ hasObject(CombustionProtectionSystem, Pipe) = TRUE }
SprinklerHead mySprinklerHead{ isInstalled(myPipe, SprinklerHead) = TRUE }
(getObjectCount(mySprinklerHead) = 1 getObjectProperty(myPipe.Diameter) >= 32mm) OR(getObjectCount(mySprinklerHead) = 2 getObjectProperty(myPipe.Diameter) >= 40mm) OR(getObjectCount(mySprinklerHead) = 3 getObjectProperty(myPipe.Diameter) >= 50mm) OR(getObjectCount(mySprinklerHead) = 4 getObjectProperty(myPipe.Diameter) >= 65mm) OR(getObjectCount(mySprinklerHead) = 5 getObjectProperty(myPipe.Diameter) >= 65mm) OR(getObjectCount(mySprinklerHead) >= 6 getObjectProperty(myPipe.Diameter) >= 80mm) }
// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 4항 2호
Check(NFSC506_4_4_2){ IF CS THEN KS } CS{ isObjectProperty(Sprinkler.Head.systemType) = "HookingUpSprinklerSystem" } KS{ getResult(NFSC103_*_1) = TRUE }
// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 5항 Check(NFSC506_4_5){ KS }
KS{ Pipe myPipe{ isObjectProperty(Pipe.isFeedMains) = TRUE }
isInstalled(myPipe, CombustionProtectionSystem) = TRUE getObjectProperty(myPipe.diameter) >= 100mm }
//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 6항 Check(NFSC506_4_6){ KS }
KS{ getResult(NFSC506_4_6_3) = TRUE }
//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 6항 3호 Check(NFSC506_4_6_3){ IF CS THEN KS }
CS{ Pipe myPipe{ hasObject(CombustionProtectionSystem, Pipe) = TRUE isObjectProperty(Pipe.isBranchLines) = TRUE }
Head myHead{ getObjectProperty(Head.installationDirectionType) = "TopDownType" }
isInstalled(myPipe, myHead) = TRUE }
KS{ Pipe myPipe{ hasObject(CombustionProtectionSystem, Pipe) = TRUE isObjectProperty(Pipe.isBranchLines) = TRUE }
Head myHead{ getObjectProperty(Head.installationDirectionType) = "TopDownType" }
Pipe myPipe2{ isConnectedTo(myPipe, Pipe) = TRUE isConnectedTo(myHead, Pipe) = TRUE }
isDiverged(가지관 상부, myPipe2) = TRUE }
//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 7항 Check(NFSC506_4_7){ KS }
KS{ getResult(NFSC506_4_7_1) = TRUE getResult(NFSC506_4_7_2) = TRUE getResult(NFSC506_4_7_3) = TRUE }
// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 7항 1호
Check(NFSC506_4_7_1){ IF (CS1 THEN KS1) OR (CS2 THEN KS2) }
CS1{ Pipe myPipe{ isObjectProperty(Pipe.isBranchLines) = TRUE }
Head myHead{ isInstalled(Head, myPipe) = TRUE }
getObjectInterval(myHead) <= 3.5m }
KS1{ Pipe myPipe{ isObjectProperty(Pipe.isBranchLines) = TRUE }
Head myHead{ isInstalled(Head, myPipe) = TRUE }
getobjectCountInInterval(Hanger, myHead) >= 1 }
CS2{ Pipe myPipe{ isObjectProperty(Pipe.isBranchLines) = TRUE }
Head myHead{ isInstalled(Head, myPipe) = TRUE }
getObjectInterval(myHead) > 3.5m }
KS2{ Pipe myPipe{ isObjectProperty(Pipe.isBranchLines) = TRUE }
Head myHead{ isInstalled(Head, myPipe) = TRUE }
getObjectInterval(myHead) = OIH OIH/3.5 = OIHH (OIHH-1) <= getObjectCountInInterval(Hanger, myHead) < OIHH getObjectInterval(Hanger) = 3.5m
Head myHead2{ getObjectProperty(Head.installationDirectionType) = "BottomUpType" }
getObjectInterval(myHead2, Hanger) >= 8cm }
// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 7항 2호
Check(NFSC506_4_7_2){ IF (CS1 THEN KS1) OR (CS2 THEN KS2) }
CS1{ Pipe myPipe{ isObjectProperty(Pipe.isBranchLines) = TRUE getObjectInterval(Pipe) <= 4.5m }
Pipe myPipe2{ isObjectProperty(Pipe.isCrossMains) = TRUE }
isConnectedTo(myPipe, myPipe2) = TRUE }
KS1{ Pipe myPipe{ isObjectProperty(Pipe.isBranchLines) = TRUE getObjectInterval(Pipe) <= 4.5m }
Pipe myPipe2{ isObjectProperty(Pipe.isCrossMains) = TRUE }
Hanger myHanger{ isInstalled(Hanger, myPipe2) = TRUE }
getObjectCountInInterval(myHanger,myPipe) >=1 }
CS2{ Pipe myPipe{ isObjectProperty(Pipe.isBranchLines) = TRUE getObjectInterval(Pipe) > 4.5m }
Pipe myPipe2{ isObjectProperty(Pipe.isCrossMains) = TRUE }
isConnectedTo(myPipe, myPipe2) = TRUE }
KS2{ Pipe myPipe{ isObjectProperty(Pipe.isBranchLines) = TRUE getObjectInterval(Pipe) > 4.5m }
Pipe myPipe2{ isObjectProperty(Pipe.isCrossMains) = TRUE }
Hanger myHanger{ isInstalled(Hanger, myPipe2) = TRUE }
getObjectCountInInterval(myHanger,myPipe) >=1 getObjectInterval(myPipe) = OIP OIP/4.5 = OIPP (OIPP-1) <= getObjectCountInInterval(Hanger, myHead) < OIPP getObjectInterval(Hanger) = 4.5m }
//연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 7항 3호
Check(NFSC506_4_7_3){ IF CS THEN KS }
CS{ Pipe myPipe{ isObjectProperty(Pipe.isBranchLines) = TRUE }
isObjectProperty(myPipe.isFeedMains)=True
}
KS{ isInstalled(Hanger, myPipe)=True getObjectInterval(Hanger)>4.5 m }
// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 8항 Check(NFSC506_4_8){ KS }
KS{ getObjectProperty(CombustionProtectionSystem.type) != "WetPipeCombustionProtectionSystem" }
|