Open BIM based Technological Environment for Building Design Quality Enhancement
1-2. 설계품질검증 자동화를 위한 각종 법규 및 제기준의 체계화된 논리규칙 데이터베이스 구축
- 건축물 설계품질 혁신을 위한 개방형 BIM 기술 환경 구축 | 국토교통부
3. 높이 31미터를 넘는 층수가 4개층이하로서 당해 각층의 바닥면적의 합계 200제곱미터(벽 및 반자가 실내에 접하는 부분의 마감을 불연재료로 한 경우에는 500제곱미터)이내마다 방화구획으로 구획한 건축물
//건축물의 설비기준 등에 관한 규칙 9조 (비상용승강기를 설치하지 아니할 수 있는 건축물) 3호
Check(RFB_9_0_3){
KS
}
KS{
getBuildingHeight()>31 m
getBuildingStoriesCount()<=4
IF isObjectProperty(Wall.InteriorFinish.Material.nonCombustibility)=TRUE
isObjectProperty(CeilingCovering.InteriorFinish.Material.nonCombustibility)=TRUE
THEN isFirePartition(Floor, a,500)=TRUE
ELSE THEN isFirePartition(Floor, a,200)=TRUE
END IF
}
바. 승강장의 바닥면적은 비상용승강기 1대에 대하여 6제곱미터 이상으로 할 것. 다만, 옥외에 승강장을 설치하는 경우에는 그러하지 아니하다.
//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 바목
Check(RFB_10_0_2_바){
IF !CS THEN KS
}
Elevator myElevator{
isObjectProperty(Elevator.isEmergency)=TRUE
}
CS{
isExternal(myElevator.Platform) = TRUE
}
KS{
EN = getObjectProperty(Elevator.numberOf)
getObjectProperty(myElevator.Platform.area) >= EN*6
}
//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 3호 가목
Check(RFB_10_0_3_가){
KS
}
KS{
Elevator myElevator{
isObjectProperty(Elevator.isEmergency)=TRUE
}
isObjectProperty(myElevator.ElevatorShaft.isFirePartition)=TRUE
}
②가스보일러에 의한 난방설비를 설치하고 가스를 중앙집중공급방식으로 공급하는 경우에는 제1항의 규정에 불구하고 가스관계법령이 정하는 기준에 의하되, 오피스텔의 경우에는 난방구획마다 내화구조로 된 벽·바닥과 갑종방화문으로 된 출입문으로 구획하여야 한다. <신설 1999.5.11.>
// 건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 2항
Check(RFB_13_2){
IF CS THEN KS
}
CS{
getBuildingUsage() = "Officetel"
}
KS{
Wall myWall{
isObjectProperty(Wall.isfireResistantStructure)
}
FloorSlab myFloorSlab{
isObjectProperty(FloorSlab.isFireResistantStructure) = TRUE
}
Door myDoor{
isObjectProperty(Door.isStrictFireproofDoor) = TRUE
}
Zone myZone{
isObjectProperty(Zone.isHeatingSection) = TRUE
}
isPartitioned(myZone, myWall) = TRUE
OR isPartitioned(myZone, myFloorSlab) = TRUE
OR isPartitioned(myZone, myDoor) = TRUE
}
제14조(배연설비) ①영 제51조제2항에 따라 배연설비를 설치하여야 하는 건축물에는 다음 각 호의 기준에 적합하게 배연설비를 설치하여야 한다. 다만, 피난층인 경우에는 그러하지 아니하다. <개정 1996.2.9.,1999.5.11., 2002.8.31., 2009.12.31., 2010.11.5.>
//건축물의 설비기준 등에 관한 규칙 14조 (배연설비) 1항
Check(RFB_14_1){
IF (CS) THEN KS
}
CS {
isObjectProperty(Floor.isEscape) = FALSE
}
KS {
isExist(SmokeExhaustionSystem)=TRUE
getResult(RFB_14_1_1) = TRUE
AND getResult(RFB_14_1_2) = TRUE
}
1. 영 제46조제1항의 규정에 의하여 건축물에 방화구획이 설치된 경우에는 그 구획마다 1개소 이상의 배연창을 설치하되, 배연창의 상변과 천장 또는 반자로부터 수직거리가 0.9미터 이내일 것. 다만, 반자높이가 바닥으로부터 3미터 이상인 경우에는 배연창의 하변이 바닥으로부터 2.1미터 이상의 위치에 놓이도록 설치하여야 한다.
//건축물의 설비기준 등에 관한 규칙 14조 (배연설비) 1항 1호
Check(RFB_14_1_1){
IF (CS) THEN KS1 AND KS2
}
Zone myZone{
isObjectProperty(Zone.isFirePartition) = TRUE
}
CS{
isObjectProperty(Building.isFirePartition) = TRUE
}
KS1{
hasSpace(myZone, SmokeVentilator) = TRUE
getObjectVerticalDistance(SmokeVentilator, Ceiling) < 0.9 m
OR getObjectVerticalDistance(SmokeVentilator, CeilingCovering) < 0.9 m
}
KS2{
IF{
getSpaceHeight(myZone, b) >= 3 m
}
THEN{
getObjectVerticalDistance(SmokeVentilator, FloorSlab) >= 2.1 m
}
}
2. 배연창의 유효면적은 별표 2의 산정기준에 의하여 산정된 면적이 1제곱미터 이상으로서 그 면적의 합계가 당해 건축물의 바닥면적(영 제46조제1항 또는 제3항의 규정에 의하여 방화구획이 설치된 경우에는 그 구획된 부분의 바닥면적을 말한다)의 100분의 1이상일 것. 이 경우 바닥면적의 산정에 있어서 거실바닥면적의 20분의 1 이상으로 환기창을 설치한 거실의 면적은 이에 산입하지 아니한다.
//건축물의 설비기준 등에 관한 규칙 14조 (배연설비) 1항 2호
Check(RFB_14_1_2){
IF (CS) THEN (KS1 OR KS2)
}
Zone myZone{
isObjectProperty(Zone.isFirePartition) = TRUE
}
Space mySpace{
getSpaceUsage(Space) = "Room"
getTotalElementArea(Ventilator) >= getFloorArea(Space)*0.05
}
Space mySpace2{
hasSpace(Space, myZone) = TRUE
getResult(EDBA_46_1) = TRUE
getREsult(EDBA_46_3) = TRUE
}
CS{
getElementArea(SmokeVentilator) >= 1 m2
getResult(RFB_*_2) = TRUE
}
KS1{
getTotalElementArea(Ventilator) >= (getBuildingArea()-getFloorArea(mySpace))*0.01
}
KS2{
getTotalElementArea(Ventilator) >= (getFloorArea(myZone)-getFloorArea(mySpace))*0.01
}
다. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 5센티미터 이상인 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 다목
Check (REFB_3_0_1_다){
IF CS THEN KS
}
CS{
getObjectProperty(Wall.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
KS{
getObjectThickness(Wall.Structure) >= 5cm
}
나. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 5센티미터 이상인 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 다목
Check (REFB_3_0_4_나){
IF CS THEN KS
}
CS{
getObjectProperty(FloorSlab.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
KS{
getObjectThickness(FloorSlab.Structure) >= 5cm
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호 나목
Check (REFB_3_0_6_나){
IF CS THEN KS
}
CS{
getObjectProperty(Roof.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호 다목
Check (REFB_3_0_6_다){
IF CS THEN KS
}
CS{
getObjectProperty(Roof.Structure.materialType) = "GlassBlock" OR "WiredSheetGlass"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 다목
Check (REFB_3_0_7_다){
IF CS THEN KS
}
CS{
getObjectProperty(Stair.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
제8조의2(피난안전구역의 설치기준) ① 영 제34조제3항 및 제4항에 따라 설치하는 피난안전구역(이하 "피난안전구역"이라 한다)은 해당 건축물의 1개층을 대피공간으로 하며, 대피에 장애가 되지 아니하는 범위에서 기계실, 보일러실, 전기실 등 건축설비를 설치하기 위한 공간과 같은 층에 설치할 수 있다. 이 경우 피난안전구역은 건축설비가 설치되는 공간과 내화구조로 구획하여야 한다. <개정 2012.1.6.>
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (피난안전구역의 설치기준) 1항
check(REFB_8-2_1){
KS1 AND IF CS THEN KS2
}
Zone myZone{
isObjectProperty(Zone.isEgressSafetyZone) = TRUE
}
Space mySpace{
hasSpace(Space, FacilitiesOfABuilding)
}
Structure myStructure{
isObjectProperty(Space.isfireResistantStructure) = TRUE
}
KS1{
BSC = getBuildingStoriesCount()
getFloorNumber(myZone) <= BSC
}
CS{
getFloorNumber(mySpace) = getFloorNumber(myZone)
}
KS2{
isPartitioned(myZone, myStructure, mySpace) = TRUE
}
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항2호
check(REFB_8-2_3_2){
Zone myZone{
isObjectProperty(Zone.isEgressSafetyZone)=TRUE
}
isObjectProperty(myZone.InteriorFinish.nonCombustibility)=TRUE
}
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항4호
check(REFB_8-2_3_4){
Elevator myElevator{
isObjectProperty(Elevator.isEmergency)=TRUE
}
isDirectlyAccessible(myZone, myElevator)=TRUE
}
제9조(피난계단 및 특별피난계단의 구조) ①영 제35조제1항의 규정에 의하여 건축물의 5층 이상 또는 지하 2층 이하의 층으로부터 피난층 또는 지상으로 통하는 직통계단(지하 1층인 건축물의 경우에는 5층 이상의 층으로부터 피난층 또는 지상으로 통하는 직통계단과 직접 연결된 지하 1층의 계단을 포함한다)은 피난계단 또는 특별피난계단으로 설치하여야 한다.
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 1항
Check(REFB_9_1){
IF (CS1) THEN KS1 ELSE IF (CS2) THEN KS2
CS1{
Floor myFloor1 {
Floor.number > 5
OR Floor.number <= -2
}
Stair myStair1 {
isObjectProperty(Stair.isDirect) = TRUE
}
Floor myFloor2 {
isObjectProperty(Floor.isEscape)= TRUE
}
isGoThrough(myFloor1, myStair1, myFloor2)= TRUE
OR isGoThrough(myFloor1, myStair1, Ground) = TRUE
}
CS2{
Floor myFloor3 {
Floor.number >= 5
}
Stair myStair3 {
isObjectProperty(Stair.isDirect) = TRUE
(isGoThrough(myFloor3, myFloor2, Stair) = TRUE
OR isGoThrough(myFloor3, Ground, Stair) = TRUE)
}
Stair myStair2 {
Stair.Floor.number = -1
}
isDirectlyAccessible(myStair2, myStair3)=TRUE
KS1 {
(isObjectProperty(myStair1.isEscape) = TRUE
OR isObjectProperty(myStair1.isSpecialEscape) = TRUE)
}
KS2{
(isObjectProperty(myStair2.isEscape) = TRUE
OR isObjectProperty(myStair2.isSpecialEscape) = TRUE)
(isObjectProperty(myStair3.isEscape) = TRUE
OR isObjectProperty(myStair3.isSpecialEscape) = TRUE)
}
나. 계단실의 실내에 접하는 부분(바닥 및 반자 등 실내에 면한 모든 부분을 말한다)의 마감(마감을 위한 바탕을 포함한다)은 불연재료로 할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 나목
check(REFB_9_2_1_2){
KS
}
KS{
isObjectProperty(Stair.Space.InteriorFinish.Material.nonCombustibility) = TRUE
}
바. 건축물의 내부에서 계단실로 통하는 출입구의 유효너비는 0.9미터 이상으로 하고, 그 출입구에는 피난의 방향으로 열 수 있는 것으로서 언제나 닫힌 상태를 유지하거나 화재로 인한 연기, 온도, 불꽃 등을 가장 신속하게 감지하여 자동적으로 닫히는 구조로 된 제26조에 따른 갑종방화문을 설치할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 바목
Check(REFB_9_2_1_6){
KS
}
KS {
Door myDoor{
isConnectedToExternal(Opening) = FALSE
}
Space mySpace{
isExternal(Space)=FALSE
}
isGoThrough(mySpace,myDoor,Stair.Space.) = TRUE
isObjectProperty(Door.effectiveWidth) >= 0.9m
isEgressDirection(Door) = TRUE;
}
가. 건축물의 내부와 계단실은 노대를 통하여 연결하거나 외부를 향하여 열 수 있는 면적 1제곱미터 이상인 창문(바닥으로부터 1미터 이상의 높이에 설치한 것에 한한다) 또는 「건축물의 설비기준 등에 관한 규칙」 제14조의 규정에 적합한 구조의 배연설비가 있는 면적 3제곱미터 이상인 부속실을 통하여 연결할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 가목
check (REFB_9_2_3_1){
CS THEN KS
}
CS {
isExist(Stair.Space) = TRUE
}
KS {
Window myWindow {
getObjectProperty(Window.area)>= 1 m2
isObjectProperty(Window.isExternalDirection) = TRUE
getElementDistance(Window, FloorSlab, a)>=1m
}
SmokeExhaustionSystem mySmokeExhaustionSystem {
getElement(SmokeExhaustionSystem)
getResult(RFB_14)=TRUE
}
Space mySpace1{
getSpace(“Balcony”)
}
Space mySpace2{
isExternal(Space)=FALSE
}
Space mySpace3{
getSpace(“AncillaryRoom”)
getFloorArea(Space.Floor, ) >= 3㎡
hasElement(Space,mySmokeExhaustionSystem) = TRUE
hasElement(Space,myWindow) = TRUE
}
isGoThrough(mySpace2,Stair.Space, ,mySpace1)
OR isGoThrough(mySpace2,Stair.Space, ,mySpace3)
자. 건축물의 내부에서 노대 또는 부속실로 통하는 출입구에는 제26조에 따른 갑종방화문을 설치하고, 노대 또는 부속실로부터 계단실로 통하는 출입구에는 제26조에 따른 갑종방화문 또는 을종방화문을 설치할 것. 이 경우 갑종방화문 또는 을종방화문은 언제나 닫힌 상태를 유지하거나 화재로 인한 연기, 온도, 불꽃 등을 가장 신속하게 감지하여 자동적으로 닫히는 구조로 하여야 한다.
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 자목
check (REFB_9_2_3_9){
IF(CS1) THEN KS1 OR (CS2) TEHN KS2
}
Space mySpace1 {
isExternal(Space)=FALSE
}
Space mySpace2 = getSpace(“Balcony”) + getSpace(“AncillaryRoom”)
CS1{
isGoThrough(mySpace1,Door,mySpace2) = TRUE
}
KS1 {
isObjectProperty(Door.isStrictFireproofDoor)= TRUE
}
CS2{
isGoThrough(mySpace2,Door,Stair.Space) = TRUE
}
KS2{
isObjectProperty(Door.isFireproofDoor)= TRUE
}
③영 제35조제1항에 따른 피난계단 또는 특별피난계단은 돌음계단으로 하여서는 아니되며, 영 제40조에 따라 옥상광장을 설치하여야 하는 건축물의 피난계단 또는 특별피난계단은 해당 건축물의 옥상으로 통하도록 설치하여야 한다. 이 경우 옥상으로 통하는 출입문은 피난방향으로 열리는 구조로서 피난시 이용에 장애가 없어야 한다. <개정 2010.4.7.>
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 3항
Check(REFB_9_3) {
KS
}
KS {
Stair myStair1{
isObjectProperty(Stair.isEscape)=TRUE
OR isObjectProperty(Stair.isSpecialEscape)=TRUE
}
Space mySpace{
getObjectProperty(Space.usage) = “RooftopPlaza”
}
hasObject(Rooftop, mySpace)=TRUE
}
Stair myStair2{
hasObject(mySpace.Building,myStair1)=TRUE
}
getObjectProperty(myStair.type)!= “WindingStair”
isAccessible(myStair2,mySpace)=TRUE
isEgressDirection(mySpace.Door) = TRUE
}
제11조(건축물의 바깥쪽으로의 출구의 설치기준) ①영 제39조제1항의 규정에 의하여 건축물의 바깥쪽으로 나가는 출구를 설치하는 경우 피난층의 계단으로부터 건축물의 바깥쪽으로의 출구에 이르는 보행거리(가장 가까운 출구와의 보행거리를 말한다. 이하 같다)는 영 제34조제1항의 규정에 의한 거리이하로 하여야 하며, 거실(피난에 지장이 없는 출입구가 있는 것을 제외한다)의 각 부분으로부터 건축물의 바깥쪽으로의 출구에 이르는 보행거리는 영 제34조제1항의 규정에 의한 거리의 2배 이하로 하여야 한다.
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 1항
Check(REFB_11_1){
IF CS THEN KS1 AND KS2
}
CS {
Door myDoor{
isObjectProperty(Door.isEntrance)=TRUE
}
isExist(myDoor)
}
KS1 {
Floor myFloor{
isObjectProperty(Floor.isEscape)=TRUE
}
getObjectDistance(myFloor.Stair, myDoor,a) <= EDBA_34_1.distance
}
KS2 {
getObjectDistance(Room, myDoor) <= (EDBA_34_1.distance)*2
}
②영 제39조제1항에 따라 건축물의 바깥쪽으로 나가는 출구를 설치하는 건축물중 문화 및 집회시설(전시장 및 동ㆍ식물원을 제외한다), 종교시설, 장례식장 또는 위락시설의 용도에 쓰이는 건축물의 바깥쪽으로의 출구로 쓰이는 문은 안여닫이로 하여서는 아니된다. <개정 2010.4.7.>
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 2항
Check(REFB_11_2){
IF CS1 AND CS2 THEN KS
}
CS1 {
Building myBuilding{
getBuildingUsage() = “CulturalAndAssemblyFacility”
OR getBuildingUsage() = “ReligiousFacility”
OR getBuildingUsage() = “AmusementFacility”
OR getBuildingUsage() = “FuneralParlor”
getBuildingUsage() != “ExhibitionHall”
getBuildingUsage() != “ZoologicalAndBotanicalGarden”
}
Door myDoor{
isObjectProperty(myBuilding.Door.isEntrance)=TRUE
}
isExist(myDoor) = TRUE
}
KS {
getObjectProperty(myDoor.panelOperationType) != “OpeningInDoor”
}
⑤다음 각 호의 어느 하나에 해당하는 건축물의 피난층 또는 피난층의 승강장으로부터 건축물의 바깥쪽에 이르는 통로에는 제15조제5항에 따른 경사로를 설치하여야 한다. <개정 2010.4.7.>
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 5항
Check(REFB_11_5){
IF CS1 AND CS2 THEN KS
}
CS1 {
getResult(REFB_11_5_1)=TRUE
OR getResult(REFB_11_5_2)=TRUE
OR getResult(REFB_11_5_3)=TRUE
OR getResult(REFB_11_5_4)=TRUE
OR getResult(REFB_11_5_5)=TRUE
OR getResult(REFB_11_5_6)=TRUE
}
CS2{
Floor myFloor{
isObjectProperty(Floor.isEscape)=TRUE
}
Passage myPassage{
isDirectlyAccessible(myFloor,Passage) = TRUE
OR isDirectlyAccessible(myFloor.Platform,Passage) = TRUE
isConnectedToExternal(Passage) = TRUE
}
isExist(myPassage)=TRUE
}
KS{
hasObject(myPassage,Ramp)=TRUE
getResult(REFB_15_5)=TRUE
}
⑥법 제39조제1항에 따라 영 제39조제1항 각 호의 어느 하나에 해당하는 건축물의 바깥쪽으로 나가는 출입문에 유리를 사용하는 경우에는 안전유리를 사용하여야 한다. <신설 2006.6.29.>
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 6항
Check(REFB_11_6){
KS
}
KS{
Door myDoor{
isObjectProperty(Door.isEntrance)=TRUE
}
IF getObjectMaterial(myDoor)="Glass"
THEN getObjectType(Glass)="Safety"
}
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 3항 1호
Check (REFB_13_3_1){
KS
}
KS{
Space mySpace{
isObjectProperty(Space.isEscape) = TRUE
}
mySpace.area > Roof.horizontalProjectionArea*0.1
}
3. 출입구ㆍ창문을 제외한 부분은 해당 건축물의 다른 부분과 내화구조의 바닥 및 벽으로 구획할 것
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 3항 3호
Check(REFB_13_3_3){
KS
}
KS{
Space mySpace{
isObjectProperty(Space.isEscape) = TRUE
}
isFirePartition(mySpace)=True
}
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 3항 4호
Check(REFB_13_3_4){
KS
}
KS{
isObjectProperty(Door.isEntrance)=True
getObjectProperty( myDoor.effectiveWidth) > 0.9 m
isObjectProperty(Door.isStrictFireproofDoor)=True
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 3항 5호
Check(REFB_13_3_5){
KS
}
KS{
Space mySpace{
isObjectProperty(Space.isEscape) = TRUE
}
isObjectProperty(mySpace.InteriorFinish.Material.nonCombustibility)=True
}
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 3항 7호
check(REFB_13_3_7){
KS
}
KS{
Space mySpace{
isObjectProperty(Space.isEscape) = TRUE
}
hasObject(mySpace, WarningAndCommunicationFacility) = TRUE
}
3. 11층 이상의 층은 바닥면적 200제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 600제곱미터)이내마다 구획할 것. 다만, 벽 및 반자의 실내에 접하는 부분의 마감을 불연재료로 한 경우에는 바닥면적 500제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 1천500제곱미터)이내마다 구획하여야 한다.
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의설치) 1항3호
check(REFB_14_1_3){
KS2 AND IF CS THEN KS
}
Floor myFloor {
getFloorNumebr()>= 11
}
KS2{
isFirepartition(myFloor,200)=TRUE
OR
((isExist(SprinklerSystem) = TRUE
OR isObjectProperty(ExtinguishingSystem.isAutomatic) = TRUE)
AND isFirepartition(myFloor,600)=TRUE)
}
CS1 {
isObjectProperty(Space.InteriorFinish.Material.nonCombustibility)=TRUE
}
KS1 {
isFirepartition(myFloor,500)=TRUE
OR
((isExist(SprinklerSystem) = TRUE
OR isObjectProperty(ExtinguishingSystem.isAutomatic) = TRUE)
AND isFirepartition(myFloor,1500)=TRUE)
}
1. 피난구의 덮개는 제26조에 따른 비차열 1시간 이상의 내화성능을 가져야 하며, 피난구의 유효 개구부 규격은 직경 60센티미터 이상일 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의 설치기준) 3항 1호
Check(REFB_14_3_1){
KS
}
KS{
Opening myOpening {
isObjectProperty(Opening.isEscape)=True
}
getObjectDiameter(myOpening)>60 cm
}
5. 거실의 벽 및 반자가 실내에 면하는 부분(반자돌림대ㆍ창대 그 밖에 이와 유사한 것을 제외한다. 이하 이 조에서 같다)의 마감은 불연재료ㆍ준불연재료 또는 난연재료로 하고, 그 거실로부터 지상으로 통하는 주된 복도ㆍ계단 그밖에 통로의 벽 및 반자가 실내에 면하는 부분의 마감은 불연재료 또는 준불연재료로 할 것
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 5호
Check(REFB_14-2_0_5){
KS
}
KS{
Object myObject{
getObject(Room.wall)
getObject(Room.CeilingCovering)
}
Corridor myCorridor{
isGoThrough(Room, Corridor, Ground )=True
}
Stair myStair{
isGoThrough(Room,Stair, Ground )=True
}
Passage myPassage{
isGoThrough(Room,Passage, Ground )=True
}
Space mySpace{
Space.usage==myCorridor.usage
OR Space.usage==myStair.usage
OR Space.usage=myPassage.usage
}
Object myObject2{
getObject(mySpace.wall)
getObject(mySpace.CeilingCovering)
}
( isObjectProperty(myObject.InteriorFinish.Material.nonCombustibility)=True
OR isObjectProperty(myObject.InteriorFinish.Material.quasiNonCombustibility)=True
OR isObjectProperty(myObject.InteriorFinish.Material.flameResistance)= True
)
isObjectProperty(myObject2.InteriorFinish.Material.nonCombustibility)=True
OR isObjectProperty(myObject2.InteriorFinish.Material.quasiNonCombustibility)=True
}
⑦ 제1항 및 제2항에도 불구하고 영 제34조제4항 후단에 따라 피난층 또는 지상으로 통하는 직통계단을 설치하는 경우 계단 및 계단참의 너비는 다음 각 호의 구분에 따른 기준에 적합하여야 한다. <신설 2012.1.6.>
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 7항
check(REFP_15_7){
IF CS THEN KS
}
CS{
Floor myFloor{
isObjectProperty(Floor.isEscape)=TRUE
}
isAccessible(Stair,myFloor)
OR isAccessible(Stair,Ground)
}
KS{
getResult(REFP_15_7_1)
OR getResult(REFP_15_7_2)
}
②문화 및 집회시설(전시장 및 동ㆍ식물원은 제외한다), 종교시설, 장례식장 또는 위락시설 중 유흥주점의 용도에 쓰이는 건축물의 관람석 또는 집회실로서 그 바닥면적이 200제곱미터 이상인 것의 반자의 높이는 제1항의 규정에 불구하고 4미터(노대의 아랫부분의 높이는 2.7미터)이상이어야 한다. 다만, 기계환기장치를 설치하는 경우에는 그러하지 아니하다. <개정 2010.4.7.>
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 16조 (거실의 반자높이) 2항
check(REFB_16_2){
IF (CS1 AND CS2) THEN KS
}
CS1{
VentilatorEquipment myVentilatorEquipemnt{
isObjectProperty(VentilatorEquipment.isMechanical)=TRUE
}
isExist(myVentilatorEquipemn) = FALSE
}
CS2{
Space mySpace{
getSpaceUsage(Space) = “Auditorium”
OR getSpaceUsage(Space) = “AssemblyHall”
}
((getBuildingUsage() = “CulturalAndAssemblyFacilities.Tavern”
getBuildingUsage() != “ExhibitionHalls.Tavern”
getBuildingUsage() != “ZoologicalAndBotanicalGardens.Tavern”)
OR getBuildingUsage() = "ReligiousFacilities.Tavern”
제18조(거실등의 방습) ①영 제52조의 규정에 의하여 건축물의 최하층에 있는 거실바닥의 높이는 지표면으로부터 45센티미터 이상으로 하여야 한다. 다만, 지표면을 콘크리트바닥으로 설치하는 등 방습을 위한 조치를 하는 경우에는 그러하지 아니하다.
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 18조 (거실등의 방습) 1항
Check(REFB_18_1){
IF !CS THEN KS}
KS{
getObjectHeight(getFloor(BottomFloor))>=45CM
}
CS {
isObjectProperty(Ground.Surface.isDampProof)=TRUE
}
4. 금속제 굴뚝은 목재 기타 가연재료로부터 15센티미터 이상 떨어져서 설치할 것. 다만, 두께 10센티미터 이상인 금속외의 불연재료로 덮은 경우에는 그러하지 아니하다.
check(REFB_20_0_4){
IF !CS THEN KS
}
CS{
(isObjectProperty(Chimney.Material.nonCombustibility)= TRUE
AND !(getObjectProperty(Chimney.Material)="Metal"))
And getElementWidth(NoncombustibleMaterials)>=10
}
KS{
getObjectDistance(Chimney, combustibleMaterials)>= 15CM
AND getObjectProperty(Chimney.Material)="Metal"))
}
2. 방화벽의 양쪽 끝과 윗쪽 끝을 건축물의 외벽면 및 지붕면으로부터 0.5미터 이상 튀어 나오게 할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 21조 (방화벽의 구조) 1항 2호
Check(REFB_21_1_2){
KS
}
KS{
Object myObject{
//방화벽의 양쪽 끝과 윗쪽 끝
}
Wall myWall{
isObjectProperty(Wall.isExternal)=True
}
getObjectDistance(myObject, myWall)>=0.5 m
getObjectDistance(myObject, Roof)>=0.5 m
}
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
}
②영 제61조제1항 각 호의 건축물 중 다음 각 호의 어느 하나에 해당하는 거실의 벽 및 반자의 실내에 접하는 부분의 마감은 제1항에도 불구하고 불연재료 또는 준불연재료로 하여야 한다. <개정 2003.1.6., 2005.7.22., 2006.6.29., 2010.4.7., 2010.12.30.>
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조 (건축물의 마감재료) 2항
check(REFB_24_2){
IF CS THEN KS
}
CS{
getResult(REFB_24_2_1)=TRUE
OR getResult(REFB_24_2_2)=TRUE
}
KS{
(isObjectProperty(CeilingCovering.InteriorFinish.Material.nonCombustibility)=TRUE
OR isObjectProperty(CeilingCovering.InteriorFinish.Material.quasiNonCombustibility)=TRUE )
(isObjectProperty(Room.Wall.InteriorFinish.Material.nonCombustibility)=TRUE
OR isObjectProperty(Room.Wall.InteriorFinish.Material.quasiNonCombustibility)=TRUE
)
}
④영 제61조제1항제2호에 따른 공동주택에는 「다중이용시설 등의 실내공기질관리법」 제11조제1항 및 같은 법 시행규칙 제10조에 따라 환경부장관이 고시한 오염물질방출 건축자재를 사용하여서는 아니 된다. <신설 2006.6.29., 2010.12.30.>
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조 (건축물의 마감재료) 4항
Check(REFB_24_4){
IF CS THEN KS
}
Building myBuilding{
getResult(EDBA_61_1_2)=TRUE
}
CS{
isExist(myBuilding)=TRUE
}
KS{
isObjectProperty(myBuilding.Material.isEmittingPollutant)=FALSE
}
②영 제61조제1항제4호나목에서 "국토교통부령으로 정하는 출구"란 건축물의 내부의 각 부분으로부터 출구(가장 가까운 거리에 있는 출구를 말한다)에 이르는 보행거리가 30미터 이하가 되도록 설치된 유효너비 1.5미터 이상의 출구를 말한다. <개정 2008.3.14., 2010.12.30., 2013.3.23.>
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조의2 (소규모 공장용도 건축물의 마감재료) 2항
check(REFB_24-2_2){
KS
}
KS{
Door myDoor{
isObjectProperty(Door.isEntrance) = TRUE
}
getObjectDistance(Building.IndoorElement, Door) <= 30
isObjectProperty(Door.effectiveWidth) >= 1.5m
}
1의2. 제2종근린생활시설 중 공연장ㆍ단란주점ㆍ당구장ㆍ노래연습장, 문화 및 집회시설중 예식장ㆍ공연장, 수련시설 중 생활권수련시설ㆍ자연권수련시설, 숙박시설중 여관ㆍ여인숙, 위락시설중 단란주점ㆍ유흥주점 또는 「다중이용업소의 안전관리에 관한 특별법 시행령」 제2조에 따른 다중이용업의 용도에 쓰이는 층으로서 그 층의 거실의 바닥면적의 합계가 50제곱미터 이상인 건축물에는 직통계단을 2개소 이상 설치할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 1항 1의2호
check(REFB_25_1_1-2){
IF CS THEN KS
}
CS{
(getBuildingUsage() = "ClassIINeighborhoodLivingFacility.PerformanceHall"
OR getBuildingUsage() = "ClassIINeighborhoodLivingFacility.Pubs"
OR getBuildingUsage() = "ClassIINeighborhoodLivingFacility.BilliardRoom"
OR getBuildingUsage() = "ClassIINeighborhoodLivingFacility.Karaoke"
OR getBuildingUsage() = "CulturalAndAssemblyFacility.WeddingHall"
OR getBuildingUsage() = "CulturalAndAssemblyFacility.PerformanceHall"
OR getBuildingUsage() = "TrainingFacility.TrainingFacilityInLivingZone"
OR getBuildingUsage() = "TrainingFacility.??LivingZone"
OR getBuildingUsage() = "LodgingFacility.Inn"
OR getBuildingUsage() = "AmusementFacility.Pubs"
OR getBuildingUsage() = "AmusementFacility.Tavern"
OR getResult(ERSASP_2) = TRUE)
getTotalFloorArea(Room) >= 50 m2
}
KS{
Stair myStair{
isObjectProperty(Stair.isDirect) = TRUE
}
getObjectCount(myStair) >= 2
}
5. 비상탈출구는 피난층 또는 지상으로 통하는 복도나 직통계단에 직접 접하거나 통로 등으로 연결될 수 있도록 설치하여야 하며, 피난층 또는 지상으로 통하는 복도나 직통계단까지 이르는 피난통로의 유효너비는 0.75미터 이상으로 하고, 피난통로의 실내에 접하는 부분의 마감과 그 바탕은 불연재료로 할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 2항 5호
check(REFB_25_2_5){
Floor myFloor(
isObjectProperty(Floor.isEscape) = TRUE
)
Stair myStair{
isObjectProperty(Stair.isDirect) = TRUE
(isDirectlyAccessible(Stair, Ground) = TRUE
OR isDirectlyAccessible(Stair, myFloor) = TRUE)
}
Corridor myCorridor{
isDirectlyAccessible(Corridor, myFloor) = TRUE
OR isDirectlyAccessible(Corridor, Ground) = TRUE
}
Door myDoor{
Door.functionType = "Emergency"
Door.Floor.number < 0
}
(isDirectlyAccessible(myDoor, myStair) = TRUE
OR isDirectlyAccessible(myDoor, myCorridor) = TRUE
OR isGoThrough(myDoor, Corridor, myStair) = TRUE
OR isGoThrough(myDoor, Corridor, myCorridor) = TRUE)
Passage myPassage{
isObjectProperty(Passage.isEscape) = TRUE
}
getSpaceWidth(myPassage) >= 0.75 m
isObjectProperty(myPassage.InteriorFinish.Material.nonCombustibility) = TRUE
}
제29조(피난용승강기의 설치 및 구조) ① 고층건축물에는 법 제64조제1항에 따라 건축물에 설치하는 승용승강기 중 1대 이상을 제30조에 따른 피난용승강기의 설치기준에 적합하게 설치하여야 한다. 다만, 준초고층 건축물 중 공동주택은 제외한다.
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 29조 (피난용승강기의 설치 및 구조) 1항
Check(REFB_29_1){
IF (!CS1 AND CS2)THEN KS
}
CS1{
Building myBuilding{
isObjectProperty(Building.isQuasiHighriseBuilding )=True
}
getBuildingUsage()="myBuilding.MultiUnitHouse"
}
CS2{
isObjectProperty(Building.isHighBuilding) = TRUE
}
KS{
getResult(REFB_30)=True
getResult(REFB_29_2)=True
}
다. 실내에 접하는 부분(바닥 및 반자 등 실내에 면한 모든 부분을 말한다)의 마감(마감을 위한 바탕을 포함한다)은 불연재료로 할 것
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 다목
check(REFB_30_0_1_다){
KS
}
KS{
isObjectProperty(Space.InteriorFinish.Material.nonCombustibility)=TRUE
}
제34조(직통계단의 설치) ① 건축물의 피난층(직접 지상으로 통하는 출입구가 있는 층 및 제3항과 제4항에 따른 피난안전구역을 말한다. 이하 같다) 외의 층에서는 피난층 또는 지상으로 통하는 직통계단(경사로를 포함한다. 이하 같다)을 거실의 각 부분으로부터 계단(거실로부터 가장 가까운 거리에 있는 계단을 말한다)에 이르는 보행거리가 30미터 이하가 되도록 설치하여야 한다. 다만, 건축물(지하층에 설치하는 것으로서 바닥면적의 합계가 300제곱미터 이상인 공연장ㆍ집회장ㆍ관람장 및 전시장은 제외한다)의 주요구조부가 내화구조 또는 불연재료로 된 건축물은 그 보행거리가 50미터(층수가 16층 이상인 공동주택은 40미터) 이하가 되도록 설치할 수 있으며, 자동화 생산시설에 스프링클러 등 자동식 소화설비를 설치한 공장으로서 국토교통부령으로 정하는 공장인 경우에는 그 보행거리가 75미터(무인화 공장인 경우에는 100미터) 이하가 되도록 설치할 수 있다. <개정 2009.7.16., 2010.2.18., 2011.12.30., 2013.3.23.>
// 건축법 시행령 34조 (직통계단의 설치) 1항
Check(EDBA_34_1){
KS
}
KS{
Floor myFloor{
isObjectProperty(Floor.isEscape) = TRUE
}
Space mySpace{
getObjectProperty(Space.usage)="PerformanceHall"
OR getObjectProperty(Space.usage)="AssemblyHall"
OR getObjectProperty(Space.usage)="Auditorium"
OR getObjectProperty(Space.usage)="ExhibitionHall"
}
Door myDoor{
isDirectlyAccessible(Door, Ground)=TRUE
}
Stair myStair{
isObjectProperty(Stair.isDirect)=TRUE
isAccessible(Stair,myFloor)=TRUE
OR isAccessible(Stair,Ground)=TRUE
}
Ramp myRamp{
isAccessible(Ramp,myFloor)=TRUE
OR isAccessible(Ramp,Ground)=TRUE
}
Floor myFloor2{
isObjectProperty(Floor.isEscape)=FALSE
OR hasObject(Floor, myDoor)=FALSE
}
Zone myZone{
isDirectlyAccessible(myStair, Zone)=FALSE
}
IF
getFloorNumber(mySpace)>0
getFloorArea(mySpace)<=300 m2
isFireResistantStructure(MainStructuralPart)=TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE
THEN IF getBuildingStoriesCount()>=16
getBuildingUsage()="MultiUnitHouse"
THEN ED= 40
ELSE THEN ED=50
END IF
ELSE IF
getBuildingUsage() = "Factory"
isExist(ExtinguishingSystem)=TRUE
isObjectProperty(ExtinguishingSystem.isAutomatic)=TRUE
getResult(REFB_8_2)=TRUE
THEN IF getBuildingUsage() = "UnmannedFactory"
THEN ED=100
ELSE THEN ED=75
END IF
ELSE THEN ED=30
END IF
(hasObject(myFloor,myStair)=TRUE
hasObject(myZone, myStair)=TRUE
getObjectDistance(Room,myStair, 1)<=ED)
OR
(hasObject(myFloor,myRamp)=TRUE
hasObject(myZone, myRamp)=TRUE
getObjectDistance(Room,myRamp, 1)<=ED)
}
② 법 제49조제1항에 따라 피난층 외의 층이 다음 각 호의 어느 하나에 해당하는 용도 및 규모의 건축물에는 국토교통부령으로 정하는 기준에 따라 피난층 또는 지상으로 통하는 직통계단을 2개소 이상 설치하여야 한다. <개정 2009.7.16., 2013.3.23., 2014.3.24.>
//건축법 시행령 34조 (직통계단의 설치) 2항
Check(EDBA_34_2){
IF (CS1 AND CS2) THEN KS
}
CS1{
isObjectProperty(Floor.isEscape) = FALSE
}
CS2{
getResult(EDBA_34_2_1)=TRUE
OR getResult(EDBA_34_2_2)=TRUE
OR getResult(EDBA_34_2_3)=TRUE
OR getResult(EDBA_34_2_4)=TRUE
OR getResult(EDBA_34_2_5)=TRUE
}
KS{
Floor myFloor{
isObjectProperty(Floor.isEscape)=TRUE
}
Stair myStair{
isObjectProperty(Stair.isDirect) = TRUE
isAccessible(myFloor, Stair)= TRUE
OR isAccessible(Ground,Stair) = TRUE
}
getObjectCount(myStair)>2
getResult(REFB_8_1) = True
}
③ 초고층 건축물에는 피난층 또는 지상으로 통하는 직통계단과 직접 연결되는 피난안전구역(건축물의 피난ㆍ안전을 위하여 건축물 중간층에 설치하는 대피공간을 말한다. 이하 같다)을 지상층으로부터 최대 30개 층마다 1개소 이상 설치하여야 한다. <신설 2009.7.16., 2011.12.30.>
④ 준초고층 건축물에는 피난층 또는 지상으로 통하는 직통계단과 직접 연결되는 피난안전구역을 해당 건축물 전체 층수의 2분의 1에 해당하는 층으로부터 상하 5개층 이내에 1개소 이상 설치하여야 한다. 다만, 국토교통부령으로 정하는 기준에 따라 피난층 또는 지상으로 통하는 직통계단을 설치하는 경우에는 그러하지 아니하다. <신설 2011.12.30., 2013.3.23.>
제35조(피난계단의 설치) ① 법 제49조제1항에 따라 5층 이상 또는 지하 2층 이하인 층에 설치하는 직통계단은 국토교통부령으로 정하는 기준에 따라 피난계단 또는 특별피난계단으로 설치하여야 한다. 다만, 건축물의 주요구조부가 내화구조 또는 불연재료로 되어 있는 경우로서 다음 각 호의 어느 하나에 해당하는 경우에는 그러하지 아니하다. <개정 2008.10.29., 2013.3.23.>
//건축법 시행령 35조(피난계단의 설치) 1항
Check(EDBA_35_1){
IF (!CS1 AND !CS2 AND CS3) THEN KS
}
CS1 {
isFireProofStructure(MainStructuralPart) = TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility) = TRUE
}
CS2 {
getResult(EDBA_35_1_1) = TRUE
OR getResult(EDBA_35_1_2) = TRUE
}
CS3{
Floor myFloor {
Floor.number > 5
OR Floor.number <= -2
}
Stair myStair {
isObjectProperty(Stair.isDirect) = TRUE
}
hasElement(myFloor, myStair) = TRUE
}
KS {
isObjectProperty(myStair.isEscape) = TRUE
OR isObjectProperty(myStair.isSpecialEscape) = TRUE
}
② 건축물(갓복도식 공동주택은 제외한다)의 11층(공동주택의 경우에는 16층) 이상인 층(바닥면적이 400제곱미터 미만인 층은 제외한다) 또는 지하 3층 이하인 층(바닥면적이 400제곱미터미만인 층은 제외한다)으로부터 피난층 또는 지상으로 통하는 직통계단은 제1항에도 불구하고 특별피난계단으로 설치하여야 한다. <개정 2008.10.29.>
//건축법 시행령 35조 (피난계단의 설치) 2항
check(EDBA_35_2){
IF (CS1 AND CS2) THEN KS
}
CS1{
Building.usage != "MultiUnitHouse.SideCorridorTypeMultiUnitHouse"
}
CS2{
Floor myFloor{
IF (Building.usage = "MultiUnitHouse“)
THEN getFloorNumber(Floor) >= 16
ELSE
getFloorNumber(Floor) >= 11
ENDIF
OR getFloorNumber(Floor) < -3
getFloorArea(Floor) >= 400m2
}
Stair myStair {
(isAccessible(Stair, Floor.isEscape) = TRUE
OR isAccessible(Stair, Ground) = TRUE)
isObjectProperty(Stair.isDirect) = TRUE
}
hasObject(myFloor, myStair) = TRUE
}
KS{
isObjectProperty(myStair.isSpecialEscape) = TRUE
}