1
1154
건축물의 설비기준 등에 관한 규칙 제 6조
제6조(승강기의 구조) 법 제64조에 따라 건축물에 설치하는 승강기·에스컬레이터 및 비상용승강기의 구조는 「승강기시설 안전관리법」이 정하는 바에 따른다. <개정 2006.2.13., 2008.7.10., 2010.11.5.>
//건축물의 설비기준 등에 관한 규칙 6조 (승강기의 구조)
Check(RFB_6){
IF CS THEN KS
}
CS{
Elevator myElevator{
isObjectProperty(Elevator.isEmergency) = TRUE
}
isInstalled( Elevator) = TRUE
OR isInstalled( Escalator) = TRUE
OR isInstalled( myElevator) = TRUE
}
KS{
getResult(Unimplemented_EFSMA) = TRUE
}
Modify
2
1194
건축물의 설비기준 등에 관한 규칙 제 13조 1 항 2호
2. 보일러실의 윗부분에는 그 면적이 0.5제곱미터 이상인 환기창을 설치하고, 보일러실의 윗부분과 아랫부분에는 각각 지름 10센티미터 이상의 공기흡입구 및 배기구를 항상 열려있는 상태로 바깥공기에 접하도록 설치할 것. 다만, 전기보일러의 경우에는 그러하지 아니하다.
// 건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 2호
Check(RFB_13_1_2){
IF CS THEN KS
}
CS{
isExist(Boiler) = TRUE
isObjectProperty(Boiler.isElectricBoiler) = FALSE
}
KS{
Ventilator myVentilator{
getObjectArea(Ventilator) >= 0.5cm2
}
Space mySpace{
getSpaceUsage(Space) = "BoilerRoom"
}
isInstalled( myVentilator, mySpace, a, top) = TRUE
AirInlet myAirInlet{
getObjectDiameter(AirInlet, b) >= 10cm
}
AirOutlet myAirOutlet{
getObjectDiameter(AirOutlet, b) >= 10cm
}
(isInstalled( myAirInlet, mySpace, a, top) = TRUE
OR isInstalled( myAirOutlet, mySpace, a, top) = TRUE)
(isInstalled( myAirInlet, mySpace, a, bottom) = TRUE
OR isInstalled( myAirOutlet, mySpace, a, bottom) = TRUE)
}
Modify
3
1251
건축물의 설비기준 등에 관한 규칙 제 20조 5호
5. 측면 낙뢰를 방지하기 위하여 높이가 60미터를 초과하는 건축물 등에는 지면에서 건축물 높이의 5분의 4가 되는 지점부터 최상단부분까지의 측면에 수뢰부를 설치하여야 하며, 지표레벨에서 최상단부의 높이가 150미터를 초과하는 건축물은 120미터 지점부터 최상단부분까지의 측면에 수뢰부를 설치할 것. 다만, 건축물의 외벽이 금속부재(部材)로 마감되고, 금속부재 상호간에 제4호 후단에 적합한 전기적 연속성이 보장되며 피뢰시스템레벨 등급에 적합하게 설치하여 인하도선에 연결한 경우에는 측면 수뢰부가 설치된 것으로 본다.
//건축물의 설비기준 등에 관한 규칙 20 (피뢰설비) 5호
Check(RFB_20_0_5){
IF(CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
getBuildingHeight() > 60m
}
KS1{
BH1 = getBuildingHeight()
isInstalled( Terminal, Building, a, side) = TRUE
getObjectVerticalDistance(Ground, Terminal, a) >= BH1 * 4/5
getObjectVerticalDistance(Ground, Terminal, a) < BH1
}
CS2{
getBuildingHeight() > 150m
}
KS2{
BH2 = getBuildingHeight()
isInstalled( Terminal, Building, a, side) = TRUE
getObjectVerticalDistance(Ground, Terminal, a) >= 120m
getObjectVerticalDistance(Ground, Terminal, a) < BH2
}
Modify
4
1289
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호
1. 벽의 경우에는 다음 각목의 1에 해당하는 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호
Check (REFB_3_0_1){
IF CS THEN KS
}
CS{
isInstalled( Wall) = TRUE
}
KS{
getResult(REFB_3_0_1_가)=TRUE
getResult(REFB_3_0_1_나)=TRUE
getResult(REFB_3_0_1_다)=TRUE
getResult(REFB_3_0_1_라)=TRUE
getResult(REFB_3_0_1_마)=TRUE
}
Modify
5
1291
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호 나 목
나. 골구를 철골조로 하고 그 양면을 두께 4센티미터 이상의 철망모르타르(그 바름바탕을 불연재료로 한 것에 한한다. 이하 이 조에서 같다) 또는 두께 5센티미터 이상의 콘크리트블록ㆍ벽돌 또는 석재로 덮은 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 나목
Check (REFB_3_0_1_나){
KS
}
KS{
getObjectProperty(Wall.Structure.materialType) = "SteelFrame"
(isInstalled( WireMeshMortar, Wall.DoubleSide) = TRUE
getObjectWidth(WireMeshMortar) >= 4cm)
(isInstalled( ConcreteBlock, Wall.DoubleSide) = TRUE
OR (getObjectWidth(ConcreteBlock) >= 5cm )
(isInstalled( Brick, Wall.DoubleSide) = TRUE
OR getObjectWidth(Brick) >= 5cm )
(isInstalled( Stone, Wall.DoubleSide) = TRUE
OR getObjectWidth(Stone) >= 5cm)
}
Modify
6
1304
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 4호
4. 바닥의 경우에는 다음 각목의 1에 해당하는 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 4호
Check (REFB_3_0_4){
IF CS THEN KS
}
CS{
isInstalled( FloorSlab) = TRUE
}
KS{
getResult(REFB_3_0_4_가)=TRUE
getResult(REFB_3_0_4_나)=TRUE
getResult(REFB_3_0_4_다)=TRUE
}
Modify
7
1307
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 4호 다 목
다. 철재의 양면을 두께 5센티미터 이상의 철망모르타르 또는 콘크리트로 덮은 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 4호 다목
Check (REFB_3_0_4_다){
KS
}
KS{
(isInstalled( WireMeshMortar, Steel.DoubleSide) = TRUE
getObjectWidth(WireMeshMortar) >= 5cm)
OR (isInstalled( ConcreteBlock, Wall.DoubleSide) = TRUE
getObjectWidth(ConcreteBlock) >= 5cm)
}
Modify
8
1312
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 6호
6. 지붕의 경우에는 다음 각목의 1에 해당하는 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호
Check (REFB_3_0_6){
IF CS THEN KS
}
CS{
isInstalled( Roof) = TRUE
}
KS{
getResult(REFB_3_0_6_가)=TRUE
getResult(REFB_3_0_6_나)=TRUE
getResult(REFB_3_0_6_다)=TRUE
}
Modify
9
1316
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 7호
7. 계단의 경우에는 다음 각목의 1에 해당하는 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호
Check (REFB_3_0_7){
IF CS THEN KS
}
CS{
isInstalled( Stair) = TRUE
}
KS{
getResult(REFB_3_0_7_가)=TRUE
getResult(REFB_3_0_7_나)=TRUE
getResult(REFB_3_0_7_다)=TRUE
getResult(REFB_3_0_7_라)=TRUE
}
Modify
10
1415
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 13조 1 항 2호
2. 헬리포트의 중심으로부터 반경 12미터 이내에는 헬리콥터의 이ㆍ착륙에 장애가 되는 건축물, 공작물, 조경시설 또는 난간 등을 설치하지 아니할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 1항 2호
Check(REFB_13_1_2){
KS
}
KS{
Space mySpace{
// 헬리포트의 중심으로부터 반경 12미터 이내의 공간
}
isInstalled( Building, mySpace)=False
isInstalled( Construction, mySpace)=False
isInstalled( LandscapeFacility, mySpace)=False
isInstalled( Railing, mySpace)=False
}
Modify
11
1418
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 13조 2 항
② 영 제40조제3항제1호에 따라 옥상에 헬리콥터를 통하여 인명 등을 구조할 수 있는 공간을 설치하는 경우에는 직경 10미터 이상의 구조공간을 확보하여야 하며, 구조공간에는 구조활동에 장애가 되는 건축물, 공작물 또는 난간 등을 설치해서는 안 된다. 이 경우 구조공간의 표시기준 등에 관하여는 제1항제3호 및 제4호를 준용한다. <신설 2010.4.7., 2012.1.6.>
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 2항
Check(REFB_13_2){
KS
}
KS{
Space mySpace{
getObjectDiameter(Space)>=10 m
}
isInstalled( Building, mySpace)=False
isInstalled( Construction, mySpace)=False
isInstalled( Railing, mySpace)=False
}
Modify
12
1468
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 15조 2 항 6호
6. 「산업안전보건법」에 의한 작업장에 설치하는 계단인 경우에는 「산업안전 기준에 관한 규칙」에서 정한 구조로 할 것
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 2항 6호
check(REFB_15_2_6){
IF CS THEN KS
}
CS{
Space mySpace{
getObjectProperty(Space.usage) = "Workplace"
}
isInstalled( Stair,mySpace) = TRUE
}
KS{
getResult(ROSHA_26) = TRUE
getResult(ROSHA_27) = TRUE
getResult(ROSHA_28) = TRUE
getResult(ROSHA_29) = TRUE
getResult(ROSHA_30) = TRUE
}
Modify
13
1477
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 15조 5 항 3호
3. 경사로의 직선 및 굴절부분의 유효너비는 「장애인ㆍ노인ㆍ임산부등의 편의증진보장에 관한 법률」이 정하는 기준에 적합할 것
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 5항 3호
check(REFB_15_5_3){
IF CS THEN KS
}
CS{
isInstalled( Ramp, Building) = TRUE
}
KS{
getResult(unimplemented_CDAPA) = TRUE
}
Modify
14
1523
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 21조 1 항 3호
3. 방화벽에 설치하는 출입문의 너비 및 높이는 각각 2.5미터 이하로 하고, 해당 출입문에는 제26조에 따른 갑종방화문을 설치할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 21조 (방화벽의 구조) 1항 3호
Check(REFB_21_1_3){
KS
}
KS{
Door myDoor{
isObjectProperty(Door.isEntrance)=True
isInstalled( Door, myWall)=True
}
getObjectWidth(myDoor)<=2.5 m
getObjectHeight(myDoor)<=2.5 m
isObjectProperty(myDoor.isStrictFireproofDoor)=True
}
Modify
15
1582
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 1호 나 목
나. 승강장은 각 층의 내부와 연결될 수 있도록 하되, 그 출입구에는 갑종방화문을 설치할 것. 이 경우 방화문은 언제나 닫힌 상태를 유지할 수 있는 구조이어야 한다.
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 나목
check(REFB_30_0_1_나){
KS
}
KS{
isConnectedTo(Platform, Floor.One.Space) = TRUE
Door myDoor{
isObjectProperty(Door.isEntrance) = TRUE
isInstalled( Door, Floor.One) = TRUE
}
isObjectProperty(myDoor.isStrictFireproofDoor) = TRUE
}
Modify
16
1593
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 2호 다 목
다. 승강로 상부에 「건축물의 설비기준 등에 관한 규칙」 제14조에 따른 배연설비를 설치할 것
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호 다목
check(REFB_30_0_2_다){
KS
}
KS{
isInstalled( Opening.TopSurface, SmokeExhaustionSystem)
getResult(RFB_14) = TRUE
}
Modify
17
3841
건축법 제 51조 2 항
② 방화지구 안의 공작물로서 간판, 광고탑, 그 밖에 대통령령으로 정하는 공작물 중 건축물의 지붕 위에 설치하는 공작물이나 높이 3미터 이상의 공작물은 주요부를 불연(不燃)재료로 하여야 한다.
//건축법 51조 (방화지구 안의 건축물) 2항
Check(BA_51_2){
IF CS THEN KS
}
CS{
getResult(LPUA_37_1_4)=True
}
KS{
Construction myConstruction {
isInstalled( Construction , Rooftop)=True
OR Construction.height>=3 m
}
isObjectProperty(myConstruction.MainStructuralPart.Material.nonCombustibility)=True
}
Modify
18
9247
소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 제 4조 1 항 4호 가 목
가. 각층마다 설치하되, 특정소방대상물의 각 부분으로부터 1개의 소화기까지의 보행거리가 소형소화기의 경우에는 20m 이내, 대형소화기의 경우에는 30m 이내가 되도록 배치할 것. 다만, 가연성물질이 없는 작업장의 경우에는 작업장의 실정에 맞게 보행거리를 완화하여 배치할 수 있으며, 지하구의 경우에는 화재발생의 우려가 있거나 사람의 접근이 쉬운 장소에 한하여 설치할 수 있다<개정 2012.6.11>
//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 4호 가목
Check(NFSC101_4_1_4){
KS
}
KS{
isInstalled( FireExtinguisher, Floor)=True
IF getObjectProperty(FireExtinguisher.sizeType)="SmallSize"
THEN getObjectDistance(SpecificFireFightingBuilding.Wall, FireExtinguisher.One)<=20 m
getObjectDistance(SpecificFireFightingBuilding.Column, FireExtinguisher.One)<=20 m
ELSE IF getObjectProperty(FireExtinguisher.sizeType)="LargeSize"
THEN getObjectDistance(SpecificFireFightingBuilding.Wall, FireExtinguisher.One)<=30 m
getObjectDistance(SpecificFireFightingBuilding.Column, FireExtinguisher.One)<=30 m
END IF
}
Modify
19
9248
소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 제 4조 1 항 4호 나 목
나. 특정소방대상물의 각층이 2 이상의 거실로 구획된 경우에는 가목의 규정에 따라 각 층마다 설치하는 것 외에 바닥면적이 33㎡ 이상으로 구획된 각 거실(아파트의 경우에는 각 세대를 말한다)에도 배치할 것<개정 2012.6.11>
//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 3호 나목
Check(NFSC101_4_1_3_나){
IF CS THEN KS
}
CS{
isFirePartitioned(Floor.One, Room.Two, SpecificFireFightingBuilding)=True
}
KS{
Room myRoom{
isFirePartion(Room, a, 33)=True
}
isInstalled( FireExtinguishingEquipment, myRoom)=True
}
Modify
20
9255
소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 제 4조 7호 다 목
다. 가스차단장치는 주방배관의 개폐밸브로부터 2m 이하의 위치에 설치하되, 상시 확인 및 점검이 가능하도록 설치할 것<개정 2012.6.11>
//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 7호 다목
Check(NFSC101_4_1_7_다){
KS
}
KS{
ShutdownEquipment myShutdownEquipment{
isObjectProperty(ShutdownEquipment.type)="GAS"
}
Space mySpace{
isObjectProperty(Space.usage) = "Kitchen"
}
Pipe myPipe{
isInstalled( Pipe, mySpace) = TRUE
}
Valve myValve{
isObjectProperty(Valve.isShutoffValve) = TRUE
isInstalled( Valve, myPipe) = TRUE
}
isElementDistance(myShutdownEquipment, myValve) <= 2m
}
Modify
21
9326
연결살수설비의 화재안전기준(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
}
Modify
22
9328
연결살수설비의 화재안전기준(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
}
Modify
23
9335
연결살수설비의 화재안전기준(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
Modify
24
9339
연결살수설비의 화재안전기준(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
}
Modify
25
9342
연결살수설비의 화재안전기준(nfsc 503) 제 5조 1 항 2호
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
// 연결살수설비의 화재안전기준(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
}
Modify
26
9343
연결살수설비의 화재안전기준(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
}
Modify
27
9345
연결살수설비의 화재안전기준(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
}
Modify
28
9346
연결살수설비의 화재안전기준(nfsc 503) 제 5조 2 항 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
}
Modify
29
9348
연결살수설비의 화재안전기준(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)
}
Modify
30
9349
연결살수설비의 화재안전기준(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
}
Modify
31
9352
연결살수설비의 화재안전기준(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
}
Modify
32
9353
연결살수설비의 화재안전기준(nfsc 503) 제 5조 6 항
⑥가지배관 또는 교차배관을 설치하는 경우에는 가지배관의 배열은 토너멘트방식이 아니어야 하며, 가지배관은 교차배관 또는 주배관에서 분기되는 지점을 기점으로 한 쪽 가지배관에 설치되는 헤드의 개수는 8개 이하로 하여야 한다.
// 연결살수설비의 화재안전기준(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
}
Modify
33
9355
연결살수설비의 화재안전기준(nfsc 503) 제 5조 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
}
Modify
34
9356
연결살수설비의 화재안전기준(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
}
Modify
35
9359
연결살수설비의 화재안전기준(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
}
Modify
36
9360
연결살수설비의 화재안전기준(nfsc 503) 제 5조 10 항
⑩ 배관에 설치되는 행가는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
// 연결살수설비의 화재안전기준(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
}
Modify
37
9361
연결살수설비의 화재안전기준(nfsc 503) 제 5조 10 항 1호
1. 가지배관에는 헤드의 설치지점 사이마다 1개 이상의 행가를 설치하되, 헤드간의 거리가 3.5 m를 초과하는 경우에는 3.5m 이내마다 1개 이상 설치할 것. 이 경우 상향식헤드와 행가 사이에는 8 ㎝ 이상의 간격을 두어야 한다.
//연결살수설비의 화재안전기준(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
}
Modify
38
9362
연결살수설비의 화재안전기준(nfsc 503) 제 5조 10 항 2호
2. 교차배관에는 가지배관과 가지배관사이마다 1개 이상의 행가를 설치하되, 가지배관 사이의 거리가 4.5 m를 초과하는 경우에는 4.5 m 이내마다 1개 이상 설치할 것
//연결살수설비의 화재안전기준(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
}
Modify
39
9363
연결살수설비의 화재안전기준(nfsc 503) 제 5조 10 항 3호
3. 제1호와 제2호의 수평주행배관에는 4.5 m 이내마다 1개 이상 설치할 것
//연결살수설비의 화재안전기준(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
}
Modify
40
9368
연결살수설비의 화재안전기준(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)
}
Modify
41
9390
연결살수설비의 화재안전기준(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
}
Modify
42
9589
유도등 및 유도표지의 화재안전기준(nfsc 303) 제 5조 1 항 3호
3. 제1호와 제2호에 따른 출입구에 이르는 복도 또는 통로로 통하는 출입구
//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조(피란구유도등) 1항 3호
Check(NFSC303){
KS
}
Door myDoor{
isObjectProperty(Door.isEntrance)=True
(OR hasObject( myStair, Door)=True
OR hasObject(myStair.Space,Door)=True
OR hasObject(myStair.AncillaryRoom,Door)=True)
OR isDirectlyAccessible(Door, Ground)=True
}
LeadingLight myLeadingLight{
isObjectProperty(LeadingLight.isForExit)=True
}
Passage myPassage{
isAccessible(myDoor, Passage)=True
}
Corridor myCorriodr{
isAccessible(myDoor, Corridor)=True
}
Door myDoor2{
isObjectProperty(Door.isEntrance)=True
isAccessible(myPassage, Door)=True
or isAccessible(myCorridor, Door)=True
}
isInstalled( myLeadingLight, myDoor2)=True
}
Modify
43
9595
유도등 및 유도표지의 화재안전기준(nfsc 303) 제 6조 1 항 1호 가 목
가. 복도에 설치할 것
//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 1호 가목
Check(NFSC303_6_1_1_가){
KS
}
KS{
isinstalled(Corridor, LeadingLightForCorridors)=True
}
Modify
44
9596
유도등 및 유도표지의 화재안전기준(nfsc 303) 제 6조 1 항 1호 나 목
나. 구부러진 모퉁이 및 보행거리 20m마다 설치할 것
//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 1호 나목
Check(NFSC303_6_1_1_나){
KS
}
KS{
isInstalled( "구부러진 모퉁이", LeadingLightForCorridor)=True
// 20m마다 설치 , 함수 필요
}
Modify
45
9600
유도등 및 유도표지의 화재안전기준(nfsc 303) 제 6조 1 항 2호 가 목
가. 거실의 통로에 설치할 것. 다만, 거실의 통로가 벽체 등으로 구획된 경우에는 복도통로유도등을 설치하여야 한다.
// 유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 2호 가목
Check(NFSC303_6_1_2_가){
KS
}
KS{
IF // isPartitioned(Room.Passage, c)=True type c: 벽체 등으로 구획
THEN isInstalled( Room.Passage,LeadingLightForCorridors)=True
ELSE THEN isInstalled( Room.Passage, LeadingLightForLivingRoom )=True
}
Modify
46
9601
유도등 및 유도표지의 화재안전기준(nfsc 303) 제 6조 1 항 2호 나 목
나. 구부러진 모퉁이 및 보행거리 20m마다 설치할 것
//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 2호 나목
Check(NFSC303_6_1_2_나){
KS
}
KS{
isInstalled( "구부러진 모퉁이", LeadingLightForCorridor)=True
// 20m마다 설치 , 함수 필요
}
Modify
47
9604
유도등 및 유도표지의 화재안전기준(nfsc 303) 제 6조 1 항 3호 가 목
가. 각층의 경사로 참 또는 계단참마다(1개층에 경사로 참 또는 계단참이 2 이상 있는 경우에는 2개의 계단참마다)설치할 것
//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 3호 가목
Check (NFSC303_6_1_3_가){
KS
}
KS{
IF // getObjectCount(RampLanding, "1개층" )>=2
// OR getObjectCount(StairLanding, "1개층" )>=2
THEN // isInstalled( StairLanding, LeadingLightForStairs , "2개마다")=True
ELSE THEN isInstalled( RampLanding, LeadingLightForStairs)=True
OR isInstalled( StairLanding, LeadingLightForStairs)=True
END IF
}
Modify
48
9610
유도등 및 유도표지의 화재안전기준(nfsc 303) 제 7조 1 항
제7조(객석유도등 설치기준) ①객석유도등은 객석의 통로, 바닥 또는 벽에 설치하여야 한다.
//유도등 및 유도표지의 화재안전기준(nfsc 303) 7조 (객석유도등 설치기준) 1항
Check(NFSC303_7_1){
KS
}
LeadingLight myLight{
isObjectProperty(LeadingLight.isForSeat)=True
}
KS{
isInstalled( myLight, Passage)=True
(
isInstalled( myLight, FloorSlab)=True
OR isInstalled( myLight, Wall)=True
)
}
Modify
49
9611
유도등 및 유도표지의 화재안전기준(nfsc 303) 제 7조 2 항
②객석내의 통로가 경사로 또는 수평로로 되어 있는 부분은 다음의 식에 따라 산출한 수(소수점 이하의 수는 1로 본다)의 유도등을 설치하고, 그 조도는 통로바닥의 중심선 0.5m 높이에서 측정하여 0.2㏓ 이상이어야 한다. <개정 2012.8.20>
//유도등 및 유도표지의 화재안전기준(nfsc 303) 7조 (객석유도등 설치기준) 2항
Check(NFSC303_7_2){
IF CS THEN KS
}
CS{
Space mySpace{
Space.usage = "Auditorium"
}
isInstalled( Passage, mySpace) = TRUE
isObjectProperty(Passage.isFlatWay) = TRUE
OR isObjectProperty(Passage.isSlopeWay) = TRUE
}
KS{
LeadingLight myLeadingLight{
isObjectProperty(LeadingLight.isForSeat)=True
}
isExist(myLeadingLight)=True
//LAP means Length of Auditorium passage
LAP= getObjectLength(AuditoriumPassage)
getObjectCount(myLeadingLight)>= LAP/4-1
// getSpaceIlluminance(AuditoriumPassage, "통로바닥의 중심선 0.5m 높이에서 측정")>0.2 lx , 측정 기준에 관한 파라미터 추가 필요
}
Modify
50
9615
유도등 및 유도표지의 화재안전기준(nfsc 303) 제 8조 1 항 1호
1. 계단에 설치하는 것을 제외하고는 각층마다 복도 및 통로의 각 부분으로부터 하나의 유도표지까지의 보행거리가 15m 이하가 되는 곳과 구부러진 모퉁이의 벽에 설치할 것
//유도등 및 유도표지의 화재안전기준(nfsc 303) 8조 (유도표지 설치기준) 1항 1호
Check(NFSC303_8_1_1){
IF ! CS THEN KS
}
CS{
isInstalled( LeadingSign,Stair)=True
}
KS{
getObjectDistance(Floor.One.Corridor.Wall, LeadingSign)<=15 m
getObjectDistance(Floor.One.Corridor.Column, LeadingSign)<=15 m
getObjectDistance(Floor.One.Passage.Wall, LeadingSign)<=15 m
getObjectDistance(Floor.One.Passage.Column, LeadingSign)<=15 m
}
Modify
51
9636
유도등 및 유도표지의 화재안전기준(nfsc 303) 제 8조의2조 2 항 2호
2. 피난유도 표시부는 바닥으로부터 높이 1m이하의 위치 또는 바닥 면에 설치할 것
// 유도등 및 유도표지의 화재안전기준(nfsc 303) 8조의2 (피난유도선 설치기준) 2항 2호
Check(NFSC303_8-2_2_2){
KS
}
KS{
getObjectVerticalLocation(피난유도 표시부, Ground) <= 1m
OR isInstalled( 피난유도 표시부, FloorSurface) = TRUE
}
Modify
52
10090
주차장법 제 19조 1 항
제19조(부설주차장의 설치) ① 「국토의 계획 및 이용에 관한 법률」에 따른 도시지역, 같은 법 제51조제3항에 따른 지구단위계획구역 및 지방자치단체의 조례로 정하는 관리지역에서 건축물, 골프연습장, 그 밖에 주차수요를 유발하는 시설(이하 "시설물"이라 한다)을 건축하거나 설치하려는 자는 그 시설물의 내부 또는 그 부지에 부설주차장(화물의 하역과 그 밖의 사업 수행을 위한 주차장을 포함한다. 이하 같다)을 설치하여야 한다. <개정 2011.4.14.>
//주차장법 19조 (부설주차장의 설치) 1항
Check(PLA_19_1){
IF CS THEN KS
}
CS{
getSiteUsage()="UrbanArea"
OR getSiteUsage()="DistrictUnitPlanningZone"
OR getSiteUsage()="ControlArea"
}
KS{
ParkingLot myParkingLot{
isObjectProperty(ParkingLot.isAttachedParking)=True
}
isInstalled( myParkingLot, Facility)=True
isInstalled( myParkingLot, Site)=True
}
Modify
53
10348
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 제 14조 3호
3. 각층의 옥내와 면하는 수직풍도의 관통부에는 다음 각목의 기준에 적합한 댐퍼 (이하 "배출댐퍼"라 한다)를 설치하여야 한다.
//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 14조 (수직풍도에 따른 배출) 3호
Check(NFSC501A_14_0_3){
KS
}
KS{
Duct myDuct{
isObjectProperty(Duct.isVerticalDuct)=TRUE
isExternal(Duct)=False
}
isInstalled( Damper, myDuct.PenetrationPart)=True
getResult(NFSC501A_14_0_3_가)=True
getResult(NFSC501A_14_0_3_사)=True
getResult(NFSC501A_14_0_3_아)=True
}
Modify
54
10401
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 제 19조 2호
2. 송풍기에는 풍량조절장치를 설치하여 풍량조절을 할 수 있도록 할 것<개정 2013.9.3>
//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 19조 (급기송풍기) 2호
Check(NFSC501A_19_0_2){
KS
}
KS{
isInstalled( AirVolumeControlDevice, AirBlower)=True
}
Modify
55
10536
장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 제 7조
제7조(대상시설) 편의시설을 설치하여야 하는 대상(이하 "대상시설"이라 한다)은 다음 각 호의 어느 하나에 해당하는 것으로서 대통령령으로 정하는 것을 말한다.
// 장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설)
Check(CDAPA_7){
IF CS THEN KS
}
CS{
getResult(CDAPA_7_0_1) = TRUE
OR getResult(CDAOA_7_0_2) = TRUE
OR getResult(CDAOA_7_0_3) = TRUE
OR getResult(CDAOA_7_0_4) = TRUE
}
KS{
isInstalled( ConvenientFacility) = TRUE
}
Modify
56
10828
건축물의 구조기준 등에 관한 규칙 제 9조의3조 1 항
제9조의3(건축물의 규모제한) ① 주요구조부(바닥·지붕틀 및 주계단은 제외한다. 이하 이 조에서 같다)가 목구조인 건축물은 지붕높이 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
}
Modify
57
10848
건축물의 구조기준 등에 관한 규칙 제 24조 2 항
②2층 이상인 건축물에 있어서는 모서리에 설치하는 기둥 또는 이에 준하는 기둥은 통재(通材)기둥으로 하여야 한다. 다만, 이은기둥의 경우 그 이은 부분을 통재기둥과 동등 이상의 내력을 가지도록 보강한 경우에는 그러하지 아니하다.
//건축물의 구조기준 등에 관한 규칙 24조 (압축재의 최소단면 및 모서리에 설치하는 기둥) 2항
Check(RSSB_24_2){
getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
getBuildingStoriesCount() >= 2
}
KS{
Column myColumn{
isInstalled( Column, Building.Edge) = TRUE
Modify
58
10861
건축물의 구조기준 등에 관한 규칙 제 30조 1 항
제30조(기초) ①조적식구조인 내력벽의 기초(최하층의 바닥면 이하에 해당하는 부분을 말한다)는 연속기초로 하여야 한다.
//건축물의 구조기준 등에 관한 규칙 30조 (기초) 1항
Check(RSSB_30_1){
getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
Wall myWall{
isObjectProperty(Wall.isLoadBearingWall) = TRUE
getObjectProperty(Wall.Structure.isMansoryStructure) = TRUE
}
Foundation myFoundation{
isInstalled( myWall, Foundation) = TRUE
}
isObjectProperty(myFoundation.isContinuousFoundation) = TRUE
}
Modify
59
10866
건축물의 구조기준 등에 관한 규칙 제 32조 1 항
제32조(내력벽의 두께) ①조적식구조인 내력벽의 두께(마감재료의 두께는 포함하지 아니한다. 이하 이 절에서 같다)는 바로 윗층의 내력벽의 두께 이상이어야 한다.
//건축물의 구조기준 등에 관한 규칙 32조 (내력벽의 두께) 1항
Check(RSSB_32_1){
getResult(RSSB_32_7) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
Wall myWall1{
isObjectProperty(Wall.isLoadBearingWall) = TRUE
isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
}
Floor myFloor{
isInstalled( myWall1, Floor) = TRUE
}
Wall myWAll2{
isInstalled( Wall, myFloor.UpperFloor) = TRUE
}
WD = getObjectProperty(myWall2.depth)
getObjectProperty(myWall1.depth) >= WD
}
Modify
60
10876
건축물의 구조기준 등에 관한 규칙 제 33조 2 항
②조적식구조인 칸막이벽의 바로 윗층에 조적식구조인 칸막이벽이나 주요 구조물을 설치하는 경우에는 당해 칸막이벽의 두께는 190밀리미터 이상으로 하여야 한다. 다만, 제34조의 규정에 의한 테두리보를 설치하는 경우에는 그러하지 아니하다.
// 건축물의 구조기준 등에 관한 규칙 33조 (칸막이벽 등의 두께) 2항
Check(RSSB_33_2){
getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF (!CS1 AND CS2) THEN KS
}
Wall myWall{
isObjectProperty(Wall.isPartitionWall)=True
isObjectProperty(Wall.Structure.isMansoryStructure)=True
}
CS1{
getResult(RSSB_34)=True
}
CS2{
FN=getFloorNumber(myWall) //FN means myWall's floor number
Floor myFloor{
Floor.number=FN+1
}
isInstalled( myFloor, myWall)= True
OR isInstalled (myFloor, MainStructure)=True
}
KS{
getObjectThickness(myWall)>=190 mm
}
Modify
61
10878
건축물의 구조기준 등에 관한 규칙 제 34조
제34조(테두리보) 건축물의 각층의 조적식구조인 내력벽 위에는 그 춤이 벽두께의 1.5배 이상인 철골구조 또는 철근콘크리트구조의 테두리보를 설치하여야 한다. 다만, 1층인 건축물로서 벽두께가 벽의 높이의 16분의 1이상이거나 벽길이가 5미터 이하인 경우에는 목조의 테두리보를 설치할 수 있다.
//건축물의 구조기준 등에 관한 규칙 34조 (테두리보)
Check(RSSB_34){
getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
Wall myWall{
isObjectProperty(Wall.isLoadBearingWall)=True
}
isObjectProperty(myWall.Structure.isMansoryStructure)= True
}
KS{
WD=getObjectProperty(myWall.depth)
WH=getObjectProperty(myWall.height)
WallGirder myWallGirder{
getObjectProperty(WallGirder.height)>=1.5*WD
}
isInstalled( myWallGrider, myWall, Top)=True
IF getBuildingStoriesCount()=1
(WD>=WH/16
OR getObjectProperty(myWall.length)<=5 m
)
THEN getObjectProperty(myWallGrider.Structure.materialType)="Timber"
ELSE THEN getObjectProperty(myWallGrider.Structure.materialType)="SteelFrame"
OR getObjectProperty(myWallGrider.Structure.materialType)="ReinforcedConcrete"
END IF
}
Modify
62
10879
건축물의 구조기준 등에 관한 규칙 제 35조 1 항
제35조(개구부) ①조적식구조인 벽에 있는 창·출입구 그 밖의 개구부(開口部)의 구조는 다음 각호의 기준에 의한다.
//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 1항
Check(RSSB_35_1){
getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
Wall myWall1{
isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
}
isInstalled( Window, myWall) = TRUE
OR isInstalled( Door, myWall) = TRUE
OR isInstalled( Opening, myWall) = TRUE
}
KS{
getResult(RSSB_35_1_1) = TRUE
getResult(RSSB_35_1_2) = TRUE
}
Modify
63
10880
건축물의 구조기준 등에 관한 규칙 제 35조 1 항 1호
1. 각층의 대린벽으로 구획된 각 벽에 있어서 개구부의 폭의 합계는 그 벽의 길이의 2분의 1이하로 하여야 한다.
//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 1항 1호
Check(RSSB_35_1_1){
KS
}
KS{
Wall myWall1{
isObjectProperty(Wall.isRightAngleCrossingWall) = TRUE
isInstalled( Wall, Floor.One) = TRUE
}
Wall myWall2{
isPartitioned(Wall, , myWall1) = TRUE
}
WL = getObjectWidth(myWall2)
OW = getObjectWidth(myOpening)
Opening myOpening{
isInstalled( Opening, Wall) = TRUE
}
Sum(OW) <= WL * 1/2
}
Modify
64
10881
건축물의 구조기준 등에 관한 규칙 제 35조 1 항 2호
2. 하나의 층에 있어서의 개구부와 그 바로 윗층에 있는 개구부와의 수직거리는 600밀리미터 이상으로 하여야 한다. 같은 층의 벽에 상하의 개구부가 분리되어 있는 경우 그 개구부 사이의 거리도 또한 같다.
//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 1항 2호
Check(RSSB_35_1_2){
KS2 AND IF CS THEN KS1
}
KS2{
Opening myOpening1{
isInstalled( Opening, Floor.One) = TRUE
}
Opening myOpening2{
isInstalled( Opening, myOpening1.Floor.UpperFloor) = TRUE
}
getObjectVerticalDistance(myOpening1, myOpening2) >= 600mm
}
CS{
Opening myOpening3{
isInstalled( Opening, Floor.One.Wall.One) = TRUE
}
getObjectInterval(myOpening3,,a) >= 600mm
}
Modify
65
10882
건축물의 구조기준 등에 관한 규칙 제 35조 2 항
②조적식구조인 벽에 설치하는 개구부에 있어서는 각층마다 그 개구부 상호간 또는 개구부와 대린벽의 중심과의 수평거리는 그 벽의 두께의 2배 이상으로 하여야 한다. 다만, 개구부의 상부가 아치구조인 경우에는 그러하지 아니하다.
//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 2항
Check(RSSB_35_2){
getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF (!CS1 AND CS2) THEN KS
}
Wall myWall1{
isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
}
CS1{
isObjectProperty(Opening.UpperSideShape) = "Arc"
}
CS2{
isInstalled( Opening, myWall1) = TRUE
}
KS{
Wall myWall2{
isObejctProperty(Wall.isRightAngleCrossingWall) = TRUE
isInstalled( Wall, myWall1.Floor) = TRUE
}
WD = getObjectProperty(myWall1.depth)
getObject(Floor.One.Opening)
(getObjectInterval(Opening, ) >= 2* WD
OR getObjectDistance(Opening, myWall2.Center) >= 2* WD
}
Modify
66
10885
건축물의 구조기준 등에 관한 규칙 제 36조
제36조(벽의 홈) 조적식구조인 벽에 그 층의 높이의 4분의 3이상인 연속한 세로홈을 설치하는 경우에는 그 홈의 깊이는 벽의 두께의 3분의 1이하로 하고, 가로홈을 설치하는 경우에는 그 홈의 깊이는 벽의 두께의 3분의 1이하로 하되, 길이는 3미터 이하로 하여야 한다.
//건축물의 구조기준 등에 관한 규칙 36조 (벽의 홈)
Check(RSSB_36){
getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
Wall myWall{
isObjectProperty(Wall.Structure.isMansoryStructure)=True
}
isInstalled( Channel, myWall)=True
}
KS{
WD=getObjectProperty(myWall.depth)
IF getObjectProperty(Channel.shapeType)="VerticleChannel"
FH=getObjectHeight(Floor.Space)
getObjectProperty(Channel.length)>=FH*3/4
THEN getObjectProperty(Channel.depth)<= WD/3
ELSE IF getObjectProperty(Channel.shapeType)="HorizontalChannel"
THEN getObjectProperty(Channel.depth)<= WD/3
getObjectProperty(Channel.length)<= 3 m
END IF
}
Modify
67
10891
건축물의 구조기준 등에 관한 규칙 제 39조 3호
3. 담의 길이 2미터 이내마다 담의 벽면으로부터 그 부분의 담의 두께 이상 튀어나온 버팀벽을 설치하거나, 담의 길이 4미터 이내마다 담의 벽면으로부터 그 부분의 담의 두께의 1.5배 이상 튀어나온 버팀벽을 설치할 것. 다만, 각 부분의 담의 두께가 제2호의 규정에 의한 담의 두께의 1.5배 이상인 경우에는 그러하지 아니하다.
//건축물의 구조기준 등에 관한 규칙 39조 (조적식구조인 담) 3호
Check(RSSB_39_0_3){
IF !CS THEN KS
}
CS{
}
KS{
FD = getObjectProperty(Fence.depth)
Wall myWall{
isObjectProperty(Wall.isSupportingWall) = TRUE
}
(isInstalled( myWall, Fence, b, 2) = TRUE
getObjectProperty(Wall.depth) >= FD)
OR (isInstalled( myWall, Fence, b, 4) = TRUE
getObjectProperty(Wall.depth) >= 1.5* 2호 규정에 의한 담의 두께)
}
Modify
68
10899
건축물의 구조기준 등에 관한 규칙 제 43조 3 항
③보강블록구조의 내력벽은 그 끝부분과 벽의 모서리부분에 12밀리미터 이상의 철근을 세로로 배치하고, 9밀리미터 이상의 철근을 가로 또는 세로 각각 800밀리미터 이내의 간격으로 배치하여야 한다.
// 건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 3항
Check(RSSB_43_3){
getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
Wall myWall{
isObjectProperty(Wall.isLoadBearingWall) = TRUE
getObjectProperty(Wall.Structure.materialType) = "SteelReinforcedConcreteBlock"
}
Reinforcement myReinforcement{
getObjectProperty(Reinforcement.diameter)>=12 mm
}
isInstalled( myReinforcement, myWall, Vertical , myWall.BothEndSides)=True
isInstalled( myReinforcement, myWall, Vertical , myWall.Edge)=True
Reinforcement myReinforcement2{
getObjectProperty(Reinforcement.diameter)>=9 mm
}
isInstalled( myReinforcement2, myWall, 800 mm , myWall.BothEndSides)=True
isInstalled( myReinforcement2, myWall, 800 mm , myWall.Edge)=True
}
Modify
69
10900
건축물의 구조기준 등에 관한 규칙 제 43조 4 항
④제3항의 규정에 의한 세로철근의 양단은 각각 그 철근지름의 40배 이상을 기초판 부분이나 테두리보 또는 바닥판에 정착시켜야 한다.
//건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 4항
Check(RSSB_43_4){
getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
RD>=40*getObjectProperty(RSSB_43_3_myReinforcement.diameter)
isInstalled( RSSB_43_3_myReinforcement.BothEndSides, FoundationPlate , RD, "정착")=True
OR isInstalled( RSSB_43_3_myReinforcement.BothEndSides, WallGirder, RD, "정착")=True
OR isInstalled( RSSB_43_3_myReinforcement.BothEndSides, FloorSlab , RD, "정착")=True
}
Modify
70
10901
건축물의 구조기준 등에 관한 규칙 제 44조
제44조(테두리보) 보강블록구조인 내력벽의 각층의 벽 위에는 춤이 벽두께의 1.5배 이상인 철근콘크리트구조의 테두리보를 설치하여야 한다. 다만, 최상층의 벽으로서 그 벽위에 철근콘크리트구조의 옥상바닥판이 있는 경우에는 그러하지 아니하다.
//건축물의 구조기준 등에 관한 규칙 44조 (테두리보)
Check(RSSB_44){
getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF !CS THEN KS
}
!CS{
Wall myWall{
isInstalled( Wall, TopFloor)=True
}
FloorSlab myFloorSlab{
isInstalled( FloorSlab, Rooftop) = TRUE
getObjectProperty(FloorSlab.Structure.materialType)="ReinforcedConcrete"
}
isInstalled( myFloorSlabOfRooftop, myWall, Top)=True
}
KS{
Wall myWall{
isObjectProperty(Wall.isLoadBearingWall)=True
isObjectProperty(Wall.Structure.isMansoryStructure)= True
}
WD=getObjectProperty(myWall.depth)
WallGirder myWallGirder{
getObjectProperty(WallGirder.height)>=1.5*WD
getObjectProperty(myWallGrider.Structure.materialType)="ReinforcedConcrete"
}
isInstalled( myWallGrider, myWall, Top)=True
}
Modify
71
10905
건축물의 구조기준 등에 관한 규칙 제 45조 3호
3. 담의 내부에는 가로 또는 세로 각각 800밀리미터 이내의 간격으로 철근을 배치하고, 담의 끝 및 모서리부분에는 세로로 직경 9밀리미터 이상의 철근을 배치할 것
// 건축물의 구조기준 등에 관한 규칙 45조 (내력벽) 4호
Check(RSSB_45_0_4){
getResult(RSSB_3_3) = TRUE AND KS
}
KS{
isInstalled( Reinforcement, Fense, 800 mm , Fense.In)=True
Reinforcement myReinforcement{
getObjectProperty(Reinforcement.diameter)>=9 mm
}
isInstalled( myReinforcement, Fense, Vertical , Fense.BothEndSides)=True
isInstalled( myReinforcement, Fense, Vertical , Fense.Edge)=True
}
Modify
72
10928
건축물의 구조기준 등에 관한 규칙 제 54조 2호
2. 내력벽의 배근은 9밀리미터 이상의 것을 450밀리미터 이하의 간격으로 하고, 벽두께의 3배 이하이어야 한다. 이 경우 벽의 두께가 200밀리미터 이상일 때에는 벽 양면에 복근으로 하여야 한다.
//건축물의 구조기준 등에 관한 규칙 54조 (내력벽의 구조) 2호
Check(RSSB_54_02){
KS
}
KS{
Wall myWall{
isObjectProperty(Wall.isLoadBearingWall)=True
}
Reinforcement myReinforcement{
getObjectProperty(Reinforcement.diameter)>=9 mm
}
isInstalled( myReinforcement, myWall, 450 mm)=True
//벽두께의 3배 이하이어야 한다.
IF getObjectProperty(myWall.depth)>=200 mm
THEN isInstalled( DoubleReinforcement, myWall, myWall.BothSides)=True
END IF
}
Modify
73
10960
연소방지설비의 화재안전기준(nfsc 506) 제 4조 4 항 1호
1. 연소방지설비전용헤드를 사용하는 경우에는 다음 표에 따른 구경 이상으로 할 것
//연소방지설비의 화재안전 기준(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)
}
Modify
74
10963
연소방지설비의 화재안전기준(nfsc 506) 제 4조 5 항
⑤연소방지설비에 있어서의 수평주행배관의 구경은 100㎜ 이상의 것으로 하되, 연소방지설비전용헤드 및 스프링클러헤드("방수헤드"라 한다. 이하 같다)를 향하여 상향으로 1,000분의 1 이상의 기울기로 설치하여야 한다.<개정 2012.8.20>
// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 5항
Check(NFSC506_4_5){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isFeedMains) = TRUE
}
isInstalled( myPipe, CombustionProtectionSystem) = TRUE
getObjectProperty(myPipe.diameter) >= 100mm
}
Modify
75
10967
연소방지설비의 화재안전기준(nfsc 506) 제 4조 6 항 3호
3. 하향식헤드를 설치하는 경우에 가지배관으로부터 헤드에 이르는 헤드접속배관은 가지관상부에서 분기할 것
//연소방지설비의 화재안전 기준(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
}
Modify
76
10969
연소방지설비의 화재안전기준(nfsc 506) 제 4조 7 항 1호
1. 가지배관에는 헤드의 설치지점 사이마다 1개 이상의 행가를 설치하되, 헤드간의 거리가 3.5m을 초과하는 경우에는 3.5m 이내마다 1개 이상 설치할 것. 이 경우 상향식헤드와 행가 사이에는 8㎝ 이상의 간격을 두어야 한다.
// 연소방지설비의 화재안전기준(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
}
Modify
77
10970
연소방지설비의 화재안전기준(nfsc 506) 제 4조 7 항 2호
2. 교차배관에는 가지배관과 가지배관 사이마다 1개 이상의 행가를 설치하되, 가지배관 사이의 거리가 4.5m을 초과하는 경우에는 4.5m 이내마다 1개 이상 설치할 것
// 연소방지설비의 화재안전기준(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
}
Modify
78
10971
연소방지설비의 화재안전기준(nfsc 506) 제 4조 7 항 3호
3. 제1호와 제2호의 수평주행배관에는 4.5m 이내마다 1개 이상 설치할 것<개정 2012.8.20>
//연소방지설비의 화재안전기준(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
}
Modify
79
10976
연소방지설비의 화재안전기준(nfsc 506) 제 5조 1호
1. 천장 또는 벽면에 설치할 것
// 연소방지설비의 화재안전기준(nfsc 506) 5조 (방수헤드) 1호
Check(NFSC506_5_0_1){
KS
}
KS{
Head myHead{
isObjectProperty(Head.isDischargeHead) = TRUE
}
isInstalled( myHead, Ceiling.Structure) = TRUE
OR isInstalled( myHead, Wall.Structure.) = TRUE
}
Modify
80
10977
연소방지설비의 화재안전기준(nfsc 506) 제 5조 2호
2. 방수헤드간의 수평거리는 연소방지설비 전용헤드의 경우에는 2m 이하, 스프링클러헤드의 경우에는 1.5m 이하로 할 것
// 연소방지설비의 화재안전기준(nfsc 506) 5조 (방수헤드) 1호
Check(NFSC506_5_0_2){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
Head myHead{
Head.isDischargeHead = TRUE
}
isObjectProperty(myHead) = TRUE
isObjectProperty(Head.isShared) = FALSE
isInstalled( Head, CombustionProtectionSystem) = TRUE
}
KS1{
getObjectInterval(myHead) <= 2m
}
CS2{
isObjectProperty(myHead) = TRUE
isObjectProperty(Sprinkler.Head) = TRUE
}
KS2{
getObjectInterval(myHead) <= 1.5m
}
Modify
81
10978
연소방지설비의 화재안전기준(nfsc 506) 제 5조 3호
3. 살수구역은 환기구 등을 기준으로 지하구의 길이방향으로 350 m 이내마다 1개 이상 설치하되, 하나의 살수구역의 길이는 3m 이상으로 할 것
//연소방지설비의 화재안전기준(nfsc 506) 5조 (방수헤드) 3호
Check(NFSC506_5_0_3){
KS
}
KS{
Zone myZone{
isObjectProperty(Zone.isWateringZone)=True
}
Head myHead{
isObjectProperty(Head.isDischargeHead)=True
}
isInstalled( myHead,Zone)=True
getObjectInterval(myHead)<=350 m
getObjectLength(myZone)>=3 m
}
Modify
82
10981
연소방지설비의 화재안전기준(nfsc 506) 제 6조 2호
2. 송수구는 구경 65㎜의 쌍구형으로 할 것
// 연소방지설비의 화재안전기준(nfsc 506) 6조 (송수구) 2호
Check(NFSC506_6_0_2){
KS
}
KS{
Port myPort{
getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
}
isInstalled( myPort, CombustionProtectionSystem) = TRUE
getObjectProperty(myPort.diameter) = 65mm
getObjectProperty(myPort.shapeType) = "DoubleType"
}
Modify
83
10983
연소방지설비의 화재안전기준(nfsc 506) 제 6조 4호
4. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것
// 연소방지설비의 화재안전기준(nfsc 506) 6조 (송수구) 4호
Check(NFSC506_6_0_4){
KS
}
KS{
Port myPort{
getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
isInstalled( Port, CombustionProtectionSystem) = TRUE
}
getObjectVerticalLocation(myPort, Ground) >= 0.5m
getObjectVerticalLocation(myPort, Ground) <= 1m
}
Modify
84
10985
연소방지설비의 화재안전기준(nfsc 506) 제 6조 6호
6. 송수구로부터 주배관에 이르는 연결배관에는 개폐밸브를 설치하지 아니할 것
// 연소방지설비의 화재안전기준(nfsc 506) 6조 (송수구) 6호
Check(NFSC506_6_0_6){
KS
}
KS{
Port myPort{
getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
}
Pipe myPipe2{
isObjectProperty(Pipe.isRiser) = TRUE
}
Pipe myPipe{
isConnectedTo(Pipe, myPort) = TRUE
isConnectedTo(Pipe, myPipe2) = TRUE
}
Valve myValve{
isObjectProperty(Valve.isShutoffValve) = TRUE
}
isInstalled( myValve, myPipe) = FALSE
}
Modify
85
11025
연소방지설비의 화재안전기준(nfsc 506) 제 8조 2호
2. 방화벽에 출입문을 설치하는 경우에는 방화문으로 할 것
// 연소방지설비의 화재안전기준(nfsc 506) 8조 (방화벽의 설치기준) 2호
Check(NFSC506_8_0_2){
IF CS THEN KS
}
Wall myWall{
isObjectProperty(Wall.isFireProofWall) = TRUE
}
Door myDoor{
isObjectProperty(Door.isEntrance) = TRUE
}
CS{
isInstalled( myDoor, myWall) = TRUE
}
KS{
isObjectProperty(myDoor.isStrictFireproofDoor) = TRUE
OR isObjectProperty(myDoor.isFireproofDoor) = TRUE
}
Modify
86
11026
연소방지설비의 화재안전기준(nfsc 506) 제 8조 3호
3. 방화벽을 관통하는 케이블·전선 등에는 내화성이 있는 화재차단재로 마감할 것
// 연소방지설비의 화재안전기준(nfsc 506) 8조 (방화벽의 설치기준) 3호
Check(NFSC506_8_0_3){
KS
}
KS{
Wall myWall{
isObjectProperty(Wall.isFireProofWall)=True
}
IF isInstalled( Wire, myWall)=True
THEN isObjectProperty(Wire.Finish.Material.isFireStop)= TRUE
END IF
IF isInstalled( Cable, myWall)=True
THEN isObjectProperty(Cable.Finish.Material.isFireStop)= TRUE
END IF
}
Modify
87
12904
주택건설기준 등에 관한 규정 제 15조 3 항 3호
3. 계단실형인 공동주택의 경우에는 계단실마다 설치할 것
//주택건설기준 등에 관한 규정 15조 (승강기등) 3항 3호
Check(RHC_15_3_3){
IF CS THEN KS
}
CS{
}
KS{
Elevator myElevator{
getObjectProperty(Elevator.usage) = "FreightElevator"
}
isInstalled( myElevator, Stair.Space) = TRUE
}
Modify
88
13531
소방시설 설치ㆍ유지 및 안전관리에 관한 법률 제 11조 4 항
④ 다음 각 호의 어느 하나에 해당하는 특정소방대상물 가운데 대통령령으로 정하는 특정소방대상물에는 제9조제1항에도 불구하고 대통령령으로 정하는 소방시설을 설치하지 아니할 수 있다.
// 소방시설 설치ㆍ유지 및 안전관리에 관한 법률 11조 (소방시설기준 적용의 특례) 4항
Check(IMSFA_11_4){
IF CS THEN KS
}
CS{
getResult(IMSFA_11_4_4) = TRUE
}
KS{
isInstalled( FireFightingFacility) = TRUE OR FALSE
}
Modify
89
13535
소방시설 설치ㆍ유지 및 안전관리에 관한 법률 제 11조 4 항 4호
4. 「위험물 안전관리법」 제19조에 따른 자체소방대가 설치된 특정소방대상물
// 소방시설 설치ㆍ유지 및 안전관리에 관한 법률 11조 (소방시설기준 적용의 특례) 4항 4호
Check(IMSFA_11_4_4){
KS
}
KS{
getResult(SCHSA_19) = true
isInstalled( FireBrigade, SpecificFireFithtingBuilding) = TRUE
}
Modify
90
13945
주차장법 시행규칙 제 6조 1 항 10호
10. 노외주차장에는 자동차의 출입 또는 도로교통의 안전을 확보하기 위하여 필요한 경보장치를 설치하여야 한다.
// 주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 10호
Check(ERPA_6_1_10){
KS
}
KS{
ParkingLot myParkingLot{
isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
}
isInstalled( AlarmSystem, myParkingLot) = TRUE
}
Modify
91
14196
비상경보설비의 화재안전기준(NFSC 201) 제 4조 2 항
②지구음향장치는 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 음향장치까지의 수평거리가 25m 이하가 되도록 하고, 해당층의 각 부분에 유효하게 경보를 발할 수 있도록 설치하여야 한다. 다만, 「비상방송설비의 화재안전기준(NFSC 202)」에 적합한 방송설비를 비상벨설비 또는 자동식사이렌설비와 연동하여 작동하도록 설치한 경우에는 지구음향장치를 설치하지 아니할 수 있다.<개정 2008.12.15, 2012.8.20>
// 비상경보설비의 화재안전기준 (nfsc 201) 4조 (비상벨설비 또는 자동식사이렌설비) 2항
Check(NFSC201_4_2){
KS
}
KS{
Floor myFloor{
hasSpace(Floor, SpecificFireFightingBuilding) = TRUE
}
AcousticSystem myAcousticSystem{
isObjectProperty(AcousticSystem.isForPublic) = TRUE
}
isInstalled( myAcousticSystem, myFloor) = TRUE
(getObjectDistance(myAcousticSystem, Wall.Structure.) <= 25m
Modify
92
14200
비상경보설비의 화재안전기준(NFSC 201) 제 4조 5 항 1호
1. 조작이 쉬운 장소에 설치하고, 조작스위치는 바닥으로부터 0.8m 이상 1.5m 이하의 높이에 설치할 것
// 비상경보설비의 화재안전기준(NFSC 201) 4조 (비상벨설비 또는 자동식사이렌설비) 5항 1호
Check(NFSC201_4_5_1){
KS
}
KS{
Switch mySwitch{
isObjectProperty(Switch.ControlSwitch) = TRUE
isInstalled( Transmitter, Switch) = TRUE
}
getObjectVerticalLocation(FloorSlab, mySwitch) <= 1.5m
getObjectVerticalLocation(FloorSlab, mySwitch) >= 0.8m
}
Modify
93
14201
비상경보설비의 화재안전기준(NFSC 201) 제 4조 5 항 2호
2. 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 발신기까지의 수평거리가 25m 이하가 되도록 할 것. 다만, 복도 또는 별도로 구획된 실로서 보행거리가 40m 이상일 경우에는 추가로 설치하여야 한다.
// // 스프링클러설비의 화재안전기준(NFSC 103) 4조 (비상벨설비 또는 자동식사이렌설비) 5항 2호
Check(NFSC201_4_5_1){
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
94
14213
비상경보설비의 화재안전기준(NFSC 201) 제 5조 1호
1. 각 실(이웃하는 실내의 바닥면적이 각각 30㎡ 미만이고 벽체의 상부의 전부 또는 일부가 개방되어 이웃하는 실내와 공기가 상호유통되는 경우에는 이를 1개의 실로 본다)마다 설치하되, 바닥면적이 150㎡를 초과하는 경우에는 150㎡마다 1개 이상 설치할 것
// 비상경보설비의 화재안전기준(NFSC 201) 5조 (단독경보형감지기) 1호
Check(NFSC201_5_0_1){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
Room myRoom{
getFloorArea(Room) <= 150m2
}
Room myRoom2{
isAdjacent(myRoom, Room) = TRUE
}
getFloorArea(myRoom2) <= 30m2
}
KS1{
Room myRoom{
getFloorArea(Room) <= 150m2
}
Room myRoom2{
isAdjacent(myRoom, Room) = TRUE
}
SelfcontainedTypeFireAlarmDevice mySelfcontainedTypeFireAlarmDevice{
hasSpace(myRoom, SelfcontainedTypeFireAlarmDevice) = TRUE
}
isExist(mySelfcontainedTypeFireAlarmDevice) = TRUE
}
CS2{
Room myRoom{
getFloorArea(Room) > 150m2
}
Room myRoom2{
isAdjacent(myRoom, Room) = TRUE
}
getFloorArea(myRoom2) <= 30m2
}
KS2{
Room myRoom{
getFloorArea(Room) > 150m2
}
Room myRoom2{
isAdjacent(myRoom, Room) = TRUE
}
Sensor mySensor{
isObjectProperty(Sensor.isSelfcontainedTypeFireAlarmDevice) = TRUE
hasSpace(myRoom, Sensor ) = TRUE
}
isInstalled( myRoom, mySelfcontainedTypeFireAlarmDevice, c, 150m2) = TRUE
}
Modify
95
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
96
14230
비상콘센트설비의 화재안전기준(NFSC 504) 제 4조 1 항 2호
2. 지하층을 제외한 층수가 7층 이상으로서 연면적이 2,000㎡ 이상이거나 지하층의 바닥면적의 합계가 3,000㎡ 이상인 특정소방대상물의 비상콘센트설비에는 자가발전설비 또는 비상전원수전설비를 비상전원으로 설치할 것. 다만, 둘 이상의 변전소에서 전력을 동시에 공급받을 수 있거나 하나의 변전소로부터 전력의 공급이 중단되는 때에는 자동으로 다른 변전소로부터 전력을 공급받은 수 있도록 상용전원을 설치한 경우에는 비상전원을 설치하지 아니할 수 있다.<개정 2012.8.20, 2013.9.3.>
// 비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 1항 2호
Check(NFSC504_4_1_2){
IF CS THEN KS
}
Floor myFloor{
getFloorNumber < 0
hasSpace(Floor, SpecificFireFightingBuilding) = TRUE
}
Floor myFloor2{
getFloorNumber >= 0
hasSpace(Floor, SpecificFireFightingBuilding) = TRUE
}
CS{
(getBuildingStoriesCount() >= 7
getGrossFloorArea(myFloor2) >= 2000m2)
OR getTotalFloorArea(myFloor) >= 3000m2
}
KS{
isInstalled( EmergencyPower, EmergencyPowerOutletSystem) = TRUE
getObjectProperty(EmergencyPowerReceivingSystem.type) = "InhousePowerGenerationSystem"
OR getObjectProperty(EmergencyPowerReceivingSystem.type) = "EmergencyPowerReceivingSystem"
}
Modify
97
14235
비상콘센트설비의 화재안전기준(NFSC 504) 제 4조 1 항 3호 라 목
라. 비상전원의 설치장소는 다른 장소와 방화구획 할 것. 이 경우 그 장소에는 비상전원의 공급에 필요한 기구나 설비외의 것(열병합발전설비에 필요한 기구나 설비는 제외한다)을 두어서는 아니 된다.
// 비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 1항 3호 라목
Check(NFSC504_4_1_3_4){
KS
}
KS{
Room myRoom{
isInstalled( EmergencyPower, Room) = TRUE
}
isFirePartitioned(myRoom) = TRUE
}
Modify
98
14259
비상콘센트설비의 화재안전기준(NFSC 504) 제 5조 1호
1. 보호함에는 쉽게 개폐할 수 있는 문을 설치할 것
// 비상콘센트설비의 화재안전기준(nfsc 504) 5조 (보호함) 1호
Check(NFSC504_5_0_1){
KS
}
KS{
isInstalled( Door, EmergencyPowerOutletProtectiveBox) = TRUE
}
Modify
99
14261
비상콘센트설비의 화재안전기준(NFSC 504) 제 5조 3호
3. 보호함 상부에 적색의 표시등을 설치할 것. 다만, 비상콘센트의 보호함을 옥내소화전함 등과 접속하여 설치하는 경우에는 옥내소화전함 등의 표시등과 겸용할 수 있다.
// 비상콘센트설비의 화재안전기준(nfsc 504) 5조 (보호함) 3호
Check(NFSC504_5_0_3){
KS
}
KS{
isInstalled( IndicatingLamp, EmergencyPowerOutletProtectiveBox, a, Top) = TRUE
}
Modify
100
14353
옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 2 항 2호
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
Check(NFSC102_6_2_2){
KS
}
KS{
Duct myDcut{
isFireResistantStructure(Duct) = TRUE
}
isInstalled( Pipe, Duct) = TRUE
OR isInstalled( Pipe, Pit.Inside) = TRUE
}
Modify