Open BIM based Technological Environment for Building Design Quality Enhancement
1-2. 설계품질검증 자동화를 위한 각종 법규 및 제기준의 체계화된 논리규칙 데이터베이스 구축
- 건축물 설계품질 혁신을 위한 개방형 BIM 기술 환경 구축 | 국토교통부
//건축물의 설비기준 등에 관한 규칙 9조 (비상용승강기를 설치하지 아니할 수 있는 건축물) 1호
Check(RFB_9_0_1){
KS
}
KS{
Floor myFloor{
getObjectHeight(Floor)>31 m
}
hasObject(myFloor, Room)=FALSE
}
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
}
가. 건축물의 내부와 계단실은 노대를 통하여 연결하거나 외부를 향하여 열 수 있는 면적 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)
마. 계단실ㆍ노대 또는 부속실에 설치하는 건축물의 바깥쪽에 접하는 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터이하인 것을 제외한다)은 계단실ㆍ노대 또는 부속실외의 당해 건축물의 다른 부분에 설치하는 창문등으로부터 2미터 이상의 거리를 두고 설치할 것
자. 건축물의 내부에서 노대 또는 부속실로 통하는 출입구에는 제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
}
제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
}
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
}
4. 윗층의 거실의 바닥면적의 합계가 200제곱미터 이상이거나 거실의 바닥면적의 합계가 100제곱미터 이상인 지하층의 계단인 경우에는 계단 및 계단참의 너비를 120센티미터 이상으로 할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 2항4호
check(REFB_15_2_4){
IF CS THEN KS
}
CS{
Floor myFloor{
N=getFloorNumber(Stair)
Floor.number=N+1
}
(getTotalFloorArea(myFloor.Room)>=200 m2
OR getTotalFloorArea(Room)>=100 m2)
getFloorNumber(Stair)<0
}
KS{
getObjectWidth(Stair)>=120 cm
getObjectWidth(StairLanding)>120 cm
}
⑧ 승강기기계실용 계단, 망루용 계단 등 특수한 용도에만 쓰이는 계단에 대해서는 제1항부터 제7항까지의 규정을 적용하지 아니한다. <개정 2012.1.6.>
check(REFP_15_8){
KS
}
KS{
getObjectUsage(Stair)= "ElevatorMachineRoom" OR "WatchTower"
AND getResult(REFP_15_1)=FALSE
AND getResult(REFP_15_2)=FALSE
AND getResult(REFP_15_3)=FALSE
AND getResult(REFP_15_4)=FALSE
AND getResult(REFP_15_5)=FALSE
AND getResult(REFP_15_6)=FALSE
AND getResult(REFP_15_7)=FALSE
}
제15조의2(복도의 너비 및 설치기준) ①영 제48조의 규정에 의하여 건축물에 설치하는 복도의 유효너비는 다음 표와 같이 하여야 한다
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 1항
Check(EDBA_15-2_1){
IF getBuildingUsage()="Kindergarten"
OR getBuildingUsage()="ElementarySchool"
OR getBuildingUsage()="MiddleSchool"
OR getBuildingUsage()="HightSchool"
THEN IF isExternal(Corridor)=FALSE
THEN getObjectProperty(Corridor.effectiveWidth)>2.4 m
ELSE THEN getObjectProperty(Corridor.effectiveWidth)>1.8 m
END IF
END IF
IF getBuildingUsage()="MultiUnitHouse"
OR getBuildingUsage()="Officetel"
THEN IF isExternal(Corridor)=FALSE
THEN getObjectProperty(Corridor.effectiveWidth)>1.8 m
ELSE THEN getObjectProperty(Corridor.effectiveWidth)>1.2 m
END IF
END IF
IF getTotalFloorArea(Corridor.Floor.Room)>200 m2
THEN IF isExternal(Corridor)=FALSE
THEN IF getBuildingUsage()="MedicalFacilities"
THEN getObjectProperty(Corridor.effectiveWidth)>1.8 m
ELSE THEN getObjectProperty(Corridor.effectiveWidth)>1.5 m
END IF
ELSE THEN getObjectProperty(Corridor.effectiveWidth)>1.2 m
END IF
END IF
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 1항
Check(REFB_15-2_1){
KS
}
KS{
IF (Building.usage="Kindergarten"
OR Building.usage="ElementarySchool"
OR Building.usage="MiddleAndHighSchool" )
IF(isAdjacent(Corridor, Room)=True)
THEN Corridor.width>=2.4 m
ELSE THEN Corridor.width>=1.8 m
END IF
ELSE IF( Building.usage="MultiUnitHouse"
OR Building.usage="Officetels" )
IF( isAdjacent(Corridor, Room)=True)
TEHN Corridor.width>=1.8 m
ELSE THEN Corridor.width>=1.2 m
END IF
ELSE IF( Floor.One.Room.area > 200 m2)
IF(isAdjacent(Corridor, Room)=True)
TEHN IF (Building.usage="MedicalFacility")
THEN Corridor.width>=1.8 m
ELSE THEN Corridor.width>=1.5 m
ELSE THEN Corridor.width>=1.2 m
END IF
END IF
}
제16조(거실의 반자높이) ①영 제50조의 규정에 의하여 설치하는 거실의 반자(반자가 없는 경우에는 보 또는 바로 윗층의 바닥판의 밑면 기타 이와 유사한 것을 말한다. 이하같다)는 그 높이를 2.1미터 이상으로 하여야 한다.
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 16조 (거실의 반자높이) 1항
check(REFB_16_1){
IF (CS) THEN KS
}
CS{
getResult(REFB_16_2) = FALSE
}
KS{
getSpaceHeight(Room, b) >= 2.1m
}
제17조(채광 및 환기를 위한 창문등) ①영 제51조에 따라 채광을 위하여 거실에 설치하는 창문등의 면적은 그 거실의 바닥면적의 10분의 1 이상이어야 한다. 다만, 거실의 용도에 따라 별표 1의3에 따라 조도 이상의 조명장치를 설치하는 경우에는 그러하지 아니하다. <개정 2000.6.3., 2010.4.7., 2012.1.6.>
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 17조 (채광 및 환기를 위한 창문등) 1항
check(REFB_17_1){
IF (getResult(REFB_*_1-3) = FALSE) THEN KS
}
KS{
Window myWindow{
hasElement(Room, myWindow) = TRUE
}
getElementArea(myWindow) >= getFloorArea(Room)*0.1
}
제24조(건축물의 마감재료) ①법 제52조제1항에 따라 영 제61조제1항 각 호의 건축물에 대하여는 그 거실의 벽 및 반자의 실내에 접하는 부분(반자돌림대ㆍ창대 기타 이와 유사한 것을 제외한다. 이하 이 조에서 같다)의 마감은 불연재료ㆍ준불연재료 또는 난연재료로 하여야 하며, 그 거실에서 지상으로 통하는 주된 복도ㆍ계단 기타 통로의 벽 및 반자의 실내에 접하는 부분의 마감은 불연재료 또는 준불연재료로 하여야 한다. <개정 2005.7.22., 2010.4.7., 2010.12.30.>
check(REFB_24_1){
KS}
KS{
(check(EDBA_61_1_1)=TRUE
OR check(EDBA_61_1_2)=TRUE
OR check(EDBA_61_1_3)=TRUE
OR check(EDBA_61_1_4)=TRUE)
OR check(EDBA_61_1_5)=TRUE)
OR check(EDBA_61_1_6)=TRUE)
OR check(EDBA_61_1_7)=TRUE)
AND (getObjectProperty(Room.Wall.Material.noncombustible)= TRUE
AND (getObjectProperty(CeilingCornice | WindowSill.Material.noncombustible)= TRUE
OR !(getObjectProperty(CeilingCornice | WindowSill.Material.noncombustiblel)= TRUE)
AND (isGoThrough(Room, Corridor | Stair | Passage,Ground)= TRUE
AND (isFireResistant(getWall(Corridor))=TRUE
AND isFireResistant(getWall(Stair))=TRUE
AND isFireResistant(getWall(Passage))=TRUE
AND isFireResistant(getObject(CeilingCovering))=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
)
}
1. 영 제61조제1항 각 호에 따른 용도에 쓰이는 거실 등을 지하층 또는 지하의 공작물에 설치한 경우의 그 거실(출입문 및 문틀을 포함한다)
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조 (건축물의 마감재료) 2항1호
check(REFB_24_2_1){
KS
}
KS{
Building myBuilding{
getResult(EDBA_61_1_1)=TRUE
OR getResult(EDBA_61_1_2)=TRUE
OR getResult(EDBA_61_1_3)=TRUE
OR getResult(EDBA_61_1_4)=TRUE
OR getResult(EDBA_61_1_5)=TRUE
OR getResult(EDBA_61_1_6)=TRUE
OR getResult(EDBA_61_1_7)=TRUE
}
Room myRoom{
getSpace(myBuilding.Room)
}
getFloorNumber(myRoom)<0
}
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
}
제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)
}
2. 단독주택 중 다중주택ㆍ다가구주택, 제2종 근린생활시설 중 인터넷컴퓨터게임시설제공업소(해당 용도로 쓰는 바닥면적의 합계가 300제곱미터 이상인 경우만 해당한다)ㆍ학원ㆍ독서실, 판매시설, 운수시설(여객용 시설만 해당한다), 의료시설(입원실이 없는 치과병원은 제외한다), 교육연구시설 중 학원, 노유자시설 중 아동 관련 시설ㆍ노인복지시설, 수련시설 중 유스호스텔 또는 숙박시설의 용도로 쓰는 3층 이상의 층으로서 그 층의 해당 용도로 쓰는 거실의 바닥면적의 합계가 200제곱미터 이상인 것
//건축법 시행령 34조 (직통계단의 설치) 2항2호
Check(EDBA_34_2_2){
Building myBuilding{
getBuildingUsage()="DentalClinic"
}
Space mySpace{
getSpaceUsage() = "Ward"
}
Floor myFloor1 {
getObjectProperty(Floor.number)>=3
getObjectUsage(Floor) = “DetachedHouse.MultiUserHouse”
OR getObjectUsage(Floor) = “DetachedHouse.MultiFamilyHouse”
OR getObjectUsage(Floor) = “ClassIINeighborhoodLivingFacility.EducationalInstitute”
OR getObjectUsage(Floor) = “ClassIINeighborhoodLivingFacility.ReadingRooms”
OR getObjectUsage(Floor) = “CommercialFacility”
OR getObjectUsage(Floor) = “TransportationFacility.PassengerTrafficFacilities”
OR ( getObjectUsage(Floor) = “MedicalFacility” ADN hasObject(myBuilding, mySpace)=TRUE )
OR getObjectUsage(Floor) = “EducationAndResearchFacility.EducationalInstitutes”
OR getObjectUsage(Floor) = “FacilitiesForTheAgedAndChildren.ChildrenRelatedFacilities”
OR getObjectUsage(Floor) = “EducationAndResearchFacility.WelfareFacilityForTheAged”
OR getObjectUsage(Floor) = “Trainingfacility.YouthHostel”
OR getObjectUsage(Floor) = “LodgingFacility”
}
Floor myFloor2{
getObjectUsage(Floor) = “ClassIINeighborhoodLivingFacility.FacilityForProvidingInternetComputerGameService”
}
getTotalFloorArea(myFloor1.Room)>= 200 m2
OR getTotalFloorArea(myFloor2.Room)>= 300 m2
}
4. 제1호부터 제3호까지의 용도로 쓰지 아니하는 3층 이상의 층으로서 그 층 거실의 바닥면적의 합계가 400제곱미터 이상인 것
//건축법 시행령 34조 (직통계단의 설치) 2항4호
check(EDBA_34_2_4){
IF getResult(EDBA_34_2_1)=FALSE
OR getResult(EDBA_34_2_2)=FALSE
OR getResult(EDBA_34_2_3)=FALSE
THEN getTotalFloorNumber(myFloor.Room)>=400 m2
END IF
}
4. 건축물의 최상층 또는 피난층으로서 대규모 회의장ㆍ강당ㆍ스카이라운지ㆍ로비 또는 피난안전구역 등의 용도로 쓰는 부분으로서 그 용도로 사용하기 위하여 불가피한 부분
//건축법 시행령 46조 (방화구획의 설치) 2항 4호
check(EDBA_46_2_4){
KS
}
KS{
Floor myFloor{
getObject(TopFloor)
OR isObjectProperty(Floor.isEscape)=TRUE
}
AND
(getSpaceUsage(myFloor.Space)="ConferenceRoom"
OR getSpaceUsage(myFloor.Space)="Hall"
OR getSpaceUsage(myFloor.Space)="SkyLounge"
OR getSpaceUsage(myFloor.Space)="Lobby"
OR isObjectProperty(Zone.isEgressSafetyZone)= TRUE
}
제51조(거실의 채광 등) ① 법 제49조제2항에 따라 단독주택 및 공동주택의 거실, 교육연구시설 중 학교의 교실, 의료시설의 병실 및 숙박시설의 객실에는 국토교통부령으로 정하는 기준에 따라 채광 및 환기를 위한 창문등이나 설비를 설치하여야 한다. <개정 2013.3.23.>
// 건축법 시행령 51조 (거실의 채광 등) 1항
check(EDBA_51_1){
IF CS THEN KS
}
CS{
getBuildingUsage() = "DetachedHouse.Room"
OR getBuildingUsage() = "MultiUnitHouse.Room"
OR getBuildingUsage() = "School.Classroom"
OR getBuildingUsage() = "MedicalFacility.Ward"
OR getBuildingUsage() = "LodgingFacility.GuestRoom"
}
KS{
hasElement(Window) = TRUE
}
제61조(건축물의 마감재료) ①법 제52조제1항에서 "대통령령으로 정하는 용도 및 규모의 건축물"이란 다음 각 호의 어느 하나에 해당하는 건축물을 말한다. 다만, 그 주요구조부가 내화구조 또는 불연재료로 되어 있고 그 거실의 바닥면적(스프링클러나 그 밖에 이와 비슷한 자동식 소화설비를 설치한 바닥면적을 뺀 면적으로 한다. 이하 이 조에서 같다) 200제곱미터 이내마다 방화구획이 되어 있는 건축물은 제외한다. <개정 2009.7.16., 2010.2.18., 2010.12.13., 2013.3.23., 2014.3.24., 2014.8.27., 2014.10.14.>
//건축법 시행령 61조 (건축물의 마감재료) 1항
Check(EDBA_61_1){
IF !CS THEN KS
}
CS{
(isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE)
isFirePartition(Room.Floor, a, 200)=TRUE
}
KS{
getResult(EDBA_61_1_1)=TRUE
OR getResult(EDBA_61_1_2)=TRUE
OR getResult(EDBA_61_1_3)=TRUE
OR getResult(EDBA_61_1_4)=TRUE
OR getResult(EDBA_61_1_5)=TRUE
OR getResult(EDBA_61_1_6)=TRUE
OR getResult(EDBA_61_1_7)=TRUE
}
1. 제2종 근린생활시설 중 공연장·종교집회장·인터넷컴퓨터게임시설제공업소(해당 용도로 쓰는 바닥면적의 합계가 각각 300제곱미터 이상인 경우만 해당한다), 문화 및 집회시설(예식장은 제외한다), 종교시설, 판매시설, 운수시설 및 위락시설(단란주점 및 주점영업은 제외한다)의 용도로 쓰는 건축물로서 그 용도로 쓰는 거실의 바닥면적의 합계가 200제곱미터(주요구조부가 내화구조 또는 불연재료로 된 건축물의 경우에는 400제곱미터) 이상인 건축물
Check(EDBA_61_1_1){
IF CS THEN KS
}
Floor myfloor1 {
isObjectProperty(ClassIINeighborhoodLivingFacility.PerformanceHall)=TRUE
OR isObjectProperty(ClassIINeighborhoodLivingFacility.ReligiousAssemblyFacility)=TRUE
OR isObjectProperty(ClassIINeighborhoodLivingFacility.ReligiousAssemblyFacility)=TRUE
AND getFloorArea()>=300
}
CS{
isExist(myfloor1)=TRUE
OR(getBuildingUsage()= "CulturalAndAssemblyFacility"
AND getBuildingUsage()!= "CulturalAndAssemblyFacility.WeddingHall")
OR getBuildingUsage()= "ReligiousFacility"
OR getBuildingUsage()= "CommercialFacility"
OR getBuildingUsage()= "TransportationFacility"
OR (getBuildingUsage()= "AmusementFacility"
OR (getBuildingUsage()!= "AmusementFacility.Pubs"
AND getBuildingUsage()!= "AmusementFacility.BarBusiness")
}
KS{
getFloorArea(Room)>=200m2
OR (isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE
getFloorArea(Room)>=400m2
}
2. 단독주택 중 다중주택·다가구주택, 공동주택, 제2종 근린생활시설 중 학원·독서실·다중생활시설, 숙박시설, 의료시설, 교육연구시설 중 학원, 노유자시설 중 아동 관련 시설·노인복지시설, 수련시설 중 유스호스텔, 업무시설 중 오피스텔 및 장례식장의 용도로 쓰는 건축물로서 3층 이상인 층의 그 용도로 쓰는 거실의 바닥면적의 합계가 200제곱미터(주요구조부가 내화구조 또는 불연재료로 된 건축물의 경우에는 400제곱미터) 이상인 건축물
Check(EDBA_61_1_2){
IF CS THEN KS1 OR KS2}
Building myBuilding{
getBuildingUsage()="DetachedHouse.Multi-userHouses"
OR getBuildingUsage()="DetachedHouse.Multi-familyHouses"
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.EducationalInstitute"
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.ReadingRooms
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.CommunalLivingFacility
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.LodgingFacility"
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.MedicalFacility"
OR getBuildingUsage()="EducationAndResearchFacility.EducationalInstitute"
OR getBuildingUsage()="BusinessFacility.Oofficetels"
OR getBuildingUsage()="FuneralParlors"
}
MBU = getObjectUsage(myBuilding)
CS{
getBuildingUsage() = MBU
Floor myfloor{
Floor.number>=3
}
KS1{
(Floor.number>=3
AND getTotalfloorarea(Room)>=200m2)
KS2{isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE
AND Floor.number>=3
getTotalfloorarea(Room)>=200m2
}
6. 제2종 근린생활시설 중 공연장·당구장, 문화 및 집회시설 중 예식장, 교육연구시설 중 학교(초등학교만 해당한다), 수련시설, 위락시설 중 주점영업 또는 「다중이용업소의 안전관리에 관한 특별법 시행령」 제2조에 따른 다중이용업(유흥주점영업은 제외한다)의 용도로 쓰는 건축물
Check(EDBA_61_1_6){
KS}
KS{
(getBuildingUsage()="ClassIINeighborhoodLivingFacility.PerformanceHall"
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.BilliardRoom")
OR getBuildingUsage()="CulturalAndAssemblyFacility.WeddingHall"
OR getBuildingUsage()="EducationAndResearchFacility.ElementarySchool"
OR getBuildingUsage()="Trainingfacility"
OR (getBuildingUsage()="AmusementFacility.BarBusiness"
OR getResult(ERSASP_2)= TRUE)
}
② 이산화탄소 또는 할로겐화합물(할론 1301과 청정소화약제를 제외한다)을 방사하는 소화기구(자동확산소화장치를 제외한다)는 지하층이나 무창층 또는 밀폐된 거실로서 그 바닥면적이 20㎡ 미만의 장소에는 설치할 수 없다. 다만, 배기를 위한 유효한 개구부가 있는 장소인 경우에는 그러하지 아니하다.<개정 2008.12.15, 2012.6.11>
//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 2항
Check(NFSC101_4_2){
KS
}
KS{
FireExtinguisher myFireExtinguisher{
getObjectProperty(FireExtinguishingEquipment.extinguishingAgentType) = "GasType"
}
Space mySpace{
(getFloorNumber(Space) = -1
OR hasSpace(Space, Window) = FALSE
OR isObjectProperty(Room.isEnclosed)=TRUE)
getObjectProperty(Space.FloorSlab) < 20 m2
}
getSpace(mySpace, myFireExtinguisher) = FALSE
}
3. 비상콘센트의 배치는 아파트 또는 바닥면적이 1,000㎡ 미만인 층은 계단의 출입구(계단의 부속실을 포함하며 계단이 2 이상 있는 경우에는 그중 1개의 계단을 말한다)로부터 5m이내에, 바닥면적 1,000㎡ 이상인 층(아파트를 제외한다)은 각 계단의 출입구 또는 계단부속실의 출입구(계단의 부속실을 포함하며 계단이 3 이상 있는 층의 경우에는 그중 2개의 계단을 말한다)로부터 5m이내에 설치하되, 그 비상콘센트로부터 그 층의 각 부분까지의 거리가 다음 각 목의 기준을 초과하는 경우에는 그 기준 이하가 되도록 비상콘센트를 추가하여 설치할 것<개정 2012.8.20>
// 비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 5항 3호
Check(NFSC504_4_5_3){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
Building myBuilding{
getBuildingUsage() = "ApartmentHouse"
}
Floor myFloor{
getFloorArea(Floor) < 1000m2
}
Floor myFloor2{
hasSpace(myBuilding, Floor) = TRUE
}
isExist(myFloor) = TRUE
OR isExist(myFloor2) = TRUE
}
KS1{
Door myDoor{
isObjectProperty(Door.isEntrance) = TRUE
}
getObjectDistance(myDoor.Stair.Space, EmergencyPowerOutlet) < 5m
OR getObjectDistance(myDoor.Stair.AncillaryRoom, EmergencyPowerOutlet) < 5m
}
CS2{
Building myBuilding{
getBuildingUsage() = "ApartmentHouse"
}
Floor myFloor{
getFloorArea(Floor) >= 1000m2
hasSpace(myBuilding, Floor) = FALSE
}
isExist(myFloor) = TRUE
}
KS2{
Door myDoor{
isObjectProperty(Door.isEntrance) = TRUE
}
getObjectDistance(myDoor.Stair.Space, EmergencyPowerOutlet) < 5m
OR getObjectDistance(myDoor.Stair.AncillaryRoom, EmergencyPowerOutlet) < 5m
}
Check(NFCS103){
KS
}
KS{
getSpaceUsage()="Officetels.BedRoom"
OR getSpaceUsage()="LodgingFacility.BedRoom"
OR getSpaceUsage()="Hospital.HospitalRoom"
}
1. 계단실(특별피난계단의 부속실을 포함한다)·경사로·승강기의 승강로·비상용승강기의 승강장·파이프덕트 및 덕트피트(파이프·덕트를 통과시키기 위한 구획된 구멍에 한한다)·목욕실·수영장(관람석부분을 제외한다)·화장실·직접 외기에 개방되어 있는 복도·기타 이와 유사한 장소<개정 2008.12.15, 2011.11.24>
// 스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 1호
Check(NFSC103_15_1_1){
KS
}
KS{
getBuildingUsage() = "Stair.Space"
OR getSpaceUsage() = "Ramp"
OR getSpaceUsage() = "Elevator.ElevatorShaft"
OR getSpaceUsage() = "EmergencyElevatorPlatform"
OR getObjectProperty(Duct.isPipeDuct) = TRUE
OR getObjectProperty(Pit.isPipePit) = TRUE
OR getBuildingUsage() = "BathRoom"
OR getBuildingUsage() = "SwimmingPool"
OR getBuildingUsage() = "Toilet"
}
4. 송수구로부터 연결송수관설비의 주배관에 이르는 연결배관에 개폐밸브를 설치한 때에는 그 개폐상태를 쉽게 확인 및 조작할 수 있는 옥외 또는 기계실 등의 장소에 설치할 것. 이 경우 개폐밸브에는 그 밸브의 개폐상태를 감시제어반에서 확인할 수 있도록 급수개폐밸브 작동표시 스위치를 다음 각 목의 기준에 따라 설치하여야 한다. <개정 2014.8.18>
2. 방수구는 아파트 또는 바닥면적이 1,000㎡ 미만인 층에 있어서는 계단(계단의 부속실을 포함하며 계단이 2 이상 있는 경우에는 그 중 1개의 계단을 말한다)으로부터 5m 이내에, 바닥면적 1,000㎡ 이상인 층(아파트를 제외한다)에 있어서는 각 계단(계단의 부속실을 포함하며 계단이 3 이상 있는 층의 경우에는 그 중 2개의 계단을 말한다)으로부터 5m 이내에 설치하되, 그 방수구로부터 그 층의 각 부분까지의 거리가 다음 각목의 기준을 초과하는 경우에는 그 기준 이하가 되도록 방수구를 추가하여 설치할 것
//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 2호
Check(NFSC502_6_0_2){
KS
}
KS{
Space mySpce{
getSpaceUsage(Space)="Stair.AncillaryRoom"
OR
(
IF getObjectCoutn(Stair)>=2
THEN getSpace(Stair.One)
ELSE
getSpaceUsage(Space)="Stair"
END IF
)
}
Space mySpce2{
getSpaceUsage(Space)="Stair.AncillaryRoom"
OR
(
IF getObjectCoutn(Stair)>=3
THEN getSpace(Stair.Two)
ELSE
getSpaceUsage(Space)="Stair"
END IF
)
}
IF getBuildingUsage()="ApartmentHouse"
OR getFloorArea()<1000 m2
THEN getObjectDistance(FireDepartmentConnection, mySpace)<5 m
ELSE IF getFloorArea()>1000 m2
THEN getObjectDistance(FireDepartmentConnection, mySpace)<5 m
getResult(NFSC502_6_0_2_가)=True
getResult(NFSC502_6_0_2_나)=True
END IF
}