1
14214
비상경보설비의 화재안전기준(NFSC 201) 제 5조 2호
2. 최상층의 계단실의 천장(외기가 상통하는 계단실의 경우를 제외한다)에 설치할 것
// 비상경보설비의 화재안전기준(NFSC 201) 5조 (단독경보형감지기) 2호
Check(NFSC201_5_0_2){
KS
}
KS{
Ceiling myCeiling{
hasSpace(Building. TopFloor.Stair.Space, Ceiling) = TRUE
}
Sensor mySensor{
isObjectProperty(Sensor.isSelfcontainedTypeFireAlarmDevice) = TRUE
}
isInstalled(myCeiling, mySensor) = TRUE
}
Modify
2
14391
옥내소화전설비의 화재안전기준(NFSC 102) 제 7조 2 항 1호
1. 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 옥내소화전방수구까지의 수평거리가 25m(호스릴옥내소화전설비를 포함한다) 이하가 되도록 할 것. 다만, 복층형 구조의 공동주택의 경우에는 세대의 출입구가 설치된 층에만 설치할 수 있다.<개정 2008.12.15, 2009.10.22>
// 옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 2항 1호
Check(NFSC503A_7_2_1){
KS2 AND IF CS THEN KS1
}
KS2{
isInstalled(옥내소화전방수구, SpecificFireFightingBuilding. Floor.One) = TRUE
getElementDistance(SpecificFireFightingBuilding. Wall|SpecificFireFightingBuilding. Column, 옥내소화전방수구.One) <= 25m
}
CS{
getBuildingUsage() = "MultiUnitHouse"
}
KS2{
Door myDoor{
isObjectProperty(Door.isEntrance) = TRUE
}
Floor myFloor{
isInstalled(myDoor, Floor) = TRUE
}
Port myPort{
Port.typeForWater="IndoorFireHydrantDischarge"
}
isInstalled(myPort, myFloor.One) = TRUE
}
Modify
3
14562
스프링클러설비의 화재안전기준(NFSC 103) 제 6조 3호
3. 하나의 방호구역은 2개 층에 미치지 아니하도록 할 것. 다만, 1개 층에 설치되는 스프링클러헤드의 수가 10개 이하인 경우와 복층형구조의 공동주택에는 3개 층 이내로 할 수 있다.<개정 2009.10.22>
//스프링클러설비의 화재안전기준(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
}
Modify
4
14660
스프링클러설비의 화재안전기준(NFSC 103) 제 9조 3 항 5호 나 목
나. 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 발신기까지의 수평거리가 25m 이하가 되도록 할 것. 다만, 복도 또는 별도로 구획된 실로서 보행거리가 40m 이상일 경우에는 추가로 설치하여야 한다.
// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 3항 5호 나목
Check(NFSC103_9_3_5_나){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
CS1{
getObjectDistance(Corridor | Space, Transmitter) < 40m
}
KS1{
isInstalled(Transmitter, SpecificFireFightingBuilding. Floor.One) = TRUE
getOjectCount(Transmitter) = 1
getElementDistance(SpecificFireFightingBuilding. Wall | SpecificFireFightingBuilding. Column, Transmitter) <= 25m
}
CS2{
getObjectDistance(Corridor | Space, Transmitter) >= 40m
}
KS2{
isInstalled(Transmitter, SpecificFireFightingBuilding. Floor.One) = TRUE
getOjectCount(Transmitter) >= 2
getElementDistance(SpecificFireFightingBuilding. Wall | SpecificFireFightingBuilding. Column, Transmitter) <= 25m
}
Modify
5
14662
스프링클러설비의 화재안전기준(NFSC 103) 제 10조 1 항
제10조(헤드) ① 스프링클러헤드는 특정소방대상물의 천장·반자·천장과 반자사이·덕트·선반 기타 이와 유사한 부분(폭이 1.2m를 초과하는 것에 한한다)에 설치하여야 한다. 다만, 폭이 9m 이하인 실내에 있어서는 측벽에 설치할 수 있다.
//스프링클러설비의 화재안전기준(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
}
Modify
6
14786
스프링클러설비의 화재안전기준(NFSC 103) 제 15조 1 항 13호
13. 불연재료로 된 특정소방대상물 또는 그 부분으로서 다음 각 목의 어느 하나에 해당하는 장소
// 스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 13호
Check(NFSC103_15_1_13){
KS
}
KS{
getObjectMaterial(SpecificFireFightingBuilding. Material.nonCombustibility) = TRUE
(getResult(NFSC103_15_1_13_1) = TRUE
OR getResult(NFSC103_15_1_13_2) = TRUE
OR getResult(NFSC103_15_1_13_3) = TRUE)
}
Modify
7
15369
자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 3 항 5호
5. 차동식스포트형·보상식스포트형 및 정온식스포트형 감지기는 그 부착 높이 및 특정소방대상물에 따라 다음 표에 따른 바닥면적마다 1개 이상을 설치할 것
자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 5호
Check(NFSC203_7_3_5){
IF CS1 AND CS2 THEN KS
}
Sensor mySensor1{
getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"
getObjectProperty(Sensor.sensingRange) = "SpotType"
}
Sensor mySensor2{
getObjectProperty(Sensor.sensingMode) = "CompensationType"
getObjectProperty(Sensor.sensingRange) = "SpotType"
}
Sensor mySensor3{
getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"
getObjectProperty(Sensor.sensingRange) = "SpotType"
}
CS1{
getElementDistance(FloorSlab, Sensor) < 4m
}
CS2{
isFireResistantStructure(SpecificFireFightingBuilding. MainStructuralPart) = TRUE
}
CS3{
getElementDistance(FloorSlab, Sensor) < 8m
getElementDistance(FloorSlab, Sensor) >= 4m
}
KS{
isObjectProperty(mySensor1.type) = "Type1"
isInstalled(mySensor1, FloorSlab, 90) = TRUE
}
Modify
8
15374
자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 3 항 7호 나 목
나. 공기관과 감지구역의 각 변과의 수평거리는 1.5m 이하가 되도록 하고, 공기관 상호간의 거리는 6m(주요 구조부를 내화구조로 한 특정소방대상물 또는 그 부분에 있어서는 9m) 이하가 되도록 할 것
자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 가목
Check(NFSC203_7_3_7_가){
KS3 AND IF !CS THEN KS1 ELSE KS2
}
Pipe myPipe{
isObjectProperty(Pipe.isForAir) = TRUE
}
Zone myZone{
isObjectProperty(Zone.isDetectionZone) = TRUE
}
KS3{
getElementDistance(myPipe, myZone.Wall) <= 1.5m
getElementDistance(myPipe, myZone.Column) <= 1.5m
}
CS{
isFireResistantStructure(SpecificFireFightingBuilding. MainStructuralPart) = TRUE
}
KS1{
getObjectInterval(myPipe) <= 6m
}
KS2{
getObjectInterval(myPipe) <= 6m
}
Modify
9
15380
자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 3 항 8호 가 목
가. 열전대부는 감지구역의 바닥면적 18㎡(주요구조부가 내화구조로 된 특정소방대상물에 있어서는 22㎡)마다 1개 이상으로 할 것. 다만, 바닥면적이 72㎡(주요구조부가 내화구조로 된 특정소방대상물에 있어서는 88㎡) 이하인 특정소방대상물에 있어서는 4개 이상으로 하여야 한다.
자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 8호 가목
Check(NFSC203_7_3_8_가){
IF !CS THEN KS1 AND K2 ELSE THEN KS3 AND KS4
}
Zone myZone{
isObjectProperty(Zone.isDetectionZone) = TRUE
}
CS1{
isFireResistantStructure(SpecificFireFightingBuilding. MainStructuralPart) = TRUE
)
KS1{
isInstalled(ThermocoupleElement , myZone.Floor, c, 18) = TRUE
}
KS2{
isObjectProperty(SpecificFireFightingBuilding. myZone.Floor.area) <= 72m2
getObjectCount(myZone) >= 4
}
KS3{
isInstalled(ThermocoupleElement , myZone.Floor, c, 22) = TRUE
}
KS4{
isObjectProperty(SpecificFireFightingBuilding. myZone.Floor.area) <= 88m2
getObjectCount(myZone) >= 4
}
Modify