1
19380
건축물의 설비기준 등에 관한 규칙 제 10조 2호 나 목
나. 승강장은 각층의 내부와 연결될 수 있도록 하되, 그 출입구(승강로의 출입구를 제외한다)에는 갑종방화문을 설치할 것. 다만, 피난층에는 갑종방화문을 설치하지 아니할 수 있다.
//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 나목
Check(RFB_10_0_2_나){
KS1 AND IF !(CS) THEN KS2
}
Space mySpace{
hasObject(Floor,Space)=TRUE
isAccessible(Platform,Space) = TRUE
}
KS1{
isExist(mySpace)=TRUE
}
CS{
isAccessible(Platform, myFloor) = TRUE
}
KS2{
Door myDoor{
hasSpace( Platform, Door) =TRUE
hasSpace( mySpace, Door) =TRUE
Door != ElevatorShaft.Opening
}
isObjectProperty(myDoor.isStrictFireproofDoor)= TRUE
}
Python Code 변환 예정
Modify
2
19388
건축물의 설비기준 등에 관한 규칙 제 13조 1 항 1호
1. 보일러는 거실외의 곳에 설치하되, 보일러를 설치하는 곳과 거실사이의 경계벽은 출입구를 제외하고는 내화구조의 벽으로 구획할 것
// 건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 1호
Check(RFB_13_1_1){
KS
}
KS{
hasSpace( Room, Boiler) = FALSE
Room myRoom{
hasSpace( Room, Boiler) = TRUE
}
Room myRoom2{
hasAdjacent(myRoom, Room) = TRUE
}
Wall myWall{
isPartitioned(myRoom, myRoom2, Wall) = TRUE
hasObject(Wall, Door.isEntrance) = FALSE
isObjectProperty(Wall.isfireResistantStructure) = TRUE
}
isExist(myWall) = TRUE
}
Python Code 변환 예정
Modify
3
19390
건축물의 설비기준 등에 관한 규칙 제 13조 1 항 5호
5. 기름보일러를 설치하는 경우에는 기름저장소를 보일러실외의 다른 곳에 설치할 것
// 건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 5호
Check(RFB_13_1_5){
IF CS THEN KS
}
CS{
isObjectProperty(Boiler.isOilBoiler) = FALSE
}
KS{
Space mySpace1{
getSpaceUsage(Space) = "BoilerRoom"
}
Space mySpace2{
getSpaceUsage(Space) = "OilStorageFacilities"
}
hasSpace( mySpace1, mySpace2) = FALSE
}
Python Code 변환 예정
Modify
4
24964
건축물의 설비기준 등에 관한 규칙 제 17조의2조 1 항
① 다음 각 호의 어느 하나에 해당하는 지역에서 연면적 1만제곱미터 이상의 건축물을 건축하려는 자는 빗물 등의 유입으로 건축물이 침수되지 아니하도록 해당 건축물의 지하층 및 1층의 출입구(주차장의 출입구를 포함한다)에 차수판(遮水板) 등 해당 건축물의 침수를 방지할 수 있는 설비(이하 "차수설비"라 한다)를 설치하여야 한다. 다만, 법 제5조제1항에 따른 허가권자가 침수의 우려가 없다고 인정하는 경우에는 그러하지 아니하다.
// 건축물의 설비기준 등에 관한 규칙 17조의2 (차수설비) 1항
Check(RFB_17-2_1){
IF CS THEN KS
}
CS{
getResult(RFB_17-2_1_1) = TRUE
OR getResult(RFB_17-2_1_2) = TRUE
getGrossFloorArea() >= 10000m2
}
KS{
Floor myFloor{
getObjectProperty(Floor.number) <0
}
hasSpace( myFloor,WaterCutoffSystem) = TRUE
}
Python Code 변환 예정
Modify
5
25134
건축물의 설비기준 등에 관한 규칙 제 14조 1 항 1호
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
}
}
Python Code 변환 예정
Modify
6
25135
건축물의 설비기준 등에 관한 규칙 제 14조 1 항 2호
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
}
Python Code 변환 예정
Modify
7
72659
건축물의 에너지절약설계기준 제 5조 10호 나 목
나. "효율”이라 함은 설비기기에 공급된 에너지에 대하여 출력된 유효에너지의 비를 말한다.
// 비상경보설비의 화재안전기준 (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
Python Code 변환 예정
Modify
8
72664
건축물의 에너지절약설계기준 제 5조 10호 사 목
사. "고효율원심식냉동기”라 함은 원심식냉동기 중 고효율인증제품 또는 동등 이상의 성능을 가진 것을 말한다.
// 비상경보설비의 화재안전기준(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
}
Python Code 변환 예정
Modify
9
72665
건축물의 에너지절약설계기준 제 5조 10호 아 목
아. "심야전기를 이용한 축열·축냉시스템”이라 함은 심야시간에 전기를 이용하여 열을 저장하였다가 이를 난방, 온수, 냉방 등의 용도로 이용하는 설비로서 한국전력공사에서 심야전력기기로 인정한 것을 말한다.
// 비상경보설비의 화재안전기준(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
}
Python Code 변환 예정
Modify
10
72667
건축물의 에너지절약설계기준 제 5조 10호 차 목
차. "이코노마이저시스템”이라 함은 중간기 또는 동계에 발생하는 냉방부하를 실내 엔탈피 보다 낮은 도입 외기에 의하여 제거 또는 감소시키는 시스템을 말한다.
// 비상콘센트설비의 화재안전기준(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"
}
Python Code 변환 예정
Modify
11
72672
건축물의 에너지절약설계기준 제 5조 11호 나 목
나. "역률개선용콘덴서”라 함은 역률을 개선하기 위하여 변압기 또는 전동기 등에 병렬로 설치하는 콘덴서를 말한다.
// 비상콘센트설비의 화재안전기준(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
}
Python Code 변환 예정
Modify
12
72759
건축물의 에너지절약설계기준 제 7조 2호 나 목
나. 건축물의 체적에 대한 외피면적의 비 또는 연면적에 대한 외피면적의 비는 가능한 작게 한다.
//스프링클러설비의 화재안전기준(nfsc 103) 11조 (송수구) 2호
Check(NFSC103_11_0_2){
IF CS THEN KS
}
CS{
Port myPort{
isObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
}
Pipe myPipe{
isObjectProperty(Pipe.isRiser)=TRUE
}
Valve myValve{
isObjectProperty(Valve.isShutoffValve)=TRUE
}
isConnectedTo(myPort,Pipe)=TRUE
isConnectedTo(Pipe,myPipe)=TRUE
isInstalled(Pipe, myValve) = TRUE
}
KS{
Space mySpace{
isObjectProperty(Space.usage) = "MachineRoom"
}
isExternal(myValve)=TRUE
OR hasSpace( mySpace,myValve)=TRUE
Python Code 변환 예정
Modify
13
72787
건축물의 에너지절약설계기준 제 8조 2호 다 목
다. 기기배관 및 덕트는 국토교통부에서 정하는 「건축기계설비공사표준시방서」의 보온두께 이상 또는 그 이상의 열저항을 갖도록 단열조치를 하여야 한다. 다만, 건축물내의 벽체 또는 바닥에 매립되는 배관 등은 그러하지 아니할 수 있다.
// 스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 14호
Check(NFSC103_15_1_14){
KS
}
KS{
(getBuildingUsage() = "Indoor.TennisCourts"
OR getBuildingUsage() = "Indoor.게이트볼장"
OR getBuildingUsage() = "Indoor.정구장")
(getObjectProperty(Floor.InteriorFinish.Material.nonCombustibility) = TRUE
OR getObjectProperty(Floor.InteriorFinish.Material.quasiNonCombustibility) TRUE)
(getObjectProperty(Wall.InteriorFinish.Material.nonCombustibility) = TRUE
OR getObjectProperty(Wall.InteriorFinish.Material.quasiNonCombustibility) TRUE)
(getObjectProperty(Ceiling.InteriorFinish.Material.nonCombustibility) = TRUE
OR getObjectProperty(Ceiling.InteriorFinish.Material.quasiNonCombustibility) TRUE)
isObjectProperty(Space.hasCombustible) = FALSE
hasSpace( Auditorium, SportsFacility) = FALSE
getObjectProperty(Floor.number) > 0
}
Python Code 변환 예정
Modify
14
72798
건축물의 에너지절약설계기준 제 9조 2호 바 목
바. 냉방기기는 전력피크 부하를 줄일 수 있도록 하여야 하며, 상황에 따라 심야전기를 이용한 축열·축냉시스템, 가스 및 유류를 이용한 냉방설비, 집단에너지를 이용한 지역냉방방식, 소형열병합발전을 이용한 냉방방식, 신·재생에너지를 이용한 냉방방식을 채택한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 5호(수원)
Check(NFSC503A_4_5){
IF CS THEN KS
}
CS{
Space mySpace{
isExternal(Space) = FALSE
}
hasSpace( mySpace,Tank) = TRUE
KS{
hasSpace( mySpace,LightingSystem) = TRUE
}
Python Code 변환 예정
Modify
15
72811
건축물의 에너지절약설계기준 제 9조 6호 가 목
가. 위생설비 급탕용 저탕조의 설계온도는 55℃ 이하로 하고 필요한 경우에는 부스터히터 등으로 승온하여 사용한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 3항 1호
Check(NFSC503A_5_3_1){
KS
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType) = "ElevatedWaterTank"
}
Head myHead{
hasSpace( TopFloor,Head) = TRUE
}
getObjectVerticalDistance(myTank.BottomSurface,myHead) >= Pipe.frictionHeadLossH + 10m
}
Python Code 변환 예정
Modify
16
72821
건축물의 에너지절약설계기준 제 10조 3호 나 목
나. 안정기는 해당 형광램프 전용안정기를 사용하여야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치)
Check(NFSC503A_6){
IF CS THEN KS
}
ParkingLot myParkingLot{
hasSpace( SpecificFireFightingBuilding, ParkingLot) = TRUE
}
CS{
isInstalled(SimpleSprinklerSystem, SpecificFireFightingBuilding) = TRUE
}
KS{
getObjectProperty(SprinklerSystem.type) != "WetPipeSprinklerSystem"
}
Python Code 변환 예정
Modify
17
25209
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 3호 바 목
바. 계단실에는 노대 또는 부속실에 접하는 부분외에는 건축물의 내부와 접하는 창문등을 설치하지 아니할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 바목
check (REFB_9_2_3_6){
CS TEHN KS
}
CS{
isExist(Stair.Space)=TRUE
KS{
Space mySpace1{
getSpace(“Balcony”)
getSpace(“AncillaryRoom”)
hasObject(Stair.Space, Space)=TRUE
}
Space mySpace2{
isExternal(Space)=FALSE
}
Opening myOpening {
getObject(Stair.Space.Opening) + getObject(mySpace2.Opening) + getObject(mySpace1.Opening)
}
hasSpace( Stair.Space, myOpening) = TRUE
Python Code 변환 예정
Modify
18
25211
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 3호 아 목
아. 노대 및 부속실에는 계단실외의 건축물의 내부와 접하는 창문등(출입구를 제외한다)을 설치하지 아니할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 아목
check (REFB_9_2_3_8){
IF (CS) TEHN KS
}
CS{
Space mySpace1 {
getSpace(“Balcony”)
getSpace(“AncillaryRoom”)
}
isExist(mySpace1)=TRUE
}
KS{
Space mySpace2{
isExternal(Space)=FALSE
}
Opening myOpening {
getObject(mySpace2.Opening)
getObject(Stair.Space.Opening)
}
hasSpace( mySpace1,myOpening)= FALSE
}
Python Code 변환 예정
Modify
19
25337
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 25조 1 항 1호
1. 거실의 바닥면적이 50제곱미터 이상인 층에는 직통계단외에 피난층 또는 지상으로 통하는 비상탈출구 및 환기통을 설치할 것. 다만, 직통계단이 2개소 이상 설치되어 있는 경우에는 그러하지 아니하다.
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 1항 1호
check(REFB_25_1_1){
IF !(CS) THEN KS
}
KS{
Floor myFloor1{
hasSpace( Floor,Room) = TRUE
getTotalArea(Room) >= 50 m2
}
Floor myFloor2{
isObjectProperty(Floor.isEscape) = TRUE
}
Door myDoor{
isObjectProperty(Door.functionType) = "Emergency"
(isDirectlyAccessible(Door, myFloor2) = TRUE
OR isDirectlyAccessible(Door, Ground) = TRUE)
}
hasSpace( myFloor1, myDoor)
OR (hasSpace( myFloor1, VentilatorPipe) = TRUE
(isDirectlyAccessible(VentilatorPipe, myFloor2) = TRUE
OR isDirectlyAccessible(VentilatorPipe, Ground) = TRUE))
}
CS{
Floor myFloor1{
hasSpace( Floor,Room) = TRUE
getTotalArea(Room) >= 50 m2
}
Stair myStair{
isObjectProperty(Stair.isDirect) = TRUE
hasSpace( myFloor1, Stair) = TRUE
}
getObjectCount(myStair) >= 2
}
Python Code 변환 예정
Modify
20
25339
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 25조 1 항 2호
2. 바닥면적이 1천제곱미터이상인 층에는 피난층 또는 지상으로 통하는 직통계단을 영 제46조의 규정에 의한 방화구획으로 구획되는 각 부분마다 1개소 이상 설치하되, 이를 피난계단 또는 특별피난계단의 구조로 할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 1항 2호
check(REFB_25_1_2){
IF CS THEN KS
}
CS{
getTotalFloorArea(Floor) >= 1000 m2
}
KS{
Floor myFloor{
isObjectProperty(Floor.isEscape) = TRUE
}
Stair myStair{
isObjectProperty(Stair.isDirect) = TRUE
(isDirectlyAccessible(Stair, Ground) = TRUE
OR isDirectlyAccessible(Stair, myFloor) = TRUE)
(isObjectProperty(Stair.isEscape) = TRUE
OR isObjectProperty(Stair.isSpecialEscape) = TRUE)
}
Zone myZone{
isObjectProperty(Zone.isFirePartition) = TRUE
}
hasSpace( myZone, myStair) = TRUE
}
Python Code 변환 예정
Modify
21
25399
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조의2조 1 항
① 영 제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
}
Python Code 변환 예정
Modify
22
36614
건축법 시행령 제 46조 2 항 5호
5. 복층형 공동주택의 세대별 층간 바닥 부분
//건축법 시행령 46조 (방화구획의 설치) 2항 5호
check(EDBA_46_2_5){
Zone myZone{
isObjectProperty(Zone.isOccupiedByOneHousehold) = TRUE
}
getBuildingUsage() = "DuplexMultiUnitHouses"
hasSpace( myZone, Floor) = TRUE
getFloorNumber(Floor) != 1
}
Python Code 변환 예정
Modify
23
36635
건축법 시행령 제 51조 2 항
② 법 제49조제2항에 따라 6층 이상인 건축물로서 문화 및 집회시설, 종교시설, 판매시설, 운수시설, 의료시설, 교육연구시설 중 연구소, 노유자시설 중 아동 관련 시설·노인복지시설, 수련시설 중 유스호스텔, 운동시설, 업무시설, 숙박시설, 위락시설, 관광휴게시설 및 장례식장의 거실에는 국토해양부령으로 정하는 기준에 따라 배연설비(排煙設備)를 하여야 한다. 다만, 피난층인 경우에는 그러하지 아니하다.
//건축법 시행령 51조 (거실의 채광 등) 2항
Check(EDBA_51_2){
IF (!CS1 AND CS2) THEN KS
}
CS1{
Floor myFloor{
isObjectProperty(Floor.isEscape) = TRUE
}
getFloorNumber(Room) = getFloorNumber(myFloor)
}
CS2{
getBuildingStoriesCount() >= 6
getResult(EDBA_51_2_1) = True
OR getResult(EDBA_51_2_2) = True
OR getResult(EDBA_51_2_3) = True
OR getResult(EDBA_51_2_4) = True
OR getResult(EDBA_51_2_5) = True
OR getResult(EDBA_51_2_6) = True
OR getResult(EDBA_51_2_7) = True
OR getResult(EDBA_51_2_8) = True
OR getResult(EDBA_51_2_9) = True
OR getResult(EDBA_51_2_10) = True
OR getResult(EDBA_51_2_11) = True
OR getResult(EDBA_51_2_12) = True
OR getResult(EDBA_51_2_13) = True
OR getResult(EDBA_51_2_14) = True
OR getResult(EDBA_51_2_15) = True
}
KS{
hasSpace( Room, SmokeExhaustionSystem) = True
getResult(RFB_14_1) = True
getResult(REFB_17_1) = True
getResult(REFB_17_2) = True
}
Python Code 변환 예정
Modify
24
37042
건축법 시행령 제 56조 1 항
① 법 제50조제1항에 따라 다음 각 호의 어느 하나에 해당하는 건축물(제5호에 해당하는 건축물로서 2층 이하인 건축물은 지하층 부분만 해당한다)의 주요구조부는 내화구조로 하여야 한다. 다만, 연면적이 50제곱미터 이하인 단층의 부속건축물로서 외벽 및 처마 밑면을 방화구조로 한 것과 무대의 바닥은 그러하지 아니하다. <개정 2009.6.30>
//건축법 시행령 56조 (건축물의 내화구조) 1항
check(EDBA_56_1){
IF !CS THEN KS
}
Space mySpace{
Space.usage="StagePart"
}
Floor myFloor{
hasSpace( mySpace, Floor) = TRUE
}
CS {
getTotalFloorArea()<= 50m2
AND getBuildingStoriesCount()=1
AND getBuildingUsage()="AccessoryBuidling"
AND isFireProofStructure("OuterWall" | "eaves" | myFloor)=TRUE
}
KS {
getResult(EDBA_56_1_1 = TRUE
OR getResult(EDBA_56_1_2) = TRUE
OR getResult(EDBA_56_1_3) = TRUE
OR getResult(EDBA_56_1_4) = TRUE
OR getResult(EDBA_56_1_5) = TRUE
AND isFireProofStructure(MainStructuralPart) = TRUE
}
Python Code 변환 예정
Modify
25
19905
소화기구 및 자동소화장치의 화재안전기준(NFSC 101) 제 4조 7호
7. 주방용자동소화장치는 아파트의 각 세대별 주방 및 오피스텔의 각실 별 주방에 다음 각 목의 기준에 따라 설치할 것<개정 2012.6.11>
//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 7호
Check(NFSC101_4_1_7){
IF CS THEN KS
}
CS{
Space mySpace{
getSpaceUsage() = "Kitchen"
}
}
KS{
AutomaticFireExtinguishingEquipment myAutomaticFireExtinguishingEquipment{
isObjectProperty(AutomaticFireExtinguishingEquipment.isKitchenType) = TRUE
}
hasSpace( mySpace,myAutomaticFireExtinguishingEquipment) = TRUE
getResult(NFSC101_4_1_7_3)=TRUE
}
Python Code 변환 예정
Modify
26
19910
소화기구 및 자동소화장치의 화재안전기준(NFSC 101) 제 4조 2 항
② 이산화탄소 또는 할로겐화합물(할론 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
}
Python Code 변환 예정
Modify
27
19958
연결살수설비의 화재안전기준(NFSC 503) 제 6조 4 항
④가연성 가스의 저장·취급시설에 설치하는 연결살수설비의 헤드는 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 지하에 설치된 가연성가스의 저장·취급시설로서 지상에 노출된 부분이 없는 경우에는 그러하지 아니하다. <개정 2012.8.20>
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 4항
Check(NFSC503_6_4){
IF !(CS) THEN KS
}
CS{
getFloorElevationHeight(?) = A
getSpaceHeight(?) = B
A + B <= 0
}
KS{
hasSpace( ?, HookingUpSprinklerSystem.Head) = TRUE
getResult(NFSC503_6_4_1) = TRUE
getResult(NFSC503_6_4_2) = TRUE
}
Python Code 변환 예정
Modify
28
20443
자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7조 3 항 10호 나 목
나. 감지기는 복도 및 통로에 있어서는 보행거리 30m(3종에 있어서는 20m)마다, 계단 및 경사로에 있어서는 수직거리 15m(3종에 있어서는 10m)마다 1개 이상으로 할 것
// 자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 10호 나목
Check(NFSC203_7_3_10_2){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
hasSpace( Corridor, SmokeSensor) = TRUE
OR hasSpace( Passage, SmokeSensor) = TRUE
}
KS1{
getObjectInterval(SmokeSensor) <= 30m
}
CS2{
hasSpace( Stair, SmokeSensor) = TRUE
OR hasSpace( Ramp, SmokeSensor) = TRUE
}
KS2{
getObjectInterval(SmokeSensor) <= 15m
}
Python Code 변환 예정
Modify
29
19999
장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 시행령 제 별표2조
1. 삭제 <2006.1.19>
2. 공원<표-EDCDAPA_*_2_T1>
(편의시설의 종류
:설치기준)
가. 장애인 등의 출입이 가능한 출입구
:공원 외부에서 내부로 이르는 출입구는 주출입구를 포함하여 적어도 하나 이상을 장애인등의 출입이 가능하도록 유효폭·형태 및 부착물 등을 고려하여 설치하여야 한다.
나. 장애인등의 통행이 가능한 보도
:공원시설(공중이 직접 이용하는 시설에 한한다)에 접근할 수 있는 공원안의 보도중 적어도 하나는 장애인등이 통행할
// 장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 별표2 대상시설별 편의시설의 종류 및 설치기준(제4조관련)
Check(EDCDAPA_*_2_3_가_2_가){
IF CS1 AND CS2 THEN KS
}
ParkingLot myParkingLot{
isObjectProperty(ParkingLot.isAttachedParking) = TRUE
}
CS1 {
isExist(myParkingLot) = TRUE
}
CS2 {
getObjectProperty(myParkingLot.numberOfParkingUnit) >= 10
}
KS1 {
Area myArea{
isObjectProperty(ParkingLotArea.isHandicapParking)=TRUE
}
hasSpace( myParkingLot, myArea) = TRUE
getResult(EDPA_*_1) = TRUE
}
Check(EDCDAPA_*_2_3_가_4_가){
KS1 IF CS1 THEN KS2
}
Door myDoor1{
isObjectProperty(Door.isEntrance)=TRUE
isObjectProperty(myDoor1.isHandicapAccessible)=TRUE
}
Door myDoor2{
Door.Space.usage = “Office”
isObjectProperty(myDoo2.isHandicapAccessible)=TRUE
}
KS1 {
isExist(myDoor1) = TRUE
isExist(myDoor2) = TRUE
}
CS1{
Building.usage = “BusinessFacility.GovernmentOfficeBuilding”
Building.usage != “ClassINeighborhoodLivingFacility”
}
KS2 {
isObjectProperty(myDoor1.isAutomatic)=TRUE
isObjectProperty(myDoo2.isAutomatic)=TRUE
}
ParkingLot myParkingLot{
isObjectProperty(ParkingLotArea.isHandicapParking)=TRUE
}
Building myBuilding1_1{
Building.usage = “ClassINeighborhoodLivingFacility.RetailStore”
Building.usage = “ClassINeighborhoodLivingFacility.Barbershop”
Building.usage = “ClassINeighborhoodLivingFacility.BeautyShop”
Building.usage = “ClassINeighborhoodLivingFacility.Bathhouse”
}
Building myBuilding1_2{
Building.usage = “ClassINeighborhoodLivingFacility.CommunityCenter”
Building.usage = “ClassINeighborhoodLivingFacility.PoliceBox”
Building.usage = “ClassINeighborhoodLivingFacility.PoliceSubstation”
Building.usage = “ClassINeighborhoodLivingFacility.PostOffice”
Building.usage = “ClassINeighborhoodLivingFacility.HealthCenter”
Building.usage = “ClassINeighborhoodLivingFacility.PublicLibrary”
Building.usage = “ClassINeighborhoodLivingFacility.NationalHealthInsuranceService_NationalPensionService_Korea EmploymentAgencyForTheDisabled_KoreaWorkersCompensationAndWelfareServiceOffice”
}
Building myBuilding1_3{
Building.usage = “ClassINeighborhoodLivingFacility.Clinic_ DentalClinic_OrientalMedicalClinic_MaternityClinic”
}
Building myBuilding1_4{
Building.usage = “ClassINeighborhoodLivingFacility.CommunityChildCenter”
Building.facilityArea >= 300 m2
}
Building myBuilding1_5{
Building.usage = “ClassINeighborhoodLivingFacility.Shelter”
}
Building myBuilding1_6{
Building.usage = “ClassINeighborhoodLivingFacility.PublicToilet”
}
Building myBuilding2_1{
Building.usage = “ClassIINeighborhoodLivingFacility.Restaurant”
Building.usage = “ClassIINeighborhoodLivingFacility.RestingRestaurant”
Building.usage = “ClassIINeighborhoodLivingFacility.Bakery”
Building.usage != “ClassINeighborhoodLivingFacility”
Building.facilityArea >= 300 m2
}
Building myBuilding2_2{
Building.usage = “ClassIINeighborhoodLivingFacility.MassageParlor”
}
Building myBuilding3_1{
Building.usage = “CulturalAndAssemblyFacility.PerformanceHall”
Building.usage = “CulturalAndAssemblyFacility.Auditorium”
}
Building myBuilding3_2{
Building.usage = “CulturalAndAssemblyFacility.AssemblyHall”
}
Building myBuilding3_3{
Building.usage = “CulturalAndAssemblyFacility.ExhibitionHall”
Building.usage = “CulturalAndAssemblyFacility.ZoologicalAndBotanicalGarden”
}
Building myBuilding4_1{
Building.usage = “ReligiousFacility.ReligiousAssemblyFacility”
Building.facilityArea >= 500 m2
}
Building myBuilding5_1{
Building.usage = “CommercialFacility.WholesaleMarket”
Building.usage = “CommercialFacility.RetailMarket”
Building.usage = “CommercialFacility.Shop”
Building.facilityArea >= 1000 m2
}
Building myBuilding6_1{
Building.usage = “MedicalFacility.Hospital”
Building.usage = “MedicalFacility.DetentionHospital”
}
Building myBuilding7_1{
Building.usage = “EducationAndResearchFacility.School”
Building.usage = “EducationAndResearchFacility.SpecialSchool”
Building.usage != “EducationAndResearchFacility.Kindergarten”
}
Building myBuilding7_2{
Building.usage = “EducationAndResearchFacility.Kindergarten”
}
Building myBuilding7_3{
Building.usage = “EducationAndResearchFacility.TrainingInstitute”
Building.usage = “EducationAndResearchFacility.VocationalTrainingCenter”
Building.usage != “EducationAndResearchFacility.EducationalInstitute”
Building.facilityArea >= 500 m2
}
Building myBuilding8_1{
Building.usage = “FacilitiesForTheAgedAndChildren.ChildrenRelatedFacility”
Building.usage = “FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged”
Building.usage = “FacilitiesForTheAgedAndChildren.SocialWelfareFacility”
Building.usage = “경로당”
Building.usage = “ResidentialFacilityForTheDisabled”
Building.facilityArea >= 500 m2
}
Building myBuilding9_1{
Building.usage = “Trainingfacility.TrainingFacilityInLivingZone”
Building.usage = “Trainingfacility.TrainingFacilityInNatureZone”
}
Building myBuilding10_1{
Building.usage = “SportsFacility”
Building.facilityArea >= 500 m2
}
Building myBuilding11_1{
Building.usage = “BusinessFacility.GovernmentOfficeBuilding”
Building.facilityArea >= 500 m2
}
Building myBuilding11_2{
Building.usage = “BusinessFacility.FinanceBusiness”
Building.usage = “BusinessFacility.Office”
Building.usage = “BusinessFacility.NewspaperOffice”
Building.usage = “BusinessFacility.Officetel”
Building.facilityArea >= 500 m2
}
Building myBuilding12_1{
Building.usage = “LodgingFacility.GeneralLodgingFacility”
}
Building myBuilding12_2{
Building.usage = “LodgingFacility.TouristAccommodation”
}
Building myBuilding13_1{
Building.usage = “Factory”
}
Building myBuilding14_1{
Building.usage = “FacilityForMotorVehicle.ParkingLot”
Building.usage = “FacilityForMotorVehicle.DrivingSchool”
}
Building myBuilding15_1{
Building.usage = “FacilityForBroadcastingAndTelecommunication.BroadcastingStation”
Building.facilityArea >= 1000 m2
}
Building myBuilding15_2{
Building.usage = “FacilityForBroadcastingAndTelecommunication.TelegraphAndTelephoneStation”
Building.facilityArea >= 1000 m2
}
Building myBuilding16_1{
Building.usage = “CorrectionalFacilityAndMilitaryInstallation.Prison”
Building.usage = “CorrectionalFacilityAndMilitaryInstallation.DetentionCenter”
}
Building myBuilding17_1{
Building.usage = “CemeteryAndRelatedFacility.CremationFacility”
Building.usage = “CemeteryAndRelatedFacility.CharnelHouse”
Building.usage != “ReligiousFacility”
}
Building myBuilding18_1{
Building.usage = “FacilityForTourismAndRelaxation.BandStand”
Building.usage = “FacilityForTourismAndRelaxation.OutdoorTheater”
Building.usage = “FacilityForTourismAndRelaxation.ChildrenCenter”
}
Building myBuilding18_2{
Building.usage = “FacilityForTourismAndRelaxation.RestArea”
}
Building myBuilding19_1{
Building.usage = “FuneralParlor”
}
Check(EDCDAPA_*_2_3_나){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
Building myBuilding20_1 {
getObject(myBuilding1_1 | myBuilding12_2)
}
KS1{
hasSpace( myBuilding20_1, myParkingLot) = TRUE
OR hasSpace( myBuilding20_1, myParkingLot) = FALSE
}
CS2{
Building myBuilding20_2 {
getObject(myBuilding1_2 | myBuilding1_3 | myBuilding1_4 | myBuilding2_1 | myBuilding2_2 | myBuilding3_1 | myBuilding3_2 | myBuilding3_3 | myBuilding4_1 | myBuilding5_1 | Building myBuilding6_1 | Building myBuilding7_1 | myBuilding7_2 | myBuilding7_3 | myBuilding8_1 | myBuilding9_1 | myBuilding10_1 | myBuilding11_1 | myBuilding11_2 | myBuilding12_1 | myBuilding13_1 | myBuilding14_1 | myBuilding15_1 | myBuilding15_2 | myBuilding16_1 | myBuilding17_1 | myBuilding18_1 | myBuilding18_2 | myBuilding19_1)
}
KS2{
hasSpace( Building20_2, myParkingLot) = TRUE
}
Check(EDCDAPA_*_2_3_나){
IF CS THEN KS
CS{
Building myBuilding20_3{
getObject(myBuilding1_1 | myBuilding1_2 | myBuilding1_3 | myBuilding1_4 | myBuilding1_5 | myBuilding1_6 | myBuilding2_1 | myBuilding2_2 | myBuilding3_1 | myBuilding3_2 | myBuilding3_3 | myBuilding4_1 | myBuilding5_1 | Building myBuilding6_1 | Building myBuilding7_1 | myBuilding7_2 | myBuilding7_3 | myBuilding8_1 | myBuilding9_1 | myBuilding10_1 | myBuilding11_1 | myBuilding11_2 | myBuilding12_1 | myBuilding13_1 | myBuilding14_1 | myBuilding15_1 | myBuilding15_2 | myBuilding16_1 | myBuilding17_1 | myBuilding18_1 | myBuilding18_2 | myBuilding19_1)
}
KS{
isObjectProperty(myBuilding20_3.Door.isSillFree) = TRUE
}
Python Code 변환 예정
Modify
30
61301
주차장법 시행규칙 제 11조 4 항
④ 주차대수 50대 이상의 부설주차장에 설치되는 확장형 주차단위구역에 관하여는 제6조제1항제14호를 준용한다. <신설 2012.7.2>
//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 4항
Check(ERPA_11_4){
IF CS THEN KS
}
CS{
ParkingLot myParkingLot{
isObjectProperty(ParkingLot.isAttachedParking) = TRUE
getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50
}
ParkingUnit myParkingUnit{
getObjectProperty(ParkingUnit) = "ExtensionType"
}
hasSpace( myParkingLot, myParkingUnit) = TRUE
}
KS{
getResult(ERPA_6_1_14) = TRUE
}
Python Code 변환 예정
Modify
31
61376
주차장법 시행규칙 제 6조 1 항 14호
14. 노외주차장에는 제3조제1항제2호에 따른 확장형 주차단위구획을 주차단위구획 총수(평행주차형식의 주차단위구획 수는 제외한다)의 30퍼센트 이상 설치하여야 한다.
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 14호
Check(ERPA_6_1_14){
KS
}
KS{
ParkingLot myParkingLot{
isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
}
ParkingUnit myParkingUnit{
getResult(ERPA_3_1_2) = TRUE
getObjectProperty(ParkingUnit.parkingUseType) = "ExtensionType"
}
ParkingUnit myParkingUnit2{
getResult(ERPA_3_1_2) = TRUE
getObjectProperty(ParkingUnit.parkingType) = "ParallelParking"
}
hasSpace( myParkingLot, myParkingUnit) = TRUE
(getObjectProperty(ParkingUnit.numberOf)*0.3 - getObjectNumber(myParkingUnit2)) <= getObjectNumber(myParkingUnit)
}
Python Code 변환 예정
Modify
32
61639
주차장법 시행규칙 제 6조 4 항
④노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적의 20퍼센트를 초과하여서는 아니 된다. <개정 1992.9.5, 1996.6.29, 2009.6.30>
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항
Check(ERPA_6_4){
IF !CS THEN KS
}
CS{
TFA = getFloorArea(ParkingLot)
getTotalObjectArea( ParkingLotSubsidiaryFacility) > TFA*0.2
}
KS{
ParkingLot myParkingLot{
isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
}
SubsidiaryFacility mySubsidiaryFacility{
getResult(ERPA_4_1) = TRUE
OR getResult(ERPA_4_2) = TRUE
OR getResult(ERPA_4_3) = TRUE
}
hasSpace( myParkingLot, mySubsidiaryFacility) = TRUE
}
Python Code 변환 예정
Modify
33
61644
주차장법 시행규칙 제 6조 5 항
⑤법 제20조제2항 또는 제3항의 규정에 의한 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적중 부대시설이 차지하는 비율에 대하여는 제4항의 규정에 불구하고 특별시ㆍ광역시ㆍ시ㆍ군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총 시설면적의 40퍼센트를 초과할 수 없다. <신설 1996.6.29, 2004.7.1>
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 5항
Check(ERPA_6_5){
IF CS THEN KS
}
CS{
ParkingLot myParkingLot{
isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
getResult(PLA_20_2) = TRUE
OR getResult(PLA_20_3) = TRUE
}
hasSpace( myParkingLot,SubsidiaryFacility) = TRUE
getTotalFloorArea(myParkingLot.facilityArea)
}
KS{
getFloorArea(ParkingLotSubsidiaryFacility) <= getTotalObjectArea(ParkingLot)*0.4
}
Python Code 변환 예정
Modify
34
61645
주차장법 시행규칙 제 6조 6 항
⑥시장ㆍ군수 또는 구청장이 노외주차장내에 국토의계획및이용에관한법률 제2조제7호의 도시계획시설을 부대시설로서 중복하여 설치하고자 하는 경우에는 노외주차장외의 용도로 사용하고자 하는 도시계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총 시설면적의 40퍼센트를 초과할 수 없다. <신설 2004.7.1>
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 6항
Check(ERPA_6_6){
IF CS THEN KS
}
ParkingLot myParkingLot{
isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
}
Building myBuilding{
Building.usage = "UrbanGunPlanningFacility"
getResult(LPUA_2_0_7) = TRUE
hasSpace( myParkingLot, Building) = TRUE
getSpaceUsage(Building) = getSpaceUsage(SubsidiaryFacility)
}
Building myBuilding1{
Building.usage = "UrbanGunPlanningFacility"
}
CS{
getObjectNumber(myBuilding) >= 2
}
KS{
(getFloorArea(myBuilding1)- getFloorArea(myBuilding)) <= (getTotalObjectArea(ParkingLot) + getTotalObjectArea(SubsidiaryFacility))*0.4
}
Python Code 변환 예정
Modify