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   next▷  
1 / 2 page Total 176 records    신규입력    |    엑셀저장
Select
ALL
None
#
ID
법규 및 조항 KBimCode 변환
1
건축물의 구조기준 등에 관한 규칙 제 24 조

제24조(압축재의 최소단면 및 모서리에 설치하는 기둥) ①목재로 된 구조부재인 압축재의 단면적은 4,500제곱밀리미터 이상으로 하여야 한다. <개정 2009.12.31.>
②2층 이상인 건축물에 있어서는 모서리에 설치하는 기둥 또는 이에 준하는 기둥은 통재(通材)기둥으로 하여야 한다. 다만, 이은기둥의 경우 그 이은 부분을 통재기둥과 동등 이상의 내력을 가지도록 보강한 경우에는 그러하지 아니하다.



//건축물의 구조기준 등에 관한 규칙 24조 (건축물의 규모제한) 1항
Check(RSSB_24_1){
getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
     isObjectProperty(CompressionMember.isStructuralMember) = TURE
     getObjectMaterial(CompressionMember) = "Timber"
}
KS{
     getObjectSectionalArea(CompressionMember) >= 4500mm2
}


//건축물의 구조기준 등에 관한 규칙 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




2
건축물의 구조기준 등에 관한 규칙 제 25 조

제25조(가새) ①인장력을 받는 가새는 두께 15밀리미터 이상이고 폭 90밀리미터 이상인 목재 또는 이와 동등 이상의 강도를 가지는 강재를 사용하여야 한다.
②압축력을 받는 가새는 두께 35밀리미터 이상이고 골조기둥의 3분의 1쪽에 해당하는 두께인 목재를 사용하여야 한다.
③가새는 그 두 끝부분을 기둥·보 그 밖의 구조부재인 가로재와 잇도록 하여야 한다. <개정 2009.12.31.>
④가새에는 파내기 그 밖에 이와 유사한 손상을 주어 그 내력에 지장을 가져오게 하여서는 아니된다.



//건축물의 구조기준 등에 관한 규칙 25조 (가새) 1항
Check(RSSB_25_1){
getResult(RSSB_3_3) = TRUE AND KS
}
KS{
     Brace myBrace{
     isObjectProperty(Brace.isTensileBrance) = TRUE
     }
     isObjectProperty(Brace.depth) >= 15mm
     getObjectMaterial(Brace) = "Timber"
     isObjectProperty(Brace.Material.width) >= 90mm
}


//건축물의 구조기준 등에 관한 규칙 25조 (가새) 2항 Check(RSSB_25_2){ getResult(RSSB_3_3) = TRUE AND KS } KS{      Brace myBrace{      isObjectProperty(Brace.isCompressionBrace) = TRUE      }      Column myColumn{      isObjectProperty(Column.isFramedColumn) = TRUE      }      CW = getObjectProperty(myColumn.width) * 1/3      getObjectProperty(Brace.depth) >= 35mm      getObjectMaterial(Brace) = "Timber"      getObjectProperty(Brace.Material.width) = CW }


//건축물의 구조기준 등에 관한 규칙 25조 (가새) 3항 Check(RSSB_25_3){ KS } KS{      isObjectProperty(HorizontalMember.isStructuralMember) = TRUE      isConnectedTo(Brace, HorizontalMember) = TRUE }




3
건축물의 구조기준 등에 관한 규칙 제 28 조

제28조(적용범위) ①이 절의 규정은 벽돌구조·돌구조·콘크리트블록구조 그 밖의 조적식구조(보강블록구조를 제외한다. 이하 이 절에서 같다)의 건축물이나 조적식구조와 목구조 그 밖의 구조를 병용하는 건축물의 조적식구조로 된 부분에 이를 적용한다.
②높이 4미터 이하이고 연면적 20제곱미터 이하인 건축물에 대하여는 제29조·제30조·제35조·제36조·제38조 및 제40조의 규정에 한하여 이를 적용한다.
③구조부재가 아닌 조적식구조의 칸막이벽으로서 그 높이가 2미터 이하인 것에 대하여는 제29조·제30조·제33조 및 제35조제3항의 규정에 한하여 이를 적용한다. <개정 2009.12.31.>



//건축물의 구조기준 등에 관한 규칙 28조 (적용범위 등) 1항
Check(RSSB_28_1){
     getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
     (getObjectProperty(Building.Structure.materialType) = "Brick" OR "Stone" OR "ConcreteBlock")
     OR (isObjectProperty(Building.Structure.isMansoryStructure) = TRUE
     getObjectProperty(Building.Structure.materialType) != "SteelReinforcedConcreteBlock")
}


//건축물의 구조기준 등에 관한 규칙 28조 (적용범위 등) 2항
Check(RSSB_28_2){
     getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
     getBuildingHeight() <= 4m
     getGrossFloorArea() <= 20m2
}


//건축물의 구조기준 등에 관한 규칙 28조 (적용범위 등) 3항
Check(RSSB_28_3){
     getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
     Wall myWall{
     isObjectProperty(Wall.isStructuralMember) = FALSE
     isObjectProperty(Wall.isPartitionWall) = TRUE
     isObjectProperty(Wall.Structure.isMansoryStructure) = TRUE
     }
     getObjectHeight(myWall) <= 2m
}




4
건축물의 구조기준 등에 관한 규칙 제 3 조

제3조(적용범위 등) ① 이 규칙은 「건축법」(이하 "법"이라 한다) 제48조에 따라 건축물이 안전한 구조를 갖기 위한 최소기준으로 법 제23조부터 제25조까지 및 제35조에 따른 건축물의 설계, 시공, 공사감리 및 유지·관리에 적용하여야 한다.
② 이 규칙에 규정된 사항 외의 세부적인 기준은 법 제68조 및 이 규칙의 위임에 의하여 국토해양부장관이 고시하는 기준(이하 "건축구조기준"이라 한다)에 따른다.
③ 제21조부터 제55조까지의 규정에 따른 구조안전에 관한 기준은 「건축법 시행령」(이하 "영"이라 한다) 제32조제1항에 해당하지 아니하는 소규모건축물(이하 "소규모건축물"이라 한다)에 대하여만 적용된다.
④ 연구기관·학술단체 또는 전문용역기관의 구조계산 또는 시험에 의하여 설계되고 「건축법」 제4조의 규정에 의한 건축위원회 또는 「건설기술관리법」 제5조의 규정에 의한 건설기술심의위원회의 심의를 거쳐 이 규칙에 의한 기술적 기준과 동등 이상의 안전성이 있다고 확인된 것으로서 특별시장·광역시장 또는 시장·군수·구청장(자치구의 구청장을 말한다. 이하 같다)이 인정하는 경우에는 그에 의할 수 있다.
[전문개정 2009.12.31.]



//건축물의 구조기준 등에 관한 규칙 3조 (적용범위 등) 3항

Check(RSSB_3_3){

     KS

}



KS{

     getResult(EDBA_32_1) = FALSE 

     isObjectProperty(Building.isSmallBuilding) = TRUE

}




5
건축물의 구조기준 등에 관한 규칙 제 30 조

제30조(기초) ①조적식구조인 내력벽의 기초(최하층의 바닥면 이하에 해당하는 부분을 말한다)는 연속기초로 하여야 한다.
②제1항의 규정에 의한 기초중 기초판은 철근콘크리트구조 또는 무근콘크리트구조로 하고, 기초벽의 두께는 250밀리미터 이상으로 하여야 한다.



//건축물의 구조기준 등에 관한 규칙 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
}


//건축물의 구조기준 등에 관한 규칙 30조 (기초) 2항 Check(RSSB_30_2){ getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS } CS{      getResult(RSSB_30_1) = TRUE } KS{      Wall myWall{      isObjectProperty(Wall.isFoundationWall) = TRUE      }      (getObjectProperty(FoundationPlate.Structure.materialType) = "ReinforcedConcrete"      OR getObjectProperty(FoundationPlate.Structure.materialType) = "PlainConcrete")      getObjectProperty(myWall.depth) >= 250mm }




6
건축물의 구조기준 등에 관한 규칙 제 31 조

제31조(내력벽의 높이 및 길이) ①조적식구조인 건축물중 2층 건축물에 있어서 2층 내력벽의 높이는 4미터를 넘을 수 없다.
②조적식구조인 내력벽의 길이[대린벽(對隣壁)의 경우에는 그 접합된 부분의 각 중심을 이은 선의 길이를 말한다. 이하 이 절에서 같다]는 10미터를 넘을 수 없다.
③조적식구조인 내력벽으로 둘러쌓인 부분의 바닥면적은 80제곱미터를 넘을 수 없다.



//건축물의 구조기준 등에 관한 규칙 31조 (내력벽의 높이 및 길이) 1항
Check(RSSB_31_1){
getResult(RSSB_28_1) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
     isObjectProperty(Building.Structure.isMansoryStructure) = TRUE
     getBuildingStoriesCount() = 2
}
KS{
     Wall myWall{
     isObjectProperty(Wall.isLoadBearingWall) = TRUE
     getFloorNumber(Wall.Floor) = TRUE
     }
     getObjectHeight(myWall) < 4m
}


//건축물의 구조기준 등에 관한 규칙 31조 (내력벽의 높이 및 길이) 2항
Check(RSSB_31_2){
getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
     Wall myWall{
     isObjectProperty(Wall.isLoadBearingWall) = TRUE
     }
CS{     
     isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
}
KS{
     getObjectLength(myWall) < 10m
}


//건축물의 구조기준 등에 관한 규칙 31조 (내력벽의 높이 및 길이) 3항
Check(RSSB_31_3){
getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
     Wall myWall{
     isObjectProperty(Wall.isLoadBearingWall) = TRUE
     isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
     }
     Space mySapce{
     isSurrounded(Space, myWall) = TRUE
     }
     getFloorArea(mySpace) < 80m2
}




7
건축물의 구조기준 등에 관한 규칙 제 32 조

제32조(내력벽의 두께) ①조적식구조인 내력벽의 두께(마감재료의 두께는 포함하지 아니한다. 이하 이 절에서 같다)는 바로 윗층의 내력벽의 두께 이상이어야 한다.
②조적식구조인 내력벽의 두께는 그 건축물의 층수·높이 및 벽의 길이에 따라 각각 다음 표의 두께 이상으로 하되, 조적재가 벽돌인 경우에는 당해 벽높이의 20분의 1이상, 블록인 경우에는 당해 벽높이의 16분의 1이상으로 하여야 한다.
(표)
③제2항의 규정을 적용함에 있어서 그 조적재가 돌이거나, 돌과 벽돌 또는 블록 등을 병용하는 경우에는 내력벽의 두께는 제2항의 두께에 10분의 2를 가산한 두께 이상으로 하되, 당해 벽높이의 15분의 1이상으로 하여야 한다.
④조적식구조인 내력벽으로 둘러싸인 부분의 바닥면적이 60제곱미터를 넘는 경우에는 그 내력벽의 두께는 각각 다음 표의 두께 이상으로 하되, 조적식구조의 재료별 내력벽 두께에 관하여는 제2항 및 제3항의 규정을 준용한다.
(표)
⑤토압을 받는 내력벽은 조적식구조로 하여서는 아니된다. 다만, 토압을 받는 부분의 높이가 2.5미터를 넘지 아니하는 경우에는 조적식구조인 벽돌구조로 할 수 있다.
⑥제5항 단서의 경우 토압을 받는 부분의 높이가 1.2미터 이상인 때에는 그 내력벽의 두께는 그 바로 윗층의 벽의 두께에 100밀리미터를 가산한 두께 이상으로 하여야 한다.
⑦조적식구조인 내력벽을 이중벽으로 하는 경우에는 제1항 내지 제6항의 규정은 당해 이중벽중 하나의 내력벽에 대하여 적용한다. 다만, 건축물의 최상층(1층인 건축물의 경우에는 1층을 말한다)에 위치하고 그 높이가 3미터를 넘지 아니하는 이중벽인 내력벽으로서 그 각벽 상호간에 가로·세로 각각 400밀리미터 이내의 간격으로 보강한 내력벽에 있어서는 그 각벽의 두께의 합계를 당해 내력벽의 두께로 본다.



//건축물의 구조기준 등에 관한 규칙 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
}


//건축물의 구조기준 등에 관한 규칙 32조 (내력벽의 두께) 2항 Check(RSSB_32_2){ getResult(RSSB_32_7) = TRUE AND getResult(RSSB_32_3) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS } CS { getResult(RSSB_33_3)=True } KS{ //HW means Height of wall Wall myWall{ isObjectProperty(Wall.isLoadBearingWall) = TRUE } HW=getObjectHeight(myWall) IF isObjectProperty(Wall.Structure.isMansoryStructure)=TRUE IF getBuildingHeight()<5 m IF getFloorNumber(myWall)=1 IF getObjectLength(myWall)<8 m THEN getObjectThickness(myWall)>= 150 mm ELSE THEN getObjectThickness(myWall)>= 190 mm END IF END IF ELSE IF getBuildingHeight()>=5 m getBuildingHeight()<11 m getFloorNumber(myWall)=1 OR getFloorNumber(myWall)=2 THEN getObjectThickness(myWall)>= 190 mm ELSE IF getBuildingHeight()>=11 m IF getObjectLength(myWall)<8 m getFloorNumber(myWall)=1 OR getFloorNumber(myWall)=2 THEN getObjectThickness(myWall)>=190 mm ELSE IF getFloorNumber(myWall)=1 THEN getObjectThickness(myWall)>=290 mm ELSE IF getFloorNumber(myWall)=2 THEN getObjectThickness(myWall)>=190 mm END IF END IF IF getObjectMaterial(myWall)="벽돌" THEN getObjectThickness(myWall)>= HW/20 ELSE IF getObjectMaterial(myWall)="Block" THEN getObjectThickness(myWall)>= HW/16 END IF END IF }


//건축물의 구조기준 등에 관한 규칙 32조 (적용범위 등) 3항 Check(RSSB_32_3){      getResult(RSSB_32_7) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CH TEHN KS }      Wall myWall{           isObjectProperty(Wall.isLoadBearingWall) = TRUE      }      Wall myWall1{           getResult(RSSB_32_2) = TRUE      } CS{      getObjectProperty(myWall.Structure.materialType) = "Stone" OR "Brick" OR "ConcreteBlock" OR "SteelReinforcedConcreteBlock" } KS{      WT = getWallThickness(myWall)      WT >= 1.2* getWallThinkness(myWall1)      WT >= 1/15*getObjectHeight(myWall) }


// 건축물의 구조기준 등에 관한 규칙 32조 (내력벽의 두께) 4항

Check(RSSB_32_4){
getResult(RSSB_32_7) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}

CS{
getResult(RSSB_33_3)=True
}

KS{

}


// 건축물의 구조기준 등에 관한 규칙 32조 (내력벽의 두께) 7항
Check(RSSB_32_7){
     KS
}

KS{
isObjectProperty(Wall.Structure.isMansoryStructure) = TRUE
isObjectProperty(Wall.isDoubleWall) = TRUE
}




8
15284 건축물의 구조기준 등에 관한 규칙 제 33 조

제33조(칸막이벽 등의 두께) ①조적식구조인 칸막이벽(내력벽이 아닌 그 밖의 벽을 포함한다. 이하 이 절에서 같다)의 두께는 90밀리미터 이상으로 하여야 한다.
②조적식구조인 칸막이벽의 바로 윗층에 조적식구조인 칸막이벽이나 주요 구조물을 설치하는 경우에는 당해 칸막이벽의 두께는 190밀리미터 이상으로 하여야 한다. 다만, 제34조의 규정에 의한 테두리보를 설치하는 경우에는 그러하지 아니하다.
③제32조의 규정은 조적식구조인 칸막이벽의 두께에 관하여 이를 준용한다.



check(RSSB_33_1){
getResult(RSSB_28_3) = TRUE AND
(RSSB_28_1) = TRUE AND
getResult(RSSB_3_3) = TRUE
     Wall myWall{
          getObjectStructure(Wall) = "MansonryStructure"
          getObjectType(Wall) = "PartitionWall"
     }

     getObjectThickness(myWall) >= 90mm
}


// 건축물의 구조기준 등에 관한 규칙 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 }


//건축물의 구조기준 등에 관한 규칙 33조 (칸막이벽 등의 두께) 3항

Check(RSSB_33_3){
getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
isObjectProperty(Wall.isPartitionWall)=True
isObjectProperty(Wall.Structure.isMansoryStructure)=True
}




9
건축물의 구조기준 등에 관한 규칙 제 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

}




10
건축물의 구조기준 등에 관한 규칙 제 35 조

제35조(개구부) ①조적식구조인 벽에 있는 창·출입구 그 밖의 개구부(開口部)의 구조는 다음 각호의 기준에 의한다.
1. 각층의 대린벽으로 구획된 각 벽에 있어서 개구부의 폭의 합계는 그 벽의 길이의 2분의 1이하로 하여야 한다.
2. 하나의 층에 있어서의 개구부와 그 바로 윗층에 있는 개구부와의 수직거리는 600밀리미터 이상으로 하여야 한다. 같은 층의 벽에 상하의 개구부가 분리되어 있는 경우 그 개구부 사이의 거리도 또한 같다.
②조적식구조인 벽에 설치하는 개구부에 있어서는 각층마다 그 개구부 상호간 또는 개구부와 대린벽의 중심과의 수평거리는 그 벽의 두께의 2배 이상으로 하여야 한다. 다만, 개구부의 상부가 아치구조인 경우에는 그러하지 아니하다.
③폭이 1.8미터를 넘는 개구부의 상부에는 철근콘크리트구조의 윗 인방(引枋)을 설치하여야 한다.
④조적식구조인 내어민창 또는 내어쌓기창은 철골 또는 철근콘크리트로 보강하여야 한다.



//건축물의 구조기준 등에 관한 규칙 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
}


//건축물의 구조기준 등에 관한 규칙 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
}


//건축물의 구조기준 등에 관한 규칙 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
}


//건축물의 구조기준 등에 관한 규칙 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
}


//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 3항 Check(RSSB_35_3){      getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS } CS{      getObjectProperty(Opening.width) > 1.8m } KS{      Beam myBeam{      isOjectProperty(Beam.isLintel) = TRUE      getObjectProperty(Beam.Structure.materialType) = "ReinforcedConcrete"      }      getObjectVerticalLocation(myBeam, Opening) > 0 }




11
건축물의 구조기준 등에 관한 규칙 제 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 

}




12
건축물의 구조기준 등에 관한 규칙 제 39 조
제39조(조적식구조인 담) 조적식구조인 담의 구조는 다음 각호의 기준에 의한다.
1. 높이는 3미터 이하로 할 것
2. 담의 두께는 190밀리미터 이상으로 할 것. 다만, 높이가 2미터 이하인 담에 있어서는 90밀리미터 이상으로 할 수 있다.
3. 담의 길이 2미터 이내마다 담의 벽면으로부터 그 부분의 담의 두께 이상 튀어나온 버팀벽을 설치하거나, 담의 길이 4미터 이내마다 담의 벽면으로부터 그 부분의 담의 두께의 1.5배 이상 튀어나온 버팀벽을 설치할 것. 다만, 각 부분의 담의 두께가 제2호의 규정에 의한 담의 두께의 1.5배 이상인 경우에는 그러하지 아니하다.



//건축물의 구조기준 등에 관한 규칙 39조 (조적식구조인 담) 
Check(RSSB_39){
     getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
     isObjectProperty(Fence.Structure.isMansoryStructure) = TRUE
}
KS{
     getResult(RSSB_39_1) = TRUE
     getResult(RSSB_39_2) = TRUE
     getResult(RSSB_39_3) = TRUE
}


//건축물의 구조기준 등에 관한 규칙 39조 (조적식구조인 담) 1호
Check(RSSB_39_0_1){
     KS
}
KS{
     getObjectHeight(Fence) <= 3m
}


//건축물의 구조기준 등에 관한 규칙 39조 (조적식구조인 담) 2호
Check(RSSB_39_0_2){
     KS2 AND IF CS THEN KS1
}
KS2{
     isObjectProperty(Fence.depth) >= 190mm
}
CS{
     getObjectHeight(Fence) <= 2m
}
KS1{
     isObjectProperty(Fence.depth) >= 90mm
}


//건축물의 구조기준 등에 관한 규칙 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호 규정에 의한 담의 두께)
}




13
건축물의 구조기준 등에 관한 규칙 제 41 조

제41조(적용범위) ①이 절의 규정은 보강블록구조의 건축물이나 보강블록구조와 철근콘크리트구조 그 밖의 구조를 병용하는 건축물의 보강블록구조인 부분에 이를 적용한다.
②높이 4미터 이하이고, 연면적 20제곱미터 이하인 건축물에 대하여는 제42조 및 제45조의 규정에 한하여 이를 적용한다.



//건축물의 구조기준 등에 관한 규칙 41조 (적용범위 등) 1항
Check(RSSB_41_1){
     getResult(RSSB_41_1) = TRUE AND KS
}
KS{
     getObjectProperty(Building.Structure.materialType) = "SteelReinforcedConcreteBlock"
     OR "ReinforcedConcrete"
}


//건축물의 구조기준 등에 관한 규칙 41조 (적용범위) 2항

Check(RSSB_41_2){
getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}

CS{
getBuildingHeight()<=4 m
getGrossFloorArea() <=20 m2
}

KS{

getResult(RSSB_42)=True
getResult(RSSB_45)=True
}




14
건축물의 구조기준 등에 관한 규칙 제 42 조
제42조(기초) 보강블록구조인 내력벽의 기초(최하층 바닥면 이하의 부분을 말한다)는 연속기초로 하되 그 중 기초판 부분은 철근콘크리트구조로 하여야 한다.



//     건축물의 구조기준 등에 관한 규칙 42조 (기초)
Check(RSSB_42){
     getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
     Wall myWall{
          isObjectProperty(Wall.isLoadBearingWall) = TRUE
          getFloorNumber(Wall) < 1
     }

     getObjectProperty(myWall.Structure.materialType) = "SteelReinforcedConcreteBlock"
     isObjectProperty(Foundation.isCountinuousFoundation) = TRUE

     getObjectStructure(FoundationPlate.Structure.materialType) = "ReinforcedConcrete"
}




15
건축물의 구조기준 등에 관한 규칙 제 43 조

제43조(내력벽) ①건축물의 각층에 있어서 건축물의 길이방향 또는 너비방향의 보강블록구조인 내력벽의 길이(대린벽의 경우에는 그 접합된 부분의 각 중심을 이은 선의 길이를 말한다. 이하 이 절에서 같다)는 각각 그 방향의 내력벽의 길이의 합계가 그 층의 바닥면적 1제곱미터에 대하여 0.15미터 이상이 되도록 하되, 그 내력벽으로 둘러쌓인 부분의 바닥면적은 80제곱미터를 넘을 수 없다.
②보강블록구조인 내력벽의 두께(마감재료의 두께를 포함하지 아니한다. 이하 이절에서 같다)는 150밀리미터 이상으로 하되, 그 내력벽의 구조내력에 주요한 지점간의 수평거리의 50분의 1이상으로 하여야 한다.
③보강블록구조의 내력벽은 그 끝부분과 벽의 모서리부분에 12밀리미터 이상의 철근을 세로로 배치하고, 9밀리미터 이상의 철근을 가로 또는 세로 각각 800밀리미터 이내의 간격으로 배치하여야 한다.
④제3항의 규정에 의한 세로철근의 양단은 각각 그 철근지름의 40배 이상을 기초판 부분이나 테두리보 또는 바닥판에 정착시켜야 한다.



//     건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 1항
Check(RSSB_43_1){
     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"
}

FA =getObjectArea(Floor.One)
     getObjectProperty(myWall.Length)>= FA*0.15 m
getObjectProperty(myWall.width)>= FA*0.15 m

Space mySpace{
isSurrounded(Space, myWall)=True
}

getFloorArea(mySpace)<=80 m2
}


//     건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 2항
Check(RSSB_43_2){
     getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
     Wall myWall{
          isObjectProperty(Wall.isLoadBearingWall) = TRUE
          getFloorNumber(Wall) < 1
          getObjectProperty(Wall.Structure.materialType) = "SteelReinforcedConcreteBlock"
     }

     getWallThickness(myWall) >= 150mm
}


//     건축물의 구조기준 등에 관한 규칙 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
}


//건축물의 구조기준 등에 관한 규칙 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 }




16
건축물의 구조기준 등에 관한 규칙 제 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



  

}




17
건축물의 구조기준 등에 관한 규칙 제 45 조
제45조(보강블록구조의 담) 보강블록구조인 담의 구조는 다음 각호의 기준에 의한다.
1. 담의 높이는 3미터 이하로 할 것
2. 담의 두께는 150밀리미터 이상으로 할 것. 다만, 높이가 2미터 이하인 담에 있어서는 90밀리미터 이상으로 할 수 있다.
3. 담의 내부에는 가로 또는 세로 각각 800밀리미터 이내의 간격으로 철근을 배치하고, 담의 끝 및 모서리부분에는 세로로 직경 9밀리미터 이상의 철근을 배치할 것



//     건축물의 구조기준 등에 관한 규칙 45조 (보강블록구조의 담)
Check(RSSB_45){
     getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
     getResult(RSSB_45_0_1) = TRUE
     getResult(RSSB_45_0_2) = TRUE
     getResult(RSSB_45_0_3) = TRUE
}


//     건축물의 구조기준 등에 관한 규칙 45조 (보강블록구조의 담) 1항
Check(RSSB_45_1){
     getResult(RSSB_3_3) = TRUE AND KS
}

KS{
     getObjectHeight(Fence) <= 3m
}


//     건축물의 구조기준 등에 관한 규칙 45조 (보강블록구조의 담) 2항
Check(RSSB_45_2){
     getResult(RSSB_3_3) = TRUE AND IF (CS THEN KS1) OR (!CS THEN KS2)
}

CS{
     getObjectHeight(Fence) > 2m
}

KS1{
     getObjectThickness(Fence) >= 150mm
}

KS2{
     getObjectThickness(Fence) >= 90mm
}


//     건축물의 구조기준 등에 관한 규칙 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
}




18
건축물의 구조기준 등에 관한 규칙 제 47 조

제47조(적용범위) ①이 절의 규정은 철근콘크리트구조의 건축물이나 철근콘크리트구조와 조적식구조 그 밖의 구조를 병용하는 건축물의 경우 그 철근콘크리트구조인 부분에 이를 적용한다.
②높이가 4미터 이하이고 연면적이 30제곱미터 이하인 건축물이나 높이가 3미터 이하인 담에 대하여는 제49조 및 제51조의 규정에 한하여 이를 적용한다.



//건축물의 구조기준 등에 관한 규칙 47조 (적용범위) 2항



Check(RSSB_47_2){

     getResult(RSSB_3_3) = TRUE AND IF CS THEN KS 

}



CS{

    getBuildingHeight()<=4 m

    getGrossFloorArea() <=30 m2  



    OR getObjectHeight(Fence)<= 3m

}



KS{



   getResult(RSSB_51)=True

}




19
건축물의 구조기준 등에 관한 규칙 제 51 조
제51조(철근을 덮는 두께) 철근을 덮는 콘크리트의 두께는 다음 각호의 기준에 의한다.
1. 흙에 접하거나 옥외의 공기에 직접 노출되는 콘크리트의 경우
가. 직경 29밀리미터 이상의 철근 : 60밀리미터 이상
나. 직경 16밀리미터 초과 29밀리미터 미만의 철근 : 50밀리미터 이상
다. 직경 16밀리미터 이하의 철근 : 40밀리미터 이상
2. 옥외의 공기나 흙에 직접 접하지 않는 콘크리트의 경우
가. 슬래브, 벽체, 장선 : 20밀리미터 이상
나. 보, 기둥 : 40밀리미터 이상



//건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 

Check(RSSB_51){
getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}

CS{
// 철근을 덥는 콘크리트
}

KS{
getResult(RSSB_51_0_1)=True
getResult(RSSB_51_0_2)=True

}


//건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 1호

Check(RSSB_51_0_1){
IF CS THEN KS
}

CS{
isExternal(Concrete)=True
// 흙에 접하거나
}

KS{
getResult(RSSB_51_0_1_가)=True
getResult(RSSB_51_0_1_나)=True
getResult(RSSB_51_0_1_다)=True

}



//건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 1호 가목

Check(RSSB_51_0_1_가){
IF CS THEN KS
}

CS{
getObjectDiameter("철근")>=29 mm
}

KS{
getObjectThickness("철근을 덮는 콘크리트")>=60 mm
}


// 건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 1호 나목

Check(RSSB_51_0_1_나){
IF CS THEN KS
}

CS{
getObjectDiameter("철근")>16 mm
getObjectDiameter("철근")<29 mm
}

KS{
getObjectThickness("철근을 덮는 콘크리트")>=50 mm
}




// 건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 1호 다목

Check(RSSB_51_0_1_다){
IF CS THEN KS
}

CS{
getObjectDiameter("철근")<=16 mm
}

KS{
getObjectThickness("철근을 덮는 콘크리트")>=40 mm
}


//건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 2호

Check(RSSB_51_0_2){
IF CS THEN KS
}

CS{
isExternal(Concrete)=False
// 흙에 접하지 않는 경우
}

KS{
getResult(RSSB_51_0_2_가)=True
getResult(RSSB_51_0_2_나)=True
}



// 건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 2호 가목

Check(RSSB_51_0_2_가){
KS
}

KS{
getObjectThickness(Slab)>=20 mm
getObjectThickness(Wall)>=20 mm
getObjectThickness(BridgingJoist)>=20 mm
}


// 건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 2호 나목

Check(RSSB_51_0_2_나){
KS
}

KS{
getObjectThickness(Beam)>=40 mm
getObjectThickness(Column)>=40 mm

}




20
건축물의 구조기준 등에 관한 규칙 제 52 조
제52조(보의 구조) 구조부재인 보는 복근(複筋)으로 배근하되, 주근(主筋)은 직경 12밀리미터 이상의 것을 사용하여야 한다. 다만, 늑근(肋筋)은 직경 6밀리미터 이상의 것을 사용하여야 하며, 그 배치간격은 보춤의 4분의 3이하 또는 450밀리미터 이하이어야 한다. <개정 2009.12.31.>



//건축물의 구조기준 등에 관한 규칙 52조 (보의 구조) 



Check(RSSB_52){

     getResult(RSSB_3_3) = TRUE AND IF CS THEN KS

}



CS{

    isObjectProperty(Beam.isStructuralMember)=True

}



KS{

    getObjectProperty(Beam.MainReinforcement.diameter)>=12 mm

    getObjectProperty(Beam."늑근".diameter




21
건축물의 구조기준 등에 관한 규칙 제 53 조
제53조(콘크리트슬래브의 구조) 구조부재인 콘크리트슬래브(기성콘크리트제품인 것을 제외한다)의 구조는 다음 각호의 기준에 의한다. <개정 2009.12.31.>
1. 콘크리트슬래브의 두께는 80밀리미터 이상으로서 별표 9에 의하여 산정한 두께 이상이어야 한다.
2. 최대휨모멘트를 받는 부분에 있어서의 인장철근의 간격은 단변방향은 200밀리미터 이하로 하고 장변방향은 300밀리미터 이하로 하되, 슬래브의 두께의 3배 이하로 하여야 한다.



//건축물의 구조기준 등에 관한 규칙 53조 (콘크리트슬래브의 구조) 

Check(RSSB_53){
getResult(RSSB_3_3) = TRUE AND KS
}

KS{
getResult(RSSB_53_0_1)=True
getResult(RSSB_53_0_2)=True
}


// 건축물의 구조기준 등에 관한 규칙 53조 (콘크리트슬래브의 구조) 1호 Check(RSSB_53_0_1){ KS } KS{ isObjectProperty(Slab.isConcreteSlab) = TRUE getObjectThickness(Slab)>= 80 mm getResult(RSSB_*_9)=True }


//건축물의 구조기준 등에 관한 규칙 53조 (콘크리트슬래브의 구조) 2호

Check(RSSB_53_0_2){
KS
}

KS{
getObjectDistance(TensionReinforcement, "최대휨모멘트를 받는 부분의 단변방향의 간격") <=200 mm
getObjectDistance(TensionReinforcement, "최대휨모멘트를 받는 부분의 장변방향의 간격") <=300 mm

TS=getObjectThickness(Slab)
getObjectDistance(TensionReinforcement, "최대휨모멘트를 받는 부분의간격") <= TS/3


}




22
건축물의 구조기준 등에 관한 규칙 제 54 조
제54조(내력벽의 구조) 구조부재인 콘크리트벽체는 다음 각호의 기준에 적합하여야 한다. <개정 2009.12.31.>
1. 내력벽의 최소두께는 벽의 최상단에서 4.5미터까지는 150밀리미터 이상이어야 하며, 각 3미터 내려감에 따라 10밀리미터씩의 비율로 증가시켜야 한다. 다만, 두께가 120밀리미터 이상의 경우로서 구조계산에 의하여 안전하다고 확인된 경우에는 그러하지 아니하다.
2. 내력벽의 배근은 9밀리미터 이상의 것을 450밀리미터 이하의 간격으로 하고, 벽두께의 3배 이하이어야 한다. 이 경우 벽의 두께가 200밀리미터 이상일 때에는 벽 양면에 복근으로 하여야 한다.



//건축물의 구조기준 등에 관한 규칙 54조 (내력벽의 구조)

Check(RSSB_54){
getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}

CS{
isObjectProperty(Wall.isStructuralMember)=True
getObjectProperty(Wall.material)="Concrete"
}

KS{
getResult(RSSB_54_0_1)=True
getResult(RSSB_54_0_2)=True
}


//건축물의 구조기준 등에 관한 규칙 54조 (내력벽의 구조) 1호

Check(RSSB_54_0_1){
IF !CS THEN KS
}

Wall myWall{
isObjectProperty(Wall.isLoadBearingWall)=True
}

CS{
getWallThickness(myWall)>=120 mmm
}

KS{


H1=getObjectHeight(myWall)
H2= H1-4.5 m
getWallThickness(myWall,H2,H1)>=150 mm

H3=getFloorElevationHeight(myWall.Floor)


getWallThickness(myWall,H3,H2,3 m, a)>=150+10*a



}


//건축물의 구조기준 등에 관한 규칙 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

}




23
건축물의 구조기준 등에 관한 규칙 제 9조의3 조

제9조의3(건축물의 규모제한) ① 주요구조부(바닥·지붕틀 및 주계단은 제외한다. 이하 이 조에서 같다)가 목구조인 건축물은 지붕높이 18미터 이하, 처마높이 15미터 이하 및 연면적 3,000제곱미터 이하로 하여야 한다. 다만, 스프링클러를 설치하는 경우에는 연면적을 6,000제곱미터까지 허용할 수 있다.
② 주요구조부가 비보강조적조인 건축물은 지붕높이 15미터 이하, 처마높이 11미터 이하 및 3층 이하로 하여야 한다.
[본조신설 2009.12.31.]



//건축물의 구조기준 등에 관한 규칙 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

}


//건축물의 구조기준 등에 관한 규칙 9조의3 (건축물의 규모제한) 2항
Check(RSSB_9-3_2){
IF CS THEN KS
}
CS{
     isObjectProperty(MainStructuralPart.Structure.isUnreinforcedMansoryStructure) = TRUE
}
KS{
     getObjectVerticalDistance(FloorSlab, Roof) <= 15m
     getObjectVerticalDistance(FloorSlab, Eave) <= 11m     
     getBuildingStoriesCount() <= 3
}




24
건축물의 설비기준 등에 관한 규칙 제 10 조
제10조(비상용승강기의 승강장 및 승강로의 구조) 법 제64조제2항에 따른 비상용승강기의 승강장 및 승강로의 구조는 다음 각 호의 기준에 적합하여야 한다. <개정 1996.2.9., 1999.5.11., 2002.8.31., 2006.2.13., 2008.7.10.>
1. 삭제 <1996.2.9.>
2. 비상용승강기 승강장의 구조
가. 승강장의 창문·출입구 기타 개구부를 제외한 부분은 당해 건축물의 다른 부분과 내화구조의 바닥 및 벽으로 구획할 것. 다만, 공동주택의 경우에는 승강장과 특별피난계단(「건축물의 피난·방화구조 등의 기준에 관한 규칙」 제9조의 규정에 의한 특별피난계단을 말한다. 이하 같다)의 부속실과의 겸용부분을 특별피난계단의 계단실과 별도로 구획하는 때에는 승강장을 특별피난계단의 부속실과 겸용할 수 있다.
나. 승강장은 각층의 내부와 연결될 수 있도록 하되, 그 출입구(승강로의 출입구를 제외한다)에는 갑종방화문을 설치할 것. 다만, 피난층에는 갑종방화문을 설치하지 아니할 수 있다.
다. 노대 또는 외부를 향하여 열 수 있는 창문이나 제14조제2항의 규정에 의한 배연설비를 설치할 것
라. 벽 및 반자가 실내에 접하는 부분의 마감재료(마감을 위한 바탕을 포함한다)는 불연재료로 할 것
마. 채광이 되는 창문이 있거나 예비전원에 의한 조명설비를 할 것
바. 승강장의 바닥면적은 비상용승강기 1대에 대하여 6제곱미터 이상으로 할 것. 다만, 옥외에 승강장을 설치하는 경우에는 그러하지 아니하다.
사. 피난층이 있는 승강장의 출입구(승강장이 없는 경우에는 승강로의 출입구)로부터 도로 또는 공지(공원·광장 기타 이와 유사한 것으로서 피난 및 소화를 위한 당해 대지에의 출입에 지장이 없는 것을 말한다)에 이르는 거리가 30미터 이하일 것
아. 승강장 출입구 부근의 잘 보이는 곳에 당해 승강기가 비상용승강기임을 알 수 있는 표지를 할 것
3. 비상용승강기의 승강로의 구조
가. 승강로는 당해 건축물의 다른 부분과 내화구조로 구획할 것
나. 각층으로부터 피난층까지 이르는 승강로를 단일구조로 연결하여 설치할 것
[제목개정 1996.2.9.]



//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 
Check(RFB_10){
     getResult(RFB_10_2) = TRUE
     getResult(RFB_10_3) = TRUE
}



//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) Check(RFB_10_0_2){      getResult(RFB_10_0_2_가) = TRUE      getResult(RFB_10_0_2_나) = TRUE      getResult(RFB_10_0_2_다) = TRUE      getResult(RFB_10_0_2_라) = TRUE      getResult(RFB_10_0_2_바) = TRUE      getResult(RFB_10_0_2_사) = TRUE }


//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 가목
Check(RFB_10_0_2_가){
}

KS{
isPartitioned(, obj2, obj3)
}
}


//건축물의 설비기준 등에 관한 규칙 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
}



//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 다목
Check(RFB_10_0_2_다){
     KS
}
KS{
     Elevator myElevator{
          isObjectProperty(Elevator.isEmergency)=TRUE
     }
     Window myWindow{
          isObjectProperty(Window.isExternalDirection)=TRUE
     }
     SmokeExhaustionSystem mySmokeExhaustionSystem{
          getResult(RFB_14_2) = TRUE
     }
     hasObject(myElevator.Platform,OpenFloorStructure) = TRUE
     hasObject(myElevator.Platform, myWindow) = TRUE
     isExist(mySmokeExhaustionSystem)=TRUE
     }


//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 라목
Check(RFB_10_0_2_라){
     KS
}

KS{
     Elevator myElevator{
          isObjectProperty(Elevator.isEmergency)=TRUE
     }
     isObjectProperty(myElevator.Platform.Wall.InteriorFinish.Material.nonCombustibility) = TRUE
     isObjectProperty(myElevator.Platform.CeilingCovering.InteriorFinish.Material.nonCombustibility) = TRUE
}


//건축물의 설비기준 등에 관한 규칙 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){      getResult(RFB_10_0_3_가) = TRUE      getResult(RFB_10_0_3_나) = TRUE }


//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 3호 가목
Check(RFB_10_0_3_가){
     KS
}
KS{
     Elevator myElevator{
          isObjectProperty(Elevator.isEmergency)=TRUE
     }

     isObjectProperty(myElevator.ElevatorShaft.isFirePartition)=TRUE
}



//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 3호 나목 Check(RFB_10_0_3_나){      KS } KS{      Floor myFloor{           isObjectProperty(Floor.isEscape)=TRUE      } ElevatorShaft myElevatorShaft1{      hasObject(Floor,ElevatorShaft)=TRUE } ElevatorShaft myElevatorShaft2{      hasObject(myFloor,ElevatorShaft)=TRUE      }      isConnectedTo(myElevatorShaf1t, myElevatorShaft2, SingleStructure)=TRUE }




25
건축물의 설비기준 등에 관한 규칙 제 13 조
제13조(개별난방설비) ①영 제87조제2항의 규정에 의하여 공동주택과 오피스텔의 난방설비를 개별난방방식으로 하는 경우에는 다음 각호의 기준에 적합하여야 한다. <개정 1996.2.9., 1999.5.11., 2001.1.17.>
1. 보일러는 거실외의 곳에 설치하되, 보일러를 설치하는 곳과 거실사이의 경계벽은 출입구를 제외하고는 내화구조의 벽으로 구획할 것
2. 보일러실의 윗부분에는 그 면적이 0.5제곱미터 이상인 환기창을 설치하고, 보일러실의 윗부분과 아랫부분에는 각각 지름 10센티미터 이상의 공기흡입구 및 배기구를 항상 열려있는 상태로 바깥공기에 접하도록 설치할 것. 다만, 전기보일러의 경우에는 그러하지 아니하다.
3. 삭제 <1999.5.11.>
4. 보일러실과 거실사이의 출입구는 그 출입구가 닫힌 경우에는 보일러가스가 거실에 들어갈 수 없는 구조로 할 것
5. 기름보일러를 설치하는 경우에는 기름저장소를 보일러실외의 다른 곳에 설치할 것
6. 오피스텔의 경우에는 난방구획마다 내화구조로 된 벽·바닥과 갑종방화문으로 된 출입문으로 구획할 것
7. 보일러의 연도는 내화구조로서 공동연도로 설치할 것
②가스보일러에 의한 난방설비를 설치하고 가스를 중앙집중공급방식으로 공급하는 경우에는 제1항의 규정에 불구하고 가스관계법령이 정하는 기준에 의하되, 오피스텔의 경우에는 난방구획마다 내화구조로 된 벽·바닥과 갑종방화문으로 된 출입문으로 구획하여야 한다. <신설 1999.5.11.>




//     건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항
Check(RFB_13_1){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "DetachedHouse"
     OR getBuildingUsage() = "MultiUnitHouse"
}

KS{
     getResult(RFB_13_1_1) = TRUE
     getResult(RFB_13_1_2) = TRUE
     getResult(RFB_13_1_5) = TRUE
     getResult(RFB_13_1_6) = TRUE
     getResult(RFB_13_1_7) = TRUE
}


//     건축물의 설비기준 등에 관한 규칙 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
}


//     건축물의 설비기준 등에 관한 규칙 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) }


//     건축물의 설비기준 등에 관한 규칙 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 }


//     건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 6호 Check(RFB_13_1_6){      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 }


//건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 7호 Check(RFB_13_1_7){      KS } KS{      isFireResistantStructure(GasDuct) = TRUE      isShared(GasDuct) = TRUE }


//     건축물의 설비기준 등에 관한 규칙 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 }




26
15285 건축물의 설비기준 등에 관한 규칙 제 14 조

제14조(배연설비) ①영 제51조제2항에 따라 배연설비를 설치하여야 하는 건축물에는 다음 각 호의 기준에 적합하게 배연설비를 설치하여야 한다. 다만, 피난층인 경우에는 그러하지 아니하다. <개정 1996.2.9.,1999.5.11., 2002.8.31., 2009.12.31., 2010.11.5.>
1. 영 제46조제1항의 규정에 의하여 건축물에 방화구획이 설치된 경우에는 그 구획마다 1개소 이상의 배연창을 설치하되, 배연창의 상변과 천장 또는 반자로부터 수직거리가 0.9미터 이내일 것. 다만, 반자높이가 바닥으로부터 3미터 이상인 경우에는 배연창의 하변이 바닥으로부터 2.1미터 이상의 위치에 놓이도록 설치하여야 한다.
2. 배연창의 유효면적은 별표 2의 산정기준에 의하여 산정된 면적이 1제곱미터 이상으로서 그 면적의 합계가 당해 건축물의 바닥면적(영 제46조제1항 또는 제3항의 규정에 의하여 방화구획이 설치된 경우에는 그 구획된 부분의 바닥면적을 말한다)의 100분의 1이상일 것. 이 경우 바닥면적의 산정에 있어서 거실바닥면적의 20분의 1 이상으로 환기창을 설치한 거실의 면적은 이에 산입하지 아니한다.
3. 배연구는 연기감지기 또는 열감지기에 의하여 자동으로 열 수 있는 구조로 하되, 손으로도 열고 닫을 수 있도록 할 것
4. 배연구는 예비전원에 의하여 열 수 있도록 할 것
5. 기계식 배연설비를 하는 경우에는 제1호 내지 제4호의 규정에 불구하고 소방관계법령의 규정에 적합하도록 할 것
②특별피난계단 및 영 제90조제3항의 규정에 의한 비상용승강기의 승강장에 설치하는 배연설비의 구조는 다음 각호의 기준에 적합하여야 한다. <개정 1996.2.9., 1999.5.11.>
1. 배연구 및 배연풍도는 불연재료로 하고, 화재가 발생한 경우 원활하게 배연시킬 수 있는 규모로서 외기 또는 평상시에 사용하지 아니하는 굴뚝에 연결할 것
2. 배연구에 설치하는 수동개방장치 또는 자동개방장치(열감지기 또는 연기감지기에 의한 것을 말한다)는 손으로도 열고 닫을 수 있도록 할 것
3. 배연구는 평상시에는 닫힌 상태를 유지하고, 연 경우에는 배연에 의한 기류로 인하여 닫히지 아니하도록 할 것
4. 배연구가 외기에 접하지 아니하는 경우에는 배연기를 설치할 것
5. 배연기는 배연구의 열림에 따라 자동적으로 작동하고, 충분한 공기배출 또는 가압능력이 있을 것
6. 배연기에는 예비전원을 설치할 것
7. 공기유입방식을 급기가압방식 또는 급·배기방식으로 하는 경우에는 제1호 내지 제6호의 규정에 불구하고 소방관계법령의 규정에 적합하게 할 것



//건축물의 설비기준 등에 관한 규칙 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

}


//건축물의 설비기준 등에 관한 규칙 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      } }


//건축물의 설비기준 등에 관한 규칙 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
}


//건축물의 설비기준 등에 관한 규칙 14조 (배연설비) 2항 Check(RFB_14_2){ IF CS THEN KS } CS {      isObjectProperty(Stair.isSpecialEscape)=TRUE OR isObjectProperty(Elevator.isEmergency)=TRUE } KS {      getResult(RFB_14_2_1) = TRUE      getResult(RFB_14_2_4) = TRUE }


//건축물의 설비기준 등에 관한 규칙 14조 (배연설비) 2항1호 Check(RFB_14_2_1){ Duct myDuct{ getObjectProperty(Duct.functionType) = "Exhaust" }      isObjectProperty(SmokeExhaustionOpening.Material.nonCombustibility) = TRUE      isObjectProperty(myDuct.Material.nonCombustibility) = TRUE      (isConnectedToExternal(SmokeExhaustionOpening) = TRUE isConnectedToExternal(myDuct) = TRUE)      OR( isConnectedTo(SmokeExhaustionOpening,Chimney) = TRUE isConnectedTo(myDuct,Chimney) = TRUE) }


//건축물의 설비기준 등에 관한 규칙 14조 (배연설비) 2항4호 Check(RFB_14_2_4){      IF isConnectedToExternal(SmokeExhaustionOpening) = FALSE       THEN isExist(SmokeExtractor) = TRUE }




27
건축물의 설비기준 등에 관한 규칙 제 17조의2 조
제17조의2(차수설비) ① 다음 각 호의 어느 하나에 해당하는 지역에서 연면적 1만제곱미터 이상의 건축물을 건축하려는 자는 빗물 등의 유입으로 건축물이 침수되지 아니하도록 해당 건축물의 지하층 및 1층의 출입구(주차장의 출입구를 포함한다)에 차수판(遮水板) 등 해당 건축물의 침수를 방지할 수 있는 설비(이하 "차수설비"라 한다)를 설치하여야 한다. 다만, 법 제5조제1항에 따른 허가권자가 침수의 우려가 없다고 인정하는 경우에는 그러하지 아니하다.
1. 「국토의 계획 및 이용에 관한 법률」 제37조제1항제5호에 따른 방재지구
2. 「자연재해대책법」 제12조제1항에 따른 자연재해위험지구
② 제1항에 따라 설치되는 차수설비는 다음 각 호의 기준에 적합하여야 한다. <개정 2013.3.23.>
1. 건축물의 이용 및 피난에 지장이 없는 구조일 것
2. 그 밖에 국토교통부장관이 정하여 고시하는 기준에 적합하게 설치할 것
[본조신설 2012.4.30.]




//     건축물의 설비기준 등에 관한 규칙 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

}


//     건축물의 설비기준 등에 관한 규칙 17조의2 (차수설비) 1항 1호
Check(RFB_17-2_1_1){
     KS
}

KS{
     getResult(LPUA_37_1_5) = TRUE
}


//     건축물의 설비기준 등에 관한 규칙 17조의2 (차수설비) 1항 1호

Check(RFB_17-2_1_2){

     KS

}



KS{

     getResult(Unimplemented_CNDA_12_1) = TRUE

}




28
건축물의 설비기준 등에 관한 규칙 제 20 조
5. 측면 낙뢰를 방지하기 위하여 높이가 60미터를 초과하는 건축물 등에는 지면에서 건축물 높이의 5분의 4가 되는 지점부터 최상단부분까지의 측면에 수뢰부를 설치하여야 하며, 지표레벨에서 최상단부의 높이가 150미터를 초과하는 건축물은 120미터 지점부터 최상단부분까지의 측면에 수뢰부를 설치할 것. 다만, 건축물의 외벽이 금속부재(部材)로 마감되고, 금속부재 상호간에 제4호 후단에 적합한 전기적 연속성이 보장되며 피뢰시스템레벨 등급에 적합하게 설치하여 인하도선에 연결한 경우에는 측면 수뢰부가 설치된 것으로 본다.
6. 접지(接地)는 환경오염을 일으킬 수 있는 시공방법이나 화학 첨가물 등을 사용하지 아니할 것
7. 급수·급탕·난방·가스 등을 공급하기 위하여 건축물에 설치하는 금속배관 및 금속재 설비는 전위(電位)가 균등하게 이루어지도록 전기적으로 접속할 것
8. 전기설비의 접지계통과 건축물의 피뢰설비 및 통신설비 등의 접지극을 공용하는 통합접지공사를 하는 경우에는 낙뢰 등으로 인한 과전압으로부터 전기설비 등을 보호하기 위하여 한국산업표준에 적합한 서지보호장치(SPD)를 설치할 것
9. 그 밖에 피뢰설비와 관련된 사항은 한국산업표준에 적합하게 설치할 것
[전문개정 2006.2.13.]
제20조(피뢰설비) 영 제87조제2항에 따라 낙뢰의 우려가 있는 건축물, 높이 20미터 이상의 건축물 또는 영 제118조제1항에 따른 공작물로서 높이 20미터 이상의 공작물(건축물에 영 제118조제1항에 따른 공작물을 설치하여 그 전체 높이가 20미터 이상인 것을 포함한다)에는 다음 각 호의 기준에 적합하게 피뢰설비를 설치하여야 한다. <개정 2010.11.5., 2012.4.30.>
1. 피뢰설비는 한국산업표준이 정하는 피뢰레벨 등급에 적합한 피뢰설비일 것. 다만, 위험물저장 및 처리시설에 설치하는 피뢰설비는 한국산업표준이 정하는 피뢰시스템레벨 Ⅱ 이상이어야 한다.
2. 돌침은 건축물의 맨 윗부분으로부터 25센티미터 이상 돌출시켜 설치하되, 「건축물의 구조기준 등에 관한 규칙」 제9조에 따른 설계하중에 견딜 수 있는 구조일 것
3. 피뢰설비의 재료는 최소 단면적이 피복이 없는 동선을 기준으로 수뢰부, 인하도선 및 접지극은 50제곱밀리미터 이상이거나 이와 동등 이상의 성능을 갖출 것
4. 피뢰설비의 인하도선을 대신하여 철골조의 철골구조물과 철근콘크리트조의 철근구조체 등을 사용하는 경우에는 전기적 연속성이 보장될 것. 이 경우 전기적 연속성이 있다고 판단되기 위하여는 건축물 금속 구조체의 최상단부와 지표레벨 사이의 전기저항이 0.2옴 이하이어야 한다.



//건축물의 설비기준 등에 관한 규칙 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

}




29
건축물의 설비기준 등에 관한 규칙 제 20조의2 조
제20조의2(전기설비 설치공간 기준) 영 제87조제6항에 따른 건축물에 전기를 배전(配電)하려는 경우에는 별표 3의3에 따른 공간을 확보하여야 한다.
[본조신설 2010.11.5.]



//건축물의 설비기준 등에 관한 규칙 20조의2 (전기설비 설치공간 기준)

Check(RFB_20-2){
KS
}



KS{
getResult(Unimplemented_RFB_*3-3)=True
}




30
건축물의 설비기준 등에 관한 규칙 제 23 조
제23조(건축물의 냉방설비 등) ① 삭제 <1999.5.11.>
②제2조제3호부터 제6호까지의 규정에 해당하는 건축물 중 산업통상자원부장관이 국토교통부장관과 협의하여 고시하는 건축물에 중앙집중냉방설비를 설치하는 경우에는 산업통상자원부장관이 국토교통부장관과 협의하여 정하는 바에 따라 축냉식 또는 가스를 이용한 중앙집중냉방방식으로 하여야 한다. <개정 1996.2.9., 1999.5.11., 2002.8.31., 2008.3.14., 2012.4.30., 2013.3.23., 2013.9.2.>
③ 상업지역 및 주거지역에서 건축물에 설치하는 냉방시설 및 환기시설의 배기구와 배기장치의 설치는 다음 각 호의 기준에 모두 적합하여야 한다. <개정 2012.4.30., 2013.12.27.>
1. 배기구는 도로면으로부터 2미터 이상의 높이에 설치할 것
2. 배기장치에서 나오는 열기가 인근 건축물의 거주자나 보행자에게 직접 닿지 아니하도록 할 것
3. 건축물의 외벽에 배기구 또는 배기장치를 설치할 때에는 외벽 또는 다음 각 목의 기준에 적합한 지지대 등 보호장치와 분리되지 아니하도록 견고하게 연결하여 배기구 또는 배기장치가 떨어지는 것을 방지할 수 있도록 할 것
가. 배기구 또는 배기장치를 지탱할 수 있는 구조일 것
나. 부식을 방지할 수 있는 자재를 사용하거나 도장(塗裝)할 것
[제목개정 2012.4.30.]




//     건축물의 설비기준 등에 관한 규칙 23조 (건축물의 냉방설비) 3항
Check(RFB_23_3){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ResidentialArea"
     OR getBuildingUsage() = "CommercialArea"
}

KS{
     getResult(RFB_23_3_1)
}


//     건축물의 설비기준 등에 관한 규칙 23조 (건축물의 냉방설비) 3항 1호
Check(RFB_23_3_1){
     KS
}

KS{
     getObjectVerticalLocation(AirOutlet, RoadSurface) >= 2m
}





31
건축물의 설비기준 등에 관한 규칙 제 5 조
제5조(승용승강기의 설치기준) 법 제64조제1항에 따라 건축물에 설치하는 승용승강기의 설치기준은 별표 1의2와 같다. 다만, 승용승강기가 설치되어 있는 건축물에 1개층을 증축하는 경우에는 승용승강기의 승강로를 연장하여 설치하지 아니할 수 있다. <개정 2001.1.17., 2006.2.13., 2008.7.10.>
[전문개정 1999.5.11.]



//건축물의 설비기준 등에 관한 규칙 5조 (승용승강기의 설치기준) 

Check(RFB_5){

     IF !(CS) THEN KS1

}

CS{
getObjectProperty(Elevator.usage) = "PassengerElevator"
     isExist(Elevator) = TRUE
}

KS1{
getResult(RFB_*_1-2) = TRUE
}




32
건축물의 설비기준 등에 관한 규칙 제 6 조
제6조(승강기의 구조) 법 제64조에 따라 건축물에 설치하는 승강기·에스컬레이터 및 비상용승강기의 구조는 「승강기시설 안전관리법」이 정하는 바에 따른다. <개정 2006.2.13., 2008.7.10., 2010.11.5.>
[전문개정 1996.2.9.]



//건축물의 설비기준 등에 관한 규칙 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
}




33
건축물의 설비기준 등에 관한 규칙 제 9 조
제9조(비상용승강기를 설치하지 아니할 수 있는 건축물) 법 제64조제2항 단서에서 "국토교통부령이 정하는 건축물"이라 함은 다음 각 호의 건축물을 말한다. <개정 1996.2.9., 1999.5.11., 2006.5.12., 2008.3.14., 2008.7.10., 2013.3.23.>
1. 높이 31미터를 넘는 각층을 거실외의 용도로 쓰는 건축물
2. 높이 31미터를 넘는 각층의 바닥면적의 합계가 500제곱미터 이하인 건축물
3. 높이 31미터를 넘는 층수가 4개층이하로서 당해 각층의 바닥면적의 합계 200제곱미터(벽 및 반자가 실내에 접하는 부분의 마감을 불연재료로 한 경우에는 500제곱미터)이내마다 방화구획으로 구획한 건축물



//건축물의 설비기준 등에 관한 규칙 9조 (비상용승강기를 설치하지 아니할 수 있는 건축물)

Check(RFB_9){

   KS
}

KS{
   getResult(RFB_9_0_1)=TRUE
   OR getResult(RFB_9_0_2)=TRUE
   OR getResult(RFB_9_0_3)=TRUE
}


//건축물의 설비기준 등에 관한 규칙 9조 (비상용승강기를 설치하지 아니할 수 있는 건축물) 1호
Check(RFB_9_0_1){
KS
}

KS{
Floor myFloor{
getObjectHeight(Floor)>31 m
}

hasObject(myFloor, Room)=FALSE
}


//건축물의 설비기준 등에 관한 규칙 9조 (비상용승강기를 설치하지 아니할 수 있는 건축물) 2호 Check(RFB_9_0_2){ KS } KS{ getBuildingHeight()>31 m getTotalFloorArea()<=500 m2 }


//건축물의 설비기준 등에 관한 규칙 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 }




34
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10 조

제10조(관람석등으로부터의 출구의 설치기준) ①영 제38조 각호의 1에 해당하는 건축물의 관람석 또는 집회실로부터 바깥쪽으로의 출구로 쓰이는 문은 안여닫이로 하여서는 아니된다.
②영 제38조의 규정에 의하여 문화 및 집회시설중 공연장의 개별관람석(바닥면적이 300제곱미터 이상인 것에 한한다)의 출구는 다음 각호의 기준에 적합하게 설치하여야 한다.
1. 관람석별로 2개소 이상 설치할 것
2. 각 출구의 유효너비는 1.5미터 이상일 것
3. 개별 관람석 출구의 유효너비의 합계는 개별 관람석의 바닥면적 100제곱미터마다 0.6미터의 비율로 산정한 너비 이상으로 할 것



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 1항

check(REFB_10_1){

    Space mySpace = getSpace("Auditorium") + getSpace("AssemblyHal"l)



    Door myExit {

        isAccessible(mySpace, Door) = TRUE

        isObjectProperty(Door.isEntrance) = TRUE

    }

getObjectProperty(myExit.panelOperationType) != "OpeningInDoor"


}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항
check(REFB_10_2){
IF (CS) THEN KS ENDIF
}

CS{
getBuildingUsage() = "CulturalAndAssemblyFacility.PerformanceHall"

Space mySpace = getSpace("individualSeats")
getFloorArea(mySpace) >= 300

KS{
getResult(REFB_10_2_1) = TRUE
getResult(REFB_10_2_2) = TRUE
getResult(REFB_10_2_3) = TRUE
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항 1호 check(REFB_10_2_1){ Door myExit { Door.Space.name = "individualSeats" getFloorArea(Door.Space) >= 300 isObjectProperty(Door.isEntrance) = TRUE } getObjectCount(myExit) >= 2 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항 2호 check(REFB_10_2_2){ Door myExit { Door.Space.name = "individualSeats" getFloorArea(Door.Space) >= 300 isObjectProperty(Door.isEntrance) = TRUE } getObjectWidth(myExit) >= 1.5m }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항 3호 check(REFB_10_2_3){ Door myExit { Door.Space.name = "individualSeats" getFloorArea(Door.Space) >= 300 isObjectProperty(Door.isEntrance) = TRUE } getTotalObjectWidth(myExit) >= getFloorArea(myExit.Space)/100*0.6 }




35
15287 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 11 조

제11조(건축물의 바깥쪽으로의 출구의 설치기준) ①영 제39조제1항의 규정에 의하여 건축물의 바깥쪽으로 나가는 출구를 설치하는 경우 피난층의 계단으로부터 건축물의 바깥쪽으로의 출구에 이르는 보행거리(가장 가까운 출구와의 보행거리를 말한다. 이하 같다)는 영 제34조제1항의 규정에 의한 거리이하로 하여야 하며, 거실(피난에 지장이 없는 출입구가 있는 것을 제외한다)의 각 부분으로부터 건축물의 바깥쪽으로의 출구에 이르는 보행거리는 영 제34조제1항의 규정에 의한 거리의 2배 이하로 하여야 한다.
②영 제39조제1항에 따라 건축물의 바깥쪽으로 나가는 출구를 설치하는 건축물중 문화 및 집회시설(전시장 및 동ㆍ식물원을 제외한다), 종교시설, 장례식장 또는 위락시설의 용도에 쓰이는 건축물의 바깥쪽으로의 출구로 쓰이는 문은 안여닫이로 하여서는 아니된다. <개정 2010.4.7.>
③영 제39조제1항의 규정에 의하여 건축물의 바깥쪽으로 나가는 출구를 설치하는 경우 관람석의 바닥면적의 합계가 300제곱미터 이상인 집회장 또는 공연장에 있어서는 주된 출구외에 보조출구 또는 비상구를 2개소 이상 설치하여야 한다.
④판매시설의 용도에 쓰이는 피난층에 설치하는 건축물의 바깥쪽으로의 출구의 유효너비의 합계는 해당 용도에 쓰이는 바닥면적이 최대인 층에 있어서의 해당 용도의 바닥면적 100제곱미터마다 0.6미터의 비율로 산정한 너비 이상으로 하여야 한다. <개정 2010.4.7.>
⑤다음 각 호의 어느 하나에 해당하는 건축물의 피난층 또는 피난층의 승강장으로부터 건축물의 바깥쪽에 이르는 통로에는 제15조제5항에 따른 경사로를 설치하여야 한다. <개정 2010.4.7.>
1. 제1종 근린생활시설 중 지역자치센터ㆍ파출소ㆍ지구대ㆍ소방서ㆍ우체국ㆍ방송국ㆍ보건소ㆍ공공도서관ㆍ지역건강보험조합 기타 이와 유사한 것으로서 동일한 건축물안에서 당해 용도에 쓰이는 바닥면적의 합계가 1천제곱미터 미만인 것
2. 제1종 근린생활시설 중 마을회관ㆍ마을공동작업소ㆍ마을공동구판장ㆍ변전소ㆍ양수장ㆍ정수장ㆍ대피소ㆍ공중화장실 기타 이와 유사한 것
3. 연면적이 5천제곱미터 이상인 판매시설, 운수시설
4. 교육연구시설 중 학교
5. 업무시설중 국가 또는 지방자치단체의 청사와 외국공관의 건축물로서 제1종 근린생활시설에 해당하지 아니하는 것
6. 승강기를 설치하여야 하는 건축물
⑥법 제39조제1항에 따라 영 제39조제1항 각 호의 어느 하나에 해당하는 건축물의 바깥쪽으로 나가는 출입문에 유리를 사용하는 경우에는 안전유리를 사용하여야 한다. <신설 2006.6.29.>



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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

}




//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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” }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 3항 Check(REFB_11_3){       IF CS1 AND CS2 THEN KS } CS1 { Building myBuilding{ getBuildingUsage() = “AssemblyHall” OR getBuildingUsage() = “PerformanceHall” } Space mySpace{ myBuilding.Space.name = “Auditorium” Space.FloorSlab.area >= 300 m2 } isExist(mySpace) = TRUE } CS2 { Door myDoor{ isObjectProperty(Door.isEntrance)=TRUE } hasObject(myBuilding,myDoor) = TRUE } KS { Door myDoor{ getObjectProperty(Door.functionType) = "Auxiliary" OR getObjectProperty(Door.functionType) = "Emergency" } getObjectCount(myDoor) >=2 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 4항
Check(REFB_11_4){      
IF CS THEN KS
}

CS {
Floor myFloor{
getObjectUsage(Floor) = “CommercialFacility”
isObjectProperty(Floor.isEscape)=TRUE
}
Door myDoor{
isObjectProperty(Door.isEntrance)=TRUE
}

hasObject(myFloor,myDoor) = TRUE
}

KS{

myFloor.myDoor.effectiveWidth >=

}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 5항 1호 Check(REFB_11_5_1){        KS } KS { Building myBuilding{ getBuildingUsage() = “ClassINeighborhoodLivingFacility.CommunityCenter” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.PoliceBox” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.PoliceSubstation” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.FireStation” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.PostOffice” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.BroadcastingStation” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.HealthCenter” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.PublicLibrary” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.RegionalHealthInsuranceAssociation” } Space mySpace{ Space.usage=“CommunityCenter” Space.usage=“PoliceBox” Space.usage=“PoliceSubstation” Space.usage=“FireStation” Space.usage=“PostOffice” Space.usage=“BroadcastingStation” Space.usage=“HealthCenter” Space.usage=“PublicLibrary” Space.usage=“RegionalHealthInsuranceAssociation” Space.FloorSlab.area < 1000 m2 } isExist(myBuilding) = TRUE isExist(mySpace) = TRUE }


건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 5항 2호 Check(REFB_11_5_2){        KS } KS { Building myBuilding{ getBuildingUsage() = “ClassINeighborhoodLivingFacility.VillageHall” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.CommunityWorkspace” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.CommunitySalesShop” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.Substation” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.PumpingStation” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.PurificationPlant” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.Shelter” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.PublicLibrary” OR getBuildingUsage() = “ClassINeighborhoodLivingFacility.PublicToilet” } isExist(myBuilding) = TRUE }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 5항 3호
Check(REFB_11_5_3){ 젨젨젨
KS
}

KS {
getBuildingUsage() = “CommercialFacility”
OR getBuildingUsage() = “TransportationFacility”
getObjectProperty(Building.grossFloorArea) >= 5000 m2

}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 5항 4호 Check(REFB_11_5_4){       KS } KS { Building myBuilding{ getBuildingUsage() = “EducationAndResearchFacility.School” } isExist(myBuliding) = TRUE }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 5항 5호 Check(REFB_11_5_5){        KS } KS { Building myBuilding{ getBuildingUsage() = “BusinessFacility.GovernmentOfficeBuilding” OR getBuildingUsage() = “BusinessFacility.ForeignOfficialResidence” getBuildingUsage() != “ClassINeighborhoodLivingFacility” } isExist(myBuilding) = TRUE }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 5항 6호 Check(REFB_11_5_6){ KS } KS { hasObject(Building,Elevator)=TRUE }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 6항
Check(REFB_11_6){   
KS
}

KS{
Door myDoor{
isObjectProperty(Door.isEntrance)=TRUE
}
IF getObjectMaterial(myDoor)="Glass"
THEN getObjectType(Glass)="Safety"

}




36
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 12 조
제12조(회전문의 설치기준) 영 제39조제2항의 규정에 의하여 건축물의 출입구에 설치하는 회전문은 다음 각 호의 기준에 적합하여야 한다. <개정 2005.7.22.>
1. 계단이나 에스컬레이터로부터 2미터 이상의 거리를 둘 것
2. 회전문과 문틀사이 및 바닥사이는 다음 각 목에서 정하는 간격을 확보하고 틈 사이를 고무와 고무펠트의 조합체 등을 사용하여 신체나 물건 등에 손상이 없도록 할 것
가. 회전문과 문틀 사이는 5센티미터 이상
나. 회전문과 바닥 사이는 3센티미터 이하
3. 출입에 지장이 없도록 일정한 방향으로 회전하는 구조로 할 것
4. 회전문의 중심축에서 회전문과 문틀 사이의 간격을 포함한 회전문날개 끝부분까지의 길이는 140센티미터 이상이 되도록 할 것
5. 회전문의 회전속도는 분당회전수가 8회를 넘지 아니하도록 할 것
6. 자동회전문은 충격이 가하여지거나 사용자가 위험한 위치에 있는 경우에는 전자감지장치 등을 사용하여 정지하는 구조로 할 것



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 12조 (회전문의 설치기준)  
Check(REFB_12){      
IF CS THEN KS
}

CS {
Door myDoor {
isObjectProperty(Door.isEntrance) = TRUE
Door.panelOperationType=“RevolvingDoor”
}
isExist(myDoor) = TRUE
}

KS {
getResult(REFB_12_1)=TRUE
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 12조 (회전문의 설치기준) 1항
Check(REFB_12_1){
KS
}

KS {
getElementDistance(myDoor, Stair, a)>= 2 m
OR getElementDistance(myDoor, Escalator, a)>= 2 m
}





37
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 13 조
4. 헬리포트의 중앙부분에는 지름 8미터의 "ⓗ"표지를 백색으로 하되, "H"표지의 선의 너비는 38센티미터로, "○"표지의 선의 너비는 60센티미터로 할 것
② 영 제40조제3항제1호에 따라 옥상에 헬리콥터를 통하여 인명 등을 구조할 수 있는 공간을 설치하는 경우에는 직경 10미터 이상의 구조공간을 확보하여야 하며, 구조공간에는 구조활동에 장애가 되는 건축물, 공작물 또는 난간 등을 설치해서는 안 된다. 이 경우 구조공간의 표시기준 등에 관하여는 제1항제3호 및 제4호를 준용한다. <신설 2010.4.7., 2012.1.6.>
③ 영 제40조제3항제2호에 따라 설치하는 대피공간은 다음 각 호의 기준에 적합하여야 한다. <신설 2012.1.6.>
1. 대피공간의 면적은 지붕 수평투영면적의 10분의 1 이상 일 것
2. 특별피난계단 또는 피난계단과 연결되도록 할 것
3. 출입구ㆍ창문을 제외한 부분은 해당 건축물의 다른 부분과 내화구조의 바닥 및 벽으로 구획할 것
4. 출입구는 유효너비 0.9미터 이상으로 하고, 그 출입구에는 갑종방화문을 설치할 것
5. 내부마감재료는 불연재료로 할 것
6. 예비전원으로 작동하는 조명설비를 설치할 것
7. 관리사무소 등과 긴급 연락이 가능한 통신시설을 설치할 것
[제목개정 2010.4.7.]
제13조(헬리포트 및 구조공간 설치 기준) ①영 제40조제3항제1호에 따라 건축물에 설치하는 헬리포트는 다음 각호의 기준에 적합하여야 한다. <개정 2003.1.6., 2010.4.7., 2012.1.6.>
1. 헬리포트의 길이와 너비는 각각 22미터이상으로 할 것. 다만, 건축물의 옥상바닥의 길이와 너비가 각각 22미터이하인 경우에는 헬리포트의 길이와 너비를 각각 15미터까지 감축할 수 있다.
2. 헬리포트의 중심으로부터 반경 12미터 이내에는 헬리콥터의 이ㆍ착륙에 장애가 되는 건축물, 공작물, 조경시설 또는 난간 등을 설치하지 아니할 것
3. 헬리포트의 주위한계선은 백색으로 하되, 그 선의 너비는 38센티미터로 할 것



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 1항

Check(REFB_13_1){
KS
}

KS{
getResult(REFB_13_1_1)=True
getResult(REFB_13_1_2)=True
getResult(REFB_13_1_3)=True
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙

Check(REFB){
IF CS THEN KS1 ELSE KS2
}

CS{
getObjectLength(Building.RoofTop.FloorSlab)<=22 m
getObjectWidth(Building.RoofTop.FloorSlab)<=22 m
}

KS1{
getObjectLength(Heliport)>=15 m
getObjectWidth(Heliport)>=15 m
}

KS2{
getObjectLength(Heliport)>=22 m
getObjectWidth(Heliport)>=22 m
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 3항

Check (REFB_13_3){
KS
}

KS{
getResult(REFB_13_3_1)=True
getResult(REFB_13_3_2)=True
getResult(REFB_13_3_3)=True
getResult(REFB_13_3_4)=True
getResult(REFB_13_3_5)=True
getResult(REFB_13_3_7)=True
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 3항 1호 Check (REFB_13_3_1){ KS } KS{ Space mySpace{ isObjectProperty(Space.isEscape) = TRUE } mySpace.area > Roof.horizontalProjectionArea*0.1 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 13조 (헬리포트 및 구조공간 설치 기준) 3항 2호 Check(REFB_13_3_2){ KS } KS{ Stair myStair { isObjectProperty(Stair.isEscape)=True } Stair myStair2 { isObjectProperty(Stair.isSpecialEscape)=True } Space mySpace{ isObjectProperty(Space.isEscape) = TRUE } isConnected(mySpace, myStair )=True OR isConnected(mySpace, myStair2 )=True }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 }




38
15288 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14 조

제14조(방화구획의 설치기준) ①영 제46조에 따라 건축물에 설치하는 방화구획은 다음 각호의 기준에 적합하여야 한다. <개정 2010.4.7.>
1. 10층 이하의 층은 바닥면적 1천제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 바닥면적 3천제곱미터)이내마다 구획할 것
2. 3층 이상의 층과 지하층은 층마다 구획할 것. 다만, 지하 1층에서 지상으로 직접 연결하는 경사로 부위는 제외한다.
3. 11층 이상의 층은 바닥면적 200제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 600제곱미터)이내마다 구획할 것. 다만, 벽 및 반자의 실내에 접하는 부분의 마감을 불연재료로 한 경우에는 바닥면적 500제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 1천500제곱미터)이내마다 구획하여야 한다.
②제1항에 따른 방화구획은 다음 각 호의 기준에 적합하게 설치하여야 한다. <개정 2003.1.6., 2005.7.22., 2006.6.29., 2008.3.14., 2010.4.7., 2012.1.6., 2013.3.23.>
1. 영 제46조의 규정에 의한 방화구획으로 사용하는 제26조에 따른 갑종방화문은 언제나 닫힌 상태를 유지하거나 화재로 인한 연기, 온도, 불꽃 등을 가장 신속하게 감지하여 자동적으로 닫히는 구조로 할 것
2. 외벽과 바닥 사이에 틈이 생긴 때나 급수관ㆍ배전관 그 밖의 관이 방화구획으로 되어 있는 부분을 관통하는 경우 그로 인하여 방화구획에 틈이 생긴 때에는 그 틈을 다음 각 목의 어느 하나에 해당하는 것으로 메울 것
가. 「산업표준화법」에 따른 한국산업규격에서 내화충전성능을 인정한 구조로 된 것
나. 한국건설기술연구원장이 국토교통부장관이 정하여 고시하는 기준에 따라 내화충전성능을 인정한 구조로 된 것
3. 환기ㆍ난방 또는 냉방시설의 풍도가 방화구획을 관통하는 경우에는 그 관통부분 또는 이에 근접한 부분에 다음 각목의 기준에 적합한 댐퍼를 설치할 것. 다만, 반도체공장건축물로서 방화구획을 관통하는 풍도의 주위에 스프링클러헤드를 설치하는 경우에는 그러하지 아니하다.
가. 철재로서 철판의 두께가 1.5밀리미터 이상일 것
나. 화재가 발생한 경우에는 연기의 발생 또는 온도의 상승에 의하여 자동적으로 닫힐 것
다. 닫힌 경우에는 방화에 지장이 있는 틈이 생기지 아니할 것
라. 「산업표준화법」에 의한 한국산업규격상의 방화댐퍼의 방연시험방법에 적합할 것
③ 영 제46조제5항제3호에 따른 하향식 피난구(덮개, 사다리, 경보시스템을 포함한다)의 구조는 다음 각 호의 기준에 적합하게 설치하여야 한다. <신설 2010.4.7.>
1. 피난구의 덮개는 제26조에 따른 비차열 1시간 이상의 내화성능을 가져야 하며, 피난구의 유효 개구부 규격은 직경 60센티미터 이상일 것
2. 상층ㆍ하층간 피난구의 설치위치는 수직방향 간격을 15센티미터 이상 띄어서 설치할 것
3. 아래층에서는 바로 윗층의 피난구를 열 수 없는 구조일 것
4. 사다리는 바로 아래층의 바닥면으로부터 50센터미터 이하까지 내려오는 길이로 할 것
5. 덮개가 개방될 경우에는 건축물관리시스템 등을 통하여 경보음이 울리는 구조일 것
6. 피난구가 있는 곳에는 예비전원에 의한 조명설비를 설치할 것
④ 제2항제2호에 따른 건축물의 외벽과 바닥 사이의 내화충전방법에 필요한 사항은 국토교통부장관이 정하여 고시한다. <신설 2012.1.6., 2013.3.23.>



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의 설치) 1항


check(REFB_14_1){
KS
}

KS{
     getResult(REFB_14_1_1) = TRUE
     AND getResult(REFB_14_1_2) = TRUE
     AND getResult(REFB_14_1_3) = TRUE
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의 설치) 1항1호



check(REFB_14_1_1){KS

}



KS{

     Floor myFloor{

          Floor.number>=10

     }



     IF (


isExist(SprinklerSystem)=TRUE
isObjectProperty(ExtinguishingSystem.isAutomatic) = TRUE


)

     (

isFirePartition(myFloor, 3000)=TRUE

OR isFirePartition(myFloor, a, 1000)=TRUE

)

     

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의 설치) 1항2호

check(REFB_14_1_2){
IF CS THEN KS
}

KS{
Floor myFloor {
Floor.number>=3
AND Floor.number<0
}
isObjectProperty(myFloor.isFirePartition)=TRUE
}



CS{
Ramp myRamp{
isGoThrough(getFloor(Floor.number=-1),Ramp,Ground)=TRUE
}
isObjectProperty(myRamp.isFirePartition)=FALSE
}





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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) }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의 설치기준) 3항

Check(REFB_14_3){
KS
}

KS{
getResult(REFB_14_3_1)=True
getResult(REFB_14_3_2)=True
getResult(REFB_14_3_3)=True
getResult(REFB_14_3_4)=True
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의 설치기준) 3항 1호

Check(REFB_14_3_1){
KS
}

KS{
Opening myOpening {
isObjectProperty(Opening.isEscape)=True
}

getObjectDiameter(myOpening)>60 cm
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의 설치기준) 3항 2호

Check(REFB_14_3_2){
KS
}

KS{
getObjectVerticalDistance(myOpening, myOpening)> 15 cm
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의 설치기준) 3항 4호 Check(REFB_14_3_4){ KS } KS{ getObjectVerticalDistance(Ladder, Floor.LowerFloor.FloorSlab.Surface, a)<= 50 cm }




39
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14조의2 조
제14조의2(복합건축물의 피난시설 등) 영 제47조제1항 단서의 규정에 의하여 같은 건축물안에 공동주택ㆍ의료시설ㆍ아동관련시설 또는 노인복지시설(이하 이 조에서 "공동주택등"이라 한다)중 하나 이상과 위락시설ㆍ위험물저장 및 처리시설ㆍ공장 또는 자동차정비공장(이하 이 조에서 "위락시설등"이라 한다)중 하나 이상을 함께 설치하고자 하는 경우에는 다음 각 호의 기준에 적합하여야 한다. <개정 2005.7.22.>
1. 공동주택등의 출입구와 위락시설등의 출입구는 서로 그 보행거리가 30미터 이상이 되도록 설치할 것
2. 공동주택등(당해 공동주택등에 출입하는 통로를 포함한다)과 위락시설등(당해 위락시설등에 출입하는 통로를 포함한다)은 내화구조로 된 바닥 및 벽으로 구획하여 서로 차단할 것
3. 공동주택등과 위락시설등은 서로 이웃하지 아니하도록 배치할 것
4. 건축물의 주요 구조부를 내화구조로 할 것
5. 거실의 벽 및 반자가 실내에 면하는 부분(반자돌림대ㆍ창대 그 밖에 이와 유사한 것을 제외한다. 이하 이 조에서 같다)의 마감은 불연재료ㆍ준불연재료 또는 난연재료로 하고, 그 거실로부터 지상으로 통하는 주된 복도ㆍ계단 그밖에 통로의 벽 및 반자가 실내에 면하는 부분의 마감은 불연재료 또는 준불연재료로 할 것
[본조신설 2003.1.6.]



// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등)



Check(REFB_14-2){

     IF CS THEN KS

}



CS{


Building myBuilding1{
Building.usage = "MultiUnitHouse" 
   OR Building.usage = "MedicalFacility"

   OR Building.usage =  "ChildrenRelatedFacility"

   OR Building.usage =  "WelfareFacilityForTheAged"
}

 Building myBuilding2{
Building.usage = "AmusementFacility"

   OR Building.usage = "FacilityForStorageAndTreatmentOfDangerousSubstance"

   OR Building.usage = "Factory"

   OR Building.usage = "AutomobileRepairShop"
}

hasObject(Building, myBuilding1) = TRUE
hasObject(Building, myBuilding2) = TRUE


}



KS{

   getResult(REFB_14-2_0_1)=True

   getResult(REFB_14-2_0_2)=True

   getResult(REFB_14-2_0_3)=True

   getResult(REFB_14-2_0_4)=True

   getResult(REFB_14-2_0_5)=True

   

}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 1호

Check(REFB_14-2_0_1){
KS
}

KS{
Space mySpace{
Space.usage="MultiUnitHouse"
OR Space.usage="MedicalFacility"
OR Space.usage="ChildrenRelatedFacility"
OR Space.usage="WelfareFacilityForTheAged"
}

Space mySpace2{
Space.usage="AmusementFacility"
OR Space.usage="FacilityForStorageAndTreatmentOfDangerousSubstance"
OR Space.usage="Factory"
OR Space.usage="AutomobileRepairShop"
}


getSpaceDiatance(mySpace.Door, mySpace2.Door)>=30 m

}



// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의 2 (복합건축물의 피난시설 등) 2호

Check(REFB_14-2_0_2){
KS
}

KS{
Space mySpace{
Space.usage="MultiUnitHouse"
OR Space.usage="MedicalFacility"
OR Space.usage="ChildrenRelatedFacility"
OR Space.usage="WelfareFacilityForTheAged"
}

Space mySpace2{
Space.usage="AmusementFacility"
OR Space.usage="FacilityForStorageAndTreatmentOfDangerousSubstance"
OR Space.usage="Factory"
OR Space.usage="AutomobileRepairShop"
}

Passage myPassage{
isAccessible(Passage, mySpace)=True
OR isAccessible(Passage, mySpace2)=True
}


isFirePartition(mySpace)=True
isFirePartition(mySpace2)=True
isFirePartition(myPassage)=True
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 3호

Check(REFB_14-2_0_3){
KS
}

KS{

Space mySpace{
Space.usage="MultiUnitHouse"
OR Space.usage="MedicalFacility"
OR Space.usage="ChildrenRelatedFacility"
OR Space.usage="WelfareFacilityForTheAged"
}

Space mySpace2{
Space.usage="AmusementFacility"
OR Space.usage="FacilityForStorageAndTreatmentOfDangerousSubstance"
OR Space.usage="Factory"
OR Space.usage="AutomobileRepairShop"
}

isAdjacent(mySpace, mySpace2)=False

}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 4호 Check(REFB_14-2_0_4){ KS } KS{ isFireResistantStructure(MainStructuralPart)=True }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 }




40
15289 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 15 조

3. 경사로의 직선 및 굴절부분의 유효너비는 「장애인ㆍ노인ㆍ임산부등의 편의증진보장에 관한 법률」이 정하는 기준에 적합할 것
⑥제1항 각호의 규정은 제5항의 규정에 의한 경사로의 설치기준에 관하여 이를 준용한다.
⑦ 제1항 및 제2항에도 불구하고 영 제34조제4항 후단에 따라 피난층 또는 지상으로 통하는 직통계단을 설치하는 경우 계단 및 계단참의 너비는 다음 각 호의 구분에 따른 기준에 적합하여야 한다. <신설 2012.1.6.>
1. 공동주택: 120센티미터 이상
2. 공동주택이 아닌 건축물: 150센티미터 이상
⑧ 승강기기계실용 계단, 망루용 계단 등 특수한 용도에만 쓰이는 계단에 대해서는 제1항부터 제7항까지의 규정을 적용하지 아니한다. <개정 2012.1.6.>
제15조(계단의 설치기준) ①영 제48조의 규정에 의하여 건축물에 설치하는 계단은 다음 각호의 기준에 적합하여야 한다. <개정 2010.4.7.>
1. 높이가 3미터를 넘는 계단에는 높이 3미터이내마다 너비 1.2미터 이상의 계단참을 설치할 것
2. 높이가 1미터를 넘는 계단 및 계단참의 양옆에는 난간(벽 또는 이에 대치되는 것을 포함한다)을 설치할 것
3. 너비가 3미터를 넘는 계단에는 계단의 중간에 너비 3미터 이내마다 난간을 설치할 것. 다만, 계단의 단높이가 15센티미터 이하이고, 계단의 단너비가 30센티미터 이상인 경우에는 그러하지 아니하다.
4. 계단의 유효 높이(계단의 바닥 마감면부터 상부 구조체의 하부 마감면까지의 연직방향의 높이를 말한다)는 2.1미터 이상으로 할 것
②제1항의 규정에 의하여 계단을 설치하는 경우 계단 및 계단참의 너비(옥내계단에 한한다), 계단의 단높이 및 단너비의 칫수는 다음 각호의 기준에 적합하여야 한다. 이 경우 돌음계단의 단너비는 그 좁은 너비의 끝부분으로부터 30센티미터의 위치에서 측정한다. <개정 2003.1.6., 2005.7.22., 2010.4.7.>
1. 초등학교의 계단인 경우에는 계단 및 계단참의 너비는 150센티미터 이상, 단높이는 16센티미터 이하, 단너비는 26센티미터 이상으로 할 것
2. 중ㆍ고등학교의 계단인 경우에는 계단 및 계단참의 너비는 150센티미터 이상, 단높이는 18센티미터 이하, 단너비는 26센티미터 이상으로 할 것
3. 문화 및 집회시설(공연장ㆍ집회장 및 관람장에 한한다)ㆍ판매시설 기타 이와 유사한 용도에 쓰이는 건축물의 계단인 경우에는 계단 및 계단참의 너비를 120센티미터 이상으로 할 것
4. 윗층의 거실의 바닥면적의 합계가 200제곱미터 이상이거나 거실의 바닥면적의 합계가 100제곱미터 이상인 지하층의 계단인 경우에는 계단 및 계단참의 너비를 120센티미터 이상으로 할 것
5. 기타의 계단인 경우에는 계단 및 계단참의 너비를 60센티미터 이상으로 할 것
6. 「산업안전보건법」에 의한 작업장에 설치하는 계단인 경우에는 「산업안전 기준에 관한 규칙」에서 정한 구조로 할 것
③공동주택(기숙사를 제외한다)ㆍ제1종 근린생활시설ㆍ제2종 근린생활시설ㆍ문화 및 집회시설ㆍ종교시설ㆍ판매시설ㆍ운수시설ㆍ의료시설ㆍ노유자시설ㆍ업무시설ㆍ숙박시설ㆍ위락시설 또는 관광휴게시설의 용도에 쓰이는 건축물의 주계단ㆍ피난계단 또는 특별피난계단에 설치하는 난간 및 바닥은 아동의 이용에 안전하고 노약자 및 신체장애인의 이용에 편리한 구조로 하여야 하며, 양쪽에 벽등이 있어 난간이 없는 경우에는 손잡이를 설치하여야 한다. <개정 2010.4.7.>
④제3항의 규정에 의한 난간ㆍ벽 등의 손잡이와 바닥마감은 다음 각호의 기준에 적합하게 설치하여야 한다.
1. 손잡이는 최대지름이 3.2센티미터 이상 3.8센티미터 이하인 원형 또는 타원형의 단면으로 할 것
2. 손잡이는 벽등으로부터 5센티미터 이상 떨어지도록 하고, 계단으로부터의 높이는 85센티미터가 되도록 할 것
3. 계단이 끝나는 수평부분에서의 손잡이는 바깥쪽으로 30센티미터 이상 나오도록 설치할 것
⑤계단을 대체하여 설치하는 경사로는 다음 각호의 기준에 적합하게 설치하여야 한다. <개정 2010.4.7.>
1. 경사도는 1 : 8을 넘지 아니할 것
2. 표면을 거친 면으로 하거나 미끄러지지 아니하는 재료로 마감할 것



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 1항

check(REFB_15_1){

     KS

}



KS{

     getResult(REFB_15_1_1)= TRUE

     getResult(REFB_15_1_2)=TRUE

     getResult(REFB_15_1_3)=TRUE

     getResult(REFB_15_1_4)=TRUE

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 1항1호
check(REFB_15_1_1){
IF CS THEN KS
}

CS{
getObjectHeight(Stair)>3 m
}

KS{
isExist(StairLanding )= TRUE
getPaceWidth(StairLanding>=1.2 m
getObjectCount(StairLanding)>=getObjectCount(getObjectCount(StairLanding))/3
IF getObjectCount(StairLanding)>1
THEN getObjectVerticalDistance(StairLanding ,StairLanding)>3 m
END IF
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 1항2호

check(REFB_15_1_2){

KS

}



KS{



IF getObjectHeight(Stair)>1 m

OR getObjectHeight(StairLanding)>1 m)

THEN isExist(Railing)=TRUE

END IF

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 1항3호
check(REFB_15_1_3){
IF !CS THEN KS
}

CS{
getStairStepHeight()<=15 cm
getStairStepWidth()>=30 cm
}

KS{
IF getObjectWidth(Stair)>=3 m

THEN hasObject(Stair, Railing) = TRUE
N=getObjectWidth(Stair)/3
getObjectCount(Railing)>=N
IF N>1
THEN getObjectDistance(Railing,Railing)<3 m
END IF
END IF
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 1항4호 check(REFB_15_1_4){ KS } KS{ getObjectProperty(Stair.effectiveHeight)>=2.1 m }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 2항
check(REFB_15_2){
KS
}

KS{
IF getResult(REFB_15_1)=TRUE

THEN getResult(REFB_15_2_1)=TRUE
getResult(REFB_15_2_2)=TRUE
getResult(REFB_15_2_3)=TRUE
getResult(REFB_15_2_4)=TRUE
getResult(REFB_15_2_5)=TRUE
getResult(REFB_15_2_6)=TRUE
END IF
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 2항1호
check(REFB_15_2_1){
IF CS THEN KS
}

CS{
getBuildingUsage()="ElementarySchool"
}

KS{
getObjectWidth(Stair)>= 150 cm
getObjectWidth(StairLanding)>150 cm
getObjectProperty(Stair.riserHeight)>=16 cm
getObjectProperty(Stair.riserWidth)>=26 cm
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 2항2호
check(REFB_15_2_2){
IF CS THEN KS
}

CS{
getBuildingUsage()="MiddleSchool"
OR getBuildingUsage()="HighSchool"
}

KS{
getObjectWidth(Stair)>=150 cm
getObjectWidth(StairLanding)>150 cm
getObjectProperty(Stair.riserHeight)>=18 cm
getObjectProperty(Stair.riserWidth)>=26 cm
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 2항3호
check(REFB_15_2_3){
IF CS THEN KS
}

CS{
getBuildingUsage()= "CulturalAndAssemblyFacility.PerformanceHall"
OR getBuildingUsage()= "CulturalAndAssemblyFacility.AssemblyHall"
OR getBuildingUsage()= "CulturalAndAssemblyFacility.Auditorium"
OR getBuildingUsage()= "CommercialFacility "
}

KS{
getObjectWidth(Stair)>=120 cm
getObjectWidth(StairLanding)>=120 cm
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 2항5호
check(REFB_15_2_5){
KS
}


KS{
getObjectWidth(Stair)>=120 cm
getObjectWidth(StairLanding)>120 cm
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙      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

}


check(REFB_15_3){

IF CS THEN KS

}



CS{

getBuildingUsage()= "ClassINeighborhoodLivingFacility"

OR getBuildingUsage() = "ClassIINeighborhoodLivingFacility"

OR getBuildingUsage() = "CulturalAndAssemblyFacility"

OR getBuildingUsage() = "ReligiousFacility"

OR getBuildingUsage() = "CommercialFacility"

OR getBuildingUsage() = "TransportationFacility"

OR getBuildingUsage() = "MedicalFacility"

OR getBuildingUsage() = "FacilitiesForTheAgedAndChildren"

OR getBuildingUsage() = "BusinessFacility"

OR getBuildingUsage() = "LodgingFacility"

OR getBuildingUsage() = "AmusementFacility"

OR getBuildingUsage() = "FacilityForTourismAndRelaxation"

OR (getBuildingUsage() = "MultiUnitHouse" AND getBuildingUsage() != "Dormitory")

}



KS{

isExist(Railing)=TRUE

OR (isExist(Railing)=FALSE AND isExist(Handle)=TRUE)

}


check(REFB_15_4){

KS

}



KS{

getResult(REFB_15_4_1)=TRUE

AND getResult(REFB_15_4_2)=TRUE

AND getResult(REFB_15_4_3)=TRUE

}


check(REFB_15_4_1){

KS

}

KS{

getElementWidth(Railing,Handle) >= 3.2CM

AND getElementWidth(Handle) <= 3.8CM

getObjectProperty(Handle.sectionShapeType)="Circle" OR "Oval"

}


check(REFB_15_4_2){
KS
}
KS{
getObjectDistance(Handle,WallLantern) >= 5CM
AND getObjectVerticalDistance(Handle,Stair) = 85CM
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙      15조 (계단의 설치기준) 4항 3호

check(REFB_15_4_3){
KS
}
KS{
getElementDistance(Handle,Stair.EndPart) <= 30cm
}



건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 5항
Check(REFB_15_5){      
IF CS THEN KS
}

CS{
isEixst(Ramp)=TRUE
}
KS {
getResult(REFB_15_5_1)=TRUE
getResult(REFB_15_5_3)=TRUE
}




//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 5항 1호
Check(REFB_15_5_1){      
KS
}

KS{
getObjectGradient(Ramp) <= 12.5%
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙      15조 (계단의 설치기준) 5항 3호

check(REFB_15_5_3){
IF CS THEN KS
}
CS{
     isInstalled(Ramp, Building) = TRUE
}
KS{
     getResult(unimplemented_CDAPA) = TRUE
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 6항
Check(REFB_15_6){
     IF CS THEN KS
}


Stair myStair{
     getResult(REFB_15_1) = TRUE
}

CS{
     isReplaced(myStair, Ramp) = TRUE
}

KS{
     getResult(REFB_15_5) = TRUE
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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)
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 7항 1호
check(REFP_15_7_1){
KS
}

KS{
getBuildingUsage() = "MultiUnitHouse"
AND getStairStepWidth >= 1.2M
AND getPaceWidth >= 1.2M
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조 (계단의 설치기준) 7항 2호
check(REFP_15_7_2){
KS
}

KS{
getBuildingUsage() != "MultiUnitHouse"
AND getStairStepWidth >= 1.5M
AND getPaceWidth >= 1.5M
}


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

}




41
15290 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 15조의2 조
제15조의2(복도의 너비 및 설치기준) ①영 제48조의 규정에 의하여 건축물에 설치하는 복도의 유효너비는 다음 표와 같이 하여야 한다
표
②문화 및 집회시설(공연장ㆍ집회장ㆍ관람장ㆍ전시장에 한한다), 종교시설 중 종교집회장, 노유자시설 중 아동 관련 시설ㆍ노인복지시설, 수련시설 중 생활권수련시설, 위락시설 중 유흥주점 및 장례식장의 관람석 또는 집회실과 접하는 복도의 유효너비는 제1항의 규정에 불구하고 다음 각 호에서 정하는 너비로 하여야 한다. <개정 2010.4.7.>
1. 당해 층의 바닥면적의 합계가 500제곱미터 미만인 경우 1.5미터 이상
2. 당해 층의 바닥면적의 합계가 500제곱미터 이상 1천제곱미터 미만인 경우 1.8미터 이상
3. 당해 층의 바닥면적의 합계가 1천제곱미터 이상인 경우 2.4미터 이상
③문화 및 집회시설중 공연장에 설치하는 복도는 다음 각 호의 기준에 적합하여야 한다.
1. 공연장의 개별 관람석(바닥면적이 300제곱미터 이상인 경우에 한한다)의 바깥쪽에는 그 양쪽 및 뒤쪽에 각각 복도를 설치할 것
2. 하나의 층에 개별 관람석(바닥면적이 300제곱미터 미만인 경우에 한한다)을 2개소 이상 연속하여 설치하는 경우에는 그 관람석의 바깥쪽의 앞쪽과 뒤쪽에 각각 복도를 설치할 것
[본조신설 2005.7.22.]



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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

}

















//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 2항 check(REFB_15-2_2){ IF CS THEN KS } CS{ Space mySpace{ getSpaceUsage(Space) = “AssemblyHall” OR getSpaceUsage(Space) = “PerformanceHall” } Corridor myCorridor{ isAdjacent(mySpace,Corridor) = TRUE } (getBuildingUsage()="CulturalAndAssemblyFacility.PerformanceHall" OR getBuildingUsage()="CulturalAndAssemblyFacility.AssemblyHall" OR getBuildingUsage()="CulturalAndAssemblyFacility.Auditorium" OR getBuildingUsage()="CulturalAndAssemblyFacility.ExhibitionHall" OR getBuildingUsage()="ReligiousFacility.ReligiousAssemblyFacility" OR getBuildingUsage()="FacilitiesForTheAgedAndChildren.ChildrenRelatedFacility" OR getBuildingUsage()="FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged" OR getBuildingUsage()="Trainingfacility.TrainingFacilitiesInLiving " OR getBuildingUsage()="AmusementFacility.tavern" OR getBuildingUsage()="AmusementFacility.FuneralParlors" ) isExist(myCorridor)=TRUE } KS{ getResult(REFB_15-2_2_1)=TRUE getResult(REFB_15-2_2_2)=TRUE getResult(REFB_15-2_2_3)=TRUE }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 2항1호
check(REFB_15-2_2_1){
KS
}
KS{
IF getTotalFloorArea(Corridor.Floor.Space)<500 m2
THEN getObjectProperty(Corridor.effectiveWidth)>=1.5 m
END IF

}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 2항2호
check(REFB_15-2_2_2){
KS
}
KS{
IF getTotalFloorArea(Corridor.Floor.Space)>=500 m2
getTotalFloorArea(Corridor.Floor.Space)<1000 m2
THEN getObjectProperty(Corridor.effectiveWidth)>=1.8 m
END IF
}





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 2항3호
Check(REFB_15-2_2_3){
KS
}
KS{
IF getTotalFloorArea(Corridor.Floor.Space)>=1000 m2
THEN getObjectProperty(Corridor.effectiveWidth)>=2.4 m
END IF
}





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 3항
Check(REFB_15-2_3){
IF CS THEN KS
}

CS{
getSpaceUsage(Space)="CulturalAndAssemblyFacility.PerformanceHall"
isExist(Corridor)=TRUE
}
KS{

getResult(REFB_15-2_3_1) = TRUE
getResult(REFB_15-2_3_2) = TRUE
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 3항1호
Check(REFB_15-2_3_1){
IF CS THEN KS
}

CS{
Space mySpace{
getSpaceUsage(Space)="IndividualAuditorium"
}

getFloorArea(mySpace)>300 m2
}

KS{

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 3항2호 Check(REFB_15-2_3_2){ IF CS THEN KS } CS{ Space mySpace{ getSpaceUsage(Space)="IndividualAuditorium" } getFloorArea(mySpace)>300 m2 getObjectCount(Floor.One.mySpace)>=2 } KS{ }




42
15291 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 16 조

제16조(거실의 반자높이) ①영 제50조의 규정에 의하여 설치하는 거실의 반자(반자가 없는 경우에는 보 또는 바로 윗층의 바닥판의 밑면 기타 이와 유사한 것을 말한다. 이하같다)는 그 높이를 2.1미터 이상으로 하여야 한다.
②문화 및 집회시설(전시장 및 동ㆍ식물원은 제외한다), 종교시설, 장례식장 또는 위락시설 중 유흥주점의 용도에 쓰이는 건축물의 관람석 또는 집회실로서 그 바닥면적이 200제곱미터 이상인 것의 반자의 높이는 제1항의 규정에 불구하고 4미터(노대의 아랫부분의 높이는 2.7미터)이상이어야 한다. 다만, 기계환기장치를 설치하는 경우에는 그러하지 아니하다. <개정 2010.4.7.>



// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 16조 (거실의 반자높이) 1항

check(REFB_16_1){

     IF (CS) THEN KS

}



CS{

     getResult(REFB_16_2) = FALSE

}



KS{

     getSpaceHeight(Room, b) >= 2.1m

}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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”




43
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 17 조

제17조(채광 및 환기를 위한 창문등) ①영 제51조에 따라 채광을 위하여 거실에 설치하는 창문등의 면적은 그 거실의 바닥면적의 10분의 1 이상이어야 한다. 다만, 거실의 용도에 따라 별표 1의3에 따라 조도 이상의 조명장치를 설치하는 경우에는 그러하지 아니하다. <개정 2000.6.3., 2010.4.7., 2012.1.6.>
②영 제51조의 규정에 의하여 환기를 위하여 거실에 설치하는 창문등의 면적은 그 거실의 바닥면적의 20분의 1 이상이어야 한다. 다만, 기계환기장치 및 중앙관리방식의 공기조화설비를 설치하는 경우에는 그러하지 아니하다.
③제1항 및 제2항의 규정을 적용함에 있어서 수시로 개방할 수 있는 미닫이로 구획된 2개의 거실은 이를 1개의 거실로 본다.
④ 영 제51조제3항에서 "국토교통부령으로정하는 기준"이란 높이 1.2미터 이상의 난간이나 그 밖에 이와 유사한 추락방지를 위한 안전시설을 말한다. <신설 2010.4.7., 2013.3.23.>



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 17조 (채광 및 환기를 위한 창문등) 2항 check(REFB_17_2){      IF !CS THEN KS } CS{      AirConditioningSystem myAirConditioningSystem{           isObjectProperty(AirConditioningSystem.isCentralControl)      } VentilatorEquipment myVentilatorEquipemnt{ isObjectProperty(VentilatorEquipment.isMechanical)=TRUE }      hasElement(Room, myVentilatorEquipemnt)= TRUE      OR hasElement(Room, myAirConditioningSystem) = TRUE } KS{      Window myWindow{           hasElement(Room, Window) = TRUE      }           getElementArea(myWindow) >= getFloorArea(Room)*0.05 }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 17조 (채광 및 환기를 위한 창문등) 3항 check(REFB_17_3){      IF CS THEN KS } CS{ Door myDoor{ getObjectProperty(Door.panelOperationType) = "SlidingDoor" }      Room myRoom{           isPartitioned(Room, myDoor, Room) = TRUE      } } KS{      myRoom = Room }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 17조 (채광 및 환기를 위한 창문등) 4항

check(REFB_17_4){

     getObjectHeight(Railing) >= 1.2 m

     OR getObjectHeight(FallPreventionSafetyFacility) >= 1.2 m

     

}




44
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 18 조

제18조(거실등의 방습) ①영 제52조의 규정에 의하여 건축물의 최하층에 있는 거실바닥의 높이는 지표면으로부터 45센티미터 이상으로 하여야 한다. 다만, 지표면을 콘크리트바닥으로 설치하는 등 방습을 위한 조치를 하는 경우에는 그러하지 아니하다.
②영 제52조에 따라 다음 각 호의 어느 하나에 해당하는 욕실 또는 조리장의 바닥과 그 바닥으로부터 높이 1미터까지의 안벽의 마감은 이를 내수재료로 하여야 한다. <개정 2010.4.7.>
1. 제1종 근린생활시설중 목욕장의 욕실과 휴게음식점의 조리장
2. 제2종 근린생활시설중 일반음식점 및 휴게음식점의 조리장과 숙박시설의 욕실



// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 18조 (거실등의 방습) 1항





Check(REFB_18_1){

IF !CS THEN KS}







KS{

 getObjectHeight(getFloor(BottomFloor))>=45CM

}





CS {

 isObjectProperty(Ground.Surface.isDampProof)=TRUE 

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 18조 (거실등의 방습) 2항 Check(REFB_18_2){ IF CS THEN KS } CS{ getResult(REFB_18_2_1)=TRUE OR getResult(REFB_18_2_2)=TRUE } KS{ Finish myFinish{ getObjectDistance(Finish,floor)<=1 isObjectPropert(InteriorFinish.Material.waterResistance)=TRUE }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 18조 (거실등의방습) 2항1호 Check(REFB_18_2_1){ KS } KS{ Space mySpace1{ getSpaceUsage() = "Bathroom" } Space mySpace2{ getSpaceUsage() = "Kitchen" } getBuildingUsage(mySpace1.Building) = "ClassINeighborhoodLivingFacility.BathHouse" OR getBuildingUsage(mySpace2.Building) = "ClassINeighborhoodLivingFacility.RestingRestaurant" }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 18조 (거실등의 방습) 2항 2호 Check(REFB_18_2_2){ KS } KS{ Space mySpace1{ getSpaceUsage() = "Kitchen" } Space mySpace2{ getSpaceUsage() = "Bathroom" } getBuildingUsage(mySpace1.Building) = "ClassINeighborhoodLivingFacility.Restarant" OR getBuildingUsage(mySpace2.Building) = "ClassINeighborhoodLivingFacility.LodgingFacilities" }




45
15292 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 19 조

제19조(경계벽 등의 구조) ①법 제49조제3항에 따라 건축물에 설치하는 경계벽은 내화구조로 하고, 지붕밑 또는 바로 윗층의 바닥판까지 닿게 하여야 한다. <개정 2014.11.28.>
②제1항에 따른 경계벽은 소리를 차단하는데 장애가 되는 부분이 없도록 다음 각 호의 어느 하나에 해당하는 구조로 하여야 한다. 다만, 다가구주택 및 공동주택의 세대간의 경계벽인 경우에는 「주택건설기준 등에 관한 규정」 제14조에 따른다. <개정 2005.7.22., 2008.3.14., 2010.4.7., 2013.3.23., 2014.11.28.>
1. 철근콘크리트조ㆍ철골철근콘크리트조로서 두께가 10센티미터이상인 것
2. 무근콘크리트조 또는 석조로서 두께가 10센티미터(시멘트모르타르ㆍ회반죽 또는 석고플라스터의 바름두께를 포함한다)이상인 것
3. 콘크리트블록조 또는 벽돌조로서 두께가 19센티미터 이상인 것
4. 제1호 내지 제3호의 것외에 국토교통부장관이 정하여 고시하는 기준에 따라 국토교통부장관이 지정하는 자 또는 한국건설기술연구원장이 실시하는 품질시험에서 그 성능이 확인된 것
5. 한국건설기술연구원장이 제27조제1항에 따라 정한 인정기준에 따라 인정하는 것
③ 법 제49조제3항에 따른 가구ㆍ세대 등 간 소음방지를 위한 바닥은 경량충격음(비교적 가볍고 딱딱한 충격에 의한 바닥충격음을 말한다)과 중량충격음(무겁고 부드러운 충격에 의한 바닥충격음을 말한다)을 차단할 수 있는 구조로 하여야 한다. <신설 2014.11.28.>
④ 제3항에 따른 가구ㆍ세대 등 간 소음방지를 위한 바닥의 세부 기준은 국토교통부장관이 정하여 고시한다. <신설 2014.11.28.>
[제목개정 2014.11.28.]



check(REFB_19_1){

     KS

}



KS{

Wall myWall{
   isObjectProperty(Wall.isPartitionWall) = TRUE
}
Floor myFloor{
hasObject(Floor, myWall)
}
   isFireResistantStructure(myWall)=TRUE
(isConnectedTo(myWall, Roof.BottomSurface) = TRUE
 OR isCOnnectedTo(myWall, myFloor.UpperFloor.FloorSlab) = TRUE)

}


check(REFB_19_2){
KS
}

KS{
getResult(REFB_19_2_1)= TRUE
OR getResult(REFB_19_2_2)= TRUE
OR getResult(REFB_19_2_3)= TRUE
OR getResult(REFB_19_2_4)= TRUE
OR getResult(REFB_19_2_5)= TRUE
}


check(REFB_19_2_1){ KS } KS{ Wall myWall{ isObjectProperty(Wall.isPartitionWall) = TRUE } getObjectProperty(myWall.Structure.materialType) = "ReinforcedConcrete" OR "SteelFramedReinforcedConcrete" AND getObjectThickness(myWall) >= 10CM }


check(REFB_19_2_2){ KS } KS{ Wall myWall{ isObjectProperty(Wall.isPartitionWall) = TRUE } getObjectProperty(myWall.Structure.materialType) = "PlainConcrete" OR "Stone" getObjectThickness(myWall) >= 10CM }


check(REFB_19_2_3){ KS } KS{ Wall myWall{ isObjectProperty(Wall.isPartitionWall) = TRUE } getObjectProperty(myWall.Structure.materialType) = "ConcreteBlock" OR "Brick" getObjectThickness(myWall) >= 19CM }




46
15293 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 20 조
제20조(건축물에 설치하는 굴뚝) 영 제54조에 따라 건축물에 설치하는 굴뚝은 다음 각호의 기준에 적합하여야 한다. <개정 2010.4.7.>
1. 굴뚝의 옥상 돌출부는 지붕면으로부터의 수직거리를 1미터 이상으로 할 것. 다만, 용마루ㆍ계단탑ㆍ옥탑등이 있는 건축물에 있어서 굴뚝의 주위에 연기의 배출을 방해하는 장애물이 있는 경우에는 그 굴뚝의 상단을 용마루ㆍ계단탑ㆍ옥탑등보다 높게 하여야 한다.
2. 굴뚝의 상단으로부터 수평거리 1미터 이내에 다른 건축물이 있는 경우에는 그 건축물의 처마보다 1미터 이상 높게 할 것
3. 금속제 굴뚝으로서 건축물의 지붕속ㆍ반자위 및 가장 아랫바닥밑에 있는 굴뚝의 부분은 금속외의 불연재료로 덮을 것
4. 금속제 굴뚝은 목재 기타 가연재료로부터 15센티미터 이상 떨어져서 설치할 것. 다만, 두께 10센티미터 이상인 금속외의 불연재료로 덮은 경우에는 그러하지 아니하다.



check(REFB_20){

KS

}



KS{

isExist(Chimney)=TRUE

AND (getResult(REFB_20_0_1)=TRUE



AND getResult(REFB_20_0_3)=TRUE

AND getResult(REFB_20_0_4)=TRUE)

}


check(REFB_20_0_1){
KS
}

KS{
getObjectDistance(Chimney, Ground)
-getObjectDistance(Roof, Ground)>= 1M
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 20조 (건축물에 설치하는 굴뚝) 3호
Check(REFB_20_0_3){
     IF CS THEN KS
}

CS{
     getObjectMaterial(Chimney.Material.nonCombustibility) = TRUE
}

KS{
     Chimney myChimney{
          getObjectMaterial(Chimney.Material.nonCombustibility) = TRUE
     }

     isObjectProperty(A.Finish.Material.nonCombustibility) = TRUE
     getObjectProperty(A.Finish.Material.nonCombustibility) !=
     isObjectProperty(B.Finish.Material.nonCombustibility) = TRUE
     getFloorNumber(myChimney) = LF
     getObjectMaterial(myChimney) != "Metal"
}


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"))

}




47
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 20조의2 조
제20조의2(내화구조의 적용이 제외되는 공장건축물) 영 제56조제1항제3호 단서에서 "국토교통부령으로 정하는 공장"이란 별표 2의 업종에 해당하는 공장으로서 주요구조부가 불연재료로 되어 있는 2층 이하의 공장을 말한다. <개정 2005.7.22., 2008.3.14., 2009.7.1., 2013.3.23.>
[본조신설 2000.6.3.]



check(REFB_20-2){

     getResult(REFB_*_2) = True

     getObjectProperty(MainStructuralPart.Material.nonCombustibility)= TRUE

     getBuildingStoriesCount()<2;

}




48
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 21 조

제21조(방화벽의 구조) ①영 제57조제2항에 따라 건축물에 설치하는 방화벽은 다음 각호의 기준에 적합하여야 한다. <개정 2010.4.7.>
1. 내화구조로서 홀로 설 수 있는 구조일 것
2. 방화벽의 양쪽 끝과 윗쪽 끝을 건축물의 외벽면 및 지붕면으로부터 0.5미터 이상 튀어 나오게 할 것
3. 방화벽에 설치하는 출입문의 너비 및 높이는 각각 2.5미터 이하로 하고, 해당 출입문에는 제26조에 따른 갑종방화문을 설치할 것
②제14조제2항의 규정은 제1항의 규정에 의한 방화벽의 구조에 관하여 이를 준용한다.



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 21조 (방화벽의 구조) 1항

Check(REFB_21_1){
KS
}

KS{
getResult(REFB_21_1_1)=True
getResult(REFB_21_1_2)=True
getResult(REFB_21_1_3)=True
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 21조 (방화벽의 구조) 1항 1호

Check(REFB_21_1_1){
KS
}

KS{
Wall myWall{
isObjectProperty(Wall.isFireProofWall)=True
}

isObjectProperty(myWall.isfireResistantStructure)=True
}




//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 21조 (방화벽의 구조) 2항
Check(REFB_21_2){
     KS
}

KS{
     getResult(REFB_14_1) = TRUE
     getResult(REFB_14_2) = TRUE
}




49
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 23 조

4. 환기구멍에 설치하는 불연재료로 된 방화커버 또는 그물눈이 2밀리미터 이하인 금속망
제23조(방화지구안의 지붕ㆍ방화문 및 외벽등) ①「건축법」 (이하 "법"이라 한다) 제51조제3항에 따라 방화지구 내 건축물의 지붕으로서 내화구조가 아닌 것은 불연재료로 하여야 한다. <개정 2005.7.22., 2010.12.30.>
②법 제51조제3항에 따라 방화지구 내 건축물의 인접대지경계선에 접하는 외벽에 설치하는 창문등으로서 제22조제2항에 따른 연소할 우려가 있는 부분에는 다음 각 호의 방화문 기타 방화설비를 하여야 한다. <개정 2005.7.22., 2010.4.7., 2010.12.30.>
1. 제26조에 따른 갑종방화문
2. 소방법령이 정하는 기준에 적합하게 창문등에 설치하는 드렌처
3. 당해 창문등과 연소할 우려가 있는 다른 건축물의 부분을 차단하는 내화구조나 불연재료로 된 벽ㆍ담장 기타 이와 유사한 방화설비



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 23조 (방화지구안의 지붕ㆍ방화문 및 외벽등) 1항

Check(REFB_23_1){

     IF CS THEN KS

}



CS{


     Building myBuilding{
getObjectProperty(Building.SpecialPurposeDistrict.type) = "FirePreventionDistrict"
     }



     Roof myRoof{

          hasObject(myBuilding, Roof) = TRUE

     }



     isObjectProperty(myRoof.isFireResistantStructure) != TRUE

}



KS{

     isObjectProperty(myRoof.Material.nonCombustibility) = TRUE

}




50
15294 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 24 조

제24조(건축물의 마감재료) ①법 제52조제1항에 따라 영 제61조제1항 각 호의 건축물에 대하여는 그 거실의 벽 및 반자의 실내에 접하는 부분(반자돌림대ㆍ창대 기타 이와 유사한 것을 제외한다. 이하 이 조에서 같다)의 마감은 불연재료ㆍ준불연재료 또는 난연재료로 하여야 하며, 그 거실에서 지상으로 통하는 주된 복도ㆍ계단 기타 통로의 벽 및 반자의 실내에 접하는 부분의 마감은 불연재료 또는 준불연재료로 하여야 한다. <개정 2005.7.22., 2010.4.7., 2010.12.30.>
②영 제61조제1항 각 호의 건축물 중 다음 각 호의 어느 하나에 해당하는 거실의 벽 및 반자의 실내에 접하는 부분의 마감은 제1항에도 불구하고 불연재료 또는 준불연재료로 하여야 한다. <개정 2003.1.6., 2005.7.22., 2006.6.29., 2010.4.7., 2010.12.30.>
1. 영 제61조제1항 각 호에 따른 용도에 쓰이는 거실 등을 지하층 또는 지하의 공작물에 설치한 경우의 그 거실(출입문 및 문틀을 포함한다)
2. 영 제61조제1항제6호에 따른 용도에 쓰이는 건축물의 거실
③법 제52조제1항에서 "내부마감재료"란 건축물 내부의 천장ㆍ반자ㆍ벽(경계벽 포함)ㆍ기둥 등에 부착되는 마감재료를 말한다. 다만, 「다중이용업소의 안전관리에 관한 특별법 시행령」 제3조에 따른 실내장식물을 제외한다. <신설 2003.1.6., 2005.7.22., 2010.4.7., 2010.12.30., 2014.11.28.>
④영 제61조제1항제2호에 따른 공동주택에는 「다중이용시설 등의 실내공기질관리법」 제11조제1항 및 같은 법 시행규칙 제10조에 따라 환경부장관이 고시한 오염물질방출 건축자재를 사용하여서는 아니 된다. <신설 2006.6.29., 2010.12.30.>
⑤ 영 제61조제2항에 해당하는 건축물의 외벽에는 법 제52조제2항 후단에 따라 불연재료 또는 준불연재료를 마감재료(도장 등 코팅재료를 포함한다. 이하 이 항에서 같다)로 사용하여야 한다. 다만, 고층건축물의 외벽을 국토교통부장관이 정하여 고시하는 화재 확산 방지구조 기준에 적합하게 설치하는 경우에는 난연재료를 마감재료로 사용할 수 있다. <신설 2010.12.30., 2012.1.6., 2013.3.23.>
⑥ 법 제52조제3항에 따라 바닥을 도자기질 타일로 마감하는 경우에는 미끄럼을 방지할 수 있도록 「산업표준화법」에 따른 한국산업표준(KS L 1001)의 미끄럼 저항성 마찰계수의 기준에 적합한 재료를 사용하여야 한다. <신설 2014.6.23.>
[제목개정 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)

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 ) }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조 (건축물의 마감재료) 2항2호
check(REFB_24_2_2){
KS
}

KS{
Building myBuilding{
getResult(EDBA_61_1_1)=TRUE
}

str= myBuilding.usage

getSpaceUsage(Room)=str
}




check(REFB_24_3){
KS
}

KS{

}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}





51
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 24조의2 조

제24조의2(소규모 공장용도 건축물의 마감재료) ①영 제61조제1항제4호가목 및 제2항제1호나목에서 "국토교통부령으로 정하는 화재위험이 적은 공장"이란 각각 별표 3의 업종에 해당하는 공장을 말한다. 다만, 공장의 일부 또는 전체를 기숙사 및 구내식당의 용도로 사용하는 건축물을 제외한다. <개정 2008.3.14., 2010.12.30., 2012.1.6., 2013.3.23.>
②영 제61조제1항제4호나목에서 "국토교통부령으로 정하는 출구"란 건축물의 내부의 각 부분으로부터 출구(가장 가까운 거리에 있는 출구를 말한다)에 이르는 보행거리가 30미터 이하가 되도록 설치된 유효너비 1.5미터 이상의 출구를 말한다. <개정 2008.3.14., 2010.12.30., 2013.3.23.>
③영 제61조제1항제4호다목에서 "국토교통부령으로 정하는 성능을 구비한 복합자재"란 자재의 철판과 심재(心材)가 「산업표준화법」에 따른 한국산업규격이 정하는 바에 따라 다음 각 호의 품질기준을 갖춘 경우를 말한다. <개정 2006.6.29., 2008.3.14., 2010.12.30., 2013.3.23.>
1. 철판 : 도장용융아연도금강판중 일반용으로서 전면도장의 횟수는 2회 이상이고 두께는 0.5밀리미터 이상인 것
2. 심재
가. 발포 폴리스티렌 단열재로서 비드보온판 4호 이상인 것
나. 경질 폴리우레탄 폼 단열재로서 보온판 2종2호 이상인 것
다. 그 밖의 심재는 불연재료ㆍ준불연재료 또는 난연재료인 것
[본조신설 2005.7.22.]
[제목개정 2010.12.30.]



// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조의2 (소규모 공장용도 건축물의 마감재료) 1항

check(REFB_24-2_1){

      KS

}

KS{

     getResult(REFB_*_3) = TRUE

     (getBuildingUsage() != "Dormitory"

     OR getBuildingUsage() != "Cafeteria"

     OR getSpaceUsage() != "Dormitory"

     OR getSpaceUsage() != "Cafeteria")

}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조의2 (소규모 공장용도 건축물의 마감재료) 3항

Check(REFB_24-2_3){
KS
}

KS{
getResult(REFB_24-2_3_2)=True
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조의2
Check(REFB_24-2_3_2){
KS
}

KS{
getResult(REFB_24-2_3_2_가)= True
OR getResult(REFB_24-2_3_2_나)= True
OR getResult(REFB_24-2_3_2_다)= True
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조의2 (소규모 공장용도 건축물의 마감재료) 3항 2호 가목 Check(REFB_24-2_3_2_1){      KS } KS{      getObjectMaterial(Heartwood) = "FiringPolystyreneInsulation" }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조의2 (소규모 공장용도 건축물의 마감재료) 3항 2호 나목 Check(REFB_24-2_3_2_2){      KS } KS{      getObjectMaterial(Heartwood) = "ChangePolyurethanFormInsulation" }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조의2 (소규모 공장용도 건축물의 마감재료) 3항 2호 다목
Check(REFB_24-2_3_2_3){
     IF CS THEN KS
}

CS{
     getResult(REFB_24-2_3_2_1) = FALSE
     getResult(REFB_24-2_3_2_2) = FALSE
}

KS{
     getObjectProperty(Heartwood.Material.flameResistance) = TRUE
     OR getObjectProperty(Heartwood.Material.nonCombustibility) = TRUE
     OR getObjectProperty(Heartwood.Material.quasiNonCombustibility) = TRUE
}




52
15295 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 25 조

3. 거실의 바닥면적의 합계가 1천제곱미터 이상인 층에는 환기설비를 설치할 것
4. 지하층의 바닥면적이 300제곱미터 이상인 층에는 식수공급을 위한 급수전을 1개소이상 설치할 것
②제1항제1호에 따른 지하층의 비상탈출구는 다음 각호의 기준에 적합하여야 한다. 다만, 주택의 경우에는 그러하지 아니하다. <개정 2000.6.3., 2010.4.7.>
1. 비상탈출구의 유효너비는 0.75미터 이상으로 하고, 유효높이는 1.5미터 이상으로 할 것
2. 비상탈출구의 문은 피난방향으로 열리도록 하고, 실내에서 항상 열 수 있는 구조로 하여야 하며, 내부 및 외부에는 비상탈출구의 표시를 할 것
3. 비상탈출구는 출입구로부터 3미터 이상 떨어진 곳에 설치할 것
4. 지하층의 바닥으로부터 비상탈출구의 아랫부분까지의 높이가 1.2미터 이상이 되는 경우에는 벽체에 발판의 너비가 20센티미터 이상인 사다리를 설치할 것
5. 비상탈출구는 피난층 또는 지상으로 통하는 복도나 직통계단에 직접 접하거나 통로 등으로 연결될 수 있도록 설치하여야 하며, 피난층 또는 지상으로 통하는 복도나 직통계단까지 이르는 피난통로의 유효너비는 0.75미터 이상으로 하고, 피난통로의 실내에 접하는 부분의 마감과 그 바탕은 불연재료로 할 것
6. 비상탈출구의 진입부분 및 피난통로에는 통행에 지장이 있는 물건을 방치하거나 시설물을 설치하지 아니할 것
7. 비상탈출구의 유도등과 피난통로의 비상조명등의 설치는 소방법령이 정하는 바에 의할 것
제25조(지하층의 구조) ①법 제53조에 따라 건축물에 설치하는 지하층의 구조 및 설비는 다음 각 호의 기준에 적합하여야 한다. <개정 2003.1.6., 2005.7.22., 2006.6.29., 2010.4.7., 2010.12.30.>
1. 거실의 바닥면적이 50제곱미터 이상인 층에는 직통계단외에 피난층 또는 지상으로 통하는 비상탈출구 및 환기통을 설치할 것. 다만, 직통계단이 2개소 이상 설치되어 있는 경우에는 그러하지 아니하다.
1의2. 제2종근린생활시설 중 공연장ㆍ단란주점ㆍ당구장ㆍ노래연습장, 문화 및 집회시설중 예식장ㆍ공연장, 수련시설 중 생활권수련시설ㆍ자연권수련시설, 숙박시설중 여관ㆍ여인숙, 위락시설중 단란주점ㆍ유흥주점 또는 「다중이용업소의 안전관리에 관한 특별법 시행령」 제2조에 따른 다중이용업의 용도에 쓰이는 층으로서 그 층의 거실의 바닥면적의 합계가 50제곱미터 이상인 건축물에는 직통계단을 2개소 이상 설치할 것
2. 바닥면적이 1천제곱미터이상인 층에는 피난층 또는 지상으로 통하는 직통계단을 영 제46조의 규정에 의한 방화구획으로 구획되는 각 부분마다 1개소 이상 설치하되, 이를 피난계단 또는 특별피난계단의 구조로 할 것



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 1항
check(REFB_25_1){
KS
}


KS{
     getResult(REFB_25_1_1) = TRUE
     AND getResult(REFB_25_1_1-2) = TRUE
     AND getResult(REFB_25_1_2) = TRUE
     AND getResult(REFB_25_1_3) = TRUE
     AND getResult(REFB_25_1_4) = TRUE
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 1항 3호
check(REFB_25_1_3){
     getTotalFloorArea(Room) >= 1000 m2
     isExist(VentilationSystem) = TRUE
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 1항 4호 check(REFB_25_1_4){ Floor myFloor{ Floor.number < 0 }      getTotalFloorArea(myFloor) >= 300 m2      getObjectCount(Hydrant) >= 1 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 2항
check(REFB_25_2){
     IF !(CS) THEN KS
}

CS{
     getBuildingUsage() = "House"
}

KS{
     getResult(REFB_25_2_1) = TRUE
     getResult(REFB_25_2_2) = TRUE
     getResult(REFB_25_2_3) = TRUE
     getResult(REFB_25_2_4) = TRUE
     getResult(REFB_25_2_5) = TRUE
     getResult(REFB_25_2_7) = TRUE
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 2항 1호

check(REFB_25_2_1){

Door myDoor{
Door.functionType = "Emergency"
Door.Floor.number < 0
}
     getObjectWidth(myDoor, a) >= 0.75 m

     getObjectHeight(myDoor) >= 1.5 m

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 2항 2호 Check(REFB_25_2_2){ Door myDoor{ Door.functionType = "Emergency" < 0 }      isEgressDirection(myDoor) = TRUE }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 2항 3호 check(REFB_25_2_3){ Door myDoor{ Door.functionType = "Emergency" Door.Floor.number < 0 }      getSpaceDistance(myDoor, Door) >= 3 m }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 2항 4호 check(REFB_25_2_4){      IF CS THEN KS } CS{ Door myDoor{ Door.functionType = "Emergency" Door.Floor.number < 0 } Floor myFloor{ Floor.number < 0 }      getObjectVerticalDistance(myFloor, myDoor) >= 1.2 m } KS{      isConnectedTo(Wall, Ladder) = TRUE      getObjectProperty(Ladder.footholdWidth) >= 20 cm }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 2항 7호 check(REFB_25_2_7){      Door myDoor{ Door.functionType = "Emergency" Door.Floor.number < 0 } Light myLight{ isObjectProperty(Light.isEmergency) = TRUE } Passage myPassage{ isObjectProperty(Passage.isEscape) = TRUE }      hasElement(myDoor, LeadingLight) = TRUE      hasElement(myPassage, myLight) = TRUE }




53
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 29 조

제29조(피난용승강기의 설치 및 구조) ① 고층건축물에는 법 제64조제1항에 따라 건축물에 설치하는 승용승강기 중 1대 이상을 제30조에 따른 피난용승강기의 설치기준에 적합하게 설치하여야 한다. 다만, 준초고층 건축물 중 공동주택은 제외한다.
② 제1항에 따라 고층건축물에 설치하는 피난용승강기의 구조는 「승강기시설 안전관리법」으로 정하는 바에 따른다.
[본조신설 2012.1.6.]



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 29조 (피난용승강기의 설치 및 구조) 2항

Check(REFB_29_2){
KS
}

KS{
getResult(Unimplemented_EFSMA)

}




54
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3 조
9. 다음 각 목의 어느 하나에 해당하는 것으로서 한국건설기술연구원장이 국토교통부장관으로부터 승인받은 기준에 적합한 것으로 인정하는 것
가. 한국건설기술연구원장이 인정한 내화구조 표준으로 된 것
나. 한국건설기술연구원장이 인정한 성능설계에 따라 내화구조의 성능을 검증할 수 있는 구조로 된 것
10. 한국건설기술연구원장이 제27조제1항에 따라 정한 인정기준에 따라 인정하는 것
제3조(내화구조) 영 제2조제7호에서 "국토교통부령으로 정하는 기준에 적합한 구조"란 다음 각 호의 어느 하나에 해당하는 것을 말한다. <개정 2000.6.3., 2005.7.22., 2006.6.29., 2008.3.14., 2008.7.21., 2010.4.7., 2013.3.23.>
1. 벽의 경우에는 다음 각목의 1에 해당하는 것
가. 철근콘크리트조 또는 철골철근콘크리트조로서 두께가 10센티미터 이상인 것
나. 골구를 철골조로 하고 그 양면을 두께 4센티미터 이상의 철망모르타르(그 바름바탕을 불연재료로 한 것에 한한다. 이하 이 조에서 같다) 또는 두께 5센티미터 이상의 콘크리트블록ㆍ벽돌 또는 석재로 덮은 것
다. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 5센티미터 이상인 것
라. 벽돌조로서 두께가 19센티미터 이상인 것
마. 고온ㆍ고압의 증기로 양생된 경량기포 콘크리트패널 또는 경량기포 콘크리트블록조로서 두께가 10센티미터 이상인 것
2. 외벽중 비내력벽의 경우에는 제1호의 규정에 불구하고 다음 각목의 1에 해당하는 것
가. 철근콘크리트조 또는 철골철근콘크리트조로서 두께가 7센티미터 이상인 것
나. 골구를 철골조로 하고 그 양면을 두께 3센티미터 이상의 철망모르타르 또는 두께 4센티미터 이상의 콘크리트블록ㆍ벽돌 또는 석재로 덮은 것
다. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 4센티미터 이상인 것
라. 무근콘크리트조ㆍ콘크리트블록조ㆍ벽돌조 또는 석조로서 그 두께가 7센티미터 이상인 것
3. 기둥의 경우에는 그 작은 지름이 25센티미터 이상인 것으로서 다음 각목의 1에 해당하는 것. 다만, 고강도 콘크리트(설계기준강도가 50MPa 이상인 콘크리트를 말한다. 이하 이 조에서 같다)를 사용하는 경우에는 국토교통부장관이 정하여 고시하는 고강도 콘크리트 내화성능 관리기준에 적합하여야 한다.
가. 철근콘크리트조 또는 철골철근콘크리트조
나. 철골을 두께 6센티미터(경량골재를 사용하는 경우에는 5센티미터)이상의 철망모르타르 또는 두께 7센티미터 이상의 콘크리트블록ㆍ벽돌 또는 석재로 덮은 것
다. 철골을 두께 5센티미터 이상의 콘크리트로 덮은 것
4. 바닥의 경우에는 다음 각목의 1에 해당하는 것
가. 철근콘크리트조 또는 철골철근콘크리트조로서 두께가 10센티미터 이상인 것
나. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 5센티미터 이상인 것
다. 철재의 양면을 두께 5센티미터 이상의 철망모르타르 또는 콘크리트로 덮은 것
5. 보(지붕틀을 포함한다)의 경우에는 다음 각목의 1에 해당하는 것. 다만, 고강도 콘크리트를 사용하는 경우에는 국토교통부장관이 정하여 고시하는 고강도 콘크리트내화성능 관리기준에 적합하여야 한다.
가. 철근콘크리트조 또는 철골철근콘크리트조
나. 철골을 두께 6센티미터(경량골재를 사용하는 경우에는 5센티미터)이상의 철망모르타르 또는 두께 5센티미터 이상의 콘크리트로 덮은 것
다. 철골조의 지붕틀(바닥으로부터 그 아랫부분까지의 높이가 4미터 이상인 것에 한한다)로서 바로 아래에 반자가 없거나 불연재료로 된 반자가 있는 것
6. 지붕의 경우에는 다음 각목의 1에 해당하는 것
가. 철근콘크리트조 또는 철골철근콘크리트조
나. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조
다. 철재로 보강된 유리블록 또는 망입유리로 된 것
7. 계단의 경우에는 다음 각목의 1에 해당하는 것
가. 철근콘크리트조 또는 철골철근콘크리트조
나. 무근콘크리트조ㆍ콘크리트블록조ㆍ벽돌조 또는 석조
다. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조
라. 철골조
8. 「과학기술분야 정부출연연구기관 등의 설립ㆍ운영 및 육성에 관한 법률」 제8조에 따라 설립된 한국건설기술연구원의 장(이하 "한국건설기술연구원장"이라 한다)이 해당 내화구조에 대하여 다음 각 목의 사항을 모두 인정하는 것. 다만, 「산업표준화법」에 따른 한국산업표준으로 내화성능이 인정된 구조로 된 것은 나목에 따른 품질시험을 생략할 수 있다.
가. 생산공장의 품질 관리 상태를 확인할 결과 국토교통부장관이 정하여 고시하는 기준에 적합할 것
나. 가목에 따라 적합성이 인정된 제품에 대하여 품질시험을 실시한 결과 별표 1에 따른 성능기준에 적합할 것



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조)

Check (REFB_3){
getResult(REFB_3_1)=TRUE
getResult(REFB_3_4)=TRUE
getResult(REFB_3_6)=TRUE
getResult(REFB_3_7)=TRUE
getResult(REFB_3_8)=TRUE

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 가목

Check (REFB_3_0_1_가){
     KS
}
KS{
     getObjectProperty(Wall.Structure.materialType) = "ReinforcedConcrete" OR "SteelFramedReinforcedConcrete"
     getWallThickness(Wall) >= 10cm
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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)
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}     



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 라목

Check (REFB_3_0_1_라){
     KS
}

KS{
     getObjectProperty(Wall.Structure.materialType) = "Brick"
     getObjectThickness(Wall.Structure) >= 19cm
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 마목

Check (REFB_3_0_1_마){
     KS
}
KS{
     getObjectProperty(Wall.Structure.materialType) = "AeratedConcretePanel" OR "AeratedConcreteBlock"
     getObjectThickness(Wall.Structure) >= 10cm
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 4호 가목

Check (REFB_3_0_4_가){
     KS
}
KS{
     getObjectProperty(Wall.Structure.materialType) = "ReinforcedConcrete" OR "SteelFramedReinforcedConcrete"
     getObjectThickness(FloorSlab.Structure) >= 10cm
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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조 (내화구조) 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)
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호 가목

Check (REFB_3_0_6_가){
     KS
}
KS{
     getObjectProperty(Roof.Structure.materialType) = "ReinforcedConcrete" OR "SteelFramedReinforcedConcrete"
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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{
     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
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 가목

Check (REFB_3_0_7_가){
     KS
}
KS{
     getObjectProperty(Stair.Structure.materialType) = "ReinforcedConcrete" OR "SteelFramedReinforcedConcrete"
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 나목

Check (REFB_3_0_7_나){
     KS
}
KS{
     getObjectProperty(Stair.Structure.materialType) = "PlainConcrete" OR "ConcreteBlock" OR "Brick" OR "Stone"
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 라목

Check (REFB_3_0_7_라){
     KS
}
KS{
getObjectProperty(Stair.Structure.materialType) = "SteelFrame"
}




55
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30 조
제30조(피난용승강기의 설치기준) 제29조제1항에 따른 피난용승강기의 구조와 설비는 다음 각 호의 기준에 적합하여야 한다. <개정 2014.3.5.>
1. 피난용승강기 승강장의 구조
가. 승강장의 출입구를 제외한 부분은 해당 건축물의 다른 부분과 내화구조의 바닥 및 벽으로 구획할 것
나. 승강장은 각 층의 내부와 연결될 수 있도록 하되, 그 출입구에는 갑종방화문을 설치할 것. 이 경우 방화문은 언제나 닫힌 상태를 유지할 수 있는 구조이어야 한다.
다. 실내에 접하는 부분(바닥 및 반자 등 실내에 면한 모든 부분을 말한다)의 마감(마감을 위한 바탕을 포함한다)은 불연재료로 할 것
라. 예비전원으로 작동하는 조명설비를 설치할 것
마. 승강장의 바닥면적은 피난용승강기 1대에 대하여 6제곱미터 이상으로 할 것
바. 승강장의 출입구 부근에는 피난용승강기임을 알리는 표지를 설치할 것
사. 삭제 <2014.3.5.>
아. 「건축물의 설비기준 등에 관한 규칙」 제14조에 따른 배연설비를 설치할 것. 다만, 「소방시설 설치ㆍ유지 및 안전관리에 법률 시행령」 별표 5 제5호가목에 따른 제연설비를 설치한 경우에는 배연설비를 설치하지 아니할 수 있다.
자. 삭제 <2014.3.5.>
2. 피난용승강기 승강로의 구조
가. 승강로는 해당 건축물의 다른 부분과 내화구조로 구획할 것
나. 각 층으로부터 피난층까지 이르는 승강로를 단일구조로 연결하여 설치할 것
다. 승강로 상부에 「건축물의 설비기준 등에 관한 규칙」 제14조에 따른 배연설비를 설치할 것
3. 피난용승강기 기계실의 구조
가. 출입구를 제외한 부분은 해당 건축물의 다른 부분과 내화구조의 바닥 및 벽으로 구획할 것
나. 출입구에는 갑종방화문을 설치할 것
4. 피난용승강기 전용 예비전원
가. 정전시 피난용승강기, 기계실, 승강장 및 폐쇄회로 텔레비전 등의 설비를 작동할 수 있는 별도의 예비전원 설비를 설치할 것
나. 가목에 따른 예비전원은 초고층 건축물의 경우에는 2시간 이상, 준초고층 건축물의 경우에는 1시간 이상 작동이 가능한 용량일 것
다. 상용전원과 예비전원의 공급을 자동 또는 수동으로 전환이 가능한 설비를 갖출 것
라. 전선관 및 배선은 고온에 견딜 수 있는 내열성 자재를 사용하고, 방수조치를 할 것
[본조신설 2012.1.6.]



// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준)
check(REFB_30){
IF CS THEN KS
}
CS{
     getResult(REFB_29_1) = TRUE
}
KS{
     getResult(REFB_30_0_1) = TRUE
     getResult(REFB_30_0_2) = TRUE
     getResult(REFB_30_0_3) = TRUE
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호
check(REFB_30_0_1){
KS
}
KS{
     getResult(REFB_30_0_1_가) = TRUE
     getResult(REFB_30_0_1_나) = TRUE
     getResult(REFB_30_0_1_다) = TRUE
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 가목 check(REFB_30_0_1_가){ KS } KS{      FloorSlab myFloorSlab{      isFireResistantStructure(FloorSlab) = TRUE }      Wall myWall{      isFireResistantStructure(Wall) = TRUE }      Object myElement{           getObject(Platform.Object) - getObject(Opening)      }      isPartitioned(myElement, , myFloorSlab) = TRUE      isPartitioned(myElement, , myWall) = TRUE }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 다목 check(REFB_30_0_1_다){ KS } KS{      isObjectProperty(Space.InteriorFinish.Material.nonCombustibility)=TRUE }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 마목

Check(REFB_30_0_1_마){
KS
}

KS{

EC= getObjectCount(myElevator)
getFloorArea(myElevator.Platform)>=6*EC m2
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 아목 Check(REFB_30_0_1_아){ IF !CS THEN KS } CS{ isExist(SmokeExhaustionSystem)=True getResult(Unimplemented_EDIMSFA_*5_0_5_가)=True } KS{ getResult(RFB_14_1)=True getResult(RFB_14_2)=True }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호
check(REFB_30_0_2){
KS
}
KS{
     getResult(REFB_30_0_2_가) = TRUE
     getResult(REFB_30_0_2_나) = TRUE
     getResult(REFB_30_0_2_다) = TRUE
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호 가목 Check(REFB_30_0_2_가){ KS } KS{      isFireResistantStructure(ElevatorShaft) =True }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호 나목 Check(REFB_30_0_2_나){ KS } KS{ Floor myFloor{ isObjectProperty(Floor.isEscape)=True } ElevatorShaft myElevatorShaft1{      hasObject(Floor,ElevatorShaft)=TRUE } ElevatorShaft myElevatorShaft2{      hasObject(myFloor,ElevatorShaft)=TRUE      isConnectedTo(myElevatorShaf1t, myElevatorShaft2, SingleStructure)=TRUE }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호 다목
check(REFB_30_0_2_다){
KS
}
KS{
     isInstalled(Opening.TopSurface, SmokeExhaustionSystem)
     getResult(RFB_14) = TRUE
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 3호
check(REFB_30_0_3){
KS
}
KS{
     getResult(REFB_30_0_3_가) = TRUE
     getResult(REFB_30_0_3_나) = TRUE
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 3호 가목 check(REFB_30_0_3_가){ KS } KS{      FloorSlab myFloorSlab{      isFireResistantStructure(FloorSlab) = TRUE }      Wall myWall{      isFireResistantStructure(Wall) = TRUE }      Door myDoor{      isObjectProperty(Door.isEntrance) = TRUE      }      Object myElement{           getObject(Space.Object) - getObject(myDoor)      }      isPartitioned(myElement, , myFloorSlab) = TRUE      isPartitioned(myElement, , myWall) = TRUE }


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 3호 나목
check(REFB_30_0_3_나){
KS
}
KS{
     Door myDoor{
     isObjectProperty(Door.isEntrance) = TRUE
     }
     isObjectProperty(myDoor.isStrictFireproofDoor) = TRUE
}




56
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8 조

제8조(직통계단의 설치기준) ①영 제34조에 따른 직통계단의 출입구는 피난에 지장이 없도록 일정한 간격을 두어 설치하고, 각 직통계단 상호간에는 각각 거실과 연결된 복도등 통로를 설치하여야 한다. <개정 2010.4.7.>
② 영 제34조제1항 단서에서 "국토교통부령으로 정하는 공장"이란 반도체 및 디스플레이 패널을 제조하는 공장을 말한다. <신설 2010.4.7., 2013.3.23.>



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조 (직통계단의 설치기준) 1항

Check(REFB_8_1){

        Stair myStair{

             isObjectProperty(Stair.isDirect)=TRUE  

        }



        Passage myPassage{

             isConnectedTo(Room, Passage)=TRUE

        }



     isExist(myPassage)=TRUE

        isConnectedTo(myStair,myPassage)=TRUE

}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조 (직통계단의 설치기준) 2항 Check(REFB_8_2){ getObjectProperty(Building.usage)=“Factory.SemiconductorAndDisplayPanelManufacturingFactory" }




57
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조의2 조

제8조의2(피난안전구역의 설치기준) ① 영 제34조제3항 및 제4항에 따라 설치하는 피난안전구역(이하 "피난안전구역"이라 한다)은 해당 건축물의 1개층을 대피공간으로 하며, 대피에 장애가 되지 아니하는 범위에서 기계실, 보일러실, 전기실 등 건축설비를 설치하기 위한 공간과 같은 층에 설치할 수 있다. 이 경우 피난안전구역은 건축설비가 설치되는 공간과 내화구조로 구획하여야 한다. <개정 2012.1.6.>
② 피난안전구역에 연결되는 특별피난계단은 피난안전구역을 거쳐서 상ㆍ하층으로 갈 수 있는 구조로 설치하여야 한다.
③ 피난안전구역의 구조 및 설비는 다음 각 호의 기준에 적합하여야 한다. <개정 2012.1.6., 2014.11.19.>
1. 피난안전구역의 바로 아래층 및 윗층은 「건축물의 설비기준 등에 관한 규칙」 제21조제1항제1호에 적합한 단열재를 설치할 것. 이 경우 아래층은 최상층에 있는 거실의 반자 또는 지붕 기준을 준용하고, 윗층은 최하층에 있는 거실의 바닥 기준을 준용할 것
2. 피난안전구역의 내부마감재료는 불연재료로 설치할 것
3. 건축물의 내부에서 피난안전구역으로 통하는 계단은 특별피난계단의 구조로 설치할 것
4. 비상용 승강기는 피난안전구역에서 승하차 할 수 있는 구조로 설치할 것
5. 피난안전구역에는 식수공급을 위한 급수전을 1개소 이상 설치하고 예비전원에 의한 조명설비를 설치할 것
6. 관리사무소 또는 방재센터 등과 긴급연락이 가능한 경보 및 통신시설을 설치할 것
7. 별표 1의2에서 정하는 기준에 따라 산정한 면적 이상일 것
8. 피난안전구역의 높이는 2.1미터 이상일 것
9. 「건축물의 설비기준 등에 관한 규칙」 제14조에 따른 배연설비를 설치할 것
10. 그 밖에 국민안전처장관이 정하는 소방 등 재난관리를 위한 설비를 갖출 것
[본조신설 2010.4.7.]



// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 (피난안전구역의 설치기준) 2항 Check(REFB_8-2_2){ Zone myZone{ isObjectProperty(Zone.isEgressSafetyZone)=TRUE } Stair myStair{ isObjectProperty(Stair.isSpecialEscape)=TRUE isAccessible(myZone, Stair)=TRUE } Floor myFloor{ Floor.number>getFloorNumber(myZone) OR Floor.number

//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (피난안전구역의 설치기준) 3항
Check(REFB_8-2_3){

getResult(REFB_8-2_3_2)=TRUE
getResult(REFB_8-2_3_3)=TRUE
getResult(REFB_8-2_3_4)=TRUE
getResult(REFB_8-2_3_5)=TRUE
getResult(REFB_8-2_3_6)=TRUE
getResult(REFB_8-2_3_7)=TRUE
getResult(REFB_8-2_3_8)=TRUE
getResult(REFB_8-2_3_9)=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항3호
check(REFB_8-2_3_3){

Stair myStair{
isExternal(Stair)=FALSE
isAccessible(myZone, Stair)=TRUE
}
isObjectProperty(Stair.isSpecialEscape)=TRUE

}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항4호
check(REFB_8-2_3_4){

Elevator myElevator{
isObjectProperty(Elevator.isEmergency)=TRUE
}

isDirectlyAccessible(myZone, myElevator)=TRUE
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항5호
check(REFB_8-2_3_5){
hasObject(myZone,Hydrant)=True
hasObject(myZone,LightingSystem)=TRUE
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항6호
check(REFB_8-2_3_6){
hasObject(myZone, WarningAndCommunicationFacility)=TRUE
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항7호
check(REFB_8-2_3_7){
getResult(REFB_*_1-2)=TRUE
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항8호
check(REFB_8-2_3_8){
getSpaceHeight(myZone)>=2.1 m
}


// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항9호
check(REFB_8-2_3_9){

isExist(SmokeExhaustionSystem)=TRUE
getResult(RFB_14_2)=TRUE
getResult(RFB_14_2_1)=TRUE
getResult(RFB_14_2_4)=TRUE
}




58
15286 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9 조

나. 계단실의 실내에 접하는 부분(바닥 및 반자 등 실내에 면한 모든 부분을 말한다)의 마감(마감을 위한 바탕을 포함한다)은 불연재료로 할 것
다. 계단실에는 예비전원에 의한 조명설비를 할 것
라. 계단실의 바깥쪽과 접하는 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터 이하인 것을 제외한다)은 당해 건축물의 다른 부분에 설치하는 창문등으로부터 2미터 이상의 거리를 두고 설치할 것
마. 건축물의 내부와 접하는 계단실의 창문등(출입구를 제외한다)은 망이 들어 있는 유리의 붙박이창으로서 그 면적을 각각 1제곱미터 이하로 할 것
바. 건축물의 내부에서 계단실로 통하는 출입구의 유효너비는 0.9미터 이상으로 하고, 그 출입구에는 피난의 방향으로 열 수 있는 것으로서 언제나 닫힌 상태를 유지하거나 화재로 인한 연기, 온도, 불꽃 등을 가장 신속하게 감지하여 자동적으로 닫히는 구조로 된 제26조에 따른 갑종방화문을 설치할 것
사. 계단은 내화구조로 하고 피난층 또는 지상까지 직접 연결되도록 할 것
2. 건축물의 바깥쪽에 설치하는 피난계단의 구조
가. 계단은 그 계단으로 통하는 출입구외의 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터 이하인 것을 제외한다)으로부터 2미터 이상의 거리를 두고 설치할 것
나. 건축물의 내부에서 계단으로 통하는 출입구에는 제26조에 따른 갑종방화문을 설치할 것
다. 계단의 유효너비는 0.9미터 이상으로 할 것
라. 계단은 내화구조로 하고 지상까지 직접 연결되도록 할 것
3. 특별피난계단의 구조
가. 건축물의 내부와 계단실은 노대를 통하여 연결하거나 외부를 향하여 열 수 있는 면적 1제곱미터 이상인 창문(바닥으로부터 1미터 이상의 높이에 설치한 것에 한한다) 또는 「건축물의 설비기준 등에 관한 규칙」 제14조의 규정에 적합한 구조의 배연설비가 있는 면적 3제곱미터 이상인 부속실을 통하여 연결할 것
나. 계단실ㆍ노대 및 부속실(「건축물의 설비기준 등에 관한 규칙」 제10조제2호 가목의 규정에 의하여 비상용승강기의 승강장을 겸용하는 부속실을 포함한다)은 창문등을 제외하고는 내화구조의 벽으로 각각 구획할 것
다. 계단실 및 부속실의 실내에 접하는 부분(바닥 및 반자 등 실내에 면한 모든 부분을 말한다)의 마감(마감을 위한 바탕을 포함한다)은 불연재료로 할 것
라. 계단실에는 예비전원에 의한 조명설비를 할 것
마. 계단실ㆍ노대 또는 부속실에 설치하는 건축물의 바깥쪽에 접하는 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터이하인 것을 제외한다)은 계단실ㆍ노대 또는 부속실외의 당해 건축물의 다른 부분에 설치하는 창문등으로부터 2미터 이상의 거리를 두고 설치할 것
바. 계단실에는 노대 또는 부속실에 접하는 부분외에는 건축물의 내부와 접하는 창문등을 설치하지 아니할 것
사. 계단실의 노대 또는 부속실에 접하는 창문등(출입구를 제외한다)은 망이 들어 있는 유리의 붙박이창으로서 그 면적을 각각 1제곱미터 이하로 할 것
아. 노대 및 부속실에는 계단실외의 건축물의 내부와 접하는 창문등(출입구를 제외한다)을 설치하지 아니할 것
자. 건축물의 내부에서 노대 또는 부속실로 통하는 출입구에는 제26조에 따른 갑종방화문을 설치하고, 노대 또는 부속실로부터 계단실로 통하는 출입구에는 제26조에 따른 갑종방화문 또는 을종방화문을 설치할 것. 이 경우 갑종방화문 또는 을종방화문은 언제나 닫힌 상태를 유지하거나 화재로 인한 연기, 온도, 불꽃 등을 가장 신속하게 감지하여 자동적으로 닫히는 구조로 하여야 한다.
차. 계단은 내화구조로 하되, 피난층 또는 지상까지 직접 연결되도록 할 것
카. 출입구의 유효너비는 0.9미터 이상으로 하고 피난의 방향으로 열 수 있을 것
③영 제35조제1항에 따른 피난계단 또는 특별피난계단은 돌음계단으로 하여서는 아니되며, 영 제40조에 따라 옥상광장을 설치하여야 하는 건축물의 피난계단 또는 특별피난계단은 해당 건축물의 옥상으로 통하도록 설치하여야 한다. 이 경우 옥상으로 통하는 출입문은 피난방향으로 열리는 구조로서 피난시 이용에 장애가 없어야 한다. <개정 2010.4.7.>
④영 제35조제2항에서 "갓복도식 공동주택"이라 함은 각 층의 계단실 및 승강기에서 각 세대로 통하는 복도의 한쪽 면이 외기(外氣)에 개방된 구조의 공동주택을 말한다. <신설 2006.6.29.>
제9조(피난계단 및 특별피난계단의 구조) ①영 제35조제1항의 규정에 의하여 건축물의 5층 이상 또는 지하 2층 이하의 층으로부터 피난층 또는 지상으로 통하는 직통계단(지하 1층인 건축물의 경우에는 5층 이상의 층으로부터 피난층 또는 지상으로 통하는 직통계단과 직접 연결된 지하 1층의 계단을 포함한다)은 피난계단 또는 특별피난계단으로 설치하여야 한다.
②제1항에 따른 피난계단 및 특별피난계단의 구조는 다음 각호의 기준에 적합하여야 한다. <개정 2000.6.3., 2003.1.6., 2005.7.22., 2010.4.7., 2012.1.6.>
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항
check (REFB_9_2){
     getResult(REFB_9_2_1) = TRUE
     getResult(REFB_9_2_2) = TRUE
     getResult(REFB_9_2_3) = TRUE
     
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호
check(REFB_9_2_1){
KS
}
KS{
getResult(REFB_9_2_1_1) = TRUE
getResult(REFB_9_2_1_2) = TRUE
getResult(REFB_9_2_1_4) = TRUE
getResult(REFB_9_2_1_5) = TRUE
getResult(REFB_9_2_1_6) = TRUE
getResult(REFB_9_2_1_7) = TRUE
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 가목
check(REFB_9_2_1_1){
KS
}
KS{
Wall myWall{
     hasElement(Stair.Space, Wall) = TRUE
     hasElement(Wall, Window) = FALSE
     hasElement(Wall, Door) = FALSE
     hasElement(Wall, Opening) = FALSE
}
Stair myStair{
isObjectProperty(Stair.isEscape)= TRUE
}

isFireResistantStructure(myWall)= TRUE
isPartitioned (myStair, 0, myWall) = TRUE
      
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 나목 check(REFB_9_2_1_2){ KS } KS{ isObjectProperty(Stair.Space.InteriorFinish.Material.nonCombustibility) = TRUE }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 라목 check(REFB_9_2_1_4){ IF (CS1 AND CS2) THEN KS } CS1 { Opening myOpening1{      isConnectedTo(Stair.Space, Opening) = TRUE      getObjectProperty(Opening.material)= “WireContainedGlass”      getObjectProperty(Window.panelOperationType)= “FixedSashWindow”      getObjectProperty(Opening.area)=< 1㎡      } CS2 { Opening myOpening2{      getObject(Opening) != myOpening1       } KS{ getElementDistance(myOpening1, myOpening2, a)>=2m;      } }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 마목
check(REFB_9_2_1_5){
KS
}
KS{

Opening myOpening3{
     getObject(Opening)!= Door
     isConnectedToExternal(Opening) = FALSE
     hasElement(Stair.Space, Opening) = TRUE
}

     getObjectProperty(myOpening3.material)= “WireContainedGlass”
     getObjectProperty(myOpening3.type)= “FixedSashWindow”
     getObjectProperty(myOpening3.area)=< 1㎡
     
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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; }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 사목
Check(REFB_9_2_1_7){
KS
}
KS {
Floor myFloor {
     isObjectProperty(Floor.isEscape) = TRUE
}

isFireResistantStructure(Stair) = TRUE
(isDirectlyAccessible(Stair,myFloor)= TRUE
OR isDirectlyAccessible(Stair,Ground) = TRUE)
 }






//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 Check(REFB_9_2_2){ IF (CS) THEN KS } CS{ isExternal(Stair) = TRUE isObjectProperty(Stair.isEscape) = TRUE } KS{      getResult(REFB_9_2_2_1)=TRUE      getResult(REFB_9_2_2_2)=TRUE      getResult(REFB_9_2_2_3)=TRUE      getResult(REFB_9_2_2_4)=TRUE }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 가목 check(REFB_9_2_2_1){ IF (CS) THEN KS } CS { Opening myOpening1{               getObjectProperty(Opening.material)= “WireContainedGlass”      getObjectProperty(Window.panelOperationType)= “FixedSashWindow”      getObjectProperty(Opening.area)=< 1㎡      } Door myDoor {      isAccessible(Stair, Door)=TRUE } Opening myOpening2{      getObject(Opening) != myOpening1      getObject(Opening) != myDoor      } isExist(myOpening2) = TRUE } KS{ getElementDistance(Stair, myOpening2, a)>=2m;      }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 나목
check(REFB_9_2_2_2){
     IF (CS) THEN KS
}
CS {
     Space mySpace{
          isExternal(Space)=FALSE
}
     Door myDoor{
          isGoThrough(mySpace,Door,Stair) = TRUE
}
isExist(myDoor) = TRUE
}

KS {
     isObjectProperty(myDoor.strictFireproofDoor) = TRUE
     
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 다목
check(REFB_9_2_3){
     KS
}
KS {
     getObjectProperty(Stair.effectiveWidth)>= 0.9m
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 라목 check(REFB_9_2_2_4){      KS } KS {      isObjectProperty(Stair.isFireResistantStructure) = TRUE      isAccessible(Stair, Ground)= TRUE }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호
check (REFB_9_2_3){
IF (CS) THEN KS
}
CS{
isObjectProperty(Stair.isSpecialEscape) = TRUE
}
KS{
     getResult(REFB_9_2_3_1)=TRUE
     getResult(REFB_9_2_3_2)=TRUE
     getResult(REFB_9_2_3_3)=TRUE
     getResult(REFB_9_2_3_5)=TRUE
     getResult(REFB_9_2_3_6)=TRUE
     getResult(REFB_9_2_3_7)=TRUE
     getResult(REFB_9_2_3_8)=TRUE
     getResult(REFB_9_2_3_9)=TRUE
     getResult(REFB_9_2_3_10)=TRUE
     getResult(REFB_9_2_3_11)=TRUE
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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)


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 나목
check (REFB_9_2_3_2){
IF (CS) TEHN KS
}

CS{
     Space mySpace {
          getSpace(Stair.Space)
          getSpace(“Balcony”)
          getSpace(“AncillaryRoom”)
}
isExist(mySpace)=TRUE
}

KS{
Wall myWall {
getObjectProperty(Wall.isFireResistantStructure = TRUE
}
isPartitioned(mySpace, 0, myWall)= TRUE
}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 다목
check (REFB_9_2_3_3){
CS TEHN KS
}

CS{
     Space mySpace {
          getSpace(Stair.Space)
          getSpace(“AncillaryRoom”)
}
isExist(mySpace)=TRUE
}

KS{

}



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 마목 check (REFB_9_2_3_5){ CS TEHN KS } CS{      Space mySpace {           getSpace(Stair.Space)           getSpace(“Balcony”)           getSpace(“AncillaryRoom”) }      Opening myOpening1 {           hasElement(mySpace,Opening)=TRUE           isConnectedToExternal(Opening) = TRUE      Opening myOpening2 {           getObjectProperty(Opening.material)= “WireContainedGlass”           getObjectProperty(Window.panelOperationType)= “FixedSashWindow”           getObjectProperty(Opening.area)=< 1㎡ }      Opening myOpening3{           getObject(myOpening1)-getObject(myOpening2) } isExist(myOpening3)=TRUE KS{      Opening myOpening4{           getObject(Opening)-getObject(myOpening3) } getElementDistance(myOpening3, myOpening4, a)>=2m }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 사목 check (REFB_9_2_3_7){ CS TEHN KS } CS{      Space mySpace {           getSpace(“Balcony”)           getSpace(“AncillaryRoom”)           hasObject(Stair.Space,Space)=TRUE }      Opening myOpening {           getObject(mySpace.Opening) } isExist(myOpening)=TRUE } KS{ getObjectProperty(myOpening.material)= “WireContainedGlass” getObjectProperty(Window.panelOperationType)= “FixedSashWindow” getObjectProperty(myOpening.area)=< 1㎡ }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 차목 check (REFB_9_2_3_10){      KS } KS{      Floor myFloor {           isObjectProperty(Floor.isEscape) =TRUE      isObjectProperty(Stair.isFireResistantStructure) = TRUE      isAccessible(Stair,myFloor)=TRUE      OR isAccessible(Stair,Ground)=TRUE }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 카목

check (REFB_9_2_3_카){
     KS
}

KS{
getObjectProperty(Door.effectiveWidth) >= 0.9m
isObjectProperty(Door.isEscapeDirection)=TRUE
}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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 }


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 4항
Check(REFB_9_4) {
     KS
}
     Building myBuilding{
          Building.usage = “SideCorridorTypeMultiUnitHouse”
}

     Space mySpace = getSpace(“Corridor”)
     isConnectedToExternal(mySpace)=TRUE






59
건축법 제 47 조

제47조(건축선에 따른 건축제한) ① 건축물과 담장은 건축선의 수직면(垂直面)을 넘어서는 아니 된다. 다만, 지표(地表) 아래 부분은 그러하지 아니하다.
② 도로면으로부터 높이 4.5미터 이하에 있는 출입구, 창문, 그 밖에 이와 유사한 구조물은 열고 닫을 때 건축선의 수직면을 넘지 아니하는 구조로 하여야 한다.



//건축법 47조 (건축선에 따른 건축제한) 1항

Check(BA_47_1){
KS
}

KS{
Floor myFloor{
Floor.number>0
}
isOverBldAlignment(myFloor)=False
}


//건축법 47조 (건축선에 따른 건축제한) 2항

Check(BA_47_2){
KS
}

KS{
Floor myFloor{
getVerticleDistance(Floor, "도로면" )<=4.5
}
isOverBldAlignment(myFloor, 1)=False
}




60
15267 건축법 제 49 조
제49조(건축물의 피난시설 및 용도제한 등) ① 대통령령으로 정하는 용도 및 규모의 건축물과 그 대지에는 국토교통부령으로 정하는 바에 따라 복도, 계단, 출입구, 그 밖의 피난시설과 소화전(消火栓), 저수조(貯水槽), 그 밖의 소화설비 및 대지 안의 피난과 소화에 필요한 통로를 설치하여야 한다. <개정 2013.3.23.>
② 대통령령으로 정하는 용도 및 규모의 건축물의 안전·위생 및 방화(防火) 등을 위하여 필요한 용도 및 구조의 제한, 방화구획(防火區劃), 화장실의 구조, 계단·출입구, 거실의 반자 높이, 거실의 채광·환기와 바닥의 방습 등에 관하여 필요한 사항은 국토교통부령으로 정한다. <개정 2013.3.23.>
③ 대통령령으로 정하는 용도 및 규모의 건축물에 대하여 가구·세대 등 간 소음 방지를 위하여 국토교통부령으로 정하는 바에 따라 경계벽 및 바닥을 설치하여야 한다. <신설 2014.5.28.>
④ 「자연재해대책법」 제12조제1항에 따른 자연재해위험개선지구 중 침수위험지구에 국가·지방자치단체 또는 「공공기관의 운영에 관한 법률」 제4조제1항에 따른 공공기관이 건축하는 건축물은 침수 방지 및 방수를 위하여 다음 각 호의 기준에 따라야 한다. <신설 2015.1.6.>
1. 건축물의 1층 전체를 필로티(건축물을 사용하기 위한 경비실, 계단실, 승강기실, 그 밖에 이와 비슷한 것을 포함한다) 구조로 할 것
2. 국토교통부령으로 정하는 침수 방지시설을 설치할 것
[시행일 : 2015.7.7.] 제49조제4항




//건축법 49조 (건축물의 피난시설 및 용도제한 등) 1항
Check(BA_49_1){
IF CS THEN KS
}

CS{
getResult(EDBA_34_2)= TRUE
OR getResult(EDBA_35_1) = TRUE
OR getResuLt(EDBA_35_2) = TRUE
OR getResuLt(EDBA_35_3) = TRUE
OR getResuLt(EDBA_35_5) = TRUE
OR getResult (EDBA_38) = TRUE
OR getResuLt(EDBA_39_1) = TRUE
OR getResuLt(EDBA_39_2) = TRUE
}

KS{

Door myDoor{
isObjectProperty(Door.isEntrance)=TRUE
}

isExist(Corridor) = TRUE
isExist(Stair) = TRUE
isExist(myDoor) = TRUE
isExist(EvacuationFacility) = TRUE
isExist(FireHydrant) = TRUE
isExist(Tank) = TRUE
isExist(ExtinguishingSystem)= TRUE
isExist(Passage)=True

getResult(REFB_11_1)= TRUE
getResult(REFB_11_2)= TRUE
getResult(REFB_11_3)= TRUE
getResult(REFB_11_4)= TRUE
getResult(REFB_11_5)= TRUE
}


//건축법 49조 (건축물의 피난시설 및 용도제한 등) 2항
Check(BA_49_2){
IF CS THEN KS
}

CS{
getResult(EDBA_34_1)= TRUE
OR getResult(EDBA_34_3)= TRUE
OR getResult(EDBA_34_4)= TRUE
OR getResult(EDBA_46_1)= TRUE
OR getResult(EDBA_46_2)= TRUE
OR getResult(EDBA_46_3)= TRUE
OR getResult(EDBA_46_4)= TRUE
OR getResult(EDBA_46_5)= TRUE
OR getResult(EDBA_47_1)= TRUE
OR getResult(EDBA_47_2)= TRUE
OR getResult(EDBA_48_1)= TRUE
OR getResult(EDBA_48_2)= TRUE
OR getResult(EDBA_50)= TRUE
OR getResult(EDBA_51_1)= TRUE
OR getResult(EDBA_51_2)= TRUE
OR getResult(EDBA_51_3)= TRUE
OR getResult(EDBA_52)= TRUE
}

KS{
getResult(REFB_3)= TRUE
AND getResult(REFB_4)= TRUE
AND getResult(REFB_8)= TRUE
AND getResult(REFB_9)= TRUE
AND getResult(REFB_10)= TRUE
AND getResult(REFB_11)= TRUE
AND getResult(REFB_14)= TRUE
AND getResult(REFB_15)= TRUE
AND getResult(REFB_16)= TRUE
AND getResult(REFB_17)= TRUE
AND getResult(REFB_18)= TRUE
}


//건축법 49조 (건축물의 피난시설 및 용도제한 등) 3항

Check(BA_49_3){
KS
}

KS{
getResult(EDBA_53_1)=True
getResult(EDBA_53_2)=True
}






61
15270 건축법 제 50 조

제50조(건축물의 내화구조와 방화벽) ① 문화 및 집회시설, 의료시설, 공동주택 등 대통령령으로 정하는 건축물은 국토교통부령으로 정하는 기준에 따라 주요구조부를 내화(耐火)구조로 하여야 한다. <개정 2013.3.23.>
② 대통령령으로 정하는 용도 및 규모의 건축물은 국토교통부령으로 정하는 기준에 따라 방화벽으로 구획하여야 한다. <개정 2013.3.23.>



//건축법 50조 (건축물의 내화구조와 방화벽) 1항
check(BA_50_1){
     getResult(EDBA_56_1) = TRUE
     getResult(EDBA_56_2) = TRUE
     isObjectProperty(MainStructuralPart.isFireResistantStructure) = TRUE
}




62
건축법 제 51 조

제51조(방화지구 안의 건축물) ① 「국토의 계획 및 이용에 관한 법률」 제37조제1항제4호에 따른 방화지구(이하 "방화지구"라 한다) 안에서는 건축물의 주요구조부와 외벽을 내화구조로 하여야 한다. 다만, 대통령령으로 정하는 경우에는 그러하지 아니하다. <개정 2014.1.14.>
② 방화지구 안의 공작물로서 간판, 광고탑, 그 밖에 대통령령으로 정하는 공작물 중 건축물의 지붕 위에 설치하는 공작물이나 높이 3미터 이상의 공작물은 주요부를 불연(不燃)재료로 하여야 한다.
③ 방화지구 안의 지붕ㆍ방화문 및 인접 대지 경계선에 접하는 외벽은 국토교통부령으로 정하는 구조 및 재료로 하여야 한다. <개정 2013.3.23.>



//건축법 51조 (방화지구 안의 건축물) 1항 

Check(BA_51_1){
IF (!CS1 AND CS2) THEN KS
}

CS1{
getResult(EDBA_58)=True
}

CS2{
getResult(LPUA_37_1_4)=True
}

KS{

Wall myWall{
isObjectProperty(Wall.isExternal)=True
}

isFireResistantStructure(MainStructure) = TRUE
isFireResistantStructure(myWall) = TRUE
}





//건축법 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 }


//건축법 51조 (방화지구 안의 건축물) 3항

Check(BA_51_3){
KS
}

KS{
getResult(REFB_23_1)=True
getResult(REFB_23_2)=True
}




63
건축법 제 52 조

제52조(건축물의 마감재료) ① 대통령령으로 정하는 용도 및 규모의 건축물의 벽, 반자, 지붕(반자가 없는 경우에 한정한다) 등 내부의 마감재료는 방화에 지장이 없는 재료로 하되, 「다중이용시설 등의 실내공기질관리법」 제5조 및 제6조에 따른 실내공기질 유지기준 및 권고기준을 고려하고 관계 중앙행정기관의 장과 협의하여 국토교통부령으로 정하는 기준에 따른 것이어야 한다. <개정 2009.12.29., 2013.3.23., 2015.1.6.>
② 대통령령으로 정하는 건축물의 외벽에 사용하는 마감재료는 방화에 지장이 없는 재료로 하여야 한다. 이 경우 마감재료의 기준은 국토교통부령으로 정한다. <신설 2009.12.29., 2013.3.23.>
③ 욕실, 화장실, 목욕장 등의 바닥 마감재료는 미끄럼을 방지할 수 있도록 국토교통부령으로 정하는 기준에 적합하여야 한다. <신설 2013.7.16.>
[제목개정 2009.12.29.]
[시행일 : 2015.7.7.] 제52조제1항



//건축법 52조 (건축물의 마감재료) 1항
Check(BA_52_1){
IF CS THEN KS
}

Building myBuilding{
getResult(EDBA_61_1)=TRUE
}
CS{
isExist(myBuilding)=TRUE
}
KS{
getResult(REFB_24_1)=TRUE
getResult(REFB_24_2)=TRUE
getResult(REFB_24_3)=TRUE
getResult(REFB_24_4)=TRUE
}


//건축법 52조 (건축물의 마감재료) 2항

Check(BA_52_2){
IF CS THEN KS
}

CS{
getResult(EDBA_61_2)=TRUE
}
KS{
getResult(REFB_24_5)=TRUE

}





//건축법 52조 (건축물의 마감재료) 3항
Check(BA_52_3){

}

// 비대상?




64
15271 건축법 제 53 조
제53조(지하층) 건축물에 설치하는 지하층의 구조 및 설비는 국토교통부령으로 정하는 기준에 맞게 하여야 한다. <개정 2013.3.23.>



Check(BA_53){

IF (CS) THEN KS END IF

}



CS{

   Space.Floor.number<0 ;

}



KS{

   getResult(REFB_25_1)=True

}




65
건축법 제 55 조
제55조(건축물의 건폐율) 대지면적에 대한 건축면적(대지에 건축물이 둘 이상 있는 경우에는 이들 건축면적의 합계로 한다)의 비율(이하 "건폐율"이라 한다)의 최대한도는 「국토의 계획 및 이용에 관한 법률」 제77조에 따른 건폐율의 기준에 따른다. 다만, 이 법에서 기준을 완화하거나 강화하여 적용하도록 규정한 경우에는 그에 따른다.



//     건축법 55조 (건축물의 건폐율)
Check(BA_55){
     IF CS THEN KS
}

KS{
     getResult(LPUA_77_1) = TRUE
     getResult(LPUA_77_2) = TRUE
     getResult(LPUA_77_3) = TRUE
}




66
15272 건축법 제 56 조
제56조(건축물의 용적률) 대지면적에 대한 연면적(대지에 건축물이 둘 이상 있는 경우에는 이들 연면적의 합계로 한다)의 비율(이하 "용적률"이라 한다)의 최대한도는 「국토의 계획 및 이용에 관한 법률」 제78조에 따른 용적률의 기준에 따른다. 다만, 이 법에서 기준을 완화하거나 강화하여 적용하도록 규정한 경우에는 그에 따른다.



//건축법 56조 (건축물의 용적률)

Check(BA_56){
KS
}

KS{

getResult(LPUA_78)= TRUE

}




67
15273 건축법 제 64 조
제64조(승강기) ① 건축주는 6층 이상으로서 연면적이 2천제곱미터 이상인 건축물(대통령령으로 정하는 건축물은 제외한다)을 건축하려면 승강기를 설치하여야 한다. 이 경우 승강기의 규모 및 구조는 국토교통부령으로 정한다. <개정 2013.3.23.>
② 높이 31미터를 초과하는 건축물에는 대통령령으로 정하는 바에 따라 제1항에 따른 승강기뿐만 아니라 비상용승강기를 추가로 설치하여야 한다. 다만, 국토교통부령으로 정하는 건축물의 경우에는 그러하지 아니하다. <개정 2013.3.23.>




//건축법 64조 (승강기) 1항
check(BA_64_1){
IF CS THEN KS
}

CS{
getBuildingStoriesCount() >= 6
getGrossFloorArea()>= 2000 m2
}

KS{
     isExist(Elevator) = TRUE
getResult(RFB_5)=TRUE
getResult(RFB_6)=TRUE
getResult(REFB_29_1)=True
}


//건축법 64조 (승강기) 2항 check(BA_64_2){ IF (!CS1 AND CS2) THEN KS } CS1{ getResult(RFB_9)=TRUE } CS2{ getBuildingHeight()>31 m } KS{ getResult(BA_64_1) = TRUE isObjectProperty(Elevator.isEmergency)= TRUE getResult(EDBA_90_1)=TRUE getResult(RFB_10)=TRUE }




68
15274 건축법 시행령 제 34 조

3. 공동주택(층당 4세대 이하인 것은 제외한다) 또는 업무시설 중 오피스텔의 용도로 쓰는 층으로서 그 층의 해당 용도로 쓰는 거실의 바닥면적의 합계가 300제곱미터 이상인 것
4. 제1호부터 제3호까지의 용도로 쓰지 아니하는 3층 이상의 층으로서 그 층 거실의 바닥면적의 합계가 400제곱미터 이상인 것
5. 지하층으로서 그 층 거실의 바닥면적의 합계가 200제곱미터 이상인 것
③ 초고층 건축물에는 피난층 또는 지상으로 통하는 직통계단과 직접 연결되는 피난안전구역(건축물의 피난ㆍ안전을 위하여 건축물 중간층에 설치하는 대피공간을 말한다. 이하 같다)을 지상층으로부터 최대 30개 층마다 1개소 이상 설치하여야 한다. <신설 2009.7.16., 2011.12.30.>
④ 준초고층 건축물에는 피난층 또는 지상으로 통하는 직통계단과 직접 연결되는 피난안전구역을 해당 건축물 전체 층수의 2분의 1에 해당하는 층으로부터 상하 5개층 이내에 1개소 이상 설치하여야 한다. 다만, 국토교통부령으로 정하는 기준에 따라 피난층 또는 지상으로 통하는 직통계단을 설치하는 경우에는 그러하지 아니하다. <신설 2011.12.30., 2013.3.23.>
⑤ 제3항 및 제4항에 따른 피난안전구역의 규모와 설치기준은 국토교통부령으로 정한다. <신설 2009.7.16., 2011.12.30., 2013.3.23.>
[전문개정 2008.10.29.]
제34조(직통계단의 설치) ① 건축물의 피난층(직접 지상으로 통하는 출입구가 있는 층 및 제3항과 제4항에 따른 피난안전구역을 말한다. 이하 같다) 외의 층에서는 피난층 또는 지상으로 통하는 직통계단(경사로를 포함한다. 이하 같다)을 거실의 각 부분으로부터 계단(거실로부터 가장 가까운 거리에 있는 계단을 말한다)에 이르는 보행거리가 30미터 이하가 되도록 설치하여야 한다. 다만, 건축물(지하층에 설치하는 것으로서 바닥면적의 합계가 300제곱미터 이상인 공연장ㆍ집회장ㆍ관람장 및 전시장은 제외한다)의 주요구조부가 내화구조 또는 불연재료로 된 건축물은 그 보행거리가 50미터(층수가 16층 이상인 공동주택은 40미터) 이하가 되도록 설치할 수 있으며, 자동화 생산시설에 스프링클러 등 자동식 소화설비를 설치한 공장으로서 국토교통부령으로 정하는 공장인 경우에는 그 보행거리가 75미터(무인화 공장인 경우에는 100미터) 이하가 되도록 설치할 수 있다. <개정 2009.7.16., 2010.2.18., 2011.12.30., 2013.3.23.>
② 법 제49조제1항에 따라 피난층 외의 층이 다음 각 호의 어느 하나에 해당하는 용도 및 규모의 건축물에는 국토교통부령으로 정하는 기준에 따라 피난층 또는 지상으로 통하는 직통계단을 2개소 이상 설치하여야 한다. <개정 2009.7.16., 2013.3.23., 2014.3.24.>
1. 제2종 근린생활시설 중 공연장ㆍ종교집회장, 문화 및 집회시설(전시장 및 동ㆍ식물원은 제외한다), 종교시설, 위락시설 중 주점영업 또는 장례식장의 용도로 쓰는 층으로서 그 층에서 해당 용도로 쓰는 바닥면적의 합계가 200제곱미터(제2종 근린생활시설 중 공연장ㆍ종교집회장은 각각 300제곱미터) 이상인 것
2. 단독주택 중 다중주택ㆍ다가구주택, 제2종 근린생활시설 중 인터넷컴퓨터게임시설제공업소(해당 용도로 쓰는 바닥면적의 합계가 300제곱미터 이상인 경우만 해당한다)ㆍ학원ㆍ독서실, 판매시설, 운수시설(여객용 시설만 해당한다), 의료시설(입원실이 없는 치과병원은 제외한다), 교육연구시설 중 학원, 노유자시설 중 아동 관련 시설ㆍ노인복지시설, 수련시설 중 유스호스텔 또는 숙박시설의 용도로 쓰는 3층 이상의 층으로서 그 층의 해당 용도로 쓰는 거실의 바닥면적의 합계가 200제곱미터 이상인 것



// 건축법 시행령 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)

}


//건축법 시행령 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 }


//건축법 시행령 34조 (직통계단의 설치) 2항1호 Check(EDBA_34_2_1){ KS } KS{ Floor myFloor1{ getObjectUsage(Floor) ="ClassIINeighborhoodLivingFacility.PerformanceHall" OR getObjectUsage(Floor)="ClassIINeighborhoodLivingFacility.ReligiousAssemblyFacility" } Floor myFloor2 { getObjectUsage(Floor)="CulturalAndAssemblyFacility" getObjectUsage(Floor) != "CulturalAndAssemblyFacility.ExhibitionHall"           getObjectUsage(Floor) != "CulturalAndAssemblyFacility.ZoologicalAndBotanicalGarden“            getObjectUsage(Floor) = "ReligiousFacility" getObjectUsage(Floor) = “AmusementFacility.BarBusiness" getObjectUsage(Floor) = “AmusementFacility.FuneralParlors“ }       getTotalFloorArea(myFloor1.Space)>=300 m2 OR getTotalFloorArea(myFloor2.Space)>=200 m2 }


//건축법 시행령 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      }


//건축법 시행령 34조 (직통계단의 설치) 2항3호 Check(EDBA_34_2_3){      Floor myFloor{            getFloorUsage()= “MultiUnitHouse”           getObjectProperty(Floor.numberOfHousehold)>=4           OR getFloorUsage() = “BusinessFacility.Officetel”      }                          getTotalFloorArea(myFloor.Room)>=300 m2 }


//건축법 시행령 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
}


//건축법 시행령 34조 (직통계단의 설치) 2항5호
check(EDBA_34_2_5){
     Floor myFloor {
          getFloorNumber()<0
     }
          
     getTotalFloorArea(myFloor.Room)>= 200 m2
}



// 건축법 시행령 제 34조 (직통계단의 설치) 3항 check(EDBA_34_3){           IF CS THEN KS ENDIF } CS{ isObjectProperty(Building.isHighriseBuilding) = TRUE } KS{           Stair myStair{                     isObjectProperty(Stair.isDirect) = TRUE                          }           Zone myZone{                     isObjectProperty(Zone.isEgressSafetyZone) = TRUE           }           Floor myFloor{                     isObjectProperty(Floor.isEscape) = TRUE           } isGoThrough(myFloor, myZone, myStair) = TRUE           OR isGoThrough(myFloor, Ground, myStair) = TRUE           getObjectCount(myZone) >= getBuildingStoriesCount()/30 }


// 건축법 시행령 34조 (직통계단의 설치) 4항 check(EDBA_34_4){           IF !CS THEN KS ENDIF } CS{           Stair myStair{                     isObjectProperty(Stair.isDirect) = TRUE           }           Floor myFloor{                     isObjectProperty(Floor.isEscape) = TRUE           }           isDirectlyAccessible(myStair, myFloor) = TRUE           OR isDirectlyAccessible(myStair, Ground) = TRUE }                      KS{           isObjectProperty(Building.isQuasiHighriseBuilding) = TRUE           Stair myStair{                     isObjectProperty(Stair.isDirect) = TRUE                          }           Zone myZone{                     isObjectProperty(Zone.isEgressSafetyZone) = TRUE           }           Floor myFloor{                     isObjectProperty(Floor.isEscape) = TRUE           } isGoThrough(myFloor, myZone, myStair) = TRUE           OR isGoThrough(myFloor, Ground, myStair) = TRUE           (getBuildingStoriesCount()/2)-5 < getFloorNumber(myZone) getFloorNumber(myZone) < (getBuildingStoriesCount()/2)+5 }


// 건축법 시행령 34조 (직통계단의 설치) 5항
check(EDBA_34_5){
          getResult(REFB_8_1) = TRUE
          getResult(REFB_8-2_1) = TRUE
          getResult(REFB_8-2_2) = TRUE
          getResult(REFB_8-2_3) = TRUE
}





69
15268 건축법 시행령 제 35 조

제35조(피난계단의 설치) ① 법 제49조제1항에 따라 5층 이상 또는 지하 2층 이하인 층에 설치하는 직통계단은 국토교통부령으로 정하는 기준에 따라 피난계단 또는 특별피난계단으로 설치하여야 한다. 다만, 건축물의 주요구조부가 내화구조 또는 불연재료로 되어 있는 경우로서 다음 각 호의 어느 하나에 해당하는 경우에는 그러하지 아니하다. <개정 2008.10.29., 2013.3.23.>
1. 5층 이상인 층의 바닥면적의 합계가 200제곱미터 이하인 경우
2. 5층 이상인 층의 바닥면적 200제곱미터 이내마다 방화구획이 되어 있는 경우
② 건축물(갓복도식 공동주택은 제외한다)의 11층(공동주택의 경우에는 16층) 이상인 층(바닥면적이 400제곱미터 미만인 층은 제외한다) 또는 지하 3층 이하인 층(바닥면적이 400제곱미터미만인 층은 제외한다)으로부터 피난층 또는 지상으로 통하는 직통계단은 제1항에도 불구하고 특별피난계단으로 설치하여야 한다. <개정 2008.10.29.>
③ 제1항에서 판매시설의 용도로 쓰는 층으로부터의 직통계단은 그 중 1개소 이상을 특별피난계단으로 설치하여야 한다. <개정 2008.10.29.>
④ 삭제 <1995.12.30.>
⑤ 건축물의 5층 이상인 층으로서 문화 및 집회시설 중 전시장 또는 동ㆍ식물원, 판매시설, 운수시설(여객용 시설만 해당한다), 운동시설, 위락시설, 관광휴게시설(다중이 이용하는 시설만 해당한다) 또는 수련시설 중 생활권 수련시설의 용도로 쓰는 층에는 제34조에 따른 직통계단 외에 그 층의 해당 용도로 쓰는 바닥면적의 합계가 2천 제곱미터를 넘는 경우에는 그 넘는 2천 제곱미터 이내마다 1개소의 피난계단 또는 특별피난계단(4층 이하의 층에는 쓰지 아니하는 피난계단 또는 특별피난계단만 해당한다)을 설치하여야 한다. <개정 2008.10.29., 2009.7.16.>
⑥ 삭제 <1999.4.30.>



//건축법 시행령 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
}


//건축법 시행령 35조(피난계단의 설치) 1항1호 Check(EDBA_35_1_1){      KS } KS {      Floor myFloor {      getObjectProperty(Floor.number) >= 5      }      getTotalFloorArea(myFloor) <= 200m2 }


//건축법 시행령 35조(피난계단의 설치) 1항2호

Check(EDBA_35_1_2){

     KS

}



KS {

     Floor myFloor {

           Floor.number >= 5

     }



     isFirePartition(myFloor, a, 200) = TRUE

}


//건축법 시행령 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
}



//건축법 시행령 35조 (피난계단의 설치) 3항
check(EDBA_35_3){
     IF (CS) THEN KS
CS{
     getResult(EDBA_35_1) = TRUE

     Floor myFloor {
          Floor.usage = “CommercialFacility”
     }

     Stair myStair{
          isObjectProperty(Stair.isDirect) = TRUE
     }

     isAccessible(myFloor, myStair) = TRUE
}

KS{
     isObjectProperty(one.myStair.isSpecialEscape) = TRUE
}



//건축법 시행령 35조 (피난계단의 설치) 5항
check(EDBA_35_5){
     IF (CS) THEN KS
}

CS{
     Floor myFloor{
          Floor.number >= 5
          OR Floor.usage = "CulturalAndAssemblyFacility.ExhibitionHall"
          OR Floor.usage = "CulturalAndAssemblyFacility.ZoologicalAndBotanicalGarden"
          OR Floor.usage = "CommercialFacility"
          OR Floor.usage = "PassengerTrafficFacilities“??
          OR Floor.usage = "SportsFacility"
          OR Floor.usage = "AmusementFacility"
          OR Floor.usage = "FacilityForTourismAndRelaxation“???
          OR Floor.usage = "Trainingfacility.TrainingFacilityInLivingZone“
     }

     isExist(myFloor)=True
}

KS{     
     Stair myStair2{
          isObjectProperty(Stair.isSpecialEscape) = True
          OR isObjectProperty(Stair.isEscape) = True
     }

     getResult(EDBA_34) = TRUE

     IF (getTotalFloorArea(myFloor.Space) >= 2000m2)           
          THEN getObjectCount(myStair2) >= 1+ getFloorArea(myFloor.Space)/2000
}





70
건축법 시행령 제 36 조
제36조(옥외 피난계단의 설치) 건축물의 3층 이상인 층(피난층은 제외한다)으로서 다음 각 호의 어느 하나에 해당하는 용도로 쓰는 층에는 제34조에 따른 직통계단 외에 그 층으로부터 지상으로 통하는 옥외피난계단을 따로 설치하여야 한다. <개정 2014.3.24.>
1. 제2종 근린생활시설 중 공연장(해당 용도로 쓰는 바닥면적의 합계가 300제곱미터 이상인 경우만 해당한다), 문화 및 집회시설 중 공연장이나 위락시설 중 주점영업의 용도로 쓰는 층으로서 그 층 거실의 바닥면적의 합계가 300제곱미터 이상인 것
2. 문화 및 집회시설 중 집회장의 용도로 쓰는 층으로서 그 층 거실의 바닥면적의 합계가 1천 제곱미터 이상인 것
[전문개정 2008.10.29.]



//건축법 시행령 36조 (옥외 피난계단의 설치)

Check(EDBA_36){
IF CS THEN KS
}

CS{
getBuildingStoriesCount()>=3
getResult(EDBA_36_0_1)=True
OR getResult(EDBA_36_0_2)=True
}

KS{
Stair myStair1{
isObjectProperty(Stair.isDirect)=True
}

Stair myStair2{
isObjectProperty(Stair.isEscape)=True
isAccessible(Stair, Ground)=True
}

isExist(myStair1)=True
isExist(myStair2)=True
}


//건축법 시행령 36조 (옥외 피난계단의 설치) 1호

Check(EDBA_36_0_1){
KS
}

KS{
Floor myFloor{
getFloorUsage()="CulturalAndAssemblyFacility.PerformanceHall"
OR getFloorUsage()="AmusementFacility.BarBusiness"
}

FloorSlab myFloorSlab{
getObjectUsage(FloorSlab)="NeighborhoodLivingFacility.PerformanceHall"
}


getFloorUsage()="NeighborhoodLivingFacility.PerformanceHall"
getObjectArea(myFloorSlab)>=300 m2
OR getTotalFloorArea(myFloor.Room)>300 m2


}


//건축법 시행령 36조 (옥외 피난계단의 설치) 2호

Check(EDBA_36_0_2){
KS
}

KS{
Floor myFloor{
getFloorUsage()="CulturalAndAssemblyFacility.AssemblyHall"
}

getTotalFloorArea(myFloor.Room)>=1000 m2


}




71
15275 건축법 시행령 제 37 조

제37조(지하층과 피난층 사이의 개방공간 설치) 바닥면적의 합계가 3천 제곱미터 이상인 공연장ㆍ집회장ㆍ관람장 또는 전시장을 지하층에 설치하는 경우에는 각 실에 있는 자가 지하층 각 층에서 건축물 밖으로 피난하여 옥외 계단 또는 경사로 등을 이용하여 피난층으로 대피할 수 있도록 천장이 개방된 외부 공간을 설치하여야 한다.
[전문개정 2008.10.29.]



Check(EDBA_37){

  IF (CS) THEN KS END IF

  Space mySpace{

        Space.Floor.area > 3000 M2;

        Space.usage="PerformanceHall"

        OR Space.usage="AssemblyHall"

        OR Space.usage="Auditorium"

        OR Space.usage="ExhibitionHall"

  }

}



CS{

    

    mySpace.Floor.number< 0 

    

}



KS{

Stair myStair{
Stair.isOutdoor = TRUE
}
Floor myFloor{
Floor.isEscape = TRUE
}
Space mySpace{
hasObject(Space, Ceiling) != TRUE
}
     (isGoThrough(mySpace, myStair, myFloor)=True

     OR isGoThrough(mySpace, Ramp, myFloor)=True)

     AND isExternal(mySpace)=True

    

}




72
15276 건축법 시행령 제 38 조
제38조(관람석 등으로부터의 출구 설치) 법 제49조제1항에 따라 다음 각 호의 어느 하나에 해당하는 건축물에는 국토교통부령으로 정하는 기준에 따라 관람석 또는 집회실로부터의 출구를 설치하여야 한다. <개정 2013.3.23., 2014.3.24.>
1. 제2종 근린생활시설 중 공연장ㆍ종교집회장(해당 용도로 쓰는 바닥면적의 합계가 각각 300제곱미터 이상인 경우만 해당한다)
2. 문화 및 집회시설(전시장 및 동ㆍ식물원은 제외한다)
3. 종교시설
4. 위락시설
5. 장례식장
[전문개정 2008.10.29.]



//건축법 시행령 38조(관람석 등으로부터의 출구 설치)

Check(EDBA_38){

  IF (CS) THEN  KS ENDIF

}



CS{

    getResult(EDBA_38_0_1) = TRUE

    OR getResult(EDBA_38_0_2) = TRUE

    OR getResult(EDBA_38_0_3) = TRUE

    OR getResult(EDBA_38_0_4) = TRUE

    OR getResult(EDBA_38_0_5) = TRUE

}



KS {

    Space mySpace = getSpace("Auditorium")+getSpace("AssemblyHall")



    Door myExit {

        isObjectProperty(Door.isEntrance) = TRUE

        isAccessible(mySpace, Door) = TRUE

        getResult(REFB_10_1) = TRUE

    }



    hasElement(mySpace, myExit)=TRUE 

}


//건축법 시행령 38조(관람석 등으로부터의 출구 설치) 1호
Check(EDBA_38_0_1){
(getBuildingUsage() = "ClassIINeighborhoodLivingFacility.performancehall"
OR getBuildingUsage() = "ClassIINeighborhoodLivingFacility.ReligiousAssemblyFacility")

Space mySpace {
getSpaceUsage(Space) = "ClassIINeighborhoodLivingFacility.performancehall"
OR getSpaceUsage(Space) = "ClassIINeighborhoodLivingFacility.ReligiousAssemblyFacility"
}

getTotalFloorArea(mySpace) > 300
}




//건축법 시행령 38조(관람석 등으로부터의 출구 설치) 2호
Check(EDBA_38_0_2){
getBuildingUsage() = "CulturalAndAssemblyFacility
"
getBuildingUsage() != "CulturalAndAssemblyFacility.ExhibitionHall"
getBuildingUsage() != "CulturalAndAssemblyFacility.ZoologicalAndBotanicalGarden"

getResult(REFB_10_2) = TRUE
}




//건축법 시행령 38조(관람석 등으로부터의 출구 설치) 3호
Check(EDBA_38_0_3){
getBuildingUsage() = "ReligiousFacility"
}



//건축법 시행령 38조(관람석 등으로부터의 출구 설치) 4호
Check(EDBA_38_0_4){
getBuildingUsage() = "AmusementFacility"
}


//건축법 시행령 38조(관람석 등으로부터의 출구 설치) 3호
Check(EDBA_38_0_5){
getBuildingUsage() = "FuneralParlor"
}




73
건축법 시행령 제 39 조

제39조(건축물 바깥쪽으로의 출구 설치) ① 법 제49조제1항에 따라 다음 각 호의 어느 하나에 해당하는 건축물에는 국토교통부령으로 정하는 기준에 따라 그 건축물로부터 바깥쪽으로 나가는 출구를 설치하여야 한다. <개정 2013.3.23., 2014.3.24.>
1. 제2종 근린생활시설 중 공연장ㆍ종교집회장ㆍ인터넷컴퓨터게임시설제공업소(해당 용도로 쓰는 바닥면적의 합계가 각각 300제곱미터 이상인 경우만 해당한다)
2. 문화 및 집회시설(전시장 및 동ㆍ식물원은 제외한다)
3. 종교시설
4. 판매시설
5. 업무시설 중 국가 또는 지방자치단체의 청사
6. 위락시설
7. 연면적이 5천 제곱미터 이상인 창고시설
8. 교육연구시설 중 학교
9. 장례식장
10. 승강기를 설치하여야 하는 건축물
② 법 제49조제1항에 따라 건축물의 출입구에 설치하는 회전문은 국토교통부령으로 정하는 기준에 적합하여야 한다. <개정 2013.3.23.>
[전문개정 2008.10.29.]



// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 

Check(EDBA_39_1){      
IF CS THEN KS
}

CS {
getResult(EDBA_39_1_1) = TRUE
OR getResult(EDBA_39_1_2) = TRUE
OR getResult(EDBA_39_1_3) = TRUE
OR getResult(EDBA_39_1_4) = TRUE
OR getResult(EDBA_39_1_5) = TRUE
OR getResult(EDBA_39_1_6) = TRUE
OR getResult(EDBA_39_1_7) = TRUE
OR getResult(EDBA_39_1_8) = TRUE
OR getResult(EDBA_39_1_9) = TRUE
OR getResult(EDBA_39_1_10) = TRUE
}

KS {
Door myDoor{
isObjectProperty(Door.isEntrance)=TRUE
}

isExist(myDoor)=TRUE

getResult(REFB_11_1)=TRUE
getResult(REFB_11_2)=TRUE
getResult(REFB_11_3)=TRUE
getResult(REFB_11_4)=TRUE
getResult(REFB_11_5)=TRUE
getResult(REFB_11_6)=TRUE

}




// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 1호

Check(EDBA_39_1_1){      
KS }

KS {

Building myBuilding{
getBuildingUsage() = “PerformanceHall”
OR getBuildingUsage() = “ReligiousAssemblyFacility ”
OR getBuildingUsage() = “FacilityForProvidingInternetComputerGameService”
}

Space mySpace{
Space.usage = “PerformanceHall”
OR Space.usage = “ReligiousAssemblyFacility ”
OR Space.usage = “FacilityForProvidingInternetComputerGameService”
}

IF isExist(myBuilding) THEN mySpace.FloorSlab.area >= 300 m2

}



// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 2호

Check(EDBA_39_1_2){      
KS
}

KS {

Building myBuilding{
getBuildingUsage() = “CulturalAndAssemblyFacility”
getBuildingUsage() != “ExhibitionHall”
getBuildingUsage() != “ZoologicalAndBotanicalGarden”
}

isExist(myBuliding) = TRUE

}



// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 3호

Check(EDBA_39_1_3){      
KS
}

KS {
Building myBuilding{
getBuildingUsage() = “ReligiousFacility”
}

isExist(myBuliding) = TRUE
}



// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 4호

Check(EDBA_39_1_4){      
KS
}

KS {
Building myBuilding{
getBuildingUsage() = “CommercialFacility”
}

isExist(myBuliding) = TRUE
}



// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 5호

Check(EDBA_39_1_5){      
KS
}

KS {
Building myBuilding{
getBuildingUsage() = “BusinessFacility.GovernmentOfficeBuilding”
}

isExist(myBuliding) = TRUE
}



// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 6호

Check(EDBA_39_1_6){      
KS
}


KS {
Building myBuilding{
getBuildingUsage() = “AmusementFacility”
}

isExist(myBuliding) = TRUE
}



// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 7호

Check(EDBA_39_1_7){      
KS
}


KS {
Building myBuilding{
getBuildingUsage() = “Warehouse”
Building.grossFloorArea >= 5000 m2
}

isExist(myBuliding) = TRUE
}



// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 8호 Check(EDBA_39_1_8){   KS } KS { Building myBuilding{ getBuildingUsage() = “EducationAndResearchFacility.School” } isExist(myBuliding) = TRUE }


// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 9호

Check(EDBA_39_1_9){      
KS }

KS {
Building myBuilding{
getBuildingUsage() = “FuneralParlor”
}

isExist(myBuliding) = TRUE
}





// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 1항 10호

Check(EDBA_39_1_10){      
KS
}


KS {
Building myBuilding{
hasObject(Building, Elevator)
}

isExist(myBuliding) = TRUE
}



// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 2항

Check(EDBA_39_2){      
IF CS THEN KS
}

CS {
Door myDoor {
isObjectProperty(Door.isEntrance) = TRUE
Door.panelOperationType=“RevolvingDoor”
}
isExist(myDoor) = TRUE
}

KS {
getResult(REFB_11_2)=TRUE
}





74
15277 건축법 시행령 제 40 조

제40조(옥상광장 등의 설치) ① 옥상광장 또는 2층 이상인 층에 있는 노대(露臺)나 그 밖에 이와 비슷한 것의 주위에는 높이 1.2미터 이상의 난간을 설치하여야 한다. 다만, 그 노대 등에 출입할 수 없는 구조인 경우에는 그러하지 아니하다.
② 5층 이상인 층이 제2종 근린생활시설 중 공연장ㆍ종교집회장ㆍ인터넷컴퓨터게임시설제공업소(해당 용도로 쓰는 바닥면적의 합계가 각각 300제곱미터 이상인 경우만 해당한다), 문화 및 집회시설(전시장 및 동ㆍ식물원은 제외한다), 종교시설, 판매시설, 위락시설 중 주점영업 또는 장례식장의 용도로 쓰는 경우에는 피난 용도로 쓸 수 있는 광장을 옥상에 설치하여야 한다. <개정 2014.3.24.>
③ 층수가 11층 이상인 건축물로서 11층 이상인 층의 바닥면적의 합계가 1만 제곱미터 이상인 건축물의 옥상에는 다음 각 호의 구분에 따른 공간을 확보하여야 한다. <개정 2009.7.16., 2011.12.30.>
1. 건축물의 지붕을 평지붕으로 하는 경우: 헬리포트를 설치하거나 헬리콥터를 통하여 인명 등을 구조할 수 있는 공간
2. 건축물의 지붕을 경사지붕으로 하는 경우: 경사지붕 아래에 설치하는 대피공간
④ 제3항에 따른 헬리포트를 설치하거나 헬리콥터를 통하여 인명 등을 구조할 수 있는 공간 및 경사지붕 아래에 설치하는 대피공간의 설치기준은 국토교통부령으로 정한다. <신설 2011.12.30., 2013.3.23.>
[전문개정 2008.10.29.]



//건축법 시행령 40조 (옥상광장 등의 설치) 1항

check(EDBA_40_1){

     IF (CS) THEN KS

}



CS{

     Space myBalcony {

          getSpace(“Balconly”)

          Space.Floor.number >= 2

     }



     Space mySpace{

          getSpace(“RoofTopPlaza”) + getSpace(myBalcony)

     }



     isAccessible(mySpace) = TRUE

}



KS{

     hasElement(mySpace, Railing) = TRUE

     mySpace.Rail.height >= 1.2m

}


//건축법 시행령 40조 (옥상광장 등의 설치) 2항 Check(EDBA_40_2){ IF (CS) THEN KS } CS{      Floor myFloor{           getObjectUsage(Floor) = “ClassIINeighborhoodLivingFacility.PerformanceHall“           OR getObjectUsage(Floor) = "ClassIINeighborhoodLivingFacility.ReligiousAssemblyFacility"      OR getObjectUsage(Floor)= "ClassIINeighborhoodLivingFacility.FacilityForProvidingInternetComputerGameService“


//건축법 시행령 40조 (옥상광장 등의 설치) 3항
Check(EDBA_40_3){
IF (CS) THEN KS
}

CS{
     Floor myFloor{
          Floor.number > 11
     }

     getBuildingStoriesCount() > 11
     getTotalFloorArea(myFloor) > 10000m2
}

KS{
getResult(EDBA_40_3_1) = True
getResult(EDBA_40_3_2) = True
}



//건축법 시행령 40조 (옥상광장 등의 설치) 3항 1호 Check(EDBA_40_3_1){ IF (CS) THEN KS } CS{      getObjectProperty(Roof.shapeType) = “FlatRoof” } KS{      isExist(Heliport) = True getResult(REFB_13_1)=True getResult(REFB_13_2)=True }


//건축법 시행령 40조 (옥상광장 등의 설치) 3항 2호 Check(EDBA_40_3_2){ IF (CS) THEN KS } CS{      getObjectProperty(Roof.shapeType) = “PitchedRoof ” } KS{ Space mySpace{ Space.isEscape = TRUE }      isExist(mySpace) = True      getObjectProperty(mySpace.Roof.shapeType) = “PitchedRoof” getResult(REFB_13_3)=True }


//건축법 시행령 40조 (옥상광장 등의 설치) 4항
Check(EDBA_40_4){
IF (CS1) THEN KS1 ELSE IF (CS2) THEN KS2
}
CS1{
getResult(EDBA_40_3_1)=True

}
KS1{
getResult(REFB_13_1)=True
getResult(REFB_13_2)=True

}
CS2{
getResult(EDBA_40_3_2)=True
}

KS2{
getResult(REFB_13_3)=True
}




75
15278 건축법 시행령 제 41 조

② 제1항에도 불구하고 다중이용 건축물과 층수가 11층 이상인 건축물이 건축되는 대지에는 그 안의 모든 다중이용 건축물과 층수가 11층 이상인 건축물에 「소방기본법」 제21조에 따른 소방자동차(이하 "소방자동차"라 한다)의 접근이 가능한 통로를 설치하여야 한다. 다만, 모든 다중이용 건축물과 층수가 11층 이상인 건축물이 소방자동차의 접근이 가능한 도로 또는 공지에 직접 접하여 건축되는 경우로서 소방자동차가 도로 또는 공지에서 직접 소방활동이 가능한 경우에는 그러하지 아니하다. <신설 2010.12.13., 2011.12.30.>
[전문개정 2008.10.29.]
제41조(대지 안의 피난 및 소화에 필요한 통로 설치) ①건축물의 대지 안에는 그 건축물 바깥쪽으로 통하는 주된 출구와 지상으로 통하는 피난계단 및 특별피난계단으로부터 도로 또는 공지(공원, 광장, 그 밖에 이와 비슷한 것으로서 피난 및 소화를 위하여 해당 대지의 출입에 지장이 없는 것을 말한다. 이하 이 조에서 같다)로 통하는 통로를 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2010.12.13.>
1. 단독주택: 유효 너비 0.9미터 이상
2. 바닥면적의 합계가 500제곱미터 이상인 문화 및 집회시설, 종교시설, 의료시설, 위락시설 또는 장례식장: 유효 너비 3미터 이상
3. 그 밖의 용도로 쓰는 건축물: 유효 너비 1.5미터 이상



Check(EDBA_41_1){

    KS

}







KS{



   Door  myDoor {
getObjectProperty(Door.functionType) = "Main"
   }

   Stair myStair{
isAccessible(Stair, Ground) = TRUE
isObjectProperty(Stair.isEscape) = TRUE

       OR isObjectProperty(Stair.isSpecialEscape) = TRUE



   }

   Passage  myPassage{

       isGoThrough(myStair, Road, Passage)=True

       OR isGoThrough(myStair, OpenSpace, Passage )=True

   }



   isExist(myDoor)=True

   isExist(myPassage)=True

   getResult(EDBA_41_1_1)=True

   getResult(EDBA_41_1_2)=True

   getResult(EDBA_41_1_3)=True

}


Check(EDBA_41_1_1){ IF (CS) THEN KS END IF } CS{ getObjectProperty(Building.usage)="DetachedHouse" } KS{ getObjectProperty(Passage.effectiveWidth)> 0.9M }


Check(EDBA_41_1_2){ IF (CS) THEN KS END IF } CS{ FloorSlab.area> 500 m2 Building.usage="CulturalAndAssemblyFacility" OR Building.usage="ReligiousFacility" OR Building.usage="MedicalFacility" OR Building.usage="AmusementFacility" OR Building.usage="FuneralParlor" } KS{ Passage.effectiveWidth> 3m ; }


Check(EDBA_41_1_3){ IF (CS) THEN KS END IF } CS{ Building.usage !="DetachedHouse" OR Building.usage !="CulturalAndAssemblyFacility" OR Building.usage !="ReligiousFacility" OR Building.usage !="MedicalFacility" OR Building.usage !="AmusementFacility" OR Building.usage !="FuneralParlor" } KS{ getObjectProperty(Passage.effectiveWidth)> 1.5m ; }




76
건축법 시행령 제 44 조
제44조(피난 규정의 적용례) 건축물이 창문, 출입구, 그 밖의 개구부(開口部)(이하 "창문등"이라 한다)가 없는 내화구조의 바닥 또는 벽으로 구획되어 있는 경우에는 그 구획된 각 부분을 각각 별개의 건축물로 보아 제34조부터 제41조까지를 적용한다.
[전문개정 2008.10.29.]



//건축법 시행령 44조 (피난 규정의 적용례)



Check(EDBA_44){

   IF CS THEN KS

}



CS{

   Door myDoor{

      isObjectProperty(Door.isEntrance)=True

   }



   Object  myElement {

        getObject(Window)

        getObject(Opening)

        getObject(myDoor)

   }

   

   FloorSlab myFloorSlab{



        getObjectProperty(FloorSlab.isFireResistantStructure)=True

   }



     Wall myWall{

        getObjectProperty(FloorSlab.isFireResistantStructure)=True

        hasObject(Wall, myElement) =False

   }



   isFirePartition(Building, myFloorSlab)=True

   OR  isFirePartition(Building, myWall)=True

   



}



KS{

   getResult(EDBA_34)=True

   getResult(EDBA_35)=True

   getResult(EDBA_36)=True

   getResult(EDBA_37)=True

   getResult(EDBA_38)=True

   getResult(EDBA_39)=True

   getResult(EDBA_40)=True

   getResult(EDBA_41)=True

}




77
15279 건축법 시행령 제 46 조

제46조(방화구획의 설치) ① 법 제49조제2항에 따라 주요구조부가 내화구조 또는 불연재료로 된 건축물로서 연면적이 1천 제곱미터를 넘는 것은 국토교통부령으로 정하는 기준에 따라 내화구조로 된 바닥ㆍ벽 및 제64조에 따른 갑종 방화문(국토교통부장관이 정하는 기준에 적합한 자동방화셔텨를 포함한다. 이하 이 조에서 같다)으로 구획(이하 "방화구획"이라 한다)하여야 한다. 다만, 「원자력안전법」 제2조에 따른 원자로 및 관계시설은 「원자력안전법」에서 정하는 바에 따른다. <개정 2011.10.25., 2013.3.23.>
② 다음 각 호의 어느 하나에 해당하는 건축물의 부분에는 제1항을 적용하지 아니하거나 그 사용에 지장이 없는 범위에서 제1항을 완화하여 적용할 수 있다. <개정 2010.2.18.>
1. 문화 및 집회시설(동ㆍ식물원은 제외한다), 종교시설, 운동시설 또는 장례식장의 용도로 쓰는 거실로서 시선 및 활동공간의 확보를 위하여 불가피한 부분
2. 물품의 제조ㆍ가공ㆍ보관 및 운반 등에 필요한 고정식 대형기기 설비의 설치를 위하여 불가피한 부분. 다만, 지하층인 경우에는 지하층의 외벽 한쪽 면(지하층의 바닥면에서 지상층 바닥 아래면까지의 외벽 면적 중 4분의 1 이상이 되는 면을 말한다) 전체가 건물 밖으로 개방되어 보행과 자동차의 진입ㆍ출입이 가능한 경우에 한정한다.
3. 계단실부분ㆍ복도 또는 승강기의 승강로 부분(해당 승강기의 승강을 위한 승강로비 부분을 포함한다)으로서 그 건축물의 다른 부분과 방화구획으로 구획된 부분
4. 건축물의 최상층 또는 피난층으로서 대규모 회의장ㆍ강당ㆍ스카이라운지ㆍ로비 또는 피난안전구역 등의 용도로 쓰는 부분으로서 그 용도로 사용하기 위하여 불가피한 부분
5. 복층형 공동주택의 세대별 층간 바닥 부분
6. 주요구조부가 내화구조 또는 불연재료로 된 주차장
7. 단독주택, 동물 및 식물 관련 시설 또는 교정 및 군사시설 중 군사시설(집회, 체육, 창고 등의 용도로 사용되는 시설만 해당한다)로 쓰는 건축물
③ 건축물의 일부가 법 제50조제1항에 따른 건축물에 해당하는 경우에는 그 부분과 다른 부분을 방화구획으로 구획하여야 한다.
④ 공동주택 중 아파트로서 4층 이상인 층의 각 세대가 2개 이상의 직통계단을 사용할 수 없는 경우에는 발코니에 인접 세대와 공동으로 또는 각 세대별로 다음 각 호의 요건을 모두 갖춘 대피공간을 하나 이상 설치하여야 한다. 이 경우 인접 세대와 공동으로 설치하는 대피공간은 인접 세대를 통하여 2개 이상의 직통계단을 쓸 수 있는 위치에 우선 설치되어야 한다. <개정 2013.3.23.>
1. 대피공간은 바깥의 공기와 접할 것
2. 대피공간은 실내의 다른 부분과 방화구획으로 구획될 것
3. 대피공간의 바닥면적은 인접 세대와 공동으로 설치하는 경우에는 3제곱미터 이상, 각 세대별로 설치하는 경우에는 2제곱미터 이상일 것
4. 국토교통부장관이 정하는 기준에 적합할 것
⑤ 제4항에도 불구하고 아파트의 4층 이상인 층에서 발코니에 다음 각 호의 어느 하나에 해당하는 구조 또는 시설을 설치한 경우에는 대피공간을 설치하지 아니할 수 있다. <개정 2010.2.18., 2013.3.23., 2014.8.27.>
1. 인접 세대와의 경계벽이 파괴하기 쉬운 경량구조 등인 경우
2. 경계벽에 피난구를 설치한 경우
3. 발코니의 바닥에 국토교통부령으로 정하는 하향식 피난구를 설치한 경우
4. 국토교통부장관이 중앙건축위원회의 심의를 거쳐 제4항에 따른 대피공간과 동일하거나 그 이상의 성능이 있다고 인정하여 고시하는 구조 또는 시설을 설치한 경우
[전문개정 2008.10.29.]



//건축법 시행령 46조 (방화구획의 설치) 1항

Check(EDBA_46_1){

   IF (!CS1 AND CS2) THEN KS

}





CS1{

  getBuildingUsage()="NuclearReactorAndRelatedFacility"

}



CS2{

  (isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE

  OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE))

  AND Building.grossFloorArea>1000 m2

}



KS{



  Floor myFloor{

      isObjectProperty(FloorSlab.isFireResistantStructure)=TRUE

  }

  Wall myWall{

      isObjectProperty(Wall.isFireResistantStructure)=TRUE

  }

  Door myDoor{

      isObjectProperty(Door.isStrictFireproofDoor)=TRUE

  }



  isFirePartition(Building, myFloor)=TRUE

  AND  isFirePartition(Building, myWall)=TRUE

  AND  isFirePatrition(Building, myDoor)=TRUE



  AND getResult(REFB_14_1)=TRUE

  AND getResult(REFB_14_2)=TRUE

  AND getResult(REFB_14_3)=TRUE



}


//건축법 시행령 46조 (방화구획의 설치) 2항
check(EDBA_46_2){
IF CS THEN KS
}

KS{
getResult(EDBA_46_1)=FALSE
}

CS{
getResult(EDBA_46_2_2)=TRUE
OR getResult(EDBA_46_2_3)=TRUE
OR getResult(EDBA_46_2_4)=TRUE
OR getResult(EDBA_46_2_5)=TRUE
OR getResult(EDBA_46_2_6)=TRUE
OR getResult(EDBA_46_2_7)=TRUE
}


//건축법 시행령 46조 (방화구획의 설치) 2항 2호 check(EDBA_46_2_2){ IF CS THEN KS } KS{ isExist(StationaryLargeComponent)=TRUE } CS{ Floor myFloor{ getFloorNumber()<0 } AND isAccessible(myFloor, Ground) = TRUE }


//건축법 시행령 46조 (방화구획의 설치) 2항 3호 check(EDBA_46_2_3){ KS } KS{ isObjectProperty(Stair.Space.isFirePartition)=TRUE OR isObjectProperty(Passage.isFirePartition)=TRUE OR isObjectProperty(ElevatorShaft.isFirePartition)=TRUE }


//건축법 시행령 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 }


//건축법 시행령 46조 (방화구획의 설치) 2항 5호
check(EDBA_46_2_5){
     Zone myZone{
          isObjectProperty(Zone.isOccupiedByOneHousehold) = TRUE
     }
     getBuildingUsage() = "DuplexMultiUnitHouses"
     hasSpace(myZone, Floor) = TRUE
     getFloorNumber(Floor) != 1
}


//건축법 시행령 46조 (방화구획의 설치) 2항 6호 check(EDBA_46_2_6){ KS } KS{ isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE AND isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE AND getSpaceUsage()=ParkingLot }


//건축법 시행령 46조 (방화구획의 설치) 2항 7호 check(EDBA_46_2_7){ KS } KS{ getBuildingUsage()="DetachedHouses" OR getBuildingUsage()="FacilitiesForAnimalsAndPlants" OR (getBuildingUsage()="CorrectionalFacilityANDMilitaryFacilities" and (getSpaceUsage()= "Assembly" OR "Gymnasium" OR "Warehouses") }


//건축법 시행령 46조 (방화구획의 설치) 3항
check(EDBA_46_3){
KS
}

KS{
getResult(BA_50_1)=TRUE
AND isGroupedFirePartition()=TRUE
}


//건축법 시행령 46조 (방화구획의 설치) 4항 check(EDBA_46_4){ IF CS THEN KS1 AND KS2 } Zone myZone{ isObjectProperty(Zone.isOccupiedByOneHousehold) = TRUE } KS1{ Space mySpace{ Space.isEscape = TRUE } isExist(Balcony)=TRUE AND hasElement(Balcony,mySpace)=TRUE AND (getResult(EDBA_46_4_1)=TRUE AND getResult(EDBA_46_4_2)=TRUE AND getResult(EDBA_46_4_3)=TRUE AND getResult(EDBA_46_4_4)=TRUE) } KS2{ Stair myStair{ Stair.isDirect = TRUE } isGoThrough(myZone,mySpace,myZone)=TRUE AND isGoThrough(mySpace,myZone,myStair)=TRUE } CS{ getBuildingUsage()="MultiUnitHouses.ApartmentHouses" AND Floor.number >=4 AND isDirectlyAccessible(myZone, myStair)=TRUE AND myStair.Number>=2 }


//건축법 시행령 46조 (방화구획의 설치) 4항 1호 check(EDBA_46_4_1){ KS } KS{ Space mySpace{ isObjectProperty(Space.isEscape) = TRUE } isConnectedToExternal(mySpace)=TRUE }


//건축법 시행령 46조 (방화구획의 설치) 4항 2호 check(EDBA_46_4_2){ KS } KS{ Space mySpace{ isObjectProperty(Space.isEscape) = TRUE } isObjectProperty(mySpace.isFirePartition)=TRUE }


//건축법 시행령 46조 (방화구획의 설치) 4항 3호
check(EDBA_46_4_3)

CS1{
}


CS2{
}


KS1{
}


KS2{
}


//건축법 시행령 46조 (방화구획의 설치) 5항 Check(EDBA_5){ CS } Space mySpace{ Space.isEscape = TRUE } CS{getObjectProperty(Building.usage)="ApartmentHouses" AND isExist(Balcony)=TRUE AND (hasObject(Balcony,Structure)=TRUE AND (getResult(EDBA_5_1)=TRUE or getResult(EDBA_5_2)=TRUE or getResult(EDBA_5_3)=TRUE) AND isExist(mySpace)=FALSE }


//건축법 시행령 46조 (방화구획의 설치) 5항 1호
Check(EDBA_46_5_1){CS
}

CS{
isObjectProperty(Wall.isPartitionWall)=TRUE
AND isObjectProperty(Wall.isLightWeightStructure)=TRUE
}


//건축법 시행령 46조 (방화구획의 설치) 5항 2호 Check(EDBA_46_5_2){CS } CS{ Opening myOpening{ Opening.isEscape = TRUE } Wall myWall{ isObjectProperty(Wall.isPartitionWall)=TRUE } AND hasObject(myWall,myOpening)=TRUE }


//건축법 시행령 46조 (방화구획의 설치) 5항 3호
Check(EDBA_46_5_3){
CS}


CS{

AND getResult(REFB_14_3)=TRUE
}




78
건축법 시행령 제 47 조

제47조(방화에 장애가 되는 용도의 제한) ① 법 제49조제2항에 따라 의료시설, 노유자시설(아동 관련 시설 및 노인복지시설만 해당한다), 공동주택 또는 장례식장과 위락시설, 위험물저장 및 처리시설, 공장 또는 자동차 관련 시설(정비공장만 해당한다)은 같은 건축물에 함께 설치할 수 없다. 다만, 다음 각 호의 어느 하나에 해당하는 경우로서 국토교통부령으로 정하는 경우에는 그러하지 아니하다. <개정 2009.7.16., 2013.3.23.>
1. 공동주택(기숙사만 해당한다)과 공장이 같은 건축물에 있는 경우
2. 중심상업지역ㆍ일반상업지역 또는 근린상업지역에서 「도시 및 주거환경정비법」에 따른 도시환경정비사업을 시행하는 경우
3. 공동주택과 위락시설이 같은 초고층 건축물에 있는 경우. 다만, 사생활을 보호하고 방범ㆍ방화 등 주거 안전을 보장하며 소음ㆍ악취 등으로부터 주거환경을 보호할 수 있도록 주택의 출입구ㆍ계단 및 승강기 등을 주택 외의 시설과 분리된 구조로 하여야 한다.
② 법 제49조제2항에 따라 다음 각 호의 어느 하나에 해당하는 용도의 시설은 같은 건축물에 함께 설치할 수 없다. <개정 2009.7.16., 2010.8.17., 2012.12.12., 2014.3.24.>
1. 노유자시설 중 아동 관련 시설 또는 노인복지시설과 판매시설 중 도매시장 또는 소매시장
2. 단독주택(다중주택, 다가구주택에 한정한다), 공동주택, 제1종 근린생활시설 중 조산원 또는 산후조리원과 제2종 근린생활시설 중 다중생활시설
[전문개정 2008.10.29.]



//건축법 시행령 47조 (방화에 장애가 되는 용도의 제한) 1항

Check(EDBA_47_1){
IF !CS THEN KS
}

CS{
getResult(EDBA_47_1_1)=True
OR getResult(EDBA_47_1_3)=True

getResult(REFB_14-2)=True
}

KS{
Space mySpace1{
getSpaceUsage(Space)="MedicalFacility"
OR getSpaceUsage(Space)="FacilitiesForTheAgedAndChildren.ChildrenRelatedFacility"
OR getSpaceUsage(Space)="FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged"
OR getSpaceUsage(Space)="MultiUnitHouse"
}

Space mySpace2{
getSpaceUsage(Space)="FuneralParlor"
OR getSpaceUsage(Space)="AmusementFacility"
OR getSpaceUsage(Space)="FacilityForStorageAndTreatmentOfDangerousSubstance"
OR getSpaceUsage(Space)="Factory"
OR getSpaceUsage(Space)="FacilityForMotorVehicle.AutomobileRepairShop"


isExistTogether(mySpace1, mySpace2)=False

}

}


// 건축법 시행령 47조 (방화에 장애가 되는 용도의 제한) 1항 1호

Check(EDBA_47_1_1){
KS
}

KS{
Space mySpace1{
getSpaceUsage(Space)="MultiUnitHouse.Dormitory"
}

Space mySpace2{
getSpaceUsage(Space)="Factory"
}


isExistTogether(mySpace1, mySpace2)=True

}


//건축법 시행령 47조 (방화에 장애가 되는 용도의 제한) 1항 3호

Check(EDBA_47_1_3){
KS
}

KS{
Space mySpace1{
getSpaceUsage(Space)="MultiUnitHouse"
}

Space mySpace2{
getSpaceUsage(Space)="AmusementFacility"
}


Building myBuilding{
isObjectProperty(Building.isHighriseBuilding)=True
}


isExistTogether(mySpace1, mySpace2, myBuilding)=True

//다만, 주택의 출입구ㆍ계단 및 승강기 등을 주택 외의 시설과 분리된 구조로 하여야 한다.

}


//건축법 시행령 47조 (방화에 장애가 되는 용도의 제한) 2항 Check(EDBA_47_2){ KS } Space myFacility{ getResult(EDBA_47_2_1)=True } Space myFacility2{ OR getResult(EDBA_47_2_2)=True } KS{ isShared(myFacility.Building, myFacility2.Building)=False }


//건축법 시행령 47조 (방화에 장애가 되는 용도의 제한) 2항 1호

Check(EDBA_47_2_1){
KS
}

KS{
getBuildingUsage()="FacilitiesForTheAgedAndChildren.ChildrenRelatedFacility"
OR getBuildingUsage()="FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged"
OR getBuildingUsage()="CommercialFacility.WholesaleMarket"
OR getBuildingUsage()="CommercialFacility.RetailMarket"
}


//건축법 시행령 47조 (방화에 장애가 되는 용도의 제한) 2항 2호 Check(EDBA_47_2_2){ KS } KS{ getBuildingUsage()="DetachedHouse.MultiUserHouse" OR getBuildingUsage()="DetachedHouse.MultiFamilyHouse" OR getBuildingUsage()="MultiUnitHouse" OR getBuildingUsage()="ClassINeighborhoodLivingFacility.MaternityCenter" OR getBuildingUsage()="ClassINeighborhoodLivingFacility.PostnatalCareCenter" OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.CommunalLivingFacility" }




79
건축법 시행령 제 48 조

제48조(계단ㆍ복도 및 출입구의 설치) ① 법 제49조제2항에 따라 연면적 200제곱미터를 초과하는 건축물에 설치하는 계단 및 복도는 국토교통부령으로 정하는 기준에 적합하여야 한다. <개정 2013.3.23.>
② 법 제49조제2항에 따라 제39조제1항 각 호의 어느 하나에 해당하는 건축물의 출입구는 국토교통부령으로 정하는 기준에 적합하여야 한다. <개정 2013.3.23.>
[전문개정 2008.10.29.]



//건축법 시행령 48조 (계단ㆍ복도 및 출입구의 설치) 1항

Check(EDBA_48_1){
IF CS THEN KS
}

CS{
getGrossFloorArea()>200 m2
}

KS{
getResult(REFB_15_1)=True
getResult(REFB_15_1_1)=True
getResult(REFB_15_1_2)=True
getResult(REFB_15_1_3)=True
getResult(REFB_15_1_4)=True

getResult(REFB_15_2)=True
getResult(REFB_15_2_1)=True
getResult(REFB_15_2_2)=True
getResult(REFB_15_2_3)=True
getResult(REFB_15_2_4)=True
getResult(REFB_15_2_5)=True
getResult(REFB_15_2_6)=True

getResult(REFB_15-2_1)=True
getResult(REFB_15-2_2)=True
getResult(REFB_15-2_2_1)=True
getResult(REFB_15-2_2_2)=True
getResult(REFB_15-2_2_3)=True

getResult(REFB_15-2_3)=True
getResult(REFB_15-2_3_1)=True
getResult(REFB_15-2_3_2)=True
}


//건축법 시행령 48조 (계단ㆍ복도 및 출입구의 설치)2항

Check(EDBA_48_2){
IF CS THEN KS
}

CS{
getResult(EDBA_39_1_1)=True
OR getResult(EDBA_39_1_2)=True
OR getResult(EDBA_39_1_3)=True
OR getResult(EDBA_39_1_4)=True
OR getResult(EDBA_39_1_5)=True
OR getResult(EDBA_39_1_6)=True
OR getResult(EDBA_39_1_7)=True
OR getResult(EDBA_39_1_8)=True
OR getResult(EDBA_39_1_9)=True
OR getResult(EDBA_39_1_10)=True
}

KS{
getResult(REFB_11_1)=True
getResult(REFB_11_2)=True
getResult(REFB_11_3)=True
getResult(REFB_11_4)=True
getResult(REFB_11_5)=True
getResult(REFB_11_6)=True
}




80
15269 건축법 시행령 제 50 조
제50조(거실반자의 설치) 법 제49조제2항에 따라 공장, 창고시설, 위험물저장 및 처리시설, 동물 및 식물 관련 시설, 자원순환 관련 시설 또는 묘지 관련시설 외의 용도로 쓰는 건축물 거실의 반자(반자가 없는 경우에는 보 또는 바로 위층의 바닥판의 밑면, 그 밖에 이와 비슷한 것을 말한다)는 국토교통부령으로 정하는 기준에 적합하여야 한다. <개정 2013.3.23., 2014.3.24.>
[전문개정 2008.10.29.]



// 건축법 시행령 50조 (거실반자의 설치)
check(EDBA_50){
     IF (CS) THEN KS
}

CS{
     Building.usage != "Factory"
     OR Building.usage != "Warehouse"
     OR Building.usage != "FacilityForStorageAndTreatmentOfDangerousSubstance"
     OR Building.usage != "FacilityForAnimalAndPlant"
     OR Building.usage != "ResourceRecyclingFacility"
     OR Building.usage != "CemeteryAndRelatedFacility"
}

KS{
     getResult(REFB_16_1) = TRUE
     getResult(REFB_16_2) = TRUE
}





81
15280 건축법 시행령 제 51 조

제51조(거실의 채광 등) ① 법 제49조제2항에 따라 단독주택 및 공동주택의 거실, 교육연구시설 중 학교의 교실, 의료시설의 병실 및 숙박시설의 객실에는 국토교통부령으로 정하는 기준에 따라 채광 및 환기를 위한 창문등이나 설비를 설치하여야 한다. <개정 2013.3.23.>
② 법 제49조제2항에 따라 6층 이상인 건축물로서 다음 각 호의 어느 하나에 해당하는 건축물의 거실에는 국토교통부령으로 정하는 기준에 따라 배연설비(排煙設備)를 하여야 한다. 다만, 피난층인 경우에는 그러하지 아니하다. <개정 2014.3.24.>
1. 제2종 근린생활시설 중 공연장, 종교집회장, 인터넷컴퓨터게임시설제공업소 및 다중생활시설(공연장, 종교집회장 및 인터넷컴퓨터게임시설제공업소는 해당 용도로 쓰는 바닥면적의 합계가 각각 300제곱미터 이상인 경우만 해당한다)
2. 문화 및 집회시설
3. 종교시설
4. 판매시설
5. 운수시설
6. 의료시설
7. 교육연구시설 중 연구소
8. 노유자시설 중 아동 관련 시설, 노인복지시설
9. 수련시설 중 유스호스텔
10. 운동시설
11. 업무시설
12. 숙박시설
13. 위락시설
14. 관광휴게시설
15. 장례식장
③ 법 제49조제2항에 따라 오피스텔에 거실 바닥으로부터 높이 1.2미터 이하 부분에 여닫을 수 있는 창문을 설치하는 경우에는 국토교통부령으로 정하는 기준에 따라 추락방지를 위한 안전시설을 설치하여야 한다. <신설 2009.7.16., 2013.3.23.>
④ 법 제49조제2항에 따라 11층 이하의 건축물에는 국토교통부령으로 정하는 기준에 따라 소방관이 진입할 수 있는 곳을 정하여 외부에서 주ㆍ야간 식별할 수 있는 표시를 하여야 한다. <신설 2011.12.30., 2013.3.23.>
[전문개정 2008.10.29.]



// 건축법 시행령 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
}


//건축법 시행령 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
}



//건축법 시행령 51조 (거실의 채광 등) 2항 1호
Check(EDBA_51_2_1){
     KS1 OR KS2
}     
KS1{
     Space mySpace{
          getBuildingUsage() = "ClassIINeighborhoodLivingFacility.PerformanceHall"
          OR getBuildingUsage() = "ClassIINeighborhoodLivingFacility.ReligiousAssemblyFacility"
          OR getBuildingUsage() = "ClassIINeighborhoodLivingFacility.FacilityForProvidingInternetComputerGameService"     
     }

     getFloorArea(mySpace) >= 300 m2
}

KS2{
     getBuildingUsage() = "ClassIINeighborhoodLivingFacility.CommunalLivingFacilities"
}



//건축법 시행령 51조 (거실의 채광 등) 2항 2호
Check(EDBA_51_2_2){
     getBuildingUsage() = "CulturalAndAssemblyFacility"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 3호
Check(EDBA_51_2_3){
     getBuildingUsage() = "ReligiousFacility"
}


Check(EDBA_51_2_4){ getBuildingUsage()="CommercialFacility" }


//건축법 시행령 51조 (거실의 채광 등) 2항 5호
Check(EDBA_51_2_5){
     getBuildingUsage() = "TransportationFacility"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 6호
Check(EDBA_51_2_6){
     getBuildingUsage() = "MedicalFacility"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 7호
Check(EDBA_51_2_7){
     getBuildingUsage() = "EducationAndResearchFacility.Laboratory"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 8호
Check(EDBA_51_2_8){
     getBuildingUsage() = "FacilitiesForTheAgedAndChildren.ChildrenRelatedFacilities"
     OR getBuildingUsage() = "FacilitiesForTheAgedAndChildren.WelfareFacilitiesForTheAged"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 9호
Check(EDBA_51_2_9){
     getBuildingUsage() = "Trainingfacility.YouthHostels"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 10호
Check(EDBA_51_2_10){
     getBuildingUsage() = "SportsFacility"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 11호
Check(EDBA_51_2_11){
     getBuildingUsage() = "BusinessFacility"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 12호
Check(EDBA_51_2_12){
     getBuildingUsage() = "LodgingFacility"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 13호
Check(EDBA_51_2_13){
     getBuildingUsage() = "AmusementFacility"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 14호
Check(EDBA_51_2_14){
     getBuildingUsage() = "FacilityForTourismAndRelaxation"
}


//건축법 시행령 51조 (거실의 채광 등) 2항 15호
Check(EDBA_51_2_15){
     getBuildingUsage() = "FuneralParlors"
}



// 건축법 시행령 51조 (거실의 채광 등) 3항 check(EDBA_51_3){      IF CS THEN KS } CS{ Window myWindow{ getObjectProperty(Window.panelOperationType) = "SwingingWindow" }      getBuildingUsage() = "Officetels.Room"      getElementHeight(myWindow) <= 1.2 m } KS{      isExist(FallPreventionSafetyFacility) = TRUE      getResult(REFB_17_4) = TRUE }




82
건축법 시행령 제 52 조
제52조(거실 등의 방습) 법 제49조제2항에 따라 다음 각 호의 어느 하나에 해당하는 거실ㆍ욕실 또는 조리장의 바닥 부분에는 국토교통부령으로 정하는 기준에 따라 방습을 위한 조치를 하여야 한다. <개정 2013.3.23.>
1. 건축물의 최하층에 있는 거실(바닥이 목조인 경우만 해당한다)
2. 제1종 근린생활시설 중 목욕장의 욕실과 휴게음식점 및 제과점의 조리장
3. 제2종 근린생활시설 중 일반음식점, 휴게음식점 및 제과점의 조리장과 숙박시설의 욕실
[전문개정 2008.10.29.]



//건축법 시행령 52조 (거실 등의 방습)
Check(EDBA_52){
IF CS THEN KS}

CS{
getResult(EDBA_52_0_1)=TRUE
OR getResult(EDBA_52_0_2)=TRUE
OR getResult(EDBA_52_0_3)=TRUE
getObject(Floor)
}

KS{
getResult(REFB_18_1)=TRUE
AND getResult(REFB_18_2)=TRUE
}


//건축법 시행령 52조 (거실 등의 방습) 1호 Check(EDBA_52_0_1){ CS} CS{ hasObject(BottomFloor, Room) = TRUE getObjectProperty(FloorSlab.Structure.materialType) = "Timber" }


//건축법 시행령 52조 (거실 등의 방습) 2호 Check(EDBA_52_0_2){ KS } KS{ Building myBuilding1{ Building.usage = "ClassiNeighborhoodLivingFacilites.BathHouse" } Building myBuilding2{ Building.usage = "ClassiNeighborhoodLivingFacilites" OR "RestingRestaurant" } getSpaceUsage(myBuilding1.Space)="BathRoom" getSpaceUsage(myBuilding2.Space)="Kitchen" }


//건축법 시행령 52조 (거실 등의 방습) 3호 Check(EDBA_52_0_3){ KS } KS{ Building myBuilding1{ Building.usage = "ClassiiNeighborhoodLivingFacilites.Restaurant" OR "ClassiiNeighborhoodLivingFacilites.RestingRestaurant" OR "ClassiiNeighborhoodLivingFacilites.Bakery" } Building myBuilding2{ Building.usage = "ClassiiNeighborhoodLivingFacilites.LodgingFacility" } getSpaceUsage(myBuilding1.Space)="Kitchen" getSpaceUsage(myBuilding2.Space)="BathRoom" }




83
15281 건축법 시행령 제 53 조

4. 노유자시설 중 「노인복지법」 제32조제1항제3호에 따른 노인복지주택(이하 "노인복지주택"이라 한다)의 각 세대 간 경계벽
② 법 제49조제3항에 따라 다음 각 호의 어느 하나에 해당하는 건축물의 층간바닥(화장실의 바닥은 제외한다)은 국토교통부령으로 정하는 기준에 따라 설치하여야 한다. <신설 2014.11.28.>
1. 단독주택 중 다가구주택
2. 공동주택(「주택법」 제16조에 따른 주택건설사업계획승인 대상은 제외한다)
3. 업무시설 중 오피스텔
4. 제2종 근린생활시설 중 다중생활시설
5. 숙박시설 중 다중생활시설
[전문개정 2008.10.29.]
[제목개정 2014.11.28.]
제53조(경계벽 등의 설치) ① 법 제49조제3항에 따라 다음 각 호의 어느 하나에 해당하는 건축물의 경계벽은 국토교통부령으로 정하는 기준에 따라 설치하여야 한다. <개정 2010.8.17., 2013.3.23., 2014.3.24., 2014.11.28.>
1. 단독주택 중 다가구주택의 각 가구 간 또는 공동주택(기숙사는 제외한다)의 각 세대 간 경계벽(제2조제14호 후단에 따라 거실ㆍ침실 등의 용도로 쓰지 아니하는 발코니 부분은 제외한다)
2. 공동주택 중 기숙사의 침실, 의료시설의 병실, 교육연구시설 중 학교의 교실 또는 숙박시설의 객실 간 경계벽
3. 제2종 근린생활시설 중 다중생활시설의 호실 간 경계벽



// 건축법 시행령 53조 (경계벽 등의 설치) 1항



check(EDBA_53_1){

     IF CS THEN KS

}



CS{

     getResult(EDBA_53_1_1) = TRUE

     OR getResult(EDBA_53_1_2) = TRUE

     OR getResult(EDBA_53_1_3) = TRUE

     OR getResult(EDBA_53_1_4) = TRUE

}



KS{

     getResult(REFB_19_1)=True     

        getResult(REFB_19_2)=True

}


// 건축법 시행령 53조 (경계벽 등의 설치) 1항 1호 check(EDBA_53_1_1){      KS } KS{ Zone myZone1{ Zone.Building.usage = “DetachedHouse.MultiFamilyHouse ” } Zone myZone2{ Zone.Building.usage = “MultiUnitHouse” } Balcony myBalcony{ Balcony.usage != “BedRoom” Balcony.usage != “LivingRoom” } Wall myWall1{ isObjectProperty(Wall.isPartitionWall)=TRUE hasObject(myZone1.Household, Wall) =TRUE hasObject(myBalcony,Wall) =FALSE } Wall myWall1{ isObjectProperty(Wall.isPartitionWall)=TRUE hasObject(myZone2.Household, Wall) =TRUE hasObject(myBalcony,Wall) =FALSE } isExist(myWall1)=TRUE isExist(myWall2)=TRUE }


// 건축법 시행령 53조 (경계벽 등의 설치) 1항 2호 check(EDBA_53_1_1){      KS } KS{ Space mySpace1{ Space.Building.usage = “MultiUnitHouse.Dormitory” Space.name = “BedRoom” } Space mySpace1_1{ Space.Building.usage = “MultiUnitHouse.Dormitory” Space.name != “BedRoom” } Space mySpace2{ Space.Building.usage = “MedicalFacility” Space.name = “Ward” } Space mySpace2_1{ Space.Building.usage = “MedicalFacility” Space.name != “Ward” } Space mySpace3{ Space.Building.usage = “EducationAndResearchFacility.School” Space.name = “ClassRoom” } Space mySpace3_1{ Space.Building.usage = “EducationAndResearchFacility.School” Space.name != “ClassRoom” } Space mySpace4{ Space.Building.usage = “LodgingFacility” Space.name = “GuestRoom” } Space mySpace4_1 Space.Building.usage = “LodgingFacility” Space.name != “GuestRoom” } Wall myWall1{ isObjectProperty(Wall.isPartitionWall)=TRUE hasObject(mySpace1, Wall) =TRUE } Wall myWall2{ isObjectProperty(Wall.isPartitionWall)=TRUE hasObject(mySpace2, Wall) =TRUE } Wall myWall3{ isObjectProperty(Wall.isPartitionWall)=TRUE hasObject(mySpace3, Wall) =TRUE } Wall myWall4{ isObjectProperty(Wall.isPartitionWall)=TRUE hasObject(mySpace4, Wall) =TRUE } (hasObject(mySpace1, myWall) =TRUE hasObject(mySpace1_1, myWall) =FALSE) OR (hasObject(mySpace2, myWall) =TRUE hasObject(mySpace2_1, myWall) =FALSE) OR (hasObject(mySpace3, myWall) =TRUE hasObject(mySpace3_1, myWall) =FALSE) OR (hasObject(mySpace4, myWall) =TRUE hasObject(mySpace4_1, myWall) =FALSE) }


// 건축법 시행령 53조 (경계벽 등의 설치) 1항 3호 check(EDBA_53_1_3){      KS } KS{ Space mySpace1{ Space.Building.usage = “ClassIINeighborhoodLivingFacility.CommunalLivingFacility” } Wall myWall{ isObjectProperty(Wall.isPartitionWall)=TRUE hasObject(mySpace1, Wall) =TRUE } isObjectProperty(myWall.isSharedByHouseholds) = TRUE }


// 건축법 시행령 53조 (경계벽 등의 설치) 1항 4호





check(EDBA_53_1_4){

     KS

}


KS{

Building myBuilding{

Zone.Building.usage = “FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged ”

getResult(WOPA_32_1_3)=TRUE

}



Wall myWall{

isObjectProperty(Wall.isPartitionWall)=TRUE
hasObject(myBuilding, Wall) =TRUE
}



isObjectProperty(myWall.isSharedByHouseholds) = TRUE



}


//건축법 시행령 53조 (경계벽 등의 설치) 2항

Check(EDBA_53_2){
IF CS THEN KS
}

CS{
getResult(EDBA_53_2_1)=True
OR getResult(EDBA_53_2_2)=True
OR getResult(EDBA_53_2_3)=True
OR getResult(EDBA_53_2_4)=True
OR getResult(EDBA_53_2_5)=True
}

KS{
getResult(REFB_19_3)=True
}


//건축법 시행령 53조 (경계벽 등의 설치) 2항 1호

Check(EDBA_53_2_1){
KS
}

KS{
getBuildingUsage()="DetachedHouse.MultiFamilyHouse"
}


//건축법 시행령 53조 (경계벽 등의 설치) 2항 2호

Check(EDBA_53_2_2){
KS
}

KS{
getBuildingUsage()="MultiUnitHouse"
getResult(Unimplemented_HA_16)=False
}


//건축법 시행령 53조 (경계벽 등의 설치) 2항 3호

Check(EDBA_53_2_3){
KS
}

KS{
getBuildingUsage()="BusinessFacility.Officetel"

}


//건축법 시행령 53조 (경계벽 등의 설치) 2항 4호

Check(EDBA_53_2_4){
KS
}

KS{
getBuildingUsage()="ClassIINeighborhoodLivingFacility.CommunalLivingFacility"

}


//건축법 시행령 53조 (경계벽 등의 설치) 2항 5호

Check(EDBA_53_2_5){
KS
}

KS{
getBuildingUsage()="LodgingFacility.CommunalLivingFacility"

}




84
15282 건축법 시행령 제 56 조

제56조(건축물의 내화구조) ① 법 제50조제1항에 따라 다음 각 호의 어느 하나에 해당하는 건축물(제5호에 해당하는 건축물로서 2층 이하인 건축물은 지하층 부분만 해당한다)의 주요구조부는 내화구조로 하여야 한다. 다만, 연면적이 50제곱미터 이하인 단층의 부속건축물로서 외벽 및 처마 밑면을 방화구조로 한 것과 무대의 바닥은 그러하지 아니하다. <개정 2009.6.30., 2010.2.18., 2010.8.17., 2013.3.23., 2014.3.24.>
1. 제2종 근린생활시설 중 공연장ㆍ종교집회장(해당 용도로 쓰는 바닥면적의 합계가 각각 300제곱미터 이상인 경우만 해당한다), 문화 및 집회시설(전시장 및 동ㆍ식물원은 제외한다), 종교시설, 위락시설 중 주점영업 및 장례식장의 용도로 쓰는 건축물로서 관람석 또는 집회실의 바닥면적의 합계가 200제곱미터(옥외관람석의 경우에는 1천 제곱미터) 이상인 건축물
2. 문화 및 집회시설 중 전시장 또는 동ㆍ식물원, 판매시설, 운수시설, 교육연구시설에 설치하는 체육관ㆍ강당, 수련시설, 운동시설 중 체육관ㆍ운동장, 위락시설(주점영업의 용도로 쓰는 것은 제외한다), 창고시설, 위험물저장 및 처리시설, 자동차 관련 시설, 방송통신시설 중 방송국ㆍ전신전화국ㆍ촬영소, 묘지 관련 시설 중 화장장 또는 관광휴게시설의 용도로 쓰는 건축물로서 그 용도로 쓰는 바닥면적의 합계가 500제곱미터 이상인 건축물
3. 공장의 용도로 쓰는 건축물로서 그 용도로 쓰는 바닥면적의 합계가 2천 제곱미터 이상인 건축물. 다만, 화재의 위험이 적은 공장으로서 국토교통부령으로 정하는 공장은 제외한다.
4. 건축물의 2층이 단독주택 중 다중주택 및 다가구주택, 공동주택, 제1종 근린생활시설(의료의 용도로 쓰는 시설만 해당한다), 제2종 근린생활시설 중 다중생활시설, 의료시설, 노유자시설 중 아동 관련 시설 및 노인복지시설, 수련시설 중 유스호스텔, 업무시설 중 오피스텔, 숙박시설 또는 장례식장의 용도로 쓰는 건축물로서 그 용도로 쓰는 바닥면적의 합계가 400제곱미터 이상인 건축물
5. 3층 이상인 건축물 및 지하층이 있는 건축물. 다만, 단독주택(다중주택 및 다가구주택은 제외한다), 동물 및 식물 관련 시설, 발전시설(발전소의 부속용도로 쓰는 시설은 제외한다), 교도소ㆍ감화원 또는 묘지 관련 시설(화장장은 제외한다)의 용도로 쓰는 건축물과 철강 관련 업종의 공장 중 제어실로 사용하기 위하여 연면적 50제곱미터 이하로 증축하는 부분은 제외한다.
② 제1항제1호 및 제2호에 해당하는 용도로 쓰지 아니하는 건축물로서 그 지붕틀을 불연재료로 한 경우에는 그 지붕틀을 내화구조로 아니할 수 있다.
[전문개정 2008.10.29.]



//건축법 시행령 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

}


//건축법 시행령 56조 (건축물의 내화구조) 1항 1호 check(EDBA_56_1_1){      KS } Space mySpace{ Space.usage = "Auditorium " isExternal(Space) = TRUE } KS { (getBuildingUsage() = "PerformanceHall" | "ReligiousAssemblyFacility" AND getFloorArea(getSpace("PerformanceHall" | “ReligiousAssemblyFacility”)) > = 300m2;)       OR (getBuildingUsage() = "CulturalAndAssemblyFacility" AND getBuildingUsage() != "ExhibitionHall" | "ZoologicalAndBotanicalGarden" OR (getBuildingUsage() = "ReligiousFacility" | "BarBusiness" | "FuneralParlor"      AND getFloorArea(getSpace(“Seat” | “AssemblyHall”) > = 200m2 OR getFloorArea(mySpace) > = 1000m2;) }


//건축법 시행령 56조 (건축물의 내화구조) 1항 2호 check(EDBA_56_1_2){ KS }       KS{ (getBuildingUsage() = "ExhibitionHall" | "ZoologicalANDbotanicalGarden" | "CommercialFacility" | "TransportationFacilities" | "gymnasium.educationAndresearchFacilities" | "hall.educationAndresearchFacilities" | "gymnasium" | "sportsfacilities.stadium" | "sports facilities.warehouses" | "factory.facilitiesForStorageAndreatmentOfDangerousSubstance" | "factory.facilitiesForMotorVehicles" | "facilitiesforbroadcastingAndTelecommunications.broadcastingStation" | "facilitiesforbroadcasting andtelecommunications.telegraphAndTelephoneStations" | "facilitiesforbroadcasting and telecommunications.studio" | "cemeteries and relatedfacilities.Crematorium | "facilitiesfortourismandrelaxation" OR (getBuildingUsage() = "amusementfacilities" AND getBuildingUsage() != "barbusiness.amusementfacilities")) AND getFloorArea(getSpace(getBuildingUsage()) > = 500m2)) }


//건축법 시행령 56조 (건축물의 내화구조와 방화벽) 1항 3호
check(EDBA_56_1_3){
     IF !(CS) THEN KS
}

CS{
     getResult(REFB_20-2) = TRUE
}

KS{
     Floor myFloor{
          getObjectUsage(Floor) = "Factory"
     }

     getTotalFloorArea(myFloor.Space) >= 2000 m2
}


//건축법 시행령 56조 (건축물의 내화구조와 방화벽) 1항 4호
check(EDBA_56_1_4){
     
     Floor myFloor{

          getFloorNumber = 2

          getObjectUsage(Floor) = "DetachedHouse.MultiUserHouse"
          OR getObjectUsage(Floor) = "DetachedHouse.MultiFamilyHouse"
          OR getObjectUsage(Floor) = "DetachedHouse.MultiFamilyHouse"
          OR getObjectUsage(Floor) = "MultiUnitHouse"
          OR getObjectUsage(Floor) = "ClassINeighborhoodLivingFacility.MedicalFacility"
          OR getObjectUsage(Floor) = "ClassIINeighborhoodLivingFacility.CommunalLivingFacility"
          OR getObjectUsage(Floor) = "MedicalFacility"
          OR getObjectUsage(Floor) = "FacilitiesForTheAgedAndChildren.ChildrenRelatedFacility"
          OR getObjectUsage(Floor) = "FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged "
          OR getObjectUsage(Floor) = "Trainingfacility.YouthHostel"
          OR getObjectUsage(Floor) = "BusinessFacility.Officetel"
          OR getObjectUsage(Floor) = "LodgingFacility"
          OR getObjectUsage(Floor) = "FuneralParlor"
     }
     
     getFloorArea(myFloor) >= 400 m2
}


//건축법 시행령 56조 (건축물의 내화구조) 1항 5호 check(EDBA_56_1_5){      IF !CS THEN KS } Building myBuilding{ getBuildingUsage() = "PowerPlant" isObjectProperty(Building.isAttachedBuilding) = TRUE } Building myBuilding{ getResult(REFB_*_3_30) = TRUE getResult(REFB_*_3_31) = TRUE } CS{ getBuildingUsage() = "facilities for animals and plants" | "facilities for power generation" | "correctional facilities and military installations.prison" | "correctional facilities and military installations.reformatories | "myFactory"       OR (getBuildingUsage() = "detached houses" AND getBuildingUsage() != "detached houses.multi-user houses" | "detached houses.multi-family houses" )       OR (getBuildingUsage() = "facilities for power generation"       AND (getBuildingUsage() = "myBuilding"       OR (getBuildingUsage() = "cemeteries and related facilities"       AND getBuildingUsage() != "Crematorium") } KS{ Floor myFloor{ Floor.number < 0 } getBuildingStoriesCount() >= 3       AND isExist(myFloor) = TRUE }


//건축법 시행령 56조 (건축물의 내화구조) 2항 check(EDBA_56_2){      IF (!CS1 AND CS2) THEN !KS CS1{ getResult(EDBA_56_1_1)=TRUE AND getResult(EDBA_56_1_2)=TRUE } CS2{ getObjectMaterialType(RoofTruss)= "NonCombustibleMaterial" } KS{ isFireResistantStructure(RoofTruss) = TRUE }




85
건축법 시행령 제 57 조

제57조(대규모 건축물의 방화벽 등) ① 법 제50조제2항에 따라 연면적 1천 제곱미터 이상인 건축물은 방화벽으로 구획하되, 각 구획된 바닥면적의 합계는 1천 제곱미터 미만이어야 한다. 다만, 주요구조부가 내화구조이거나 불연재료인 건축물과 제56조제1항제5호 단서에 따른 건축물 또는 내부설비의 구조상 방화벽으로 구획할 수 없는 창고시설의 경우에는 그러하지 아니하다.
② 제1항에 따른 방화벽의 구조에 관하여 필요한 사항은 국토교통부령으로 정한다. <개정 2013.3.23.>
③ 연면적 1천 제곱미터 이상인 목조 건축물의 구조는 국토교통부령으로 정하는 바에 따라 방화구조로 하거나 불연재료로 하여야 한다. <개정 2013.3.23.>
[전문개정 2008.10.29.]



//  건축법 시행령 57조 (     대규모 건축물의 방화벽 등) 1항
Check(EDBA_57_1){
     IF (CS1 AND CS2) THEN KS
}

CS1{
     getObjectProperty(MainStructuralPart.isFireResistantStructure) = TRUE
     OR getObjectProperty(MainStructuralPart.Material.nonCombustibility) = TRUE
     OR getResult(EDBA_56_1_5) = TRUE
}

CS2{
     getObjectProperty(Building.grossFloorArea) >= 1000m2
}

KS{
     Space mySpace{
          getFloorArea(Space) < 1000m2
     }

     Space mySpace2{
          Space != mySpace
     }

     Wall myWall{
          isObjectProperty(Wall.isFireProofWall) = TRUE
     }

     isPartitioned(mySpace, mySpace2, myWall) = TRUE
}


check(EDBA_57_2){
     KS
}

KS{
     getResult(REFB_21_1) = TRUE                
}


// 건축법 시행령 57조 (대규모 건축물의 방화벽 등) 3항 Check(EDBA_57_3){      IF CS THEN KS } CS{      getObjectProperty(Building.grossFloorArea) >= 1000m2      getObjectProperty(Building.Structure.materialType) = "Timber" } KS{      getObjectProperty(MainStructuralPart.Material.nonCombustibility) = TRUE      OR getObjectProperty(MainStructuralPart.isFireProofStructure) = TRUE }




86
15283 건축법 시행령 제 58 조
제58조(방화지구의 건축물) 법 제51조제1항에 따라 그 주요구조부 및 외벽을 내화구조로 하지 아니할 수 있는 건축물은 다음 각 호와 같다.
1. 연면적 30제곱미터 미만인 단층 부속건축물로서 외벽 및 처마면이 내화구조 또는 불연재료로 된 것
2. 도매시장의 용도로 쓰는 건축물로서 그 주요구조부가 불연재료로 된 것
[전문개정 2008.10.29.]



check(EDBA_58){
     KS
}

KS{
     getResult(EDBA_58_0_1) = TRUE;
     getResult(EDBA_58_0_2) = TRUE;
}




check(EDBA_58_0_1){      getGrossFloorArea() < 30m2;      isObjectProperty(Building.isAttachedBuilding) = TRUE      getBuildingStoriesCount() = 1;      isFireResistantStructure(MainStructure) = TRUE      OR isFireResistantStructure(ExternalWall) = TRUE; }


check(EDBA_58_0_2){      getBuildingUsage() < "WholeSale Market"      isFireResistantStructure(MainStructure) = TRUE }




87
건축법 시행령 제 61 조

제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.>
1. 제2종 근린생활시설 중 공연장·종교집회장·인터넷컴퓨터게임시설제공업소(해당 용도로 쓰는 바닥면적의 합계가 각각 300제곱미터 이상인 경우만 해당한다), 문화 및 집회시설(예식장은 제외한다), 종교시설, 판매시설, 운수시설 및 위락시설(단란주점 및 주점영업은 제외한다)의 용도로 쓰는 건축물로서 그 용도로 쓰는 거실의 바닥면적의 합계가 200제곱미터(주요구조부가 내화구조 또는 불연재료로 된 건축물의 경우에는 400제곱미터) 이상인 건축물
2. 단독주택 중 다중주택·다가구주택, 공동주택, 제2종 근린생활시설 중 학원·독서실·다중생활시설, 숙박시설, 의료시설, 교육연구시설 중 학원, 노유자시설 중 아동 관련 시설·노인복지시설, 수련시설 중 유스호스텔, 업무시설 중 오피스텔 및 장례식장의 용도로 쓰는 건축물로서 3층 이상인 층의 그 용도로 쓰는 거실의 바닥면적의 합계가 200제곱미터(주요구조부가 내화구조 또는 불연재료로 된 건축물의 경우에는 400제곱미터) 이상인 건축물
3. 위험물저장 및 처리시설(자가난방과 자가발전 등의 용도로 쓰는 시설을 포함한다), 자동차 관련 시설, 방송통신시설 중 방송국·촬영소 또는 발전시설의 용도로 쓰는 건축물
4. 공장의 용도로 쓰는 건축물. 다만, 건축물이 1층 이하이고, 연면적 1천 제곱미터 미만으로서 다음 각 목의 요건을 모두 갖춘 경우는 제외한다.
가. 국토교통부령으로 정하는 화재위험이 적은 공장용도로 쓸 것
나. 화재 시 대피가 가능한 국토교통부령으로 정하는 출구를 갖출 것
다. 복합자재[불연성인 재료와 불연성이 아닌 재료가 복합된 자재로서 외부의 양면(철판, 알루미늄, 콘크리트박판, 그 밖에 이와 유사한 재료로 이루어진 것을 말한다)과 심재(心材)로 구성된 것을 말한다]를 내부 마감재료로 사용하는 경우에는 국토교통부령으로 정하는 품질기준에 적합할 것
5. 5층 이상인 층 거실의 바닥면적의 합계가 500제곱미터 이상인 건축물
6. 제2종 근린생활시설 중 공연장·당구장, 문화 및 집회시설 중 예식장, 교육연구시설 중 학교(초등학교만 해당한다), 수련시설, 위락시설 중 주점영업 또는 「다중이용업소의 안전관리에 관한 특별법 시행령」 제2조에 따른 다중이용업(유흥주점영업은 제외한다)의 용도로 쓰는 건축물
7. 창고로 쓰이는 바닥면적 600제곱미터(스프링클러나 그 밖에 이와 비슷한 자동식 소화설비를 설치한 경우에는 1천200제곱미터) 이상인 건축물. 다만, 벽 및 지붕을 국토교통부장관이 정하여 고시하는 화재 확산 방지구조 기준에 적합하게 설치한 건축물은 제외한다.
② 법 제52조제2항에서 "대통령령으로 정하는 건축물"이란 다음 각 호의 어느 하나에 해당하는 것을 말한다. <신설 2010.12.13., 2011.12.30., 2013.3.23.>
1. 상업지역(근린상업지역은 제외한다)의 건축물로서 다음 각 목의 어느 하나에 해당하는 것
가. 「다중이용업소의 안전관리에 관한 특별법」 제2조제1항제1호에 따른 다중이용업의 용도로 쓰는 건축물로서 그 용도로 쓰는 바닥면적의 합계가 2천제곱미터 이상인 건축물
나. 공장(국토교통부령으로 정하는 화재 위험이 적은 공장은 제외한다)의 용도로 쓰는 건축물로부터 6미터 이내에 위치한 건축물
2. 고층건축물
[전문개정 2008.10.29.]
[제목개정 2010.12.13.]
[시행일 : 2015.5.28.] 제61조



//건축법 시행령 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

}


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

}


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

}


Check(EDBA_61_1_3){
KS}


KS{
getBuildingUsage()="FacilityForStorageAndTreatmentOfDangerousSubstance"
OR getBuildingUsage()="FacilityForMotorVehicle"
OR (getBuildingUsage()="FacilityForBroadcastingAndTelecommunication.BroadcastingStation"
OR getBuildingUsage()="FacilityForBroadcastingAndTelecommunication.Studio"
OR getBuildingUsage()="FacilityForBroadcastingAndTelecommunication.PowerPlant"
}


Check(EDBA_61_1_4){
IF !CS THEN KS}


CS{
getResult(EDBA_61_1_4_가)=PASS
OR getResult(EDBA_61_1_4_나)=PASS
OR getResult(EDBA_61_1_4_다)=PASS
}


KS{
getBuildingUsage="Factory"}


Check(EDBA_61_1_4_1){
KS}


KS{
getResult(REFB_24-2_1)= TRUE
}


Check(EDBA_61_1_4_2){
KS}


KS{
getResult(REFB_24-2_2)= TRUE
}


Check(EDBA_61_1_4_3){
KS}


KS{
getResult(REFB_24-2_3)=TRUE
}


Check(EDBA_61_1_5){
KS}

Floor myFloor {
Floor.number>=5
}

KS{
getTotalfloorArea(myFloor)>=500 m2
}


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)
}



//건축법 시행령 61조 (건축물의 마감재료) 1항7호

Check(EDBA_61_1_7){
KS
}

KS{

Floor myFloor{
getObjectUsage(Floor)="Storage"

}
IF (isExist(SprinklerSystem)=TRUE
OR isExist(ExtinguishingSystem.isAutomatic)=TRUE )

THEN getFloorArea(myFloor)>6000 m2
ELSE THEN getFloorArea(myFloor)>3000 m2
}


//건축법 시행령 61조 (건축물의 마감재료) 2항



Check(EDBA_61_2){
KS
}

KS{
getResult(EDBA_61_2_1)=TRUE
OR getResult(EDBA_61_2_2)=TRUE
}


// 건축법 시행령 61조 (건축물의 마감재료) 2항 1호


Check(EDBA_61_2_1){
KS
}




KS{
getObjectProperty(Building.SpecialPurposeArea.type) = "CommercialArea"
getResult(EDBA_61_2_1_가)=TRUE


}


//건축법 시행령 61조 (건축물의 마감재료) 2항 1호 가목

Check(EDBA_61_2_1_가){
KS
}



KS{
Building myBuilding{
getResult(SASP_2_1_1)=True
}

FloorSlab myFloorSlab{

// getFloorUsage()=myBuilding.usage
}

getObjectArea(myFloorSlab)>2000 m2


}


// 건축법 시행령 61조 (건축물의 마감재료) 2항 2호
Check(EDBA_61_2_2){
     KS
}

KS{
     getObjectProperty(Building.isHighriseBuilding) = TRUE
     OR getObjectProperty(Building.isQuasiHighriseBuilding) = TRUE
}




88
건축법 시행령 제 8 조

제8조(건축허가) ① 법 제11조제1항 단서에 따라 특별시장 또는 광역시장의 허가를 받아야 하는 건축물의 건축은 층수가 21층 이상이거나 연면적의 합계가 10만 제곱미터 이상인 건축물의 건축(연면적의 10분의 3 이상을 증축하여 층수가 21층 이상으로 되거나 연면적의 합계가 10만 제곱미터 이상으로 되는 경우를 포함한다)을 말한다. 다만, 다음 각 호의 어느 하나에 해당하는 건축물의 건축은 제외한다. <개정 2008.10.29., 2009.7.16., 2010.12.13., 2012.12.12., 2014.11.11., 2014.11.28.>
1. 공장
2. 창고
3. 지방건축위원회의 심의를 거친 건축물(특별시 또는 광역시의 건축조례로 정하는 바에 따라 해당 지방건축위원회의 심의사항으로 할 수 있는 건축물에 한정하며, 초고층 건축물은 제외한다)
② 삭제 <2006.5.8.>
③ 법 제11조제2항제2호에서 "위락시설과 숙박시설 등 대통령령으로 정하는 용도에 해당하는 건축물"이란 다음 각 호의 건축물을 말한다. <개정 2008.10.29.>
1. 공동주택
2. 제2종 근린생활시설(일반음식점만 해당한다)
3. 업무시설(일반업무시설만 해당한다)
4. 숙박시설
5. 위락시설
④ 삭제 <2006.5.8.>
⑤ 삭제 <2006.5.8.>
⑥ 법 제11조제2항에 따른 승인신청에 필요한 신청서류 및 절차 등에 관하여 필요한 사항은 국토교통부령으로 정한다. <개정 2008.10.29., 2013.3.23.>
[전문개정 1999.4.30.]



//건축법 시행령 8조 (건축허가) 3항

Check(EDBA_8_3){
KS
}

KS{
getResult(EDBA_8_3_1)=True
OR getResult(EDBA_8_3_2)=True
OR getResult(EDBA_8_3_3)=True
OR getResult(EDBA_8_3_4)=True
OR getResult(EDBA_8_3_5)=True

}


//건축법 시행령 8조 (건축허가) 3항 1호

Check(EDBA_8_3_1){
KS
}
KS{
     getBuildingUsage() = "MultiUnitHouse"
}


//건축법 시행령 8조 (건축허가) 3항 2호

Check(EDBA_8_3_2){
KS
}
KS{
     getBuildingUsage() = "ClassIINeighborhoodLivingFacility.Restaurant"
}


//건축법 시행령 8조 (건축허가) 3항 3호

Check(EDBA_8_3_3){
KS
}
KS{
     getBuildingUsage() = "BusinessFacility.GeneralBusinessFacility"
}


//건축법 시행령 8조 (건축허가) 3항 4호

Check(EDBA_8_3_4){
KS
}
KS{
     getBuildingUsage() = "LodgingFacility"
}


//건축법 시행령 8조 (건축허가) 3항 5호

Check(EDBA_8_3_5){
KS
}
KS{
     getBuildingUsage() = "AmusementFacility"
}




89
건축법 시행령 제 80 조
제80조(건축물이 있는 대지의 분할제한) 법 제57조제1항에서 "대통령령으로 정하는 범위"란 다음 각 호의 어느 하나에 해당하는 규모 이상을 말한다.
1. 주거지역: 60제곱미터
2. 상업지역: 150제곱미터
3. 공업지역: 150제곱미터
4. 녹지지역: 200제곱미터
5. 제1호부터 제4호까지의 규정에 해당하지 아니하는 지역: 60제곱미터
[전문개정 2008.10.29.]



//건축법 시행령 80조 (건축물이 있는 대지의 분할제한) 

Check(EDBA_80){
KS
}
KS{
     getResult(EDBA_80_1) = TRUE
     getResult(EDBA_80_2) = TRUE
     getResult(EDBA_80_3) = TRUE
     getResult(EDBA_80_4) = TRUE
     getResult(EDBA_80_5) = TRUE
}


//건축법 시행령 80조 (건축물이 있는 대지의 분할제한) 1호

Check(EDBA_80_1){
IF CS THEN KS
}
CS{
     getBuildingUsage() = "ResidentialArea"
}
KS{
     getObjectProperty(Building.Site.area) >= 60m2
}



//건축법 시행령 80조 (건축물이 있는 대지의 분할제한) 2호

Check(EDBA_80_2){
IF CS THEN KS
}
CS{
     getBuildingUsage() = "CommercialArea"
}
KS{
     getObjectProperty(Building.Site.area) >= 150m2
}


//건축법 시행령 80조 (건축물이 있는 대지의 분할제한) 3호

Check(EDBA_80_3){
IF CS THEN KS
}
CS{
     getBuildingUsage() = "IndustrialArea"
}
KS{
     getObjectProperty(Building.Site.area) >= 150m2
}


//건축법 시행령 80조 (건축물이 있는 대지의 분할제한) 4호

Check(EDBA_80_4){
IF CS THEN KS
}
CS{
     getBuildingUsage() = "GreenArea"
}
KS{
     getObjectProperty(Building.Site.area) >= 200m2
}



//건축법 시행령 80조 (건축물이 있는 대지의 분할제한) 5호

Check(EDBA_80_5){
IF CS THEN KS
}
CS{
     getBuildingUsage() != "ResidentialArea"
     getBuildingUsage() != "CommercialArea"     
     getBuildingUsage() != "IndustrialArea"
     getBuildingUsage() != "GreenArea"
}
KS{
     getObjectProperty(Building.Site.area) >= 60m2
}




90
건축법 시행령 제 81 조

제81조(맞벽건축 및 연결복도) ① 법 제59조제1항제1호에서 "대통령령으로 정하는 지역"이란 다음 각 호의 어느 하나에 해당하는 지역을 말한다. <개정 2008.10.29., 2012.12.12., 2014.10.14.>
1. 상업지역
2. 주거지역(건축물 및 토지의 소유자 간 맞벽건축을 합의한 경우에 한정한다)
3. 허가권자가 도시미관 또는 한옥 보전ㆍ진흥을 위하여 건축조례로 정하는 구역
4. 건축협정구역
② 삭제 <2006.5.8.>
③ 법 제59조제1항제1호에 따른 맞벽은 다음 각 호의 기준에 적합하여야 한다. <개정 2008.10.29., 2014.10.14.>
1. 주요구조부가 내화구조일 것
2. 마감재료가 불연재료일 것
④ 제1항에 따른 지역(건축협정구역은 제외한다)에서 맞벽건축을 할 때 맞벽 대상 건축물의 용도, 맞벽 건축물의 수 및 층수 등 맞벽에 필요한 사항은 건축조례로 정한다. <개정 2008.10.29., 2014.10.14.>
⑤ 법 제59조제1항제2호에서 "대통령령으로 정하는 기준"이란 다음 각 호의 기준을 말한다. <개정 2008.10.29.>
1. 주요구조부가 내화구조일 것
2. 마감재료가 불연재료일 것
3. 밀폐된 구조인 경우 벽면적의 10분의 1 이상에 해당하는 면적의 창문을 설치할 것. 다만, 지하층으로서 환기설비를 설치하는 경우에는 그러하지 아니하다.
4. 너비 및 높이가 각각 5미터 이하일 것. 다만, 허가권자가 건축물의 용도나 규모 등을 고려할 때 원활한 통행을 위하여 필요하다고 인정하면 지방건축위원회의 심의를 거쳐 그 기준을 완화하여 적용할 수 있다.
5. 건축물과 복도 또는 통로의 연결부분에 방화셔터 또는 방화문을 설치할 것
6. 연결복도가 설치된 대지 면적의 합계가 「국토의 계획 및 이용에 관한 법률 시행령」 제55조에 따른 개발행위의 최대 규모 이하일 것. 다만, 지구단위계획구역에서는 그러하지 아니하다.
⑥ 법 제59조제1항제2호에 따른 연결복도나 연결통로는 건축사 또는 「국가기술자격법」에 따른 건축구조기술사(이하 "건축구조기술사"라 한다)로부터 안전에 관한 확인을 받아야 한다. <개정 2008.10.29., 2009.7.16.>
[전문개정 1999.4.30.]



//  건축법 시행령 81조 (맞벽건축 및 연결복도) 3항
Check(EDBA_81_3){
     KS
}

KS{
     getResult(EDBA_81_3_1) = TRUE
     getResult(EDBA_81_3_2) = TRUE
}


// 건축법 시행령 81조 (맞벽건축 및 연결복도) 3항 1호
Check(EDBA_81_3_1){
     KS
}

KS{
     getObjectProperty(MainStructuralPart.isFireResistantStructure) = TRUE
}


// 건축법 시행령 81조 (맞벽건축 및 연결복도) 3항 2호
Check(EDBA_81_3_2){
     KS
}

KS{
     getObjectProperty(Wall.Finish.Material.nonCombustibility) = TRUE
}




91
건축법 시행령 제 87 조

제87조(건축설비 설치의 원칙) ① 건축설비는 건축물의 안전ㆍ방화, 위생, 에너지 및 정보통신의 합리적 이용에 지장이 없도록 설치하여야 하고, 배관피트 및 닥트의 단면적과 수선구의 크기를 해당 설비의 수선에 지장이 없도록 하는 등 설비의 유지ㆍ관리가 쉽게 설치하여야 한다.
② 건축물에 설치하는 급수ㆍ배수ㆍ냉방ㆍ난방ㆍ환기ㆍ피뢰 등 건축설비의 설치에 관한 기술적 기준은 국토교통부령으로 정하되, 에너지 이용 합리화와 관련한 건축설비의 기술적 기준에 관하여는 산업통상자원부장관과 협의하여 정한다. <개정 2013.3.23.>
③ 건축물에 설치하여야 하는 장애인 관련 시설 및 설비는 「장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률」 제14조에 따라 작성하여 보급하는 편의시설 상세표준도에 따른다. <개정 2012.12.12.>
④ 건축물에는 방송수신에 지장이 없도록 공동시청 안테나, 유선방송 수신시설, 위성방송 수신설비, 에프엠(FM)라디오방송 수신설비 또는 방송 공동수신설비를 설치할 수 있다. 다만, 다음 각 호의 건축물에는 방송 공동수신설비를 설치하여야 한다. <개정 2009.7.16., 2012.12.12.>
1. 공동주택
2. 바닥면적의 합계가 5천제곱미터 이상으로서 업무시설이나 숙박시설의 용도로 쓰는 건축물
⑤ 제4항에 따른 방송 수신설비의 설치기준은 미래창조과학부장관이 정하여 고시하는 바에 따른다. <신설 2009.7.16., 2013.3.23.>
⑥ 연면적이 500제곱미터 이상인 건축물의 대지에는 국토교통부령으로 정하는 바에 따라 「전기사업법」 제2조제2호에 따른 전기사업자가 전기를 배전(配電)하는 데 필요한 전기설비를 설치할 수 있는 공간을 확보하여야 한다. <신설 2009.7.16., 2013.3.23.>
⑦ 해풍이나 염분 등으로 인하여 건축물의 재료 및 기계설비 등에 조기 부식과 같은 피해 발생이 우려되는 지역에서는 해당 지방자치단체는 이를 방지하기 위하여 다음 각 호의 사항을 조례로 정할 수 있다. <신설 2010.2.18.>
1. 해풍이나 염분 등에 대한 내구성 설계기준
2. 해풍이나 염분 등에 대한 내구성 허용기준
3. 그 밖에 해풍이나 염분 등에 따른 피해를 막기 위하여 필요한 사항
⑧ 건축물에 설치하여야 하는 우편수취함은 「우편법」 제37조의2의 기준에 따른다. <신설 2014.10.14.>
[전문개정 2008.10.29.]



//건축법 시행령 87조 (건축설비 설치의 원칙) 6항

Check(EDBA_87_6){
IF CS THEN KS
}

CS{
getGrossFloorArea()>= 500 m2
}

KS{
getResult(RFB_20-2)=True
}




92
건축법 시행령 제 89 조
제89조(승용 승강기의 설치) 법 제64조제1항 전단에서 "대통령령으로 정하는 건축물"이란 층수가 6층인 건축물로서 각 층 거실의 바닥면적 300제곱미터 이내마다 1개소 이상의 직통계단을 설치한 건축물을 말한다.
[전문개정 2008.10.29.]



//건축법 시행령 89조 (승용 승강기의 설치)
Check(EDBA_89){
KS
}

KS{
Stair myStair{
isObjectProperty(Stair.isDirect) = TRUE
}
getBuildingStoriesCount() = 6
isExist(myStair) = TRUE
}




93
건축법 시행령 제 90 조

제90조(비상용 승강기의 설치) ① 법 제64조제2항에 따라 높이 31미터를 넘는 건축물에는 다음 각 호의 기준에 따른 대수 이상의 비상용 승강기(비상용 승강기의 승강장 및 승강로를 포함한다. 이하 이 조에서 같다)를 설치하여야 한다. 다만, 법 제64조제1항에 따라 설치되는 승강기를 비상용 승강기의 구조로 하는 경우에는 그러하지 아니하다.
1. 높이 31미터를 넘는 각 층의 바닥면적 중 최대 바닥면적이 1천500제곱미터 이하인 건축물: 1대 이상
2. 높이 31미터를 넘는 각 층의 바닥면적 중 최대 바닥면적이 1천500제곱미터를 넘는 건축물: 1대에 1천500제곱미터를 넘는 3천 제곱미터 이내마다 1대씩 더한 대수 이상
② 제1항에 따라 2대 이상의 비상용 승강기를 설치하는 경우에는 화재가 났을 때 소화에 지장이 없도록 일정한 간격을 두고 설치하여야 한다.
③ 건축물에 설치하는 비상용 승강기의 구조 등에 관하여 필요한 사항은 국토교통부령으로 정한다. <개정 2013.3.23.>
[전문개정 2008.10.29.]



//건축법 시행령 90조 (비상용 승강기의 설치) 1항

Check(EDBA_90_1){
IF (!CS1 AND CS2) THEN KS

}

CS1{
getResult(BA_64_1)=TRUE
isObjectProperty(Elevator.isEmergency)=TRUE

}

CS2{
getBuildingHeight()>31 m
}

KS{
getResult(EDBA_90_1_1)=TRUE
getReslut(EDBA_90_1_2)=TRUE
}


//건축법 시행령 90조 (비상용 승강기의 설치) 1항 1호
Check(EDBA_90_1_1){
     IF CS THEN KS
}

CS{
     Floor myFloor{
          getObjectHeight(myFloor) > 31 m
     }

     getFloorArea(myFloor) <= 1500 m2
}

KS{
     isExist(Elevator.isEmergency) = TRUE
}


//건축법 시행령 90조 (비상용 승강기의 설치) 1항2호
Check(EDBA_1_2){
IF CS THEN KS
}

Floor myFloor{
getObjectHeight(Floor)>31 m
}

CS{
getFloorArea(myFloor)>1500 m2
}

KS{
FA=getFloorArea(myFloor) //FA means floor area
IF FA>=4500 m2
THEN {(FA-1500)/3000}+1 < getObjectCount(EmergencyElevator)
getObjectCount(EmergencyElevator) < {(FA-1500)/3000}+2
END IF



}


//건축법 시행령 90조 (비상용 승강기의 설치) 2항

Check(EDBA_90_2){
KS
}

KS{
getObjectCount(Elevator.isEmergency) >= 2
}




//건축법 시행령 90조 (비상용 승강기의 설치) 3항

Check(EDBA_90_3){
KS
}


KS{
getResult(RFB_14_2)=True

}




94
국토의 계획 및 이용에 관한 법률 제 37 조
제37조(용도지구의 지정) ① 국토교통부장관, 시·도지사 또는 대도시 시장은 다음 각 호의 어느 하나에 해당하는 용도지구의 지정 또는 변경을 도시·군관리계획으로 결정한다. <개정 2011.4.14., 2013.3.23.>
1. 경관지구: 경관을 보호·형성하기 위하여 필요한 지구
2. 미관지구: 미관을 유지하기 위하여 필요한 지구
3. 고도지구: 쾌적한 환경 조성 및 토지의 효율적 이용을 위하여 건축물 높이의 최저한도 또는 최고한도를 규제할 필요가 있는 지구
4. 방화지구: 화재의 위험을 예방하기 위하여 필요한 지구
5. 방재지구: 풍수해, 산사태, 지반의 붕괴, 그 밖의 재해를 예방하기 위하여 필요한 지구
6. 보존지구: 문화재, 중요 시설물 및 문화적·생태적으로 보존가치가 큰 지역의 보호와 보존을 위하여 필요한 지구
7. 시설보호지구: 학교시설·공용시설·항만 또는 공항의 보호, 업무기능의 효율화, 항공기의 안전운항 등을 위하여 필요한 지구
8. 취락지구: 녹지지역·관리지역·농림지역·자연환경보전지역·개발제한구역 또는 도시자연공원구역의 취락을 정비하기 위한 지구
9. 개발진흥지구: 주거기능·상업기능·공업기능·유통물류기능·관광기능·휴양기능 등을 집중적으로 개발·정비할 필요가 있는 지구
10. 특정용도제한지구: 주거기능 보호나 청소년 보호 등의 목적으로 청소년 유해시설 등 특정시설의 입지를 제한할 필요가 있는 지구
11. 그 밖에 대통령령으로 정하는 지구
② 국토교통부장관, 시·도지사 또는 대도시 시장은 필요하다고 인정되면 대통령령으로 정하는 바에 따라 제1항 각 호의 용도지구를 도시·군관리계획결정으로 다시 세분하여 지정하거나 변경할 수 있다. <개정 2011.4.14., 2013.3.23.>
③ 시·도지사 또는 대도시 시장은 지역여건상 필요하면 대통령령으로 정하는 기준에 따라 그 시·도 또는 대도시의 조례로 용도지구의 명칭 및 지정목적, 건축이나 그 밖의 행위의 금지 및 제한에 관한 사항 등을 정하여 제1항 각 호의 용도지구 외의 용도지구의 지정 또는 변경을 도시·군관리계획으로 결정할 수 있다. <개정 2011.4.14.>
④ 시·도지사 또는 대도시 시장은 연안침식이 진행 중이거나 우려되는 지역 등 대통령령으로 정하는 지역에 대해서는 제1항제5호의 방재지구의 지정 또는 변경을 도시·군관리계획으로 결정하여야 한다. 이 경우 도시·군관리계획의 내용에는 해당 방재지구의 재해저감대책을 포함하여야 한다. <신설 2013.7.16.>
[전문개정 2009.2.6.]



//     국토의 계획 및 이용에 관한 법률 37조 (용도지구의 지정) 1항 9호
Check(LPUA_37_1_5){
     KS
}

KS{
     getSiteUsage() = "DisasterPreventionDistrict"
}



//     국토의 계획 및 이용에 관한 법률 37조 (용도지구의 지정) 1항 8호
Check(LPUA_37_1_8){
     KS
}

KS{
     getSiteUsage() = "SettlementDistrict"
}



//     국토의 계획 및 이용에 관한 법률 37조 (용도지구의 지정) 1항 9호
Check(LPUA_37_1_9){
     KS
}

KS{
     getSiteUsage() = "DevelopmentPromotionDistrict"
}




95
국토의 계획 및 이용에 관한 법률 제 77 조
제77조(용도지역의 건폐율) ① 제36조에 따라 지정된 용도지역에서 건폐율의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 정한다. <개정 2011.4.14., 2013.7.16.>
1. 도시지역
가. 주거지역: 70퍼센트 이하
나. 상업지역: 90퍼센트 이하
다. 공업지역: 70퍼센트 이하
라. 녹지지역: 20퍼센트 이하
2. 관리지역
가. 보전관리지역: 20퍼센트 이하
나. 생산관리지역: 20퍼센트 이하
다. 계획관리지역: 40퍼센트 이하. 다만, 성장관리방안을 수립한 지역의 경우 해당 지방자치단체의 조례로 125퍼센트 이내에서 완화하여 적용할 수 있다.
3. 농림지역: 20퍼센트 이하
4. 자연환경보전지역: 20퍼센트 이하
② 제36조제2항에 따라 세분된 용도지역에서의 건폐율에 관한 기준은 제1항 각 호의 범위에서 대통령령으로 따로 정한다.
③ 다음 각 호의 어느 하나에 해당하는 지역에서의 건폐율에 관한 기준은 제1항과 제2항에도 불구하고 80퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 따로 정한다. <개정 2011.4.14., 2011.8.4.>
1. 제37조제1항제8호에 따른 취락지구
2. 제37조제1항제9호에 따른 개발진흥지구(도시지역 외의 지역만 해당한다)
3. 제40조에 따른 수산자원보호구역
4. 「자연공원법」에 따른 자연공원
5. 「산업입지 및 개발에 관한 법률」 제2조제8호라목에 따른 농공단지
6. 공업지역에 있는 「산업입지 및 개발에 관한 법률」 제2조제8호가목부터 다목까지의 규정에 따른 국가산업단지, 일반산업단지 및 도시첨단산업단지와 같은 조 제12호에 따른 준산업단지
④ 다음 각 호의 어느 하나에 해당하는 경우로서 대통령령으로 정하는 경우에는 제1항에도 불구하고 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 건폐율을 따로 정할 수 있다. <개정 2011.4.14., 2011.9.16.>
1. 토지이용의 과밀화를 방지하기 위하여 건폐율을 강화할 필요가 있는 경우
2. 주변 여건을 고려하여 토지의 이용도를 높이기 위하여 건폐율을 완화할 필요가 있는 경우
3. 녹지지역, 보전관리지역, 생산관리지역, 농림지역 또는 자연환경보전지역에서 농업용·임업용·어업용 건축물을 건축하려는 경우
4. 보전관리지역, 생산관리지역, 농림지역 또는 자연환경보전지역에서 주민생활의 편익을 증진시키기 위한 건축물을 건축하려는 경우
[전문개정 2009.2.6.]
[시행일 : 2012.7.1.] 제77조 중 특별자치시에 관한 개정규정




//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항
Check(LPUA_77_1){
     KS
}

KS{
     getResult(LPUA_77_1_1) = TRUE
     OR getResult(LPUA_77_1_2) = TRUE
     OR getResult(LPUA_77_1_3) = TRUE
     OR getResult(LPUA_77_1_4) = TRUE
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 1호
Check(LPUA_77_1_1){
     KS
}

KS{
     getObjectProperty(SpecialPurposeArea.type) = "UrbanArea"
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 1호 가목
Check(LPUA_77_1_1_1){
     IF CS THEN KS
}
     
CS{
     getObjectProperty(SpecialPurposeArea.type) = "ResidentialArea"
}

KS{
     getObjectProperty(Building.buildingToLandRatio) = BTL
     BTL <= 70
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 1호 나목
Check(LPUA_77_1_1_2){
     IF CS THEN KS
}
          
CS{
     getObjectProperty(SpecialPurposeArea.type) = "CommercialArea"
}

KS{
     getObjectProperty(Building.buildingToLandRatio) = BTL
     BTL <= 90
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 1호 다목
Check(LPUA_77_1_1_3){
     IF CS THEN KS
}
     
CS{
     getObjectProperty(SpecialPurposeArea.type) = "IndustrialArea"
}

KS{
     getObjectProperty(Building.buildingToLandRatio) = BTL
     BTL <= 70
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 1호 라목
Check(LPUA_77_1_1_4){
     IF CS THEN KS
}
     
CS{
     getObjectProperty(SpecialPurposeArea.type) = "GreenArea"
}

KS{
     getObjectProperty(Building.buildingToLandRatio) = BTL
     BTL <= 20
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 1호
Check(LPUA_77_1_2){
     KS
}

KS{
     getObjectProperty(SpecialPurposeArea.type) = "ControlArea"
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 2호 가목
Check(LPUA_77_1_2_1){
     IF CS THEN KS
}
          
CS{
     getObjectProperty(SpecialPurposeArea.type) = "ConservationManagementArea"
}

KS{
     getObjectProperty(Building.buildingToLandRatio) = BTL
     BTL <= 20
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 2호 나목
Check(LPUA_77_1_2_2){
     IF CS THEN KS
}
          
CS{
     getObjectProperty(SpecialPurposeArea.type) = "ProductionManagementArea"
}

KS{
     getObjectProperty(Building.buildingToLandRatio) = BTL
     BTL <= 20
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 2호 다목
Check(LPUA_77_1_2_3){
     IF CS THEN KS
}
          
CS{
     getObjectProperty(SpecialPurposeArea.type) = "PlanningManagementArea"
}

KS{
     getObjectProperty(Building.buildingToLandRatio) = BTL
     BTL <= 40
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 3호
Check(LPUA_77_1_3){
     IF CS THEN KS
}
          
CS{
     getObjectProperty(SpecialPurposeArea.type) = "AgriculturalAndForestryArea"
}

KS{
     getObjectProperty(Building.buildingToLandRatio) = BTL
     BTL <= 20
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 4호
Check(LPUA_77_1_4){
     IF CS THEN KS
}
          
CS{
     getObjectProperty(SpecialPurposeArea.type) = "NaturalEnvironmentConservationArea"
}

KS{
     getObjectProperty(Building.buildingToLandRatio) = BTL
     BTL <= 20
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 2항
Check(LPUA_77_1){
     KS
}

KS{
     getResult(LPUA_36_2) = TRUE
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 3항
Check(LPUA_77_3){
     IF CS THEN KS
}
          
CS{
     getResult(LPUA_77_3_1) = TRUE
     OR getResult(LPUA_77_3_2) = TRUE
     OR getResult(LPUA_77_3_3) = TRUE
     OR getResult(LPUA_77_3_4) = TRUE
     OR getResult(LPUA_77_3_5) = TRUE
     OR getResult(LPUA_77_3_6) = TRUE
}

KS{
     getObjectProperty(Building.buildingToLandRatio) = BTL
     BTL <= 80
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 3항 1호
Check(LPUA_77_3_1){
     KS
}

KS{
     getResult(LPUA_37_1_8) = TRUE
     getObjectProperty(SpecialPurposeDistrict.type) = "SettlementDistrict"
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 3항 2호
Check(LPUA_77_3_2){
     KS
}

KS{
     getResult(LPUA_37_1_9) = TRUE
     getObjectProperty(SpecialPurposeDistrict.type) = "DevelopmentPromotionDistrict"
     getObjectProperty(SpecialPurposeArea.type) != "UrbanArea"
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 3항 3호
Check(LPUA_77_3_3){
     KS
}

KS{
     getResult(LPUA_40) = TRUE
     getObjectProperty(SpecialPurposeZone.type) = "FisheryResourcesProtectionZone"
}


// 국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 3항 4호

Check(LPUA_77_3_4){
KS
}


KS{
getObjectProperty(SpecialPurposeZone.type) = "NaturalPark"
}


// 국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 3항 5호

Check(LPUA_J77_3_5){
KS
}

KS{
getObjectProperty(SpecialPurposeZone.type) = "AgriculturalAndIndustrialComplexes"

}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 3항 6호

Check(LPUA_77_3_6){
KS
}


KS{
getObjectProperty(SpecialPurposeZone.type) = "NationalIndustrialComplexes"
OR getObjectProperty(SpecialPurposeZone.type) = "GeneralIndustrialComplexes"
OR getObjectProperty(SpecialPurposeZone.type) = "UrbanHighTechIndustrialComplexes"
OR getObjectProperty(SpecialPurposeZone.type) = "SemiIndustrialComplex"

}







96
국토의 계획 및 이용에 관한 법률 제 78 조
[전문개정 2009.2.6.]
[시행일 : 2012.7.1.] 제78조 중 특별자치시에 관한 개정규정
제78조(용도지역에서의 용적률) ① 제36조에 따라 지정된 용도지역에서 용적률의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 정한다. <개정 2011.4.14., 2013.7.16.>
1. 도시지역
가. 주거지역: 500퍼센트 이하
나. 상업지역: 1천500퍼센트 이하
다. 공업지역: 400퍼센트 이하
라. 녹지지역: 100퍼센트 이하
2. 관리지역
가. 보전관리지역: 80퍼센트 이하
나. 생산관리지역: 80퍼센트 이하
다. 계획관리지역: 100퍼센트 이하. 다만, 성장관리방안을 수립한 지역의 경우 해당 지방자치단체의 조례로 125퍼센트 이내에서 완화하여 적용할 수 있다.
3. 농림지역: 80퍼센트 이하
4. 자연환경보전지역: 80퍼센트 이하
② 제36조제2항에 따라 세분된 용도지역에서의 용적률에 관한 기준은 제1항 각 호의 범위에서 대통령령으로 따로 정한다.
③ 제77조제3항제2호부터 제5호까지의 규정에 해당하는 지역에서의 용적률에 대한 기준은 제1항과 제2항에도 불구하고 200퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 따로 정한다. <개정 2011.4.14.>
④ 건축물의 주위에 공원·광장·도로·하천 등의 공지가 있거나 이를 설치하는 경우에는 제1항에도 불구하고 대통령령으로 정하는 바에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 용적률을 따로 정할 수 있다. <개정 2011.4.14.>
⑤ 제1항과 제4항에도 불구하고 제36조에 따른 도시지역(녹지지역만 해당한다), 관리지역에서는 창고 등 대통령령으로 정하는 용도의 건축물 또는 시설물은 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 정하는 높이로 규모 등을 제한할 수 있다. <개정 2011.4.14.>
⑥ 제1항에도 불구하고 건축물을 건축하려는 자가 그 대지의 일부에 「사회복지사업법」 제2조제4호에 따른 사회복지시설 중 대통령령으로 정하는 시설을 설치하여 국가 또는 지방자치단체에 기부채납하는 경우에는 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 해당 용도지역에 적용되는 용적률을 완화할 수 있다. 이 경우 용적률 완화의 허용범위, 기부채납의 기준 및 절차 등에 필요한 사항은 대통령령으로 정한다. <신설 2013.12.30.>




// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항

Check(LPUA_78_1){
KS
}

KS{
getResult(LPUA_78_1_1)=TRUE
getResult(LPUA_78_1_2)=TRUE
getResult(LPUA_78_1_3)=TRUE
getResult(LPUA_78_1_4)=TRUE
}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 1호

Check(LPUA_78_1_1){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "UrbanArea"
}
KS{
getResult(LPUA_78_1_1_가)=TRUE
OR getResult(LPUA_78_1_1_나)=TRUE
OR getResult(LPUA_78_1_1_다)=TRUE
OR getResult(LPUA_78_1_1_라)=TRUE

}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 1호 가목

Check(LPUA_78_1_1_가){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "ResidentialArea"
}

KS{
getFloorAreaRatio() <= 500%
}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 1호 나목

Check(LPUA_78_1_1_나){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "CommercialArea"
}

KS{
getFloorAreaRatio() <= 1500%
}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 1호 다목

Check(LPUA_78_1_1_다){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "IndustrialArea"
}

KS{
getFloorAreaRatio() <= 400%
}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 1호 라목

Check(LPUA_78_1_1_라){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "GreenArea"
}

KS{
getFloorAreaRatio() <= 100%
}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 2호

Check(LPUA_78_1_2){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "ControlArea"
}

KS{
getResult(LPUA_78_1_2_가)=TRUE
OR getResult(LPUA_78_1_2_나)=TRUE
OR getResult(LPUA_78_1_2_다)=TRUE
}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 2호 가목

Check(LPUA_78_1_2_가){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "ConservationManagementArea"
}

KS{
getFloorAreaRatio() <= 80%
}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 2호 나목

Check(LPUA_78_1_2_나){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "ProductionManagementArea"
}

KS{
getFloorAreaRatio() <= 80%
}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 2호 다목

Check(LPUA_78_1_2_다){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "PlanningManagementArea"
}

KS{
getFloorAreaRatio() <=100%
}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 3호

Check(LPUA_78_1_3){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "AgriculturalAndForestryArea"
}

KS{
getFloorAreaRatio() <= 80%
}



// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 1항 4호

Check(LPUA_78_1_4){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeArea.type) = "NaturalEnvironmentConservationArea"
}

KS{
getFloorAreaRatio() <= 80%
}



//국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 2항

Check(LPUA_78_2){
IF CS THEN KS
}

CS{
getResult(LPUA_36_2)=True
}

KS{
getResult(LPUA_78_1)=True
}


// 국토의 계획 및 이용에 관한 법률 78조 (용도지역에서의 용적률) 3항

Check(LPUA_78_3){
IF CS THEN KS
}
CS{
     getResult(LPUA_77_3_2) = TRUE
     getResult(LPUA_77_3_3) = TRUE
     getResult(LPUA_77_3_4) = TRUE
     getResult(LPUA_77_3_5) = TRUE
}
KS{
     BFA = getObjectProperty(Building.floorAreaRatio)
     BFA <= 200
     getResult(Unimplemented_LGMO) = TRUE




97
국토의 계획 및 이용에 관한 법률 시행령 제 46 조
②특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수는 지구단위계획구역에 있는 토지를 공공시설부지로 제공하고 보상을 받은 자 또는 그 포괄승계인이 그 보상금액에 국토교통부령이 정하는 이자를 더한 금액(이하 이 항에서 "반환금"이라 한다)을 반환하는 경우에는 당해 지방자치단체의 도시ㆍ군계획조례가 정하는 바에 따라 제1항제1호 각 목을 적용하여 당해 건축물에 대한 건폐율ㆍ용적률 및 높이제한을 완화할 수 있다. 이 경우 그 반환금은 기반시설의 확보에 사용하여야 한다. <신설 2004.1.20., 2005.9.8., 2008.2.29., 2012.4.10., 2013.3.23.>
③지구단위계획구역에서 건축물을 건축하고자 하는 자가 「건축법」 제43조제1항에 따른 공개공지 또는 공개공간을 같은 항에 따른 의무면적을 초과하여 설치한 경우에는 법 제52조제3항에 따라 당해 건축물에 대하여 지구단위계획으로 다음 각 호의 비율까지 용적률 및 높이제한을 완화하여 적용할 수 있다. <개정 2005.9.8., 2008.9.25., 2012.4.10.>
1. 완화할 수 있는 용적률 = 「건축법」 제43조제2항에 따라 완화된 용적률+(당해 용도지역에 적용되는 용적률×의무면적을 초과하는 공개공지 또는 공개공간의 면적의 절반÷대지면적) 이내
2. 완화할 수 있는 높이 = 「건축법」 제43조제2항에 따라 완화된 높이+(「건축법」 제60조에 따른 높이×의무면적을 초과하는 공개공지 또는 공개공간의 면적의 절반÷대지면적) 이내
④지구단위계획구역에서는 법 제52조제3항의 규정에 의하여 도시ㆍ군계획조례의 규정에 불구하고 지구단위계획으로 제84조에 규정된 범위안에서 건폐율을 완화하여 적용할 수 있다. <개정 2012.4.10.>
⑤지구단위계획구역에서는 법 제52조제3항의 규정에 의하여 지구단위계획으로 법 제76조의 규정에 의하여 제30조 각호의 용도지역안에서 건축할 수 있는 건축물(도시ㆍ군계획조례가 정하는 바에 의하여 건축할 수 있는 건축물의 경우 도시ㆍ군계획조례에서 허용되는 건축물에 한한다)의 용도ㆍ종류 및 규모 등의 범위안에서 이를 완화하여 적용할 수 있다. <개정 2012.4.10.>
⑥지구단위계획구역의 지정목적이 다음 각호의 1에 해당하는 경우에는 법 제52조제3항의 규정에 의하여 지구단위계획으로 「주차장법」 제19조제3항의 규정에 의한 주차장 설치기준을 100퍼센트까지 완화하여 적용할 수 있다. <개정 2005.9.8., 2008.2.29., 2012.4.10., 2013.3.23.>
1. 한옥마을을 보존하고자 하는 경우
2. 차 없는 거리를 조성하고자 하는 경우(지구단위계획으로 보행자전용도로를 지정하거나 차량의 출입을 금지한 경우를 포함한다)
3. 그 밖에 국토교통부령이 정하는 경우
⑦다음 각호의 1에 해당하는 경우에는 법 제52조제3항의 규정에 의하여 지구단위계획으로 당해 용도지역에 적용되는 용적률의 120퍼센트 이내에서 용적률을 완화하여 적용할 수 있다. <개정 2012.4.10.>
1. 도시지역에 개발진흥지구를 지정하고 당해 지구를 지구단위계획구역으로 지정한 경우
2. 다음 각목의 1에 해당하는 경우로서 특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수의 권고에 따라 공동개발을 하는 경우
가. 지구단위계획에 2필지 이상의 토지에 하나의 건축물을 건축하도록 되어 있는 경우
나. 지구단위계획에 합벽건축을 하도록 되어 있는 경우
다. 지구단위계획에 주차장ㆍ보행자통로 등을 공동으로 사용하도록 되어 있어 2필지 이상의 토지에 건축물을 동시에 건축할 필요가 있는 경우
⑧도시지역에 개발진흥지구를 지정하고 당해 지구를 지구단위계획구역으로 지정한 경우에는 법 제52조제3항에 따라 지구단위계획으로 「건축법」 제60조에 따라 제한된 건축물높이의 120퍼센트 이내에서 높이제한을 완화하여 적용할 수 있다. <개정 2005.9.8., 2008.9.25., 2012.4.10.>
⑨제1항제1호나목(제1항제2호 및 제2항에 따라 적용되는 경우를 포함한다), 제3항제1호 및 제7항은 다음 각 호의 어느 하나에 해당하는 경우에는 적용하지 아니한다. <개정 2004.1.20., 2011.7.1., 2012.4.10.>
1. 개발제한구역ㆍ시가화조정구역ㆍ녹지지역 또는 공원에서 해제되는 구역과 새로이 도시지역으로 편입되는 구역중 계획적인 개발 또는 관리가 필요한 지역인 경우
2. 기존의 용도지역 또는 용도지구가 용적률이 높은 용도지역 또는 용도지구로 변경되는 경우로서 기존의 용도지역 또는 용도지구의 용적률을 적용하지 아니하는 경우
⑩제1항 내지 제4항 및 제7항의 규정에 의하여 완화하여 적용되는 건폐율 및 용적률은 당해 용도지역 또는 용도지구에 적용되는 건폐율의 150퍼센트 및 용적률의 200퍼센트를 각각 초과할 수 없다. <개정 2004.1.20.>
[제목개정 2012.4.10.]

제46조(도시지역 내 지구단위계획구역에서의 건폐율 등의 완화적용) ①지구단위계획구역(도시지역 내에 지정하는 경우로 한정한다. 이하 이 조에서 같다)에서 건축물을 건축하려는 자가 그 대지의 일부를 공공시설 또는 기반시설 중 학교와 해당 시ㆍ도 또는 대도시의 도시ㆍ군계획조례로 정하는 기반시설(이하 이 항에서 "공공시설등"이라 한다)의 부지로 제공하거나 공공시설등을 설치하여 제공하는 경우[지구단위계획구역 밖의 「하수도법」 제2조제14호에 따른 배수구역에 공공하수처리시설을 설치하여 제공하는 경우(지구단위계획구역에 다른 기반시설이 충분히 설치되어 있는 경우로 한정한다)를 포함한다]에는 법 제52조제3항에 따라 그 건축물에 대하여 지구단위계획으로 다음 각 호의 구분에 따라 건폐율ㆍ용적률 및 높이제한을 완화하여 적용할 수 있다. <개정 2005.9.8., 2006.3.23., 2008.9.25., 2011.3.9., 2012.1.6., 2012.4.10.>
1. 공공시설등의 부지를 제공하는 경우에는 다음 각 목의 비율까지 건폐율ㆍ용적률 및 높이제한을 완화하여 적용할 수 있다. 다만, 지구단위계획구역 안의 일부 토지를 공공시설등의 부지로 제공하는 자가 해당 지구단위계획구역 안의 다른 대지에서 건축물을 건축하는 경우에는 나목의 비율까지 그 용적률을 완화하여 적용할 수 있다.
가. 완화할 수 있는 건폐율 = 해당 용도지역에 적용되는 건폐율 × [1 + 공공시설등의 부지로 제공하는 면적(공공시설등의 부지를 제공하는 자가 법 제65조제2항에 따라 용도가 폐지되는 공공시설을 무상으로 양수받은 경우에는 그 양수받은 부지면적을 빼고 산정한다. 이하 이 조에서 같다) ÷ 원래의 대지면적] 이내
나. 완화할 수 있는 용적률 = 해당 용도지역에 적용되는 용적률 + [1.5 × (공공시설등의 부지로 제공하는 면적 × 공공시설등 제공 부지의 용적률) ÷ 공공시설등의 부지 제공 후의 대지면적] 이내
다. 완화할 수 있는 높이 = 「건축법」 제60조에 따라 제한된 높이 × (1 + 공공시설등의 부지로 제공하는 면적 ÷ 원래의 대지면적) 이내
2. 공공시설등을 설치하여 제공(그 부지의 제공은 제외한다)하는 경우에는 공공시설등을 설치하는 데에 드는 비용에 상응하는 가액(價額)의 부지를 제공한 것으로 보아 제1호에 따른 비율까지 건폐율ㆍ용적률 및 높이제한을 완화하여 적용할 수 있다. 이 경우 공공시설등 설치비용 및 이에 상응하는 부지 가액의 산정 방법 등은 시ㆍ도 또는 대도시의 도시ㆍ군계획조례로 정한다.
3. 공공시설등을 설치하여 그 부지와 함께 제공하는 경우에는 제1호 및 제2호에 따라 완화할 수 있는 건폐율ㆍ용적률 및 높이를 합산한 비율까지 완화하여 적용할 수 있다.



//국토의 계획 및 이용에 관한 법률 시행령 46조 (도시지역 내 지구단위계획구역에서의 건폐율 등의 완화적용) 4항

Check(EDLPUA_46_4){
IF CS THEN KS
}


CS{

getObjectUsage(Zone)="DistrictUnitPlanningZones"
}


KS{
getResult(EDLPUA_84_1)=True
getResult(EDLPUA_84_1)=True
getResult(EDLPUA_84_8)=True
}


//국토의 계획 및 이용에 관한 법률 시행령 46조 (도시지역 내 지구단위계획구역에서의 건폐율 등의 완화적용) 10항

Check(EDLPUA_46_10){
IF CS THEN KS
}
CS{
     getResult(EDLPUA_46_1)=TRUE
     OR getResult(EDLPUA_46_2)=TRUE
     OR getResult(EDLPUA_46_3)=TRUE
     OR getResult(EDLPUA_46_4)=TRUE
     OR getResult(EDLPUA_46_7)=TRUE
}
KS{
     BBTR = getObjectProperty(Building.buildingToLandRatio)
     BFAR = getObjectProperty(Building.floorAreaRatio)

     (BBTR < 1.5*getObjectProperty(Building.SpecialPurposeArea.buildingToLandRatio)
     OR BBTR < 1.5*getObjectProperty(Building.SpecialPurposeZone.buildingToLandRatio))

     (BFAR < 2*getObjectProperty(Building.SpecialPurposeArea.floorAreaRatio)
     OR BFAR < 2*getObjectProperty(Building.SpecialPurposeZone.floorAreaRatio))

}




98
국토의 계획 및 이용에 관한 법률 시행령 제 47 조

제47조(도시지역 외 지구단위계획구역에서의 건폐율 등의 완화적용) ①지구단위계획구역(도시지역 외에 지정하는 경우로 한정한다. 이하 이 조에서 같다)에서는 법 제52조제3항에 따라 지구단위계획으로 당해 용도지역 또는 개발진흥지구에 적용되는 건폐율의 150퍼센트 및 용적률의 200퍼센트 이내에서 건폐율 및 용적률을 완화하여 적용할 수 있다. <개정 2005.1.15., 2007.4.19., 2012.4.10.>
②지구단위계획구역에서는 법 제52조제3항의 규정에 의하여 지구단위계획으로 법 제76조의 규정에 의한 건축물의 용도ㆍ종류 및 규모 등을 완화하여 적용할 수 있다. 다만, 개발진흥지구(계획관리지역에 지정된 개발진흥지구를 제외한다)에 지정된 지구단위계획구역에 대하여는 「건축법 시행령」 별표 1 제2호의 공동주택중 아파트 및 연립주택은 허용되지 아니한다. <개정 2005.9.8., 2012.4.10.>
③ 삭제 <2007.4.19.>
④ 삭제 <2007.4.19.>
[제목개정 2012.4.10.]



//EDLPUA 47조 1항



Check(EDLPUA_47_1){

     IF CS THEN KS

}



CS{

     getObjectUsage(Zone)="DistrictUnitPlanningZones"

}



KS{
SpecialPurposeArea mySpecialPurposeArea{
getObjectProperty(Building.SpecialPurposeArea.type) = "DevelopmentPromotionDistrict"
}

BLR= getObjectProperty(Building.SpecialPurposeArea.buildingToLandRatio) OR getObjectProperty(mySpecialPurposeArea.buildingToLandRatio)

FAR= getObjectProperty(Building.SpecialPurposeArea.floorAreaRatio) OR getObjectProperty(mySpecialPurposeArea.floorAreaRatio)


   getBuildingToLandRatio()<=BLR*150%

   getFloorAreaRatio(FAR)<=200%

}




99
국토의 계획 및 이용에 관한 법률 시행령 제 84 조
④특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수가 법 제77조제4항제1호의 규정에 의하여 도시지역에서 토지이용의 과밀화를 방지하기 위하여 건폐율을 낮추어야 할 필요가 있다고 인정하여 당해 지방자치단체에 설치된 도시계획위원회의 심의를 거쳐 정한 구역안에서의 건축물의 경우에는 그 건폐율은 그 구역에 적용할 건폐율의 최대한도의 40퍼센트 이상의 범위안에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2012.4.10.>
⑤법 제77조제4항제2호에 따라 다음 각 호의 어느 하나에 해당하는 건축물의 경우에는 제1항에도 불구하고 그 건폐율은 다음 각 호에서 정하는 비율을 초과하여서는 아니된다. <개정 2008.9.25., 2009.7.7., 2011.7.1., 2012.4.10., 2014.1.14., 2014.10.15.>
1. 준주거지역ㆍ일반상업지역ㆍ근린상업지역 중 방화지구의 건축물로서 주요 구조부와 외벽이 내화구조인 건축물 중 도시ㆍ군계획조례로 정하는 건축물: 80퍼센트 이상 90퍼센트 이하의 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율
가. 삭제 <2014.1.14.>
나. 삭제 <2014.1.14.>
2. 녹지지역ㆍ관리지역ㆍ농림지역 및 자연환경보전지역의 건축물로서 법 제37조제4항 후단에 따른 방재지구의 재해저감대책에 부합하게 재해예방시설을 설치한 건축물: 제1항 각 호에 따른 해당 용도지역별 건폐율의 150퍼센트 이하의 범위에서 도시ㆍ군계획조례로 정하는 비율
3. 자연녹지지역의 창고시설 또는 연구소(자연녹지지역으로 지정될 당시 이미 준공된 것으로서 기존 부지에서 증축하는 경우만 해당한다): 40퍼센트의 범위에서 최초 건축허가 시 그 건축물에 허용된 건폐율
4. 계획관리지역의 기존 공장ㆍ창고시설 또는 연구소(2003년 1월 1일 전에 준공되고 기존 부지에 증축하는 경우로서 해당 지방도시계획위원회의 심의를 거쳐 도로ㆍ상수도ㆍ하수도 등의 기반시설이 충분히 확보되었다고 인정되거나, 도시ㆍ군계획조례로 정하는 기반시설 확보 요건을 충족하는 경우만 해당한다): 50퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율
5. 녹지지역ㆍ보전관리지역ㆍ생산관리지역ㆍ농림지역 또는 자연환경보전지역의 건축물로서 다음 각 목의 어느 하나에 해당하는 건축물: 30퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율
가. 「전통사찰의 보존 및 지원에 관한 법률」 제2조제1호에 따른 전통사찰
나. 「문화재보호법」 제2조제2항에 따른 지정문화재 또는 같은 조 제3항에 따른 등록문화재
다. 「건축법 시행령」 제2조제16호에 따른 한옥
⑥제1항에도 불구하고 법 제77조제4항제3호 및 제4호에 따라 보전관리지역ㆍ생산관리지역ㆍ농림지역 또는 자연환경보전지역에 「농지법」 제32조제1항에 따라 건축할 수 있는 건축물의 경우에 그 건폐율은 60퍼센트 이하의 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8., 2009.7.7., 2011.9.16., 2012.4.10.>
⑦ 제1항에도 불구하고 법 제77조제4항제3호에 따라 생산녹지지역에 건축할 수 있는 다음 각 호의 건축물의 경우에 그 건폐율은 해당 생산녹지지역이 위치한 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 농어업 인구 현황, 농수산물 가공ㆍ처리시설의 수급실태 등을 종합적으로 고려하여 60퍼센트 이하의 범위에서 해당 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니 된다. <신설 2011.9.16., 2012.4.10.>
1. 「농지법」 제32조제1항제1호에 따른 농수산물의 가공ㆍ처리시설(해당 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군에서 생산된 농수산물의 가공ㆍ처리시설에 한정한다) 및 농수산업 관련 시험ㆍ연구시설
2. 「농지법 시행령」 제29조제5항제1호에 따른 농산물 건조ㆍ보관시설
⑧ 제1항에도 불구하고 자연녹지지역에 설치되는 도시ㆍ군계획시설 중 유원지의 건폐율은 30퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니 되며, 공원의 건폐율은 20퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니 된다. <개정 2009.7.7., 2011.9.16., 2012.4.10.>

제84조(용도지역안에서의 건폐율) ①법 제77조제1항 및 제2항의 규정에 의한 건폐율은 다음 각호의 범위안에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2012.4.10.>
1. 제1종전용주거지역 : 50퍼센트 이하
2. 제2종전용주거지역 : 50퍼센트 이하
3. 제1종일반주거지역 : 60퍼센트 이하
4. 제2종일반주거지역 : 60퍼센트 이하
5. 제3종일반주거지역 : 50퍼센트 이하
6. 준주거지역 : 70퍼센트 이하
7. 중심상업지역 : 90퍼센트 이하
8. 일반상업지역 : 80퍼센트 이하
9. 근린상업지역 : 70퍼센트 이하
10. 유통상업지역 : 80퍼센트 이하
11. 전용공업지역 : 70퍼센트 이하
12. 일반공업지역 : 70퍼센트이하
13. 준공업지역 : 70퍼센트 이하
14. 보전녹지지역 : 20퍼센트 이하
15. 생산녹지지역 : 20퍼센트 이하
16. 자연녹지지역 : 20퍼센트 이하
17. 보전관리지역 : 20퍼센트 이하
18. 생산관리지역 : 20퍼센트 이하
19. 계획관리지역 : 40퍼센트 이하
20. 농림지역 : 20퍼센트 이하
21. 자연환경보전지역 : 20퍼센트 이하
②제1항의 규정에 의하여 도시ㆍ군계획조례로 용도지역별 건폐율을 정함에 있어서 필요한 경우에는 당해 지방자치단체의 관할구역을 세분하여 건폐율을 달리 정할 수 있다. <개정 2012.4.10.>
③법 제77조제3항에 따라 다음 각 호의 지역에서의 건폐율은 각 호에서 정한 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8., 2008.9.25., 2009.8.5., 2010.10.1., 2011.3.9., 2011.11.16., 2012.4.10.>
1. 취락지구 : 60퍼센트 이하(집단취락지구에 대하여는 개발제한구역의지정및관리에관한특별조치법령이 정하는 바에 의한다)
2. 도시지역외의 지역에 지정된 개발진흥지구 : 40퍼센트 이하
3. 수산자원보호구역 : 40퍼센트 이하
4. 「자연공원법」에 따른 자연공원 : 60퍼센트 이하
5. 「산업입지 및 개발에 관한 법률」 제2조제8호라목에 따른 농공단지 : 70퍼센트 이하
6. 공업지역에 있는 「산업입지 및 개발에 관한 법률」 제2조제8호가목부터 다목까지의 규정에 따른 국가산업단지ㆍ일반산업단지ㆍ도시첨단산업단지 및 같은 조 제12호에 따른 준산업단지: 80퍼센트 이하



//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 용적률) 1항 
Check(EDLPUA_84_1){
     KS
}

KS{
     getResult(EDLPUA_84_1_1) = TRUE
     OR getResult(EDLPUA_84_1_2) = TRUE
     OR getResult(EDLPUA_84_1_3) = TRUE
     OR getResult(EDLPUA_84_1_4) = TRUE
     OR getResult(EDLPUA_84_1_5) = TRUE
     OR getResult(EDLPUA_84_1_6) = TRUE
     OR getResult(EDLPUA_84_1_7) = TRUE
     OR getResult(EDLPUA_84_1_8) = TRUE
     OR getResult(EDLPUA_84_1_9) = TRUE
     OR getResult(EDLPUA_84_1_10) = TRUE
     OR getResult(EDLPUA_84_1_11) = TRUE
     OR getResult(EDLPUA_84_1_12) = TRUE
     OR getResult(EDLPUA_84_1_13) = TRUE
     OR getResult(EDLPUA_84_1_14) = TRUE
     OR getResult(EDLPUA_84_1_15) = TRUE
     OR getResult(EDLPUA_84_1_16) = TRUE
     OR getResult(EDLPUA_84_1_17) = TRUE
     OR getResult(EDLPUA_84_1_18) = TRUE
     OR getResult(EDLPUA_84_1_19) = TRUE
     OR getResult(EDLPUA_84_1_20) = TRUE
     OR getResult(EDLPUA_84_1_21) = TRUE
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 1호
Check(EDLPUA_84_1_1){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ClassIExclusiveResidentialArea"
}

KS{
     getBuildingToLandRatio() <= 50
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 2호
Check(EDLPUA_84_1_2){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ClassIIExclusiveResidentialArea"
}

KS{
     getBuildingToLandRatio() <= 50
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 3호
Check(EDLPUA_84_1_3){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ClassIGeneralResidentialArea"
}

KS{
     getBuildingToLandRatio() <= 60
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 4호
Check(EDLPUA_84_1_4){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ClassIIGeneralResidentialArea"
}

KS{
     getBuildingToLandRatio() <= 60
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 5호
Check(EDLPUA_84_1_5){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ClassIIIGeneralResidentialArea"
}

KS{
     getBuildingToLandRatio() <= 50
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 6호
Check(EDLPUA_84_1_6){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "QuasiResidentialArea"
}

KS{
     getBuildingToLandRatio() <= 70
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 7호
Check(EDLPUA_84_1_7){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "CentralCommercialArea"
}

KS{
     getBuildingToLandRatio() <= 90
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 8호
Check(EDLPUA_84_1_8){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "GeneralCommercialArea"
}

KS{
     getBuildingToLandRatio() <= 80
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 9호
Check(EDLPUA_84_1_9){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "NeighboringCommercialArea"
}

KS{
     getBuildingToLandRatio() <= 70
}



//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 10호
Check(EDLPUA_84_1_10){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "CirculationBusinessArea"
}

KS{
     getBuildingToLandRatio() <= 80
}




//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 11호
Check(EDLPUA_84_1_11){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ExclusiveIndustrialArea"
}

KS{
     getBuildingToLandRatio() <= 70
}



//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 12호
Check(EDLPUA_84_1_12){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "GeneralIndustrialArea"
}

KS{
     getBuildingToLandRatio() <= 70
}



//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 13호
Check(EDLPUA_84_1_13){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "QuasiIndustrialArea"
}

KS{
     getBuildingToLandRatio() <= 70
}



//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 14호
Check(EDLPUA_84_1_14){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "GreenConservationArea"
}

KS{
     getBuildingToLandRatio() <= 20
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 15호
Check(EDLPUA_84_1_15){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "GreenProductionArea"
}

KS{
     getBuildingToLandRatio() <= 20
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 16호
Check(EDLPUA_84_1_16){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "GreenNaturalArea"
}

KS{
     getBuildingToLandRatio() <= 20
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 17호
Check(EDLPUA_84_1_17){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ConservationManagementArea"
}

KS{
     getBuildingToLandRatio() <= 20
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 18호
Check(EDLPUA_84_1_18){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ProductionManagementArea"
}

KS{
     getBuildingToLandRatio() <= 20
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 19호
Check(EDLPUA_84_1_19){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "PlanningManagementArea"
}

KS{
     getBuildingToLandRatio() <= 40
}


//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 20호
Check(EDLPUA_84_1_20){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "AgriculturalAndForestryArea"
}

KS{
     getBuildingToLandRatio() <= 20
}



//     국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 1항 21호
Check(EDLPUA_84_1_21){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "NaturalEnvironmentConservationArea"
}

KS{
     getBuildingToLandRatio() <= 20
}



용적률) 3항
Check(EDLPUA_84_3){
     IF CS THEN KS
}
CS{
     getResult(EDLPUA_84_3_1) = TRUE
     getResult(EDLPUA_84_3_2) = TRUE
     getResult(EDLPUA_84_3_3) = TRUE
     getResult(EDLPUA_84_3_4) = TRUE
     getResult(EDLPUA_84_3_5) = TRUE
     getResult(EDLPUA_84_3_6) = TRUE
}
KS{
     getResult(Unimplemented_UPMO) = TRUE
}



//국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 3항 1호

Check(EDLPUA_84_3_1){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeDistrict.type)="SettlementDistrict"
}

KS{
getBuildingToLandRatio()<=60%
}


//국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 3항 2호

Check(EDLPUA_84_3_2){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeDistrict.type)="DevelopmentPromotionDistrict"
}

KS{
getBuildingToLandRatio()<=40%
}


//국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 3항 3호

Check(EDLPUA_84_3_3){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeDistrict.type)="FisheryResourcesProtectionZone"
}

KS{
getBuildingToLandRatio()<=40%
}


//국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 3항 4호

Check(EDLPUA_84_3_4){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeDistrict.type)="ParkProtectionZone"
}

KS{
getBuildingToLandRatio()<=60%
}


//국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 3항 5호

Check(EDLPUA_84_3_5){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeDistrict.type)="AgriculturalIndustrialComplex"
}

KS{
getBuildingToLandRatio()<=70%
}


//국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 3항 6호

Check(EDLPUA_84_3_6){
IF CS THEN KS
}

CS{
getObjectProperty(IndustrialComplex.type)="NationalIndustrialComplex"
OR getObjectProperty(IndustrialComplex.type)="GeneralIndustrialComplex"
OR getObjectProperty(IndustrialComplex.type)="UrbanHighTechIndustrialComplex"
OR getObjectProperty(IndustrialComplex.type)="Semi-IndustrialComplex"
}

KS{
getBuildingToLandRatio()<=70%
}


//국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 8항

Check(EDLPUA_84_8){
     KS
}

KS{
IF getObjectProperty(GreenNaturalArea.UrbanAndGunPlanningFacility.type)="AmusementPark"

     THEN getBuildingToLandRatio() <30
      getResult(Unimplemented_UPMO)

ELSE IF getObjectProperty(GreenNaturalArea.UrbanAndGunPlanningFacility.type)="Park"

     THEN getBuildingToLandRatio() <30
      getResult(Unimplemented_UPMO)

END IF

}





100
국토의 계획 및 이용에 관한 법률 시행령 제 85 조
1. 공원ㆍ광장(교통광장을 제외한다. 이하 이 조에서 같다)ㆍ하천 그 밖에 건축이 금지된 공지에 접한 도로를 전면도로로 하는 대지안의 건축물이나 공원ㆍ광장ㆍ하천 그 밖에 건축이 금지된 공지에 20미터 이상 접한 대지안의 건축물
2. 너비 25미터 이상인 도로에 20미터 이상 접한 대지안의 건축면적이 1천제곱미터 이상인 건축물
⑧법 제78조제4항의 규정에 의하여 다음 각호의 지역ㆍ지구 또는 구역안에서 건축물을 건축하고자 하는 자가 그 대지의 일부를 공공시설부지로 제공하는 경우에는 당해 건축물에 대한 용적률은 제1항 각호의 규정에 의한 해당 용적률의 200퍼센트 이하의 범위안에서 대지면적의 제공비율에 따라 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율로 할 수 있다. <개정 2003.6.30., 2005.1.15., 2005.9.8., 2012.4.10., 2014.1.14.>
1. 상업지역
2. 삭제 <2005.1.15.>
3. 「도시 및 주거환경정비법」에 의한 주택재개발사업, 도시환경정비사업 및 주택재건축사업을 시행하기 위한 정비구역
⑨법 제78조제5항에서 "창고 등 대통령령으로 정하는 용도의 건축물 또는 시설물"이란 창고를 말한다. <신설 2006.3.23., 2014.1.14.>
⑩ 법 제78조제6항 전단에서 "대통령령으로 정하는 시설"이란 다음 각 호의 시설을 말한다. <신설 2014.6.30.>
1. 「영유아보육법」 제2조제3호에 따른 어린이집
2. 「노인복지법」 제36조제1항제1호에 따른 노인복지관
3. 그 밖에 특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수가 해당 지역의 사회복지시설 수요를 고려하여 도시ㆍ군계획조례로 정하는 사회복지시설
⑪ 제1항에도 불구하고 건축물을 건축하려는 자가 법 제78조제6항 전단에 따라 그 대지의 일부에 사회복지시설을 설치하여 기부하는 경우에는 기부하는 시설의 연면적의 2배 이하의 범위에서 도시ㆍ군계획조례로 정하는 바에 따라 추가 건축을 허용할 수 있다. 다만, 해당 용적률은 다음 각 호의 기준을 초과할 수 없다. <신설 2014.6.30.>
1. 제1항에 따라 도시ㆍ군계획조례로 정하는 용적률의 120퍼센트
2. 제1항 각 호의 구분에 따른 용도지역별 용적률의 최대한도
⑫ 국가나 지방자치단체는 법 제78조제6항 전단에 따라 기부 받은 사회복지시설을 제10항 각 호에 따른 시설 외의 시설로 용도변경하거나 그 주요 용도에 해당하는 부분을 분양 또는 임대할 수 없으며, 해당 시설의 면적이나 규모를 확장하여 설치장소를 변경(지방자치단체에 기부한 경우에는 그 관할 구역 내에서의 설치장소 변경을 말한다)하는 경우를 제외하고는 국가나 지방자치단체 외의 자에게 그 시설의 소유권을 이전할 수 없다. <신설 2014.6.30.>
[제목개정 2006.3.23.]

제85조(용도지역 안에서의 용적률) ①법 제78조제1항 및 제2항의 규정에 의한 용적률은 다음 각호의 범위안에서 관할구역의 면적, 인구규모 및 용도지역의 특성 등을 감안하여 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2012.4.10.>
1. 제1종전용주거지역 : 50퍼센트 이상 100퍼센트 이하
2. 제2종전용주거지역 : 100퍼센트 이상 150퍼센트 이하
3. 제1종일반주거지역 : 100퍼센트 이상 200퍼센트 이하
4. 제2종일반주거지역 : 150퍼센트 이상 250퍼센트 이하
5. 제3종일반주거지역 : 200퍼센트 이상 300퍼센트 이하
6. 준주거지역 : 200퍼센트 이상 500퍼센트 이하
7. 중심상업지역 : 400퍼센트 이상 1천500퍼센트 이하
8. 일반상업지역 : 300퍼센트 이상 1천300퍼센트 이하
9. 근린상업지역 : 200퍼센트 이상 900퍼센트 이하
10. 유통상업지역 : 200퍼센트 이상 1천100퍼센트 이하
11. 전용공업지역 : 150퍼센트 이상 300퍼센트 이하
12. 일반공업지역 : 200퍼센트 이상 350퍼센트 이하
13. 준공업지역 : 200퍼센트 이상 400퍼센트 이하
14. 보전녹지지역 : 50퍼센트 이상 80퍼센트 이하
15. 생산녹지지역 : 50퍼센트 이상 100퍼센트 이하
16. 자연녹지지역 : 50퍼센트 이상 100퍼센트 이하
17. 보전관리지역 : 50퍼센트 이상 80퍼센트 이하
18. 생산관리지역 : 50퍼센트 이상 80퍼센트 이하
19. 계획관리지역 : 50퍼센트 이상 100퍼센트 이하
20. 농림지역 : 50퍼센트 이상 80퍼센트 이하
21. 자연환경보전지역 : 50퍼센트 이상 80퍼센트 이하
②제1항의 규정에 의하여 도시ㆍ군계획조례로 용도지역별 용적률을 정함에 있어서 필요한 경우에는 당해 지방자치단체의 관할구역을 세분하여 용적률을 달리 정할 수 있다. <개정 2012.4.10.>
③제1항에도 불구하고 제1호부터 제6호까지의 지역에서는 도시ㆍ군계획조례로 제1항에 따른 용적률의 20퍼센트 이하의 범위 안에서 임대주택(「임대주택법」 제16조제1항에 따라 임대의무기간이 10년 이상인 경우에 한한다)의 추가건설을 허용할 수 있다. <신설 2005.9.8., 2006.8.17., 2012.4.10., 2014.1.14.>
④제3항의 규정은 제46조제9항 각 호의 어느 하나에 해당되는 경우에는 이를 적용하지 아니한다. <신설 2005.9.8.>
⑤ 제1항에도 불구하고 법 제37조제4항 후단에 따른 방재지구의 재해저감대책에 부합하게 재해예방시설을 설치하는 건축물의 경우 제1항제1호부터 제13호까지의 용도지역에서는 해당 용적률의 120퍼센트 이하의 범위에서 도시ㆍ군계획조례로 정하는 비율로 할 수 있다. <신설 2014.1.14.>
⑥법 제78조제3항의 규정에 의하여 다음 각 호의 지역 안에서의 용적률은 각 호에서 정한 범위 안에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8., 2005.9.30., 2005.11.11., 2010.10.1., 2011.11.16., 2012.4.10., 2014.1.14.>
1. 도시지역외의 지역에 지정된 개발진흥지구 : 100퍼센트 이하
2. 수산자원보호구역 : 80퍼센트 이하
3. 「자연공원법」에 따른 자연공원: 100퍼센트 이하
4. 「산업입지 및 개발에 관한 법률」 제2조제8호라목에 따른 농공단지(도시지역외의 지역에 지정된 농공단지에 한한다) : 150퍼센트 이하
⑦법 제78조제4항의 규정에 의하여 준주거지역ㆍ중심상업지역ㆍ일반상업지역ㆍ근린상업지역ㆍ전용공업지역ㆍ일반공업지역 또는 준공업지역안의 건축물로서 다음 각호의 1에 해당하는 건축물에 대한 용적률은 경관ㆍ교통ㆍ방화 및 위생상 지장이 없다고 인정되는 경우에는 제1항 각호의 규정에 의한 해당 용적률의 120퍼센트 이하의 범위안에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율로 할 수 있다. <개정 2005.9.8., 2012.4.10., 2014.1.14.>



//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항
Check(EDLPUA_85_1){
     KS
}

KS{
     getResult(EDLPUA_85_1_1) = TRUE
     OR getResult(EDLPUA_85_1_2) = TRUE
     OR getResult(EDLPUA_85_1_3) = TRUE
     OR getResult(EDLPUA_85_1_4) = TRUE
     OR getResult(EDLPUA_85_1_5) = TRUE
     OR getResult(EDLPUA_85_1_6) = TRUE
     OR getResult(EDLPUA_85_1_7) = TRUE
     OR getResult(EDLPUA_85_1_8) = TRUE
     OR getResult(EDLPUA_85_1_9) = TRUE
     OR getResult(EDLPUA_85_1_10) = TRUE
     OR getResult(EDLPUA_85_1_11) = TRUE
     OR getResult(EDLPUA_85_1_12) = TRUE
     OR getResult(EDLPUA_85_1_13) = TRUE
     OR getResult(EDLPUA_85_1_14) = TRUE
     OR getResult(EDLPUA_85_1_15) = TRUE
     OR getResult(EDLPUA_85_1_16) = TRUE
     OR getResult(EDLPUA_85_1_17) = TRUE
     OR getResult(EDLPUA_85_1_18) = TRUE
     OR getResult(EDLPUA_85_1_19) = TRUE
     OR getResult(EDLPUA_85_1_20) = TRUE
     OR getResult(EDLPUA_85_1_21) = TRUE
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 1호
Check(EDLPUA_85_1_1){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ClassIExclusiveResidentialArea"
}

KS{
     getFloorAreaRatio() >= 50
     getFloorAreaRatio() <= 100
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 2호
Check(EDLPUA_85_1_2){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ClassIIExclusiveResidentialArea"
}

KS{
     getFloorAreaRatio() >= 100
     getFloorAreaRatio() <= 150
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 3호
Check(EDLPUA_85_1_3){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ClassIGeneralResidentialArea"
}

KS{
     getFloorAreaRatio() >= 100
     getFloorAreaRatio() <= 200
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 4호
Check(EDLPUA_85_1_4){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ClassIIGeneralResidentialArea"
}

KS{
     getFloorAreaRatio() >= 150
     getFloorAreaRatio() <= 250
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 5호
Check(EDLPUA_85_1_5){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ClassIIIGeneralResidentialArea"
}

KS{
     getFloorAreaRatio() >= 200
     getFloorAreaRatio() <= 300
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 6호
Check(EDLPUA_85_1_6){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "QuasiResidentialArea"
}

KS{
     getFloorAreaRatio() >= 200
     getFloorAreaRatio() <= 500
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 7호
Check(EDLPUA_85_1_7){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "CentralCommercialArea"
}

KS{
     getFloorAreaRatio() >= 400
     getFloorAreaRatio() <= 1500
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 8호
Check(EDLPUA_85_1_8){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "GeneralCommercialArea"
}

KS{
     getFloorAreaRatio() >= 300
     getFloorAreaRatio() <= 1300
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 9호
Check(EDLPUA_85_1_9){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "NeighboringCommercialArea"
}

KS{
     getFloorAreaRatio() >= 200
     getFloorAreaRatio() <= 900
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 10호
Check(EDLPUA_85_1_10){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "CirculationBusinessArea"
}

KS{
     getFloorAreaRatio() >= 200
     getFloorAreaRatio() <= 1100
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 11호
Check(EDLPUA_85_1_11){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ExclusiveIndustrialArea"
}

KS{
     getFloorAreaRatio() >= 150
     getFloorAreaRatio() <= 300
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 12호
Check(EDLPUA_85_1_12){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "GeneralIndustrialArea"
}

KS{
     getFloorAreaRatio() >= 200
     getFloorAreaRatio() <= 350
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 13호
Check(EDLPUA_85_1_13){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "QuasiIndustrialArea"
}

KS{
     getFloorAreaRatio() >= 200
     getFloorAreaRatio() <= 400
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 14호
Check(EDLPUA_85_1_14){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "GreenConservationArea"
}

KS{
     getFloorAreaRatio() >= 50
     getFloorAreaRatio() <= 80
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 15호
Check(EDLPUA_85_1_15){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "GreenProductionArea"
}

KS{
     getFloorAreaRatio() >= 50
     getFloorAreaRatio() <= 100
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 16호
Check(EDLPUA_85_1_16){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "GreenNaturalArea"
}

KS{
     getFloorAreaRatio() >= 50
     getFloorAreaRatio() <= 100
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 17호
Check(EDLPUA_85_1_17){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ConservationManagementArea"
}

KS{
     getFloorAreaRatio() >= 50
     getFloorAreaRatio() <= 80
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 18호
Check(EDLPUA_85_1_18){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ProductionManagementArea"
}

KS{
     getFloorAreaRatio() >= 50
     getFloorAreaRatio() <= 80
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 19호
Check(EDLPUA_85_1_19){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "PlanningManagementArea"
}

KS{
     getFloorAreaRatio() >= 50
     getFloorAreaRatio() <= 100
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 20호
Check(EDLPUA_85_1_20){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "AgriculturalAndForestryArea"
}

KS{
     getFloorAreaRatio() >= 50
     getFloorAreaRatio() <= 80
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 1항 21호
Check(EDLPUA_85_1_21){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "NaturalEnvironmentConservationArea"
}

KS{
     getFloorAreaRatio() >= 50
     getFloorAreaRatio() <= 80
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 6항
Check(EDLPUA_85_6){
     KS
}

KS{
     getResult(EDLPUA_85_6_1) = TRUE
     OR getResult(EDLPUA_85_6_2) = TRUE
     OR getResult(EDLPUA_85_6_3) = TRUE
     OR getResult(EDLPUA_85_6_4) = TRUE
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 6항 1호
Check(EDLPUA_85_6_1){
     IF CS THEN KS
}

CS{
     getBuildingUsage() != "UrbanArea"
     getBuildingUsage() = "DevelopmentPromotionDistrict"
}

KS{
     getFloorAreaRatio() <= 100
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 6항 2호
Check(EDLPUA_85_6_2){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "FisheryResourcesProtectionZone"
}

KS{
     getFloorAreaRatio() <= 80
}


//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 6항 3호
Check(EDLPUA_85_6_3){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "ParkProtectionZone"
}

KS{
     getFloorAreaRatio() <= 100
}



//     국토의 계획 및 이용에 관한 법률 시행령 85조 (용도지역 안에서의 용적률) 6항 4호
Check(EDLPUA_85_6_4){
     IF CS THEN KS
}

CS{
     getObjectProperty(IndustrialComplex.type) = "AgriculturalIndustrialComplex"
}

KS{
     getFloorAreaRatio() <= 150%
}





    1   2   next▷  
 
This is Design IT Lab server's restricted area. Authorized users could access this website.