1
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 1 항 1호 나 목
나. 이음매 없는 구리 및 구리합금관(KS D 5301). 다만, 습식의 배관에 한한다.
//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호
Check(NFSC503A_8_1_1_나){
IF CS THEN KS
}
CS{
isObjectProperty(Pipe.systemType) = "WetPipeSprinklerSystem "
}
KS{
getObjectProperty(Pipe.Material) = "KS_D_5301"
}
Python Code 변환 예정
2
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 2 항 3호
3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우
//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 2항 3호
Check(NFSC503A_8_2_3){
KS
}
KS{
SprinklerSystem mySprinklerSystem {
isObjectProperty(SprinklerSystem .type) = "WetPipeSprinklerSystem "
}
(isObjectProperty(Ceiling.Material.nonCombustibility)=TRUE
OR isObjectProperty(Ceiling.Material.quasiNonCombustibility)=TRUE)
(isObjectProperty(CeilingCovering.Material.nonCombustibility)=TRUE
OR isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=TRUE)
isInstalled(mySprinklerSystem , Ceiling)=TRUE
isInstalled(mySprinklerSystem , CeilingCovering)=TRUE
}
Python Code 변환 예정
3
건축물의 구조기준 등에 관한 규칙 제 9조의3조 1 항
① 주요구조부(바닥·지붕틀 및 주계단은 제외한다. 이하 이 조에서 같다)가 목구조인 건축물은 지붕높이 18미터 이하, 처마높이 15미터 이하 및 연면적 3,000제곱미터 이하로 하여야 한다. 다만, 스프링클러를 설치하는 경우에는 연면적을 6,000제곱미터까지 허용할 수 있다.
//건축물의 구조기준 등에 관한 규칙 9조의3 (건축물의 규모제한) 1항
Check(RSSB_9-3_1){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
MainStructuralPart myMainStructuralPart1{
getObject(FloorSlab) OR getObject(RoofTruss)
}
MainStructuralPart myMainStructuralPart2{
MainStructuralPart != myMainStructuralPart1
}
CS1{
isInstalled(SprinklerSystem ) != TRUE
getObjectProperty(myMainStructuralPart2.Structure.materialType) = "Timber"
}
KS1{
getObjectVerticalDistance(FloorSlab, Roof) <= 18m
getObjectVerticalDistance(FloorSlab, Eave) <= 15m
getGrossFloorArea() <= 3000m2
}
CS2{
isInstalled(SprinklerSystem ) = TRUE
getObjectProperty(myMainStructuralPart2.Structure.materialType) = "Timber"
}
KS1{
getObjectVerticalDistance(FloorSlab, Roof) <= 18m
getObjectVerticalDistance(FloorSlab, Eave) <= 15m
getGrossFloorArea() <= 6000m2
}
Python Code 변환 예정
4
건축물의 에너지절약설계기준 제 5조 12호 가 목
가. "신·재생에너지”라 함은「신에너지 및 재생에너지 개발·이용·보급촉진법」에서 규정하는 것을 말한다.
// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 2항 3호
Check(NFSC102_6_2_3){
KS
}
KS{
SprinklerSystem mySprinklerSystem {
isObjectProperty(SprinklerSystem .type) = "WetPipeSprinklerSystem "
}
(isObjectProperty(Ceiling.Material.nonCombustibility)=TRUE
OR isObjectProperty(Ceiling.Material.quasiNonCombustibility)=TRUE)
(isObjectProperty(CeilingCovering.Material.nonCombustibility)=TRUE
OR isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=TRUE)
isInstalled(mySprinklerSystem , Ceiling)=TRUE
isInstalled(mySprinklerSystem , CeilingCovering)=TRUE
}
Python Code 변환 예정
5
건축물의 에너지절약설계기준 제 5조 6호
6. "완화기준”이라 함은 「건축법」, 「국토의 계획 및 이용에 관한 법률」 및 「지방자치단체 조례」등에서 정하는 조경설치면적, 건축물의 용적률 및 높이제한 기준을 적용함에 있어 완화 적용할 수 있는 비율을 정한 기준을 말한다.
// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 7항
Check(NFSC503A_6_7){
IF CS THEN KS
}
CS{
Pipe.isShared(SimpleSprinklersystem.Pipe, FireDepartmentConnectionSystem.Pipe) = TRUE
}
KS{
Pipe myPipe1{
isObjectProperty(Pipe.isRiser) = TRUE
}
Port myPort{
getObjectProperty(Port.typeForWater) = "Delivery"
Pipe myPipe2{
isConnectedTo(Pipe, myPort) = TRUE
}
isObjectProperty(myPipe1.diameter) >= 100 mm
getObjectProperty(myPipe2.diameter) >= 65 mm
}
Python Code 변환 예정
6
건축물의 에너지절약설계기준 제 5조 9호 너 목
너. "태양열취득률(SHGC)"이라 함은 입사된 태양열에 대하여 실내로 유입된 태양열취득의 비율을 말한다.
// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 13항 2호
Check(NFSC503A_6_13_2){
IF !CS THEN KS
}
CS{
isShared(HookingUpSprinklerSystem .Pipe, SprinklerSystem .Pipe, WaterSprayExtingushingSystem.Pipe, FoamExtinguishingSystem.Pipe) = TRUE
OR isShared(HookingUpSprinklerSystem .Pipe, FireDepartmentConnectionSystem.Pipe) = TRUE
}
KS{
Port myPort{
getObjectProperty(HookingUpSprinklerSystem .Port.typeForWater) = "FireDepartmentConnection"
}
Pipe myPipe{
isObjectProperty(Pipe.isRiser)=TRUE
}
Vavle myValve{
isObjectProperty(Valve.isShutoffValve)= TRUE
}
isConnectedTo(myPort, Pipe) = TRUE
isConnectedTo(Pipe, myPipe) = TRUE
isInstalled(myValve, myPipe) = FALSE
}
Python Code 변환 예정
7
건축물의 에너지절약설계기준 제 5조 9호 타 목
타. "야간단열장치”라 함은 창의 야간 열손실을 방지할 목적으로 설치하는 단열셔터, 단열덧문으로서 총열관류저항(열관류율의 역수)이 0.4㎡·K/W 이상인 것을 말한다.
// 스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 1호
Check(NFSC103_4_5_1){
KS
}
Pump myPump{
isInstalled(Pump, SprinklerSystem ) = TRUE
}
Valve myValve{
isObjectProperty(Valve.isFootValve) = TRUE
isInstalled(Valve, myPump) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isFootValve) = TRUE
Valve != myValve
}
Pipe myPipe{
isObjectProperty(Pipe.isObsorptionPipe) = TRUE
}
Obsorption myObsorptionOpening{
isInstalled(ObsorptionOpening, myPipe) = TRUE
}
Obsorption myObsorptionOpening2{
ObsorptionOpening != myObsorptionOpening
}
KS{
getObjectVerticalLocation(myValve, myValve2) < 0
OR getObjectVerticalLocation(myObsorptionOpening, myOpsorptionOpening2) < 0
}
Python Code 변환 예정
8
건축물의 에너지절약설계기준 제 5조 9호 파 목
파. "평균 열관류율”이라 함은 지붕(천창 등 투명 외피부위를 포함하지 않는다), 바닥, 외벽(창 및 문을 포함한다) 등의 열관류율 계산에 있어 세부 부위별로 열관류율값이 다를 경우 이를 면적으로 가중평균하여 나타낸 것을 말한다. 단, 평균열관류율은 중심선 치수를 기준으로 계산한다.
// 스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 2호
Check(NFSC103_4_5_2){
KS
}
Pipe myPipe{
isObjectProperty(Pipe.isRiser) = TRUE
isInstalled(Pipe, SprinklerSystem ) = TRUE
}
Tank myTank{
getObjectProperty(Tank.operationType) = "ElevatedWaterTank"
}
WaterSupplyOpening myWaterSupplyOpening{
isConnectedTo(WaterSupplyOpening, myPipe) = TRUE
}
WaterSupplyOpening myWaterSupplyOpening2{
WaterSupplyOpening != myWaterSupplyOpening
}
KS{
getObjectVerticalLocation(myWaterSupplyOpening, myWaterSupplyOpening2) < 0
}
Python Code 변환 예정
9
건축물의 에너지절약설계기준 제 6조
제6조(건축부문의 의무사항) 제2조에 따른 열손실방지 조치 대상 건축물의 건축주와 설계자 등은 다음 각 호에서 정하는 건축부문의 설계기준을 따라야 한다.
// 스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치)
Check(NFSC103_6){
IF CS THEN KS
}
CS{
getObjectProperty(SprinklerSystem .Head.openAndCloseType)="EnclosedType"
}
KS{
getResult(NFSC103_6_0_1)=True
getResult(NFSC103_6_0_2)=True
getResult(NFSC103_6_0_3)=True
getResult(NFSC103_6_0_4)=True
getResult(NFSC103_6_0_7)=True
}
Python Code 변환 예정
10
건축물의 에너지절약설계기준 제 6조 1호 가 목
가. 외기에 직접 또는 간접 면하는 거실의 각 부위에는 제2조에 따라 건축물의 열손실방지 조치를 하여야 한다. 다만, 다음 부위에 대해서는 그러하지 아니할 수 있다.
//스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치) 2호
Check(NFSC103_6_0_2){
KS
}
KS{
getObjectCount(SprinklerSystem .ProtectionZonme.One.WaterflowIndicator)>=1
}
Python Code 변환 예정
11
건축물의 에너지절약설계기준 제 6조 1호 가 1) 목
1) 지표면 아래 2미터를 초과하여 위치한 지하 부위(공동주택의 거실 부위는 제외)로서 이중벽의 설치 등 하계 표면결로 방지 조치를 한 경우
//스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치) 3호
Check(NFSC103_6_0_3){
IF CS THEN KS1 ELSE KS2
}
CS{
Building myBuilding{
Building.usage = "MultiUnitHouse"
}
getObjectCount(Floor.One, SprinklerHead)<=10
OR isObjectProperty(myBuilding.isDuplexType)=True
}
KS1{
getObjectCount(SprinklerSystem .ProtectionZone.One.Floor )<=3
}
KS2{
getObjectCount(SprinklerSystem .ProtectionZone.One.Floor )<2
}
Python Code 변환 예정
12
건축물의 에너지절약설계기준 제 6조 1호 가 3) 목
3) 외기에 간접 면하는 부위로서 당해 부위가 면한 비난방공간의 외피를 별표1에 준하여 단열조치하는 경우
//스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치) 7호
Check(NFSC103_6_0_7){
IF CS THEN KS
}
CS{
SprinklerHead mySprinklerHead{
getObjectProperty(SprinklerHead.responseType)="QuickResponseType"
}
isExist(mySprinklerHead)=True
}
KS{
WaterflowIndicator myWaterflowIndicator{
getObjectProperty(WaterflowIndicator.type)="WetWaterflowIndicator"
}
SprinklerSystem mySprinklerSystem {
getObjectProperty(SprinklerSystem .type)="VacuumSprinklerExtinguishingSystem"
}
isExist(myWaterflowIndicator)=True
OR isExist(mySprinklerSystem )=True
}
Python Code 변환 예정
13
건축물의 에너지절약설계기준 제 6조 1호 다 목
다. 단열조치를 하여야 하는 부위에 대하여는 다음 각 호에서 정하는 방법에 따라 단열기준에 적합한지를 판단할 수 있다.
//스프링클러설비의 화재안전기준(NFSC 103) 7조 (개방형스프링클러설비의 방수구역 및 일제개방밸브) 3호
NFSC103_7_0_3{
IF CS THEN KS1 ELSE KS2
}
CS{
getObjectCount(myZone)>=2
}
KS1{
getObjectCount(SprinklerSystem .Head, myZone.One)>=25
}
KS2{
getObjectCount(SprinklerSystem .Head, myZone.One)<=50
}
Python Code 변환 예정
14
건축물의 에너지절약설계기준 제 6조 1호 다 4) 목
4) 창 및 문의 경우 KS F 2278(창호의 단열성 시험 방법)에 의한 국가공인시험기관의 KOLAS 인정마크가 표시된 시험성적서 또는 별표4에 의한 열관류율값 또는 산업통상자원부고시 「효율관리기자재 운용규정」에 따른 창 세트의 열관류율 표시값이 별표1의 열관류율 기준을 만족하는 경우 적합한 것으로 본다.
// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 1항 4호
Check(NFSC103_9_1_4){
KS
}
KS{
isInstalled(Alarm, SprinklerSystem ) = TRUE
OR isInstalled(Siren, SprinklerSystem ) = TRUE
}
Python Code 변환 예정
15
건축물의 에너지절약설계기준 제 6조 3호 가 목
가. 바닥난방 부위에 설치되는 단열재는 바닥난방의 열이 슬래브 하부 및 측벽으로 손실되는 것을 막을 수 있도록 온수배관(전기난방인 경우는 발열선) 하부와 슬래브 사이에 설치하고, 온수배관(전기난방인 경우는 발열선) 하부와 슬래브 사이에 설치되는 구성 재료의 열저항의 합계는 층간 바닥인 경우에는 해당 바닥에 요구되는 총열관류저항(별표1에서 제시되는 열관류율의 역수)의 60% 이상, 최하층 바닥인 경우에는 70% 이상이 되어야 한다. 다만, 바닥난방을 하는
//스프링클러설비의 화재안전기준(NFSC 103) 10조 (헤드) 1항
Check(NFSC_10_1){
KS2 AND IF CS THEN KS1
KS2{
Space mySpace1{
천장과반자사이
}
hasElement(SpecificFireFightingBuilding.Ceiling,SprinklerHead)= TRUE
hasElement(SpecificFireFightingBuilding.CeilingCovering,SprinklerHead)= TRUE
hasElement(SpecificFireFightingBuilding.mySpace1,SprinklerHead)= TRUE
hasElement(SpecificFireFightingBuilding.Duct,SprinklerHead)= TRUE
hasElement(SpecificFireFightingBuilding.Shelf,SprinklerHead)= TRUE
}
CS{
Space mySpace2{
isExternal(Space)= FALSE
}
getSpaceWidth(Building.mySpace)<= 9m
}
KS1{
Wall myWall{
Wall.isSideWall=TRUE
}
hasElement(myWall,SprinklerSystem .Head)=TRUE
hasElement(myWall,SprinklerSystem .Head)=FALSE
}
Python Code 변환 예정
16
건축물의 에너지절약설계기준 제 6조 4호 나 목
나. 방습층 및 단열재가 이어지는 부위 및 단부는 이음 및 단부를 통한 투습을 방지할 수 있도록 다음과 같이 조치하여야 한다.
//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항 1호
check(NFSC103_10_3_1){
IF CS THEN KS
}
Space mySpace1{
Space.usage="StagePart"
OR isObjectProperty(Space.hasSpecialCombustible)=TRUE
}
CS{
isExist(PlenumSpace)=TRUE
}
KS{
getHorizontalDistance(Ceiling | CeilingCovering | mySpace2 | Duct | Shelf,SprinklerSystem .Head)<=1.7m
}
Python Code 변환 예정
17
건축물의 에너지절약설계기준 제 6조 4호 나 4) 목
4) 방습층의 단부는 단부를 통한 투습이 발생하지 않도록 내습성 테이프, 접착제 등으로 기밀하게 마감할 것
Check(NFCS103_10_5){
IF CS THEN KS
}
CS{
getResult(NFCS103_10_5_1)
OR getResult(NFCS103_10_5_2)
}
KS{
Head myHead{
getObjectProperty(SprinklerSystem .Head.responseType)=QuickResponseType
}
isInstalled(myHead) = TRUE
}
Python Code 변환 예정
18
건축물의 에너지절약설계기준 제 7조
제7조(건축부문의 권장사항) 에너지절약계획서 제출대상 건축물의 건축주와 설계자 등은 다음 각 호에서 정하는 사항을 제13조의 규정에 적합하도록 선택적으로 채택할 수 있다.
//스프링클러설비의 화재안전기준(NFSC 103) 10조 7항 7호
check(NFSC103_10_7_7){
IF !CS THEN KS
}
CS{
getResult(NFSC103_10_7_7_가)=TRUE
OR getResult(NFSC103_10_7_7_나)=TRUE
}
KS{
SprinklerHead mySprinklerHead{
SprinklerHead.installationDirectionType="BottomUpType"
}
SprinklerSystem mySprinklerSystem 1{
SprinklerSystem .type = "VacuumSprinklerExtinguishingSystem"
}
SprinklerSystem mySprinklerSystem 2{
SprinklerSystem .type = "WetPipeSprinklerSystem "
}
hasElement(mySprinklerSystem 1, mySprinklerHead)=TRUE
hasElement(mySprinklerSystem 2, mySprinklerHead)=TRUE
}
Python Code 변환 예정
19
건축물의 에너지절약설계기준 제 7조 3호 나 목
나. 외벽 부위는 제5조제9호차목에 따른 외단열로 시공한다.
// 스프링클러설비의 화재안전기준(nfsc 103) 12조 (전원) 2항
Check(NFSC103_12_2){
IF (!CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
Tank myTank{
getObjectProperty(Tank) = "PressurizedTank"
}
isInstalled(myTank) = TRUE
}
CS2{
getBuildingUsage() = "Garage"
OR getBuildingUsage() = "ParkingLot"
ParkingLot myParkingLot{
getResult(Unimplemented_NFSC105_13_2_2) = TRUE
getSpace(ParkingLot)
}
Floor myFloor{
isInstalled(SprinklerSystem , Floor) = TRUE
}
getFloorArea(myFloor) + getFloorArea(myFloor2) >= 1000m2
}
KS1{
EmergencyPower myEmergencyPower{
getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"
OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem"
}
isInstalled(myEmergencyPower, SprinklerSystem ) = TRUE
}
KS2{
EmergencyPower myEmergencyPower{
getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"
OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem"
OR getObjectProperty(EmergencyPower.systemType) = "EmergencyPowerReceivingSystem"
}
isInstalled(myEmergencyPower, SprinklerSystem ) = TRUE
}
Python Code 변환 예정
20
건축물의 에너지절약설계기준 제 7조 4호
4. 기밀계획
// 스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항
Check(NFSC103_15_1){
IF !CS THEN KS
}
CS{
getResult(NFSC103_15_1_1) = TRUE
OR getResult(NFSC103_15_1_2) = TRUE
OR getResult(NFSC103_15_1_3) = TRUE
OR getResult(NFSC103_15_1_4) = TRUE
OR getResult(NFSC103_15_1_5) = TRUE
OR getResult(NFSC103_15_1_6) = TRUE
OR getResult(NFSC103_15_1_7) = TRUE
OR getResult(NFSC103_15_1_8) = TRUE
OR getResult(NFSC103_15_1_10) = TRUE
OR getResult(NFSC103_15_1_11) = TRUE
OR getResult(NFSC103_15_1_13) = TRUE
OR getResult(NFSC103_15_1_14) = TRUE
OR getResult(NFSC103_15_1_15) = TRUE
}
KS{
isInstalled(SprinklerSystem ) = TRUE
}
Python Code 변환 예정
21
건축물의 에너지절약설계기준 제 9조
제9조(기계부문의 권장사항) 에너지절약계획서 제출대상 건축물의 건축주와 설계자 등은 다음 각 호에서 정하는 사항을 제13조의 규정에 적합하도록 선택적으로 채택할 수 있다.
// 스프링클러설비의 화재안전기준(NFSC 103) 16조 (수원 및 가압송수장치의 펌프 등의 겸용) 2항
Check(NFSC103_16_2){
IF CS THEN KS
}
Pump myPump{
isInstalled(SprinklerSystem , PressurizedWaterSupplySystem) = TRUE
getObjectUsage(Pump) = "PressurizedWaterSupplySystem"
}
Pump myPump2{
isInstalled(IndoorFireHydrantSystem, PressurizedWaterSupplySystem) = TRUE
getObjectUsage(Pump) = "PressurizedWaterSupplySystem"
}
Pump myPump3{
isInstalled(SimpleSprinklerSystem , PressurizedWaterSupplySystem) = TRUE
getObjectUsage(Pump) = "PressurizedWaterSupplySystem"
}
Pump myPump4{
isInstalled(SprinklerSystem ForEarlyFireSuppression, PressurizedWaterSupplySystem) = TRUE
getObjectUsage(Pump) = "PressurizedWaterSupplySystem"
}
Pump myPump5{
isInstalled(WaterSprayExtingushingSystem, PressurizedWaterSupplySystem) = TRUE
getObjectUsage(Pump) = "PressurizedWaterSupplySystem"
}
Pump myPump6{
isInstalled(FoamExtinguishingSystem, PressurizedWaterSupplySystem) = TRUE
getObjectUsage(Pump) = "PressurizedWaterSupplySystem"
}
Pump myPump7{
isInstalled(OutdoorFireHydrantSystem, PressurizedWaterSupplySystem) = TRUE
getObjectUsage(Pump) = "PressurizedWaterSupplySystem"
}
CS{
isShared(myPump, myPump2) = TRUE
OR isShared(myPump, myPump3) = TRUE
OR isShared(myPump, myPump4) = TRUE
OR isShared(myPump, myPump5) = TRUE
OR isShared(myPump, myPump6) = TRUE
OR isShared(myPump, myPump7) = TRUE
}
KS{
getObjectProperty(myPump.ratedDischargeRate) = PRD
getObjectProperty(myPump2.ratedDischargeRate) + getObjectProperty(myPump3.ratedDischargeRate) + getObjectProperty(myPump4.ratedDischargeRate) + getObjectProperty(myPump5.ratedDischargeRate) + getObjectProperty(myPump6.ratedDischargeRate) + getObjectProperty(myPump7.ratedDischargeRate) = TPRD
PRD >= TPRD
}
Python Code 변환 예정
22
건축물의 에너지절약설계기준 제 9조 2호
2. 열원설비
// 간이스프링클러설비의 화재안전기준(NFSC103a) 4조 (수원) 2항
Check(NFSC503A_4_2){
IF !CS1 AND CS2 THEN KS
}
CS1{
getResult(NFSC503A_4_2_1) = TRUE
OR getResult(NFSC503A_4_2_2) = TRUE
}
CS2{
isObjectProperty(SimpleSprinklerSystem .Tank.isWaterSource) = TRUE
}
KS{
isObjectProperty(Tank.isShared) = FALSE
}
Python Code 변환 예정
23
건축물의 에너지절약설계기준 제 9조 2호 가 목
가. 열원설비는 부분부하 및 전부하 운전효율이 좋은 것을 선정한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 2항 1호
Check(NFSC503A_4_2_1){
KS
}
KS{
Valve myValve1{
isObjectProperty(Valve.isFootValve) = TRUE
isObjectProperty(Valve.systemType) = "SimpleSprinklerSystem "
}
Port myPort1{
getObjectProperty(Port.typeForWater) = "Obsorption"
isObjectProperty(Valve.systemType) = "SimpleSprinklerSystem "
}
Valve myValve2{
isObjectProperty(Valve.isFootValve) = TRUE
isObjectProperty(Valve.systemType) != "SimpleSprinklerSystem "
}
Port myPort2{
getObjectProperty(Port.typeForWater) = "Obsorption"
isObjectProperty(Valve.systemType) != "SimpleSprinklerSystem "
}
getObjectVerticalLocation(myValve1|myValve1, myValve2|myPort2) < 0
}
Python Code 변환 예정
24
건축물의 에너지절약설계기준 제 9조 2호 나 목
나. 난방기기, 냉방기기, 냉동기, 송풍기, 펌프 등은 부하조건에 따라 최고의 성능을 유지할 수 있도록 대수분할 또는 비례제어운전이 되도록 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 2항 2호
Check(NFSC503A_4_2_2){
KS
}
KS{
Pipe myPipe{
getObjectProperty(Pipe.usage)= "WaterSupplyPipe"
getObjectProperty(Pipe.systemType)="SimpleSprinklerSystem "
isObjectProperty(Pipe.isRiser)= TRUE
}
Tank myTank{
getObjectProperty(Tank.operationType) = "ElevatedWaterTank"
}
Port myPort1{
getObjectProperty(Port.typeForWater) = "Supply"
isConnectedTo(Port,myTank) = TRUE
isConnectedTo(Port,myWaterSupplyPipe) = TRUE
}
Port myPort2 {
getObject(Port) - getObject(myPort1)
}
Distance1 = getObjectVerticalDistance(myPort1, Ground.Surface, b)
Distance2 = getObjectVerticalDistance(myPort2, Ground.Surface, b)
Distance1 - Distance2 < 0
}
Python Code 변환 예정
25
건축물의 에너지절약설계기준 제 9조 4호 다 목
다. 열원설비 및 공조용의 송풍기, 펌프는 효율이 높은 것을 채택한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 7호
Check(NFSC503A_5_2_7){
IF !CS THEN KS1 AND KS2
}
CS{
isObjectProperty(SimpleSprinklerSystem .isCabinetType)=TRUE
}
KS1{
isExist(PressurizedWaterSupplySystem) = TRUE
}
KS2{
getResult(NFSC503A_5_2_7_가) = TRUE
}
Python Code 변환 예정
26
건축물의 에너지절약설계기준 제 9조 5호 가 목
가. 청정실 등 특수 용도의 공간 외에는 실내공기의 오염도가 허용치를 초과하지 않는 범위 내에서 최소한의 외기도입이 가능하도록 계획한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 8호
Check(NFSC503A_5_2_8){
IF (!CS1 AND CS2) THEN KS
}
CS1{
isObjectProperty(SimpleSprinklerSystem .isCabinetType) = TRUE
}
CS2{
getObjectVerticalLocation(Pump, WaterSource,) < 0
}
KS{
isInstalled(PressurizedWaterSupplySystem, WaterLiftingDevice) = TRUE
getResult(NFSC503A_5_2_가) = TRUE
getResult(NFSC503A_5_2_나) = TRUE
}
Python Code 변환 예정
27
건축물의 에너지절약설계기준 제 10조 1호 가 목
가. 변압기를 신설 또는 교체하는 경우에는 제5조제11호가목에 따른 고효율변압기를 설치하여야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 7항
Check(NFSC503A_5_7){
IF CS THEN KS
}
CS{
SpecificFireFightingBuilding mySpecificFireFightingBuilding{
getResult(_*_5_1_마_1)) = TRUE
getResult(_*_5_1_마_6)) = TRUE
getResult(_*_5_1_마_7)) = TRUE
}
}
KS{
SimpleSprinklerSystem mySimpleSprinklerSystem {
isObjectProperty(SimpleSprinklerSystem .isDirectCoupledType) != TRUE
isObjectProperty(SimpleSprinklerSystem .isCabinetType) != TRUE
}
isInstalled(PressurizedWaterSupplySystem, mySpecificFireFightingBuilding) = TRUE
isInstalled(mySimpleSprinklerSystem , mySpecificFireFightingBuilding) != TRUE
}
Python Code 변환 예정
28
건축물의 에너지절약설계기준 제 10조 2호
2. 간선 및 동력설비
//간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치)
Check(NFSC503A_6){
KS2 AND IF CS THEN KS1
KS2{
getResult(NFSC503A_6_1)=TRUE
getResult(NFSC503A_6_2)=TRUE
getResult(NFSC503A_6_3)=TRUE
getResult(NFSC503A_6_4)=TRUE
}
CS{
isObjectProperty(SimpleSprinklerSystem .isCabinetType) = TRUE
}
KS1{
getResult(NFSC503A_6_3)=TRUE
}
Python Code 변환 예정
29
건축물의 에너지절약설계기준 제 10조 3호 나 목
나. 안정기는 해당 형광램프 전용안정기를 사용하여야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치)
Check(NFSC503A_6){
IF CS THEN KS
}
ParkingLot myParkingLot{
hasSpace(SpecificFireFightingBuilding, ParkingLot) = TRUE
}
CS{
isInstalled(SimpleSprinklerSystem , SpecificFireFightingBuilding) = TRUE
}
KS{
getObjectProperty(SprinklerSystem .type) != "WetPipeSprinklerSystem "
}
Python Code 변환 예정
30
건축물의 에너지절약설계기준 제 10조 3호 다 목
다. 공동주택 각 세대내의 현관 및 숙박시설의 객실 내부입구, 계단실의 조명기구는 인체감지점멸형 또는 일정시간 후에 자동 소등되는 제5조제11호마목에 따른 조도자동조절조명기구를 채택하여야 한다.
//간이스프링클러설비의 화재안전기준(nfsc 103a) 7조 ( 제어반 )
Check(NFSC503A_7){
IF !CS THEN KS
}
CS{
isObjectProperty(SimpleSprinklerSystem .isCabinetType) = TRUE
}
KS{
hasObject(SimpleSprinklerSystem , ControlPanel)=TRUE
getResult(NFSC503A_7_2)=TRUE
}
Python Code 변환 예정
31
건축물의 에너지절약설계기준 제 10조 3호 라 목
라. 조명기구는 필요에 따라 부분조명이 가능하도록 점멸회로를 구분하여 설치하여야 하며, 일사광이 들어오는 창측의 전등군은 부분점멸이 가능하도록 설치한다. 다만, 공동주택은 그러하지 않을 수 있다.
//간이스프링클러설비의 화재안전기준(nfsc 103a) 7조 ( 제어반 ) 2호
Check(NFSC503A_7_0_2){
IF CS THEN KS
}
CS{
isObjectProperty(SimpleSprinklerSystem .isDirectCoupledType) = TRUE
}
KS{
getResult(NFSC103_13)=TRUE
}
Python Code 변환 예정
32
건축물의 에너지절약설계기준 제 11조 3호 가 목
가. 옥외등은 고효율 에너지기자재 인증제품 또는 산업통상자원부 고시 효율관리기자재 운용규정」에서 고효율조명기기로 등록된 고휘도방전램프(HID Lamp : High Intensity Dis charge Lamp) 또는 LED 램프를 사용하고, 옥외등의 조명회로는 격등 점등과 자동점멸기에 의한 점멸이 가능하도록 한다.
//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 5항
Check(NFSC503A_8_5){
IF CS THEN KS
}
CS{
Pipe myPipe1{
Pipe.systemType = "SimpleSprinklersystem"
}
Pipe myPipe2{
Pipe.systemType = "FireDepartmentConnectionSystem"
}
Pipe.isShared(myPipe1, myPipe2) = TRUE
}
KS{
Pipe myPipe3{
isObjectProperty(Pipe.isRiser) = TRUE
}
Port myPort{
getObjectProperty(Port.typeForWater) = "Delivery"
Pipe myPipe4{
isConnectedTo(Pipe, myPort) = TRUE
}
isObjectProperty(myPipe3.diameter) >= 100 mm
getObjectProperty(myPipe4.diameter) >= 65 mm
}
Python Code 변환 예정
33
건축물의 에너지절약설계기준 제 11조 4호 마 목
마. 숙박시설, 기숙사, 학교, 병원 등에는 제5조제11호거목에 따른 창문 연계 냉난방설비 자동 제어시스템을 채택하도록 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항
Check(NFSC503A_8_11_1){
IF (CS1 AND CS2) THEN KS
}
CS{
isObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator"
isObjectProperty(WaterflowIndicator.systemType) = "SimpleSprinklerSystem "
}
KS{
getResult(NFSC503A_8_11_1) = TRUE
getResult(NFSC503A_8_11_2) = TRUE
}
Python Code 변환 예정
34
건축물의 에너지절약설계기준 제 15조 1 항
제15조(에너지성능지표의 판정) ① 에너지성능지표는 평점합계가 65점 이상일 경우 적합한 것으로 본다. 다만, 공공기관이 신축하는 건축물(별동으로 증축하는 건축물을 포함한다)은 74점 이상일 경우 적합한 것으로 본다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항
Check(NFSC503A_8_12){
IF !CS THEN KS
}
CS{
WaterflowIndicator myWaterflowIndicator{
isObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator"
}
isInstalled(myWaterflowIndicator, SimpleSprinklerSystem ) = TRUE
}
KS{
getResult(NFSC503A_8_12_1) = TRUE
getResult(NFSC503A_8_12_2) = TRUE
getResult(NFSC503A_8_12_3) = TRUE
}
Python Code 변환 예정
35
건축물의 에너지절약설계기준 제 16조
제16조(완화기준) 영 제11조에 따라 건축물에 적용할 수 있는 완화기준은 별표9에 따르며, 건축주가 건축기준의 완화적용을 신청하는 경우에 한해서 적용한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 2호
Check(NFSC503A_8_12_2){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
Head myHead{
isObjectProperty(Head.openAndCloseType) = "OpenType"
getObjectProperty(Head.systemType) = "SimpleSprinklerSystem "
}
BD = getObjectDiameter(NFSC503A_8_12_1.myPipe)
getObjectDiameter(myPipe, a) = BD
isInstalled(myHead, myPipe.End) = TRUE
}
Python Code 변환 예정
36
건축물의 에너지절약설계기준 제 18조 1 항
제18조(완화기준의 신청 등) ① 완화기준을 적용받고자 하는 자(이하 "신청인”이라 한다)는 건축허가 또는 사업계획승인 신청 시 허가권자에게 별지 제2호 서식의 완화기준 적용 신청서 및 관계 서류를 첨부하여 제출하여야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 1호
Check(NFSC503A_8_16_1){
IF CS THEN KS
}
CS{
isObjectProperty(SimpleSprinklerSystem .isDirectCoupledType) = TRUE
}
KS{
getResult(NFSC503A_8_16_1_가) = TRUE
getResult(NFSC503A_8_16_1_나) = TRUE
}
Python Code 변환 예정
37
건축물의 에너지절약설계기준 제 18조 3 항
③ 신청인의 자격은 건축주 또는 사업주체로 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 1호 나목
Check(NFSC503A_8_16_1_나){
KS
}
KS{
ShutdownEquipment myShutdownEquipment{
isObjectProperty(ShutdownEquipment.type) = "Water"
}
Pipe myPipe{
isObjectProperty(Pipe.systemType) != "SimpleSprinklerSystem "
}
isInstalled(myShutdownEquipment, myPipe) = TRUE
}
Python Code 변환 예정
38
건축물의 에너지절약설계기준 제 19조 2 항
② 완화기준을 적용받은 건축주 또는 사업주체는 건축물의 사용승인 신청 이전에 본인증을 취득하여 사용승인 신청 시 허가권자에게 인증서 사본을 제출하여야 한다. 단, 본인증의 등급은 예비인증 등급 이상으로 취득하여야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 4호
Check(NFSC503A_8_16_4){
IF (!CS1 AND CS2) THEN KS
}
CS1{
getObjectVerticalLocation(WaterSource, Pump) > 0
}
CS2{
SimpleSprinklerSystem mySimpleSprinklerSystem {
isObjectProperty(SimpleSprinklerSystem .isCabinetType) = TRUE
}
isInstalled(Pipe, mySimpleSprinklerSystem .PressurizedWaterSupplySystem) = TRUE
OR isInstalled(Valve, mySimpleSprinklerSystem .PressurizedWaterSupplySystem) = TRUE
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType) = "HydropneumaticTank"
}
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
getObjectCount(Valve) = 2
}
isInstalledInOrder(WaterSource, CompoundGauge | VacuumGauge, Pump | myTank, PressureGauge, myValve1, myPipe, myValve2, myValve3) = TRUE
}
Python Code 변환 예정
39
건축물의 에너지절약설계기준 제 23조 2 항
② 다수의 동이 있는 경우에는 동별로 에너지절약계획서 및 설계 검토서를 제출하는 것을 원칙으로 한다.(다만, 공동주택의 주거용도는 하나의 단지로 작성)
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 8호
Check(NFSC503A_9_0_8){
IF CS THEN KS
}
CS{
isInstalled(SimpleSprinklerSystem , SpecificFireFightingBuilding) = TRUE
}
KS{
getResult(NFSC503_15_1) = TRUE
}
Python Code 변환 예정
40
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14조 1 항 1호
1. 10층 이하의 층은 바닥면적 1천제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 바닥면적 3천제곱미터)이내마다 구획할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의 설치) 1항1호
check(REFB_14_1_1){KS
}
KS{
Floor myFloor{
Floor.number>=10
}
IF (
isExist(SprinklerSystem )=TRUE
isObjectProperty(ExtinguishingSystem.isAutomatic) = TRUE
)
(
isFirePartition(myFloor, 3000)=TRUE
OR isFirePartition(myFloor, a, 1000)=TRUE
)
}
Python Code 변환 예정
41
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14조 1 항 3호
3. 11층 이상의 층은 바닥면적 200제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 600제곱미터)이내마다 구획할 것. 다만, 벽 및 반자의 실내에 접하는 부분의 마감을 불연재료로 한 경우에는 바닥면적 500제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 1천500제곱미터)이내마다 구획하여야 한다.
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의설치) 1항3호
check(REFB_14_1_3){
KS2 AND IF CS THEN KS
}
Floor myFloor {
getFloorNumebr()>= 11
}
KS2{
isFirepartition(myFloor,200)=TRUE
OR
((isExist(SprinklerSystem ) = TRUE
OR isObjectProperty(ExtinguishingSystem.isAutomatic) = TRUE)
AND isFirepartition(myFloor,600)=TRUE)
}
CS1 {
isObjectProperty(Space.InteriorFinish.Material.nonCombustibility)=TRUE
}
KS1 {
isFirepartition(myFloor,500)=TRUE
OR
((isExist(SprinklerSystem ) = TRUE
OR isObjectProperty(ExtinguishingSystem.isAutomatic) = TRUE)
AND isFirepartition(myFloor,1500)=TRUE)
}
Python Code 변환 예정
42
건축법 시행령 제 61조 1 항 7호
7. 창고로 쓰이는 바닥면적 3천 제곱미터(스프링클러나 그 밖에 이와 비슷한 자동식 소화설비를 설치한 경우에는 6천 제곱미터) 이상인 건축물
//건축법 시행령 61조 (건축물의 마감재료) 1항7호
Check(EDBA_61_1_7){
KS
}
KS{
Floor myFloor{
getObjectUsage(Floor)="Storage"
}
IF (isExist(SprinklerSystem )=TRUE
OR isExist(ExtinguishingSystem.isAutomatic)=TRUE )
THEN getFloorArea(myFloor)>6000 m2
ELSE THEN getFloorArea(myFloor)>3000 m2
}
Python Code 변환 예정
43
스프링클러설비의 화재안전기준(NFSC 103) 제 10조 7 항 7호 가 목
가. 드라이펜던트스프링클러헤드를 사용하는 경우
//스프링클러설비의 화재안전기준(NFSC 103) 10조 7항 7호 가목
check(NFSC103_10_7_7_가){
KS
}
KS{
SprinklerHead mySprinklerHead{
isObjectProperty(SprinklerHead.isDryPendent)=TRUE
}
SprinklerSystem mySprinklerSystem {
getObject(WetPipeSprinklerSystem )
getObject(VacuumSprinklerExtinguishingSystem)
}
SprinklerSystem mySprinklerSystem 1{
getObject(SprinklerSystem )!= mySprinklerSystem
}
hasElement(mySprinklerSystem 1, mySprinklerHead)=TRUE
}
Python Code 변환 예정
44
스프링클러설비의 화재안전기준(NFSC 103) 제 10조 7 항 7호 다 목
다. 개방형스프링클러헤드를 사용하는 경우
//스프링클러설비의 화재안전기준(NFSC 103) 10조 7항 7호 다목
check(NFSC103_10_7_7_다){
KS
}
KS{
SprinklerHead mySprinklerHead{
isObjectProperty(SprinklerHead.openAndCloseType)="OpenType"
}
SprinklerSystem mySprinklerSystem {
getObject(WetPipeSprinklerSystem )
getObject(VacuumSprinklerExtinguishingSystem)
}
SprinklerSystem mySprinklerSystem 1{
getObject(SprinklerSystem )!= mySprinklerSystem
}
hasElement(mySprinklerSystem 1, mySprinklerHead)=TRUE
}
Python Code 변환 예정
45
연결살수설비의 화재안전기준(NFSC 503) 제 4조 1 항 2호
2. 송수구는 구경 65㎜의 쌍구형으로 설치할 것. 다만, 하나의 송수구역에 부착하는 살수헤드의 수가 10개 이하인 것은 단구형의 것으로 할 수 있다.
// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항 2호
Check(NFSC503_4_1_2){
IF CS THEN KS
}
CS{
Zone myZone{
isObjectProperty(Zone.isWaterSupplyZone)=TRUE
}
hasObject(myZone.One,HookingUpSprinklerSystem .Head.)=TRUE
getObjectCount(HookingUpSprinklerSystem .Head.) <= 10
}
KS{
Port myPort{
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem "
getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
}
isObjectProperty(myPort.diameter) = 65mm
getObjectProperty(myPort.shapeType) = "DoubleType"
}
Python Code 변환 예정
46
연결살수설비의 화재안전기준(NFSC 503) 제 4조 1 항 3호
3. 개방형헤드를 사용하는 송수구의 호스접결구는 각 송수구역마다 설치할 것. 다만, 송수구역을 선택할 수 있는 선택밸브가 설치되어 있고 각 송수구역의 주요구조부가 내화구조로 되어 있는 경우에는 그러하지 아니하다.
// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항 3호
Check(NFSC503_4_1_3){
IF !CS THEN KS
}
Zone myZone{
isObjectProperty(Zone.isWaterSupplyZone)=TRUE
}
CS{
Valve myValve{
isObjectProerpty(Valve.isSelectionValve) = TRUE
}
isInstalled(myValve) = TRUE
hasObject(myZone,MainStructuralPart) = TRUE
isFireResistantStructure(MainStructuralPart) = TRUE
}
KS{
Port myPort{
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem "
getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
}
Head myHead{
getObjectProperty(Head.openAndCloseType) = "OpenType"
}
isInstalled(myPort.호스접결구, myZone.One) = TRUE
}
Python Code 변환 예정
47
연결살수설비의 화재안전기준(NFSC 503) 제 4조 1 항 5호
5. 송수구로부터 주배관에 이르는 연결배관에는 개폐밸브를 설치하지 아니 할 것. 다만, 스프링클러설비·물분무소화설비·포소화설비 또는 연결송수관설비의 배관과 겸용하는 경우에는 그러하지 아니하다.
// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항 5호
Check(NFSC503_4_1_5){
IF !CS THEN KS
}
CS{
Pipe myPipe1{
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem "
}
Pipe myPipe2{
getObjectProperty(Port.systemType) = "SprinklerSystem "
}
Pipe myPipe3{
getObjectProperty(Port.systemType) = "WaterSprayExtingushingSystem"
}
Pipe myPipe4{
getObjectProperty(Port.systemType) = "FoamExtinguishingSystem"
}
Pipe myPipe5{
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem "
}
Pipe myPipe6{
getObjectProperty(Port.systemType) = "FireDepartmentConnectionSystem"
}
isShared(myPipe1, myPipe2, myPipe3, myPipe4) = TRUE
OR isShared(myPipe5, myPipe6) = TRUE
}
KS{
Port myPort{
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem "
getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
}
Pipe myPipe{
isObjectProperty(Pipe.isRiser)=TRUE
}
Vavle myValve{
isObjectProperty(Valve.isShutoffValve)= TRUE
}
isConnectedTo(myPort, Pipe) = TRUE
isConnectedTo(Pipe, myPipe) = TRUE
isInstalled(myValve, myPipe) = FALSE
}
Python Code 변환 예정
48
연결살수설비의 화재안전기준(NFSC 503) 제 4조 3 항
③ 연결살수설비에는 송수구의 가까운 부분에 자동배수밸브와 체크밸브를 다음 각 목의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 3항
Check(NFSC503_4_3){
KS
}
KS{
Valve myValve1{
isObjectProperty(Valve.isAutomiaticDeliveryValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isCheckValve) = TRUE
}
isInstalled(myValve1, HookingUpSprinklerSystem ) = TRUE
isInstalled(myValve2, HookingUpSprinklerSystem ) = TRUE
getResult(NFSC503_4_3_1) = TRUE
getResult(NFSC503_4_3_2) = TRUE
Python Code 변환 예정
49
연결살수설비의 화재안전기준(NFSC 503) 제 4조 3 항 1호
1. 폐쇄형헤드를 사용하는 설비의 경우에는 송수구·자동배수밸브·체크밸브의 순으로 설치할 것
// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 3항 1호
Check(NFSC503_4_3_1){
IF CS THEN KS
}
CS{
Head myHead{
getObjectProperty(Head.openAndCloseType) = "EnclosedType"
}
getObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem "
}
KS{
Port myPort{
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem "
getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
}
Valve myValve1{
isObjectProperty(Valve.isAutomiaticDeliveryValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isCheckValve) = TRUE
}
isInstalledInOrder(myPort, myValve1, myValve2) = TRUE
}
Python Code 변환 예정
50
연결살수설비의 화재안전기준(NFSC 503) 제 4조 3 항 2호
2. 개방형헤드를 사용하는 설비의 경우에는 송수구·자동배수밸브의 순으로 설치할 것
// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 3항 2호
Check(NFSC503_4_3_2){
IF CS THEN KS
}
CS{
Head myHead{
getObjectProperty(Head.openAndCloseType) = "OpenType"
}
getObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem "
}
KS{
Port myPort{
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem "
getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
}
Valve myValve1{
isObjectProperty(Valve.isAutomiaticDeliveryValve) = TRUE
}
isInstalledInOrder(myPort, myValve1) = TRUE
}
Python Code 변환 예정
51
연결살수설비의 화재안전기준(NFSC 503) 제 4조 4 항
④개방형헤드를 사용하는 연결살수설비에 있어서 하나의 송수구역에 설치하는 살수헤드의 수는 10개 이하가 되도록 하여야 한다.
// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 4항
Check(NFSC503_4_4){
IF CS THEN KS
}
CS{
Head myHead{
getObjectProperty(Head.openAndCloseType) = "OpenType"
}
getObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem "
}
KS{
Zone myZone{
isObjectProperty(Zone.isWaterSupplyZone) = TRUE
}
Head myHead{
isInstalled(HookingUpSprinklerSystem .Head, myZone.One) = TRUE
}
getObjectCount(myHead) <= 10
}
Python Code 변환 예정
52
연결살수설비의 화재안전기준(NFSC 503) 제 5조 1 항 3호
3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우
//연결살수설비의 화재안전기준(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
}
Python Code 변환 예정
53
연결살수설비의 화재안전기준(NFSC 503) 제 5조 2 항 1호
1. 연결살수설비 전용헤드를 사용하는 경우에는 다음 표에 따른 구경 이상으로 할 것
// 연결살수설비의 화재안전기준(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
}
Python Code 변환 예정Python Code 변환 예정
54
연결살수설비의 화재안전기준(NFSC 503) 제 5조 2 항 1호
1. 연결살수설비 전용헤드를 사용하는 경우에는 다음 표에 따른 구경 이상으로 할 것
// 연결살수설비의 화재안전기준(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
}
Python Code 변환 예정Python Code 변환 예정
55
연결살수설비의 화재안전기준(NFSC 503) 제 5조 2 항 2호
2. 스프링클러헤드를 사용하는 경우에는 「스프링클러설비의 화재안전기준(NFSC 103)」 별표 1의 기준에 따를 것
// 연결살수설비의 화재안전기준(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
}
Python Code 변환 예정
56
연결살수설비의 화재안전기준(NFSC 503) 제 5조 3 항
③폐쇄형헤드를 사용하는 연결살수설비의 주배관은 옥내소화전설비의 주배관(옥내소화전설비가 설치된 경우에 한한다) 및 수도배관(연결살수설비가 설치된 건축물 안에 설치된 수도배관 중 구경이 가장 큰 배관을 말한다) 또는 옥상에 설치된 수조(다른 설비의 수조를 포함한다)에 접속하여야 한다. 이 경우 연결살수설비의 주배관과 옥내소화전설비의 주배관·수도배관·옥상에 설치된 수조의 접속부분에는 체크밸브를 설치하되, 점검하기 쉽게 하여야 한다.
// 연결살수설비의 화재안전기준(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)
}
Python Code 변환 예정
57
연결살수설비의 화재안전기준(NFSC 503) 제 5조 4 항
④폐쇄형헤드를 사용하는 연결살수설비에는 다음 각 호의 기준에 따른 시험배관을 설치하여야 한다. <개정 2012.8.20>
// 연결살수설비의 화재안전기준(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
}
Python Code 변환 예정
58
연결살수설비의 화재안전기준(NFSC 503) 제 5조 5 항
⑤개방형헤드를 사용하는 연결살수설비의 수평주행배관은 헤드를 향하여 상향으로 100분의 1 이상의 기울기로 설치하고 주배관중 낮은 부분에는 자동배수밸브를 제4조제3항제3호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
// 연결살수설비의 화재안전기준(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
}
Python Code 변환 예정
59
연결살수설비의 화재안전기준(NFSC 503) 제 5조 9 항
⑨연결살수설비 교차배관의 위치·청소구 및 가지배관의 헤드설치는 다음 각 호의 기준에 따른다. <개정 2012.8.20>
// 연결살수설비의 화재안전기준(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
}
Python Code 변환 예정
60
연결살수설비의 화재안전기준(NFSC 503) 제 5조 9 항 1호
1. 교차배관은 가지배관과 수평으로 설치하거나 또는 가지배관 밑에 설치하고, 그 구경은 제2항에 따르되, 최소구경이 40㎜ 이상이 되도록 할 것
// 연결살수설비의 화재안전기준(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
}
Python Code 변환 예정
61
연결살수설비의 화재안전기준(NFSC 503) 제 5조 9 항 2호
2. 폐쇄형헤드를 사용하는 연결살수설비의 청소구는 주배관 또는 교차배관(교차배관을 설치하는 경우에 한한다) 끝에 40㎜ 이상 크기의 개폐밸브를 설치하고, 호스접결이 가능한 나사식 또는 고정배수 배관식으로 할 것. 이 경우 나사식의 개폐밸브는 옥내소화전 호스접결용의 것으로 하고, 나사보호용의 캡으로 마감하여야 한다.
// 연결살수설비의 화재안전기준(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) = "옥내소화전 호스접결용"
}
Python Code 변환 예정
62
연결살수설비의 화재안전기준(NFSC 503) 제 5조 9 항 3호
3. 폐쇄형헤드를 사용하는 연결살수설비에 하향식헤드를 설치하는 경우에는 가지배관으로부터 헤드에 이르는 헤드접속배관은 가지관상부에서 분기할 것. 다만, 소화설비용 수원의 수질이 「먹는물관리법」 제5조에 따라 먹는물의 수질기준에 적합하고 덮개가 있는 저수조로부터 물을 공급받는 경우에는 가지배관의 측면 또는 하부에서 분기할 수 있다.
// 연결살수설비의 화재안전기준(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
}
Python Code 변환 예정
63
연결살수설비의 화재안전기준(NFSC 503) 제 6조 1 항
제6조(연결살수설비의 헤드) ①연결살수설비의 헤드는 연결살수설비전용헤드 또는 스프링클러헤드로 설치하여야 한다.
//연결살수설비의 화재안전기준(nfsc 503) 6조 (배관 등) 1항
Check(NFSC503_6_1){
KS
}
KS{
getObjectProperty(HookingUpSprinklerSystem .Head) = "SprinklerHead"
}
Python Code 변환 예정
64
연결살수설비의 화재안전기준(NFSC 503) 제 6조 2 항 1호
1. 천장 또는 반자의 실내에 면하는 부분에 설치할 것
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 2항 1호
Check(NFSC503_6_2_1){
KS
}
KS{
SprinklerHead mySprinklerHead{
isInstalled(SprinklerHead, HookingUpSprinklerSystem ) = TRUE
}
isAdjacent(mySprinklerHead.Head.AttachingToSurface, Indoors) = TRUE
(isAdjacent(mySprinklerHead.Head.AttachingToSurface, Ceiling) = TRUE
OR isAdjacent(mySprinklerHead.Head.AttachingToSurface, CeilingCovering) = TRUE)
}
Python Code 변환 예정
65
연결살수설비의 화재안전기준(NFSC 503) 제 6조 2 항 2호
2. 천장 또는 반자의 각 부분으로부터 하나의 살수헤드까지의 수평거리가 연결살수설비전용헤드의 경우은 3.7m 이하, 스프링클러헤드의 경우는 2.3m 이하로 할 것. 다만, 살수헤드의 부착면과 바닥과의 높이가 2.1m 이하인 부분은 살수헤드의 살수분포에 따른 거리로 할 수 있다.
// 연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 2항 2호
Check(NFSC503_6_2_2){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
Head myHead{
isObjectProperty(HookingUpSprinklerSystem .Head.isShared) = FALSE
}
isExist(myHead) = TRUE
}
KS1{
getObjectDistance(Ceiling, HookingUpSprinklerSystem .Head) <= 3.7m
OR getObjectDistance(CeilingCovering, HookingUpSprinklerSystem .Head) <= 3.7m
}
CS2{
isExist(SprinklerHead) = TRUE
}
KS2{
getObjectDistance(Ceiling, SprinklerSystem ) <= 2.3m
OR getObjectDistance(CeilingCovering, SprinklerSystem ) <= 2.3m
}
Python Code 변환 예정
66
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항
③폐쇄형스프링클러헤드를 설치하는 경우에는 제2항의 규정 외에 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항
Check(NFSC503_6_3){
IF CS THEN KS
}
CS{
Head myHead{
getObjectProperty(SprinklerSystem .Head.openAndCloseType) = "EnclosedType"
}
isExist(myHead) = TRUE
}
KS{
getResult(NFSC503_6_3_2) = TRUE
getResult(NFSC503_6_3_3) = TRUE
getResult(NFSC503_6_3_5) = TRUE
getResult(NFSC503_6_3_6) = TRUE
}
Python Code 변환 예정
67
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 5호
5. 스프링클러헤드의 반사판은 그 부착면과 평행하게 설치할 것. 다만, 측벽형헤드 또는 제7호에 따라 연소할 우려가 있는 개구부에 설치하는 스프링클러헤드의 경우에는 그러하지 아니하다.
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 5호
Check(NFSC503_6_3_5){
IF !CS THEN KS
}
CS{
getObjectProperty(SprinklerSystem .Head.shapeType) = "SideWallType"
}
KS{
isParallel(SprinklerSystem .Head.Deflector, SprinklerSystem .Head.AttachingToSurface) = TRUE
}
Python Code 변환 예정
68
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 6호 가 목
가. 천장의 최상부에 스프링클러헤드를 설치하는 경우에는 최상부에 설치하는 스프링클러헤드의 반사판을 수평으로 설치할 것
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 6호 가목
Check(NFSC503_6_3_6_1){
IF CS THEN KS
}
CS{
hasObject(Celing, SprinklerSystem .Head) = TRUE
}
KS{
isParallel(Ceiling, SprinklerSystem .Head.Deflector) = TRUE
}
Python Code 변환 예정
69
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 6호 나 목
나. 천장의 최상부를 중심으로 가지관을 서로 마주보게 설치하는 경우에는 최상부의 가지관 상호간의 거리가 가지관상의 스프링클러헤드 상호간의 거리의 2분의 1이하(최소 1m 이상이 되어야 한다)가 되게 스프링클러헤드를 설치하고, 가지관의 최상부에 설치하는 스프링클러헤드는 천장의 최상부로부터의 수직거리가 90㎝ 이하가 되도록 할 것. 톱날지붕, 둥근지붕 기타 이와 유사한 지붕의 경우에도 이에 준한다.
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 6호 나목
Check(NFSC503_6_3_6_2){
IF (CS1 THEN KS1) or (CS2 THEN KS2)
}
CS1{
hasObject(Ceiling, SprinklerHead.Deflector) = TRUE
getObjectWidth(SprinklerHead, c) = SH
getObjectWidth(SprinklerHead.Deflector) = SHD
SH*0.5 < 1m
}
KS1{
getObjectWidth(SprinklerHead.Deflector) = 1m
getVerticalObjectDistance(SprinklerHead, Ceiling) <= 90cm
}
CS2{
hasObject(Ceiling, SprinklerSystem Head.Deflector) = TRUE
getObjectWidth(SprinklerSystem Head, c) = SH
getObjectWidth(SprinklerSystem Head.Deflector) = SHD
SH*0.5 >= 1m
}
KS2{
getObjectWidth(SprinklerSystem Head.Deflector) = SHD
SHD <= SH*0.5
getVerticalObjectDistance(SprinklerSystem Head, Ceiling) <= 90cm
}
Python Code 변환 예정
70
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 7호
7. 연소할 우려가 있는 개구부에는 그 상하좌우에 2.5m 간격으로(개구부의 폭이 2.5m 이하인 경우에는 그 중앙에) 스프링클러헤드를 설치하되, 스프링클러헤드와 개구부의 내측면으로부터의 직선거리는 15㎝ 이하가 되도록 할 것. 이 경우 사람이 상시 출입하는 개구부로서 통행에 지장이 있는 때에는 개구부의 상부 또는 측면(개구부의 폭이 9m 이하인 경우에 한한다)에 설치하되, 헤드 상호간의 간격은 1.2m 이하로 설치하여야 한다.
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 7호
Check(NFSC503_6_3_7){
IF (CS1 THEN KS1) or (CS2 THEN KS2)
}
CS1{
Opening myOpening{
isObjectProperty(Opening.isFireSpreading) = TRUE
}
isExist(myOpening) = TRUE
getObjectWidth(myOpening, a) > 2.5m
}
KS1{
(getObjectDistance(myOpening.InsideSurface, SprinklerSystem .Head) <= 15cm
getObjectWidth(SprinklerSystem .Head, a) = 2.5m)
OR (getObjectWidth(myOpening) <= 9m
getObjectDistance(myOpening.InsideSurface, SprinklerSystem .Head) <= 15cm
getObjectWidth(SprinklerSystem .Head, a) <= 1.2m)
}
CS2{
Opening myOpening{
isObjectProperty(Opening.isFireSpreading) = TRUE
}
isExist(myOpening) = TRUE
getObjectWidth(myOpening, a) <= 2.5m
}
KS2{
hasObject(myOpening, SprinklerSystem .Head) = TRUE
}
Python Code 변환 예정
71
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 8호
8. 습식 연결살수설비외의 설비에는 상향식스프링클러헤드를 설치할 것. 다만, 다음 각 목의 어느 하나에 해당하는 경우에는 그러하지 아니하다.
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 8호
Check(NFSC503_6_3_8){
IF CS THEN KS
}
CS{
isObjectProperty(SprinklerSystem .type) != WetPipeSprinklerSystem
(getResult(NFSC503_6_3_8_1) = FALSE
OR getResult(NFSC503_6_3_8_2) = FALSE)
}
KS{
mySprinklerHead{
getObjectProperty(SprinklerSystem .Head.installationDirectionType) = "BottomUpType"
}
isExist(mySprinklerHead) = TRUE
}
Python Code 변환 예정
72
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 8호 가 목
가. 드라이펜던트스프링클러헤드를 사용하는 경우
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 8호 가목
Check(NFSC503_6_3_8_1){
KS
}
KS{
Head myHead{
isObjectProperty(SprinklerSystem .Head.isDryPendent) = TRUE
}
isExist(mySprinklerHead) = TRUE
}
Python Code 변환 예정
73
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 8호 다 목
다. 개방형스프링클러헤드를 사용하는 경우
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 8호 다목
Check(NFSC503_6_3_8_3){
KS
}
KS{
Head myHead{
getObjectProperty(SprinklerSystem .Head.openAndCloseType) = "OpenType"
}
isExist(myHead) = TRUE
}
Python Code 변환 예정
74
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 9호
9. 측벽형스프링클러헤드를 설치하는 경우 긴변의 한쪽벽에 일렬로 설치(폭이 4.5m 이상 9m 이하인 실은 긴변의 양쪽에 각각 일렬로 설치하되 마주보는 스프링클러헤드가 나란히꼴이 되도록 설치)하고 3.6m 이내마다 설치할 것
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 9호
Check(NFSC503_6_3_9){
IF (CS1 THEN KS1) or (CS2 THEN KS2)
}
CS1{
SprinklerHead mySprinklerHead{
getObjectProperty(SprinklerHead.shapeType) = "SideWallType"
}
isExist(mySprinklerHead) = TRUE
getObjectWidth(Room) < 4.5m
OR getObjectWidth(Room) > 9m
}
KS1{
SprinklerHead mySprinklerHead{
getObjectProperty(SprinklerHead.shapeType) = "SideWallType"
}
getObjectWidth(mySprinklerHead, c) < 3.6m
}
CS2{
Head myHead{
getObjectProperty(SprinklerSystem .Head.shapeType) = "SideWallType"
}
isExist(mySprinklerHead) = TRUE
getObjectWidth(Room) >= 4.5m
OR getObjectWidth(Room) <= 9m
}
KS2{
Head myHead{
getObjectProperty(SprinklerSystem .Head.shapeType) = "SideWallType"
}
isParallel(mySprinklerHead, Wall) = TRUE
}
Python Code 변환 예정
75
연결살수설비의 화재안전기준(NFSC 503) 제 6조 4 항
④가연성 가스의 저장·취급시설에 설치하는 연결살수설비의 헤드는 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 지하에 설치된 가연성가스의 저장·취급시설로서 지상에 노출된 부분이 없는 경우에는 그러하지 아니하다. <개정 2012.8.20>
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 4항
Check(NFSC503_6_4){
IF !(CS) THEN KS
}
CS{
getFloorElevationHeight(?) = A
getSpaceHeight(?) = B
A + B <= 0
}
KS{
hasSpace(?, HookingUpSprinklerSystem .Head) = TRUE
getResult(NFSC503_6_4_1) = TRUE
getResult(NFSC503_6_4_2) = TRUE
}
Python Code 변환 예정
76
연결살수설비의 화재안전기준(NFSC 503) 제 6조 4 항 1호
1. 연결살수설비 전용의 개방형헤드를 설치할 것
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 4항 1호
Check(NFSC503_6_4_1){
KS
}
KS{
getObjectProperty(HookingUpSprinklerSystem .Head.openAndCloseType) = "OpenType"
}
Python Code 변환 예정
77
연결살수설비의 화재안전기준(NFSC 503) 제 6조 4 항 2호
2. 가스저장탱크·가스홀더 및 가스발생기의 주위에 설치하되, 헤드상호간의 거리는 3.7m 이하로 할 것
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 4항 2호
Check(NFSC503_6_4_2){
KS
}
KS{
getObjectWidth(HookingUpSprinklerSystem .Head, c) <= 3.7m
}
Python Code 변환 예정
78
연결살수설비의 화재안전기준(NFSC 503) 제 7조
제7조(헤드의 설치제외) 연결살수설비를 설치하여야 할 특정소방대상물 또는 그 부분으로서 다음 각 호의 어느 하나에 해당하는 장소에는 연결살수설비의 헤드를 설치하지 아니할 수 있다. <개정 2012.8.20>
//연결살수설비의 화재안전기준(nfsc 503) 7조 (헤드의 설치제외)
Check(NFSC503_7){
IF CS THEN KS
}
CS{
getResult(NFSC503_7_0_3) = TRUE
OR getResult(NFSC503_7_0_5) = TURE
}
KS{
isInstalled(HookingUpSprinklerSystem .Head) = TRUE
OR isInstalled(HookingUpSprinklerSystem .Head) != TRUE
}
Python Code 변환 예정
79
연결살수설비의 화재안전기준(NFSC 503) 제 4조 1 항 4호
4. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것
Check(NFSC503_4_1_4){
KS
}
KS{
Port myPort{
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem "
getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
}
getObjectVerticalDistance(Ground, myPort) >= 0.5m
getObjectVerticalDistance(Ground, myPort) <= 1m
}
Python Code 변환 예정
80
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 3호 나 목
나. 스프링클러설비가 유효하게 설치되어 있고 방수구가 2개소 이상 설치된 층
//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 3호 나목
Check(NFSC502_6_0_3_나){
KS
}
KS{
isExist(SprinklerSystem )=True
getObjectCount( FireDepartmentConnectionSystem.Port, Floor.One)>=2
}
Python Code 변환 예정
81
연소방지설비의 화재안전기준(NFSC 506) 제 4조 4 항 2호
2. 스프링클러헤드를 사용하는 경우에는 「스프링클러설비의 화재안전기준(NFSC 103)」별표 1의 기준에 따를 것<개정 2012.8.20>
// 연소방지설비의 화재안전기준(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
}
Python Code 변환 예정
82
옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 1 항 1호 나 목
나. 이음매 없는 구리 및 구리합금관(KS D 5301). 다만, 습식의 배관에 한한다.
// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 1항 1호 나목
Check(NFSC102_6_1_1_나){
IF CS THEN KS
}
CS{
isObjectProperty(Pipe.systemType) = "WetPipeSprinklerSystem "
}
KS{
getObjectProperty(Pipe.Material) = "KS_D_5301"
}
Python Code 변환 예정