Ministry of Land, Infrasrtucture and Transport | Korea Agency for Infrastructure Technology Advancement | Space and Design IT Lab | Hanyang University
Open BIM based Technological Environment for Building Design Quality Enhancement
1-2. 설계품질검증 자동화를 위한 각종 법규 및 제기준의 체계화된 논리규칙 데이터베이스 구축 - 건축물 설계품질 혁신을 위한 개방형 BIM 기술 환경 구축 | 국토교통부
  Home Welcome to BIM Project Website - Hanyang University
PAGE MENU   MainPage
전체법규 - 법규데이터베이스
- 대한민국 전체 법규 목록
- 설계품질검토 대상 관련법규
대상법규 - 문장 논리규칙체계화
- 조항단위 논리규칙체계
- 문장단위 논리규칙체계
주어부 - 객체.속성 데이터베이스
- 법규로부터의 객체.속성 분류
- 명칭DB: 객체 | 객체및속성
서술부 - 함수 데이터베이스
- 논리규칙화 함수 분류
- 논리규칙화 함수 DB
관계부 - 문장 내.외 관계논리
- 문장 내.외 관계유형분류
- 법규조항관계도:
1차년도 | 2차년도 | 3차년도
- 문장 내.외관계 논리체계화
문장단위 | 체크리스트 단위
KBIMCode 데이터베이스
- KBIMCode Lang. Definition
- KBIMCode Editor
- KBimCode Database:
문장단위 | 조항단위
- KBimLogic Applications
 
     HOME
설계품질검토용 건축법 및 관련법규 - KBIMCode (문장단위)
    1   2   3   next▷  
1 / 3 page Total 1,131/ 1,131 records    신규입력 엑셀저장
Select
ALL
None
#
ID
Law
Jo
JO Name
HANG
HO
MOK
Text
Search!
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
    1   2   3   next▷  
 
This is Design IT Lab server's restricted area. Authorized users could access this website.