개방형BIM 기반의 건축설계 적법성 평가 자동화 기술 및 응용기술 개발
Development of OpenBIM based Architectural Design Code Checking and Evaluation Technology
  Welcome to BIM - 2nd Project Website - Yonsei University
PAGE MENU  
전체법규 - 법규데이터베이스
- 대한민국 전체 법규 목록
- 설계품질검토 대상 관련법규
- 관련법규 변동 현황
대상법규 - 문장 논리규칙체계화
- 조항단위 논리규칙체계
- 문장단위 논리규칙체계
주어부 - 객체.속성 데이터베이스
- 법규로부터의 객체.속성 분류
- 명칭DB: 객체 | 객체및속성
서술부 - 함수 데이터베이스
- 논리규칙화 함수 분류
- 논리규칙화 함수 DB
관계부 - 문장 내.외 관계논리
- 문장 내.외 관계유형분류
- 문장 내.외관계 논리체계화
문장단위 | 체크리스트 단위
KBimCode 데이터베이스
- KBimCode Lang. Definition
- KBimCode Editor:
전체 개발항목 단위
우선순위 개발항목 단위
- KBimCode DB 2단계:
문장단위 | 조항단위 |
분야/용도/단계 체크리스트 단위
- KBimLogic Applications
KBimAssess Code 데이터베이스
- Executable KBimAssess Code
- KBimCode-Assess 연동모듈
 
설계품질검토용 건축법 및 관련법규 - KBIMCode (조항단위)
  ◁prev 1   2      
2 / 2 page Total 179 records    신규입력    |    엑셀저장
Select
ALL
None
#
ID
법규 및 조항 KBimCode 변환
1
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 21 조
제21조(방화벽의 구조) ①영 제57조제2항에 따라 건축물에 설치하는 방화벽은 다음 각호의 기준에 적합하여야 한다. <개정 2010.4.7.>
제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
}




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



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

}




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



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
}





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



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


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




5
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 25 조
제25조(지하층의 구조) ①법 제53조에 따라 건축물에 설치하는 지하층의 구조 및 설비는 다음 각 호의 기준에 적합하여야 한다. <개정 2003.1.6., 2005.7.22., 2006.6.29., 2010.4.7., 2010.12.30.>
1의2. 제2종근린생활시설 중 공연장ㆍ단란주점ㆍ당구장ㆍ노래연습장, 문화 및 집회시설중 예식장ㆍ공연장, 수련시설 중 생활권수련시설ㆍ자연권수련시설, 숙박시설중 여관ㆍ여인숙, 위락시설중 단란주점ㆍ유흥주점 또는 「다중이용업소의 안전관리에 관한 특별법 시행령」 제2조에 따른 다중이용업의 용도에 쓰이는 층으로서 그 층의 거실의 바닥면적의 합계가 50제곱미터 이상인 건축물에는 직통계단을 2개소 이상 설치할 것
②제1항제1호에 따른 지하층의 비상탈출구는 다음 각호의 기준에 적합하여야 한다. 다만, 주택의 경우에는 그러하지 아니하다. <개정 2000.6.3., 2010.4.7.>
제25조(지하층의 구조)
①「건축법」 제53조에 따라 건축물에 설치하는 지하층의 구조 및 설비는 다음 각 호의 기준에 적합하여야 한다. <개정 2003.1.6, 2005.7.22, 2006.6.29, 2010.4.7>
1. 거실의 바닥면적이 50제곱미터 이상인 층에는 직통계단외에 피난층 또는 지상으로 통하는 비상탈출구 및 환기통을 설치할 것. 다만, 직통계단이 2개소 이상 설치되어 있는 경우에는 그러하지 아니하다.
1의2. 제2종근린생활시설 중 공연장·단란주점·당구장·노래연습장, 문화 및 집회시설중 예식장·공연장, 수련시설 중 생활권수련시설·자연권수련시설, 숙박시설중 여관·여인숙, 위락시설중 단란주점·유흥주점 또는 「다중이용업소의 안전관리에 관한 특별법 시행령」 제2조에 따른 다중이용업의 용도에 쓰이는 층으로서 그 층의 거실의 바닥면적의 합계가 50제곱미터 이상인 건축물에는 직통계단을 2개소 이상 설치할 것
2. 바닥면적이 1천제곱미터이상인 층에는 피난층 또는 지상으로 통하는 직통계단을 영 제46조의 규정에 의한 방화구획으로 구획되는 각 부분마다 1개소 이상 설치하되, 이를 피난계단 또는 특별피난계단의 구조로 할 것
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. 비상탈출구의 유도등과 피난통로의 비상조명등의 설치는 소방법령이 정하는 바에 의할 것
①법 제53조에 따라 건축물에 설치하는 지하층의 구조 및 설비는 다음 각 호의 기준에 적합하여야 한다. <개정 2003.1.6, 2005.7.22, 2006.6.29, 2010.4.7, 2010.12.30>



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


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




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



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

}




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



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


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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_가){
     KS
}
KS{
     getObjectProperty(Wall.Structure.materialType) = "ReinforcedConcrete" OR "SteelFramedReinforcedConcrete"
     getWallThickness(Wall) >= 10cm
}



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

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


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

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


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

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




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



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


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




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



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




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



//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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항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 (피난안전구역의 설치기준) 1항
check(REFB_8-2_1){
     KS1 AND IF CS THEN KS2
}

     Zone myZone{
          isObjectProperty(Zone.isEgressSafetyZone) = TRUE
     }

     Space mySpace{
          hasSpace(Space, FacilitiesOfABuilding)
     }

     Structure myStructure{
          isObjectProperty(Space.isfireResistantStructure) = TRUE
     }

KS1{
     BSC = getBuildingStoriesCount()
     getFloorNumber(myZone) <= BSC
}

CS{
     getFloorNumber(mySpace) = getFloorNumber(myZone)
}

KS2{
     isPartitioned(myZone, myStructure, mySpace) = TRUE
}



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


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

Zone myZone {
geObjectProperty(Zone.isEgressSafetyZone) = TRUE
}
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
}


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




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



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

Check(REFB_9_1){

     IF (CS1) THEN KS1 ELSE IF (CS2) THEN KS2

CS1{

     Floor myFloor1 {

               Floor.number > 5

               OR Floor.number <= -2

               }

     Stair myStair1 {

          isObjectProperty(Stair.isDirect) = TRUE

     }

Floor myFloor2 {

isObjectProperty(Floor.isEscape)= TRUE

}



     isGoThrough(myFloor1, myStair1, myFloor2)= TRUE

     OR isGoThrough(myFloor1, myStair1, Ground) = TRUE

}



CS2{     

     Floor myFloor3 {

          Floor.number >= 5

     }

     

     Stair myStair3 {

          isObjectProperty(Stair.isDirect) = TRUE

          (isGoThrough(myFloor3, myFloor2, Stair) = TRUE

          OR isGoThrough(myFloor3, Ground, Stair) = TRUE)

          }

     Stair myStair2 {

          Stair.Floor.number = -1

          }



     isDirectlyAccessible(myStair2, myStair3)=TRUE

          

KS1 {     

     (isObjectProperty(myStair1.isEscape) = TRUE

     OR isObjectProperty(myStair1.isSpecialEscape) = TRUE)

}

KS2{

(isObjectProperty(myStair2.isEscape) = TRUE

     OR isObjectProperty(myStair2.isSpecialEscape) = TRUE)

(isObjectProperty(myStair3.isEscape) = TRUE

     OR isObjectProperty(myStair3.isSpecialEscape) = TRUE)

}


//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호
check(REFB_9_2_1){
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_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_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




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




12
장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 시행규칙 제 2 조
제2조(편의시설의 세부기준) ①「장애인·노인·임산부 등의 편의증진보장에 관한 법률」(이하 "법"이라 한다) 제8조제2항 전단 및 「장애인·노인·임산부 등의 편의증진보장에 관한 법률시행령」(이하 "영"이라 한다) 제4조의 규정에 의한 편의시설의 구조·재질등에 관한 세부기준은 별표 1과 같다. <개정 1999.6.8., 2005.12.30.>
제2조(편의시설의 세부기준)
① 「장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률」(이하 "법"이라 한다) 제8조제2항 전단 및 같은 법 시행령(이하 "영"이라 한다) 제4조에 따른 편의시설의 구조ㆍ재질 등에 관한 세부기준은 별표 1과 같다. <개정 2015.7.29>
②보건복지부장관은 편의시설에 관한 신제품의 개발ㆍ신기술의 도입 기타 장애인등의 편의증진을 위하여 일정기간 동안 시험적용을 할 필요가 있거나 이에 준하는 사유가 있다고 인정되는 경우에는 세부기준에 대한 특례 또는 세부기준의 시행에 관하여 필요한 사항을 따로 정하여 고시할 수 있다. <개정 2008.3.3, 2010.3.19>



//      장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행규칙 2조 (편의시설의 세부기준) 1항


Check(ERCDAPA_2_1){
KS
}

KS{
getResult(ERCDAPA_*_1)=TRUE
}




13
장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 시행규칙 제 별표1 조
1. 장애인등의 통행이 가능한 접근로 가. 유효폭 및 활동공간 (1) 휠체어사용자가 통행할 수 있도록 접근로의 유효폭은 1.2미터 이상으로 하여야 한다. (2) 휠체어사용자가 다른 휠체어 또는 유모차 등과 교행할 수 있도록 50미터마다 1.5미터×1.5미터 이상의 교행구역을 설치할 수 있다. (3) 경사진 접근로가 연속될 경우에는 휠체어사용자가 휴식할 수 있도록 30미터마다 1.5미터×1.5미터 이상의 수평면으로 된 참을 설치할



//장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행규칙 별표1 편의시설의 구조·재질등에 관한 세부기준(제2조제1항관련)

Check(ERCDAPA_2_1_*_1_4_나_1){
     IF (CS1 THEN KS1) OR (CS2 THEN KS2)

     ParkingUnit myParkingUnit{
          isObjectProperty(ParkingUnit.isParallelParking) = TRUE
     }

     CS1{
          isObjectProperty(ParkingUnit.isParallelParking) = TRUE
     }

     KS1{
          getObjectWidth(ParkingLotArea.isHandicapParking, a) >= 3.3 m
          getElementLength(ParkingLotArea.isHandicapParking) >= 5 m
     }

     CS2{
          isObjectProperty(ParkingLotArea.isParallelParking) = FALSE
     }

     KS2{
          getObjectWidth(ParkingLotArea.isHandicapParking, a) >= 2 m
          getElementLength(ParkingLotArea.isHandicapParking) >= 6 m
     }
}


check(ERCDAPA_2_1_*_1_4_나_2){
     getObjectGradient(ParkingSpace.Floor) <= 1/50
}


check(ERCDAPA_2_1_*_1_6_가_1){
     
     Door myDoor1{
          isObjectProperty(Door.isEntrance) = TRUE
     }

     Door myDoor2{
          isObjectProperty(Door.isEntrance) = TRUE
          getObject(Door.isEntrance) != getObject(myDoor1)
     }

     getObjectWidth(Door.isEntrance) >= 0.8 m
     isEgressDirection(myDoor1) = isEgressDirection(myDoor2)
     getObjectDistance(myDoor1, myDoor2) >= 1.2 m
}


check(ERCDAPA_2_1_*_1_6_가_2){
     
     isObjectProperty(Door.isAutomatic) = FALSE
     isObjectProperty(Door.isSillFree) = TRUE
}

check(ERCDAPA_2_1_*_1_8_가_2){
     
     getObjectVerticalDistance(FloorSurface,Door.Bottom)
}

check(ERCDAPA_2_1_*_1_8_나){
     
     Stair myStair{
          isObjectProperty(Stair.isEscape) = TRUE
          isObjectProperty(Stair.isOutdoor) = TRUE
     }

     getObjectWidth(myStair) >= 0.9 m
     getObjectWidth(myStair.StairLanding) >= 0.9 m

     Stair myStair2{
          isObjectProperty(Stair.isEscape) = FALSE
          isObjectProperty(Stair.isOutdoor) = FALSE
     }

     getObjectWidth(myStair2) >= 1.2 m
     getObjectWidth(myStair2.StairLanding) >= 1.2 m
}


check(ERCDAPA_2_1_*_1_8_다_1){
     
     hasObject(Stair, VerticalSurfaceStair) = TRUE
}

check(ERCDAPA_2_1_*_1_8_다_2){
     
     getObjectWidth(Stair.threadWidth) >= 0.28 m
     getObjectHeight(Stair.riserHeight) <= 0.18m
}

check(ERCDAPA_2_1_*_1_8_다_3){
     
     getObjectGradient(Stair.riserGradient) >= 60
     getObjectLength(Stair.nosingLength) < 3 cm
}




14
주차장법 시행규칙 제 11 조
제11조(부설주차장의 구조ㆍ설비기준)
2. 제1호에 따른 규모의 주차장을 설치한 판매시설등과 다른 용도의 시설이 복합적으로 설치된 건축물의 부설주차장으로서 각각의 시설에 대한 부설주차장을 구분하여 사용ㆍ관리하는 것이 곤란한 건축물의 부설주차장
④ 주차대수 50대 이상의 부설주차장에 설치되는 확장형 주차단위구역에 관하여는 제6조제1항제14호를 준용한다. <신설 2012.7.2>
5. 출입구의 너비는 3미터 이상으로 한다. 다만, 막다른 도로에 접하여 있는 부설주차장으로서 시장ㆍ군수 또는 구청장이 차량의 소통에 지장이 없다고 인정하는 경우에는 2.5미터 이상으로 할 수 있다.
① 법 제6조제1항에 따른 부설주차장의 구조ㆍ설비기준에 대해서는 제5조제6호 및 제7호와 제6조제1항제1호부터 제8호까지ㆍ제10호ㆍ제12호ㆍ제13호ㆍ제15호 및 같은 조 제7항을 준용한다. 다만, 단독주택 및 다세대주택으로서 해당 부설주차장을 이용하는 차량의 소통에 지장을 주지 아니한다고 시장ㆍ군수 또는 구청장이 인정하는 주택의 부설주차장의 경우에는 그러하지 아니하다. <개정 2020.6.25>
1. 차로의 너비는 2.5미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 따른 기준 이상으로 하여야 한다. img24335465 ┌───────┬──────┐ │주차형식 │차로의 너비 │ ├───────┼──────┤ │평행주차 │3미터 │ ├───────┼──────┤ │직각주차 │6미터 │ ├───────┼──────┤ │60도 대향주차 │4미터 │ ├───────┼──────┤ │45도 대향주차 │3.5미터 │ ├───────┼──────┤ │교차주차 │3.5미터 │ └───────┴──────┘
2. 보도와 차도의 구분이 없는 너비 12미터 미만의 도로에 접하여 있는 부설주차장은 그 도로를 차로로 하여 주차단위구획을 배치할 수 있다. 이 경우 차로의 너비는 도로를 포함하여 6미터 이상(평행주차형식인 경우에는 도로를 포함하여 4미터 이상)으로 하며, 도로의 포함 범위는 중앙선까지로 하되, 중앙선이 없는 경우에는 도로 반대쪽 경계선까지로 한다.
3. 보도와 차도의 구분이 있는 12미터 이상의 도로에 접하여 있고 주차대수가 5대 이하인 부설주차장은 그 주차장의 이용에 지장이 없는 경우만 그 도로를 차로로 하여 직각주차형식으로 주차단위구획을 배치할 수 있다.
4. 주차대수 5대 이하의 주차단위구획은 차로를 기준으로 하여 세로로 2대까지 접하여 배치할 수 있다.
5. 출입구의 너비는 3미터 이상으로 한다. 다만, 막다른 도로에 접하여 있는 부설주차장으로서 시장·군수 또는 구청장이 차량의 소통에 지장이 없다고 인정하는 경우에는 2.5미터 이상으로 할 수 있다.
6. 보행인의 통행로가 필요한 경우에는 시설물과 주차단위구획 사이에 0.5미터 이상의 거리를 두어야 한다.
④ 주차대수 50대 이상의 부설주차장에 설치되는 확장형 주차단위구역에 관하여는 제6조제1항제14호를 준용한다. <신설 2012.7.2.>
⑤ 부설주차장의 총주차대수 규모가 8대 이하인 자주식주차장(지평식 및 건축물식 중 필로티 구조만 해당한다)의 구조 및 설비기준은 제1항 본문에도 불구하고 다음 각 호에 따른다. <개정 2012.7.2., 2013.1.25.>
1. 차로의 너비는 2.5미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 따른 기준 이상으로 하여야 한다. (표)
⑤ 부설주차장의 총주차대수 규모가 8대 이하인 자주식주차장의 구조 및 설비기준은 제1항 본문에도 불구하고 다음 각 호에 따른다. <개정 2012.7.2, 2013.1.25, 2016.4.12>
1. 차로의 너비는 2.5미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 따른 기준 이상으로 하여야 한다. ┌───────┬──────┐ │주차형식 │차로의 너비 │ ├───────┼──────┤ │평행주차 │3.0미터 │ ├───────┼──────┤ │직각주차 │6.0미터 │ ├───────┼──────┤ │6
제11조(부설주차장의 구조 및 설비기준)
① 법 제6조제1항에 따른 부설주차장의 구조 및 설비기준에 관하여는 제5조제6호 및 제7호와 제6조제1항제1호부터 제5호까지ㆍ제5호의2ㆍ제6호ㆍ제7호ㆍ제9호ㆍ제11호ㆍ제12호 및 같은 조 제7항을 준용한다. 다만, 단독주택 및 다세대주택으로서 해당 부설주차장을 이용하는 차량의 소통에 지장이 없다고 시장ㆍ군수 또는 구청장이 인정하는 주택의 부설주차장의 경우에는 그러하지 아니하다. <개정 1992.9.5, 1994.5.26, 1996.6.29, 2008.2.22, 2010.2.17>
②제6조제1항제8호 및 제10호의 규정은 다음 각 호의 부설주차장에 관하여 이를 준용한다. <신설 1992.9.5, 1996.6.29, 2004.7.1, 2008.2.22>
1. 주차대수 30대를 초과하는 지하식 또는 건축물식에 의한 자주식 주차장으로서 그 용도가 판매시설ㆍ숙박시설ㆍ운동시설ㆍ위락시설ㆍ문화 및 집회시설ㆍ종교시설 또는 업무시설(이하 이 항에서 "판매시설등"이라 한다)로 이용되는 건축물의 부설주차장
2. 제1호의 규정에 의한 규모의 주차장을 설치한 판매시설등과 다른 용도의 시설이 복합적으로 설치된 건축물의 부설주차장으로서 각각의 시설에 대한 부설주차장을 구분하여 사용ㆍ관리하는 것이 곤란한 건축물의 부설주차장
③제2항의 규정에 의한 건축물외의 건축물(단독주택 및 다세대주택을 제외한다)의 부설주차장으로서 지하식 또는 건축물식에 의한 자주식주차장에는 바닥으로부터 85센티미터의 높이에 있는 지점이 평균 70룩스 이상의 조도를 유지할 수 있는 조명장치를 설치하여야 한다. <개정 1996.6.29>
④부설주차장의 총주차대수 규모가 8대 이하인 자주식주차장(지평식에 한한다)의 구조 및 설비기준은 제1항 본문의 규정에 불구하고 다음 각호에 의한다. <개정 1994.5.26, 1995.8.5, 1999.3.12>
1. 차로의 너비는 2.5미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 의한 기준이상으로 하여야 한다. (단위 : 미터) +-----------------------------------------------------+ | 주 차 형 식 | 차 로 의 너 비 | +----------------------------+------------------------+ | 평 행 주 차 | 3.0 | +----------------------------+------------------------+ | 직 각 주 차 | 6.0 | +----------------------------+------------------------+ | 60 도 대 향 주 차 | 4.0 | +----------------------------+------------------------+ | 45 도 대 향 주 차 | 3.5 | +----------------------------+------------------------+ | 교 차 주 차 | 3.5 | +----------------------------+------------------------+
2. 보도와 차도의 구분이 없는 너비 12미터 미만의 도로에 접하여 있는 부설주차장은 그 도로를 차로로하여 주차단위구획을 배치할 수 있다. 이 경우 차로의 너비는 도로를 포함하여 6미터 이상(평행주차인 경우에는 도로를 포함하여 4미터 이상)으로 하며, 도로의 포함범위는 중앙선까지로 하되 중앙선이 없는 경우에는 도로 반대측 경계선까지로 한다.
2의2. 보도와 차도의 구분이 있는 12미터 이상의 도로에 접하여 있고 주차대수가 5대이하인 부설주차장은 당해주차장의 이용에 지장이 없는 경우에 한하여 그 도로를 차로로 하여 직각주차형식으로 주차단위구획을 배치할 수 있다.
3. 주차대수 5대 이하의 주차단위구획은 차로를 기준으로 하여 세로로 2대까지 접하여 배치할 수 있다.
4. 출입구의 너비는 3미터 이상으로 한다. 다만, 막다른 도로에 접하여 있는 부설주차장으로서 시장ㆍ군수 또는 구청장이 차량의 소통에 지장이 없다고 인정하는 경우에는 2.5미터 이상으로 할 수 있다.
5. 보행인의 통행로가 필요한 경우에는 시설물과 주차단위구획사이에 0.5미터 이상의 거리를 두어야 한다.
⑤제1항 및 제4항의 규정에 의하여 도로를 차로로 하여 설치한 부설주차장의 경우 도로와 주차구획선의 사이에는 담장등 주차장의 이용을 곤란하게 하는 장애물을 설치할 수 없다. <신설 1995.8.5>
② 다음 각 호의 부설주차장에 대해서는 제6조제1항제9호 및 제11호를 준용한다.
1. 주차대수 30대를 초과하는 지하식 또는 건축물식 형태의 자주식주차장으로서 판매시설, 숙박시설, 운동시설, 위락시설, 문화 및 집회시설, 종교시설 또는 업무시설(이하 이 항에서 "판매시설등"이라 한다)의 용도로 이용되는 건축물의 부설주차장
2. 제1호에 따른 규모의 주차장을 설치한 판매시설등과 다른 용도의 시설이 복합적으로 설치된 건축물의 부설주차장으로서 각각의 시설에 대한 부설주차장을 구분하여 사용·관리하는 것이 곤란한 건축물의 부설주차장
③ 제2항에 따른 건축물 외의 건축물(단독주택 및 다세대주택은 제외한다)의 부설주차장으로서 지하식 또는 건축물식 형태의 자주식주차장에는 바닥으로부터 85센티미터의 높이에 있는 지점이 평균 70럭스 이상의 조도를 유지할 수 있도록 조명장치를 설치하여야 한다.
④ 부설주차장의 총주차대수 규모가 8대 이하인 자주식주차장(지평식만 해당한다)의 구조 및 설비기준은 제1항 본문에도 불구하고 다음 각 호에 따른다.
1. 차로의 너비는 2.5미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 따른 기준 이상으로 하여야 한다. img4750035 ┌───────┬──────┐ │주차형식 │차로의 너비 │ ├───────┼──────┤ │평행주차 │3.0미터 │ ├───────┼──────┤ │직각주차 │6.0미터 │ ├───────┼──────┤ │60도 대향주차 │4.0미터 │ ├───────┼──────┤ │45도 대향주차 │3.5미터 │ ├───────┼──────┤ │교차주차 │3.5미터 │ └───────┴──────┘
2. 보도와 차도의 구분이 없는 너비 12미터 미만의 도로에 접하여 있는 부설주차장은 그 도로를 차로로 하여 주차단위구획을 배치할 수 있다. 이 경우 차로의 너비는 도로를 포함하여 6미터 이상(평행주차형식인 경우에는 도로를 포함하여 4미터 이상)으로 하며, 도로의 포함 범위는 중앙선까지로 하되, 중앙선이 없는 경우에는 도로 반대쪽 경계선까지로 한다.
3. 보도와 차도의 구분이 있는 12미터 이상의 도로에 접하여 있고 주차대수가 5대 이하인 부설주차장은 그 주차장의 이용에 지장이 없는 경우만 그 도로를 차로로 하여 직각주차형식으로 주차단위구획을 배치할 수 있다.
4. 주차대수 5대 이하의 주차단위구획은 차로를 기준으로 하여 세로로 2대까지 접하여 배치할 수 있다.
5. 출입구의 너비는 3미터 이상으로 한다. 다만, 막다른 도로에 접하여 있는 부설주차장으로서 시장·군수 또는 구청장이 차량의 소통에 지장이 없다고 인정하는 경우에는 2.5미터 이상으로 할 수 있다.
6. 보행인의 통행로가 필요한 경우에는 시설물과 주차단위구획 사이에 0.5미터 이상의 거리를 두어야 한다.
⑤ 제1항 및 제4항에 따라 도로를 차로로 하여 설치한 부설주차장의 경우 도로와 주차구획선 사이에는 담장 등 주차장의 이용을 곤란하게 하는 장애물을 설치할 수 없다.
④ 주차대수 50대 이상의 부설주차장에 설치되는 확장형 주차단위구역에 관하여는 제6조제1항제14호를 준용한다. <신설 2012.7.2>
⑤ 부설주차장의 총주차대수 규모가 8대 이하인 자주식주차장(지평식만 해당한다)의 구조 및 설비기준은 제1항 본문에도 불구하고 다음 각 호에 따른다. <개정 2012.7.2>
1. 차로의 너비는 2.5미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 따른 기준 이상으로 하여야 한다. img10250470 ┌───────┬──────┐ │주차형식 │차로의 너비 │ ├───────┼──────┤ │평행주차 │3.0미터 │ ├───────┼──────┤ │직각주차 │6.0미터 │ ├───────┼──────┤ │60도 대향주차 │4.0미터 │ ├───────┼──────┤ │45도 대향주차 │3.5미터 │ ├───────┼──────┤ │교차주차 │3.5미터 │ └───────┴──────┘
⑥ 제1항 및 제5항에 따라 도로를 차로로 하여 설치한 부설주차장의 경우 도로와 주차구획선 사이에는 담장 등 주차장의 이용을 곤란하게 하는 장애물을 설치할 수 없다. <개정 2012.7.2>
③ 제2항에 따른 건축물 외의 건축물(단독주택 및 다세대주택은 제외한다)의 부설주차장으로서 지하식 또는 건축물식 형태의 자주식주차장에는 벽면에서부터 50센티미터 이내를 제외한 바닥면의 최소 조도와 최대 조도를 제6조제1항제9호 각 목과 같이 하여야 한다. <개정 2013.1.25>
⑤ 부설주차장의 총주차대수 규모가 8대 이하인 자주식주차장(지평식 및 건축물식 중 필로티 구조만 해당한다)의 구조 및 설비기준은 제1항 본문에도 불구하고 다음 각 호에 따른다. <개정 2012.7.2, 2013.1.25>
제11조(부설주차장의 구조·설비기준)
① 법 제6조제1항에 따른 부설주차장의 구조·설비기준에 대해서는 제5조제6호 및 제7호와 제6조제1항제1호부터 제8호까지·제10호·제12호·제13호 및 같은 조 제7항을 준용한다. 다만, 단독주택 및 다세대주택으로서 해당 부설주차장을 이용하는 차량의 소통에 지장을 주지 아니한다고 시장·군수 또는 구청장이 인정하는 주택의 부설주차장의 경우에는 그러하지 아니하다.



//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 2항
Check(ERPA_11_2){
     getResult(ERPA_6_1_9) = TRUE
     getResult(ERPA_6_1_11) = TRUE
}



//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 2항 1조
Check(ERPA_11_2_1){
     KS
}

KS{
     Building myBuilding{
          getBuildingUsage() = "CommercialFacility" OR "LodgingFacility", "AmusementFacility", "CulturalAndAssemblyFacility", "ReligiousFacility","BusinessFacility"
     }
          isObjectProperty(myBuilding.ParkingLot.isAttachedParking) = TRUE
          getObjectProperty(ParkingLot.numberOfParkingUnit) > 30
          getObjectProperty(ParkingLot.operationType) = "DriveInParking" OR "MechanicalParking"

}


//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 4항
Check(ERPA_11_4){
     IF CS THEN KS
}

CS{
     ParkingLot myParkingLot{
          isObjectProperty(ParkingLot.isAttachedParking) = TRUE
          getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50
     }

     ParkingUnit myParkingUnit{
          getObjectProperty(ParkingUnit) = "ExtensionType"
     }

     hasSpace(myParkingLot, myParkingUnit) = TRUE
}

KS{
     getResult(ERPA_6_1_14) = TRUE
}


//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 5항 1호 Check(ERPA_11_5_1){ KS } KS{ IF isAdjacent(ParkingUnit, ParkingLot.Driveway)=True THEN IF getObjectProperty(ParkingUnit.parkingType)="ParallelParking" THEN ParkingLot.Driveway.width>=3.0 m ELSE IF getObjectProperty(ParkingUnit.parkingType)="RightAngleParking" THEN ParkingLot.Driveway.width>=6.0 m ELSE IF getObjectProperty(ParkingUnit.parkingType)="60AngleParking" THEN ParkingLot.Driveway.width>=4.0 m ELSE IF getObjectProperty(ParkingUnit.parkingType)="45AngleParking" THEN ParkingLot.Driveway.width>=3.5 m ELSE IF getObjectProperty(ParkingUnit.parkingType)="CrossParking" THEN ParkingLot.Driveway.width>=3.5 m END IF ELSE THEN ParkingLot.Driveway.width>=2.5 m END IF }


//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 5항
Check(ERPA_11_5){
     IF CS THEN KS
}

CS{
     ParkingLot myParkingLot{
          isObjectProperty(ParkingLot.isAttachedParking) = TRUE
          isObjectProperty(ParkingLot.operationType) = "DriveInParking"
     }

     getObjectProperty(myParkingLot.numberOfParkingUnit) >= 8
}

KS{
     getResult(ERPA_11_5_1) = TRUE
     getResult(ERPA_11_5_2) = TRUE
     getResult(ERPA_11_5_3) = TRUE
}


//     주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 5항 5호

Check(ERPA_11_5_5){
KS
}

KS{
     getObjectWidth(ParkingLot.Opening) >= 3m
}




15
주차장법 시행규칙 제 16조의2 조
1. 기계식주차장치 출입구의 앞면에는 다음 각 목에 따라 자동차의 회전을 위한 공지(空地)(이하 "전면공지"라 한다) 또는 자동차의 방향을 전환하기 위한 기계장치(이하 "방향전환장치"라 한다)를 설치하여야 한다.
나. 대형 기계식주차장(길이 5.75미터 이하, 너비 2.15미터 이하, 높이 1.85미터 이하, 무게 2,200킬로그램 이하인 자동차를 주차할 수 있는 기계식주차장을 말한다. 이하 같다): 너비 10미터 이상, 길이 11미터 이상의 전면공지 또는 지름 4.5미터 이상의 방향전환장치와 그 방향전환장치에 접한 너비 1미터 이상의 여유 공지
2. 기계식주차장치의 내부에 방향전환장치를 설치한 경우와 2층 이상으로 주차구획이 배치되어 있고 출입구가 있는 층의 모든 주차구획을 기계식주차장치 출입구로 사용할 수 있는 기계식주차장의 경우에는 제1호에도 불구하고 제6조제1항제3호 또는 제11조제5항제2호를 준용한다.
3. 기계식주차장에는 도로에서 기계식주차장치 출입구까지의 차로(이하 "진입로"라 한다) 또는 전면공지와 접하는 장소에 자동차가 대기할 수 있는 장소(이하 "정류장"이라 한다)를 설치하여야 한다. 이 경우 주차대수 20대를 초과하는 20대마다 한 대분의 정류장을 확보하여야 하며, 정류장의 규모는 다음 각 목과 같다. 다만, 주차장의 출구와 입구가 따로 설치되어 있거나 진입로의 너비가 6미터 이상인 경우에는 종단경사도가 6퍼센트 이하인 진입로의 길이 6미터
나. 대형 기계식주차장: 길이 5.3미터 이상, 너비 2.15미터 이상
3. 기계식주차장에는 도로에서 기계식주차장치 출입구까지의 차로(이하 "진입로"라 한다) 또는 전면공지와 접하는 장소에 자동차가 대기할 수 있는 장소(이하 "정류장"이라 한다)를 설치하여야 한다. 이 경우 주차대수 20대를 초과하는 20대마다 한 대분의 정류장을 확보하여야 하며, 정류장의 규모는 다음 각 목과 같다. 다만, 주차장의 출구와 입구가 따로 설치되어 있거나 진입로의 너비가 6미터 이상인 경우에는 종단경사도가 6퍼센트 이하인 진입로의 길이 6미터
가. 중형 기계식주차장: 길이 5.05미터 이상, 너비 1.85미터 이상
나. 대형 기계식주차장: 길이 5.3미터 이상, 너비 2.15미터 이상
1. 기계식주차장치 출입구의 앞면에는 다음 각 목에 따라 자동차의 회전을 위한 공지(空地)(이하 "전면공지"라 한다) 또는 자동차의 방향을 전환하기 위한 기계장치(이하 "방향전환장치"라 한다)를 설치하여야 한다.
가. 중형 기계식주차장(길이 5.05미터 이하, 너비 1.85미터 이하, 높이 1.55미터 이하, 무게 1,850킬로그램 이하인 자동차를 주차할 수 있는 기계식주차장을 말한다. 이하 같다): 너비 8.1미터 이상, 길이 9.5미터 이상의 전면공지 또는 지름 4미터 이상의 방향전환장치와 그 방향전환장치에 접한 너비 1미터 이상의 여유 공지
나. 대형 기계식주차장(길이 5.75미터 이하, 너비 2.15미터 이하, 높이 1.85미터 이하, 무게 2,200킬로그램 이하인 자동차를 주차할 수 있는 기계식주차장을 말한다. 이하 같다): 너비 10미터 이상, 길이 11미터 이상의 전면공지 또는 지름 4.5미터 이상의 방향전환장치와 그 방향전환장치에 접한 너비 1미터 이상의 여유 공지
2. 기계식주차장치의 내부에 방향전환장치를 설치한 경우와 2층 이상으로 주차구획이 배치되어 있고 출입구가 있는 층의 모든 주차구획을 기계식주차장치 출입구로 사용할 수 있는 기계식주차장의 경우에는 제1호에도 불구하고 제6조제1항제3호 또는 제11조제5항제2호를 준용한다.
제16조의2(기계식주차장의 설치기준)
①법 제19조의5에 따른 기계식주차장의 설치기준은 다음 각 호와 같다. <개정 2012.7.2, 2016.4.12>
가. 중형 기계식주차장(길이 5.05미터 이하, 너비 1.9미터 이하, 높이 1.55미터 이하, 무게 1,850킬로그램 이하인 자동차를 주차할 수 있는 기계식주차장을 말한다. 이하 같다): 너비 8.1미터 이상, 길이 9.5미터 이상의 전면공지 또는 지름 4미터 이상의 방향전환장치와 그 방향전환장치에 접한 너비 1미터 이상의 여유 공지
가. 중형 기계식주차장: 길이 5.05미터 이상, 너비 1.9미터 이상
4. 기계식주차장치에는 벽면으로부터 50센티미터 이내를 제외한 바닥면의 최소 조도를 다음 각 목과 같이 한다.
가. 주차구획: 최소 조도는 50럭스 이상
나. 출입구: 최소 조도는 150럭스 이상
② 시장·군수·구청장은 조례로 정하는 바에 따라 부설주차장에 설치할 수 있는 기계식주차장치의 최소규모를 정할 수 있다. <신설 2016.4.12>
③ 제1항 및 제2항에서 규정한 사항 외에 기계식주차장의 설치기준에 대해서는 제6조(같은 조 제1항제3호·제7호 및 제8호는 제외한다)에 따른다. 제11조제1항에서 이를 준용하는 경우에도 또한 같다. <신설 2016.4.12>
제16조의2(기계식주차장의 설치기준) 법 제19조의5에 따른 기계식주차장의 설치기준은 다음 각 호와 같다. 다만, 이 조에 규정된 사항 외에 기계식주차장의 설치기준에 대해서는 제6조(같은 조 제1항제3호·제7호 및 제8호는 제외한다)에 따른다. 제11조제1항에서 이를 준용하는 경우에도 또한 같다.
제16조의2(기계식주차장의 설치기준) 법 제19조의5에 따른 기계식주차장의 설치기준은 다음 각 호와 같다. 다만, 이 조에 규정된 사항 외에 기계식주차장의 설치기준에 대해서는 제6조(같은 조 제1항제3호·제7호 및 제8호는 제외한다)에 따른다. 제11조제1항에서 이를 준용하는 경우에도 또한 같다. <개정 2012.7.2>



//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 1호 가목



Check(ERPA_16-2_0_1_가){

   IF CS THEN KS

}



CS{

ParkingLot myParkingLot{
     ParkingLot.operationType = "MechanicalParking"
}
   getObjectProperty(myParkingLot.scale)="MiddleSize"

}



KS{

   Space mySpace{

     getSpaceUsage()="FrontageSpace"

     Space.width>=8.1 m

     Space.length>9.5 m

   }

  

    isExist(mySpace)=True

    OR isExist(DirectionSwitchingEquipment)=True

       getObjectDiameter(DirectionSwitchingEquipment)>=4 m

       isExist(Space)=True

       isAdjacent(DirectionSwitchingEquipment, Space)=True

       Space.width>=1 m

}


//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 3호 가목 Check(ERPA_16-2_0_3_가){ IF CS THEN KS } CS{ ParkingLot myParkingLot{      ParkingLot.operationType = "MechanicalParking" } getObjectProperty(myParkingLot.scale)="MiddleSize" } KS{ myParking.length>=5.05 m myParking.width>1.85 m }


//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 1호 Check(ERPA_16-2_0_1){ KS } KS{ isExist(FrontageSpace, MechanicalParkingEquipment.Opening.FrontSurface)=True isExist(DirectionSwitchingEquipment, MechanicalParkingEquipment.Opening.FrontSurface)=True getResult(ERPA_16-2_0_1_가)=True getResult(ERPA_16-2_0_1_나)=True }


//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 1호 나목 Check(ERPA_16-2_0_1_나){ IF CS THEN KS } CS{ ParkingLot myParkingLot{      ParkingLot.operationType = "MechanicalParking" } getObjectProperty(myParkingLot.scale)="LargeSize" } KS{ Space mySpace{ getSpaceUsage()="FrontageSpace" Space.width>=10 m Space.length>11 m } isExist(mySpace)=True OR isExist(DirectionSwitchingEquipment)=True getObjectDiameter(DirectionSwitchingEquipment)>=4.5 m isExist(Space)=True isAdjacent(DirectionSwitchingEquipment, Space)=True Space.width>=1 m }


//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 2호

Check(ERPA_16-2_0_2){
IF CS THEN KS
}

CS{
hasObject(MechanicalParkingEquipment,DirectionSwitchingEquipment)=True
OR
//2츠이상으로 주차구획이 배치되어 있고
// 출입구가 있는 층의 모든 주차구획을 기계식주차장치 출입구로 사용할 수 있는
getSpaceUsage()="MechanicalParking"
}

KS{
getResult(ERPA_6_1_3)=True
OR getResult(ERPA_11_5_2)=True
}


//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 3호

Check(ERPA_16-2_0_3){
IF CS THEN KS
}

CS{
getSpaceUsage()="MechanicalParking"
}


KS{
Space mySpace{
isAdjacent(FrontageSpace,Space)=True
}

isExist(ApproachRoad)=True
isExist(mySpace)=True
IF(// 주차장의 출구와 입구가 따로 설치되어 있거나
OR "진입로".width>6 m) THEN
//종단경사도가 6퍼센트 이하인 진입로의 길이 6미터마다
한 대분의 정류장을 확보한 것으로 본다.
ELSE THEN

//주차대수 20대를 초과하는 20대마다 한 대분의 정류장을 확보하여야 하며
getResult(ERPA_16-2_0_3_가)=True
getResult(ERPA_16-2_0_3_나)=True

END IF

}


//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 3호 나목 Check(ERPA_16-2_0_3_나){ IF CS THEN KS } CS{ ParkingLot myParkingLot{      ParkingLot.operationType = "MechanicalParking" } getObjectProperty(myParkingLot.scale)="LargeSize" } KS{ myParking.length>5.3 m myParking.width>2.15 m }




16
주차장법 시행규칙 제 16조의5 조
① 법 제19조의7에 따른 기계식주차장치의 안전기준은 다음 각 호와 같다. <개정 2013.1.25, 2013.3.23, 2016.4.12>
10. 기계식주차장치의 안전기준에 관하여 이 규칙에 규정된 사항 외의 사항은 국토교통부장관이 정하여 고시한다.
3. 주차구획의 크기는 중형 기계식주차장의 경우에는 너비 2.2미터 이상, 높이 1.6미터 이상, 길이 5.15미터 이상으로 하여야 하고, 대형 기계식주차장의 경우에는 너비 2.3미터 이상, 높이 1.9미터 이상, 길이 5.3미터 이상으로 하여야 한다. 다만, 차량의 길이가 5.1미터 이상인 경우에는 주차구획의 길이는 차량의 길이보다 최소 0.2미터 이상을 확보하여야 한다.
4. 운반기의 크기는 자동차가 들어가는 바닥의 너비를 중형 기계식주차장의 경우에는 1.9미터 이상, 대형 기계식주차장의 경우에는 1.95미터 이상으로 하여야 한다.
7의2. 기계식주차장치에는 자동차의 높이가 주차구획의 높이를 초과하는 경우 작동하지 아니하게 하는 장치를 설치하여야 한다. 다만, 다음 각 목의 어느 하나에 해당하는 기계식주차장치는 제외한다.
가. 2단식 주차장치: 주차구획이 2층으로 배치되어 있고 출입구가 있는 층의 모든 주차구획을 주차장치 출입구로 사용할 수 있는 구조로서 그 주차구획을 아래·위 또는 수평으로 이동하여 자동차를 주차하는 주차장치
나. 다단식 주차장치: 주차구획이 3층 이상으로 배치되어 있고 출입구가 있는 층의 모든 주차구획을 주차장치 출입구로 사용할 수 있는 구조로서 그 주차구획을 아래·위 또는 수평으로 이동하여 자동차를 주차하는 주차장치
다. 수직순환식 주차장치: 주차구획에 자동차가 들어가도록 한 후 그 주차구획을 수직으로 순환이동하여 자동차를 주차하는 주차장치
9. 승강기식 주차장치(운반기에 의하여 자동차를 자동으로 운반하여 주차하는 주차장치를 말한다)에는 운반기 안에 사람이 있는 경우 이를 감지하여 작동하지 아니하게 하는 장치를 설치하여야 한다.
② 법 제19조의6제1항에 따라 안전도인증을 받아야 하는 자는 누구든지 국토교통부장관에게 제1항에 따른 안전기준의 개정을 신청할 수 있다. <개정 2013.3.23>
③ 제2항에 따라 안전기준의 개정신청을 받은 국토교통부장관은 신청일부터 30일 이내에 이를 검토하여 안전기준의 개정 여부를 신청인에게 통보하여야 한다. <개정 2013.3.23>
제16조의5 (기계식주차장치의 안전기준)
①법 제19조의7제1항의 규정에 의한 기계식주차장치의 안전기준은 다음 각호와 같다. <개정 2004.7.1, 2008.3.14, 2010.2.17>
1. 기계식주차장치에 사용하는 재료는 한국산업규격 또는 그 이상으로 하여야 한다.
2. 기계식주차장치출입구의 크기는 중형기계식주차장의 경우에는 너비 2.3미터이상, 높이 1.6미터이상으로 하여야 하고, 대형기계식주차장의 경우에는 너비 2.4미터이상, 높이 1.6미터이상으로 하여야 한다. 다만, 사람이 통행하는 기계식주차장치출입구의 높이는 1.8미터이상으로 한다.
3. 주차구획의 크기는 중형기계식주차장의 경우에는 너비 2.1미터이상, 높이 1.6미터이상, 길이 5.15미터이상으로 하여야 하고, 대형기계식주차장의 경우에는 너비 2.3미터이상, 높이 1.6미터이상, 길이 5.3미터이상으로 하여야 한다. 다만, 차량의 길이가 5.1미터 이상인 경우에는 주차구획의 길이는 차량의 길이보다 최소 0.2미터 이상을 확보하여야 한다.
4. 운반기의 크기는 자동차가 들어가는 바닥의 너비를 중형기계식 주차장의 경우에는 1.8미터이상, 대형기계식주차장의 경우에는 1.85미터이상으로 하여야 한다.
5. 기계식주차장치안에서 자동차를 입출고하는 사람이 출입하는 통로의 너비는 50센티미터이상, 높이는 1.8미터이상으로 하여야 한다.
6. 기계식주차장치출입구에는 출입문을 설치하거나 기계식주차장치가 작동하고 있을 때 기계식주차장치출입구안으로 사람 또는 자동차가 접근할 경우 즉시 그 작동을 멈추게 할 수 있는 장치를 설치하여야 한다.
7. 자동차가 주차구획 또는 운반기안에서 제자리에 위치하지 아니한 경우에는 기계식주차장치의 작동을 불가능하게 하는 장치를 설치하여야 한다.
8. 기계식주차장치의 작동중 위험한 상황이 발생하는 경우 즉시 그 작동을 멈추게 할 수 있는 안전장치를 설치하여야 한다.
9. 기계식주차장치의 안전기준에 관하여 이 규칙에 규정된 사항외의 사항은 국토해양부장관이 정하여 고시한다.
② 법 제19조의6제1항에 따라 안전도인증을 받아야하는 자는 누구든지 국토해양부장관에게 제1항에 따른 안전기준의 개정을 신청할 수 있다. <신설 2010.2.17>
③ 제2항에 따라 안전기준의 개정 신청이 있는 경우, 국토해양부장관은 신청일로부터 30일 이내에 이를 검토하여 안전기준의 개정 여부를 신청인에게 통보하여야 한다. <신설 2010.2.17>
제16조의5(기계식주차장치의 안전기준)
① 법 제19조의7에 따른 기계식주차장치의 안전기준은 다음 각 호와 같다.
1. 기계식주차장치에 사용하는 재료는 「산업표준화법」 제12조에 따른 한국산업표준 또는 그 이상으로 하여야 한다.
2. 기계식주차장치 출입구의 크기는 중형 기계식주차장의 경우에는 너비 2.3미터 이상, 높이 1.6미터 이상으로 하여야 하고, 대형 기계식주차장의 경우에는 너비 2.4미터 이상, 높이 1.9미터 이상으로 하여야 한다. 다만, 사람이 통행하는 기계식주차장치 출입구의 높이는 1.8미터 이상으로 한다.
3. 주차구획의 크기는 중형 기계식주차장의 경우에는 너비 2.1미터 이상, 높이 1.6미터 이상, 길이 5.15미터 이상으로 하여야 하고, 대형 기계식주차장의 경우에는 너비 2.3미터 이상, 높이 1.9미터 이상, 길이 5.3미터 이상으로 하여야 한다. 다만, 차량의 길이가 5.1미터 이상인 경우에는 주차구획의 길이는 차량의 길이보다 최소 0.2미터 이상을 확보하여야 한다.
4. 운반기의 크기는 자동차가 들어가는 바닥의 너비를 중형 기계식주차장의 경우에는 1.85미터 이상, 대형 기계식주차장의 경우에는 1.95미터 이상으로 하여야 한다.
5. 기계식주차장치 안에서 자동차를 입출고하는 사람이 출입하는 통로의 크기는 너비 50센티미터 이상, 높이 1.8미터 이상으로 하여야 한다.
6. 기계식주차장치 출입구에는 출입문을 설치하거나 기계식주차장치가 작동하고 있을 때 기계식주차장치 출입구로 사람 또는 자동차가 접근할 경우 즉시 그 작동을 멈추게 할 수 있는 장치를 설치하여야 한다.
7. 자동차가 주차구획 또는 운반기 안에서 제자리에 위치하지 아니한 경우에는 기계식주차장치의 작동을 불가능하게 하는 장치를 설치하여야 한다.
8. 기계식주차장치의 작동 중 위험한 상황이 발생하는 경우 즉시 그 작동을 멈추게 할 수 있는 안전장치를 설치하여야 한다.
9. 기계식주차장치의 안전기준에 관하여 이 규칙에 규정된 사항 외의 사항은 국토해양부장관이 정하여 고시한다.
② 법 제19조의6제1항에 따라 안전도인증을 받아야 하는 자는 누구든지 국토해양부장관에게 제1항에 따른 안전기준의 개정을 신청할 수 있다.
③ 제2항에 따라 안전기준의 개정신청을 받은 국토해양부장관은 신청일부터 30일 이내에 이를 검토하여 안전기준의 개정 여부를 신청인에게 통보하여야 한다.
① 법 제19조의7에 따른 기계식주차장치의 안전기준은 다음 각 호와 같다. <개정 2013.1.25>
3. 주차구획의 크기는 중형 기계식주차장의 경우에는 너비 2.15미터 이상, 높이 1.6미터 이상, 길이 5.15미터 이상으로 하여야 하고, 대형 기계식주차장의 경우에는 너비 2.3미터 이상, 높이 1.9미터 이상, 길이 5.3미터 이상으로 하여야 한다. 다만, 차량의 길이가 5.1미터 이상인 경우에는 주차구획의 길이는 차량의 길이보다 최소 0.2미터 이상을 확보하여야 한다.



Check(ERPA_16 – 5_1_2) { IF (CS1 then KS1) OR (CS2 then KS2) }
CS1 {
ParkingLot myParkingLot {
myParkingLot.operationType = "MechanicalParking" }
getObjectProperty(myParkingLot.scale) = "MiddleSize"
MechanicalParkingEquipment myMechanicalParkingEquipment {
isExist(myMechanicalParkingEquipment, myParkingLot) = true }
}
KS1{
Opening myOpening1 {
isExist(myOpening1, myMechanicalParkingEquipment) = true
WD1 = getObjectWidth(myOpening1, a) >= 2.3m
H1 = getObjectHeight(myOpening1, a) >= 1.6m }
}
CS2 {
ParkingLot myParkingLot {
myParkingLot.operationType = "MechanicalParking" }
getObjectProperty(myParkingLot.scale) = "LargeSize"
MechanicalParkingEquipment myMechanicalParkingEquipment {
isExist(myMechanicalParkingEquipment, myParkingLot) = true }
}
KS2 {
Opening myOpening2 {
isExist(myOpening2, myMechanicalParkingEquipment) = true
WD2 = getObjectWidth(myOpening2, a) >= 2.4m
H2 = getObjectHeight(myOpening2, a) >= 1.9m } }




17
주차장법 시행규칙 제 3 조
제3조(주차장의 주차구획) ① 법 제6조제1항에 따른 주차장의 주차단위구획은 다음 각 호와 같다. <개정 2012.7.2.>
1. 평행주차형식의 경우 (표)
2. 평행주차형식 외의 경우 (표)
① 법 제6조제1항에 따른 주차장의 주차단위구획은 다음 각 호와 같다. <개정 2012.7.2, 2018.3.21>
1. 평행주차형식의 경우 ┌───────────┬──────┬──────┐ │구분 │너비 │길이 │ ├───────────┼──────┼──────┤ │경형 │1.7미터 이상│4.5미터 이상│ ├───────────┼──────┼──────┤ │일반형 │2.0미터 이상│6.0미터 이상│ ├──
2. 평행주차형식 외의 경우 ┌────────┬──────┬──────┐ │구분 │너비 │길이 │ ├────────┼──────┼──────┤ │경형 │2.0미터 이상│3.6미터 이상│ ├────────┼──────┼──────┤ │일반형 │2.5미터 이상│5.0미터 이상│ ├────────┼──────┼──────┤ │확
③ 둘 이상의 연속된 주차단위구획의 총 너비 또는 총 길이는 제1항에 따른 주차단위구획의 너비 또는 길이에 주차단위구획의 개수를 곱한 것 이상이 되어야 한다. <신설 2015.3.23>
제3조(주차장의 주차구획)
① 법 제6조제1항에 따른 주차장의 주차단위구획은 다음 각 호와 같다.
1. 평행주차형식의 경우 img4933599 ┌─────────────────────┬──────┬──────┐ │구분 │너비 │길이 │ ├─────────────────────┼──────┼──────┤ │경형 │1.7미터 이상│4.5미터 이상│ ├─────────────────────┼──────┼──────┤ │일반형 │2.0미터 이상│6.0미터 이상│ ├─────────────────────┼──────┼──────┤ │보도와 차도의 구분이 없는 주거지역의 도로 │2.0미터 이상│5.0미터 이상│ └─────────────────────┴──────┴──────┘
2. 평행주차형식 외의 경우 img4933600 ┌─────┬──────┬──────┐ │구분 │너비 │길이 │ ├─────┼──────┼──────┤ │경형 │2.0미터 이상│3.6미터 이상│ ├─────┼──────┼──────┤ │일반형 │2.3미터 이상│5.0미터 이상│ ├─────┼──────┼──────┤ │확장형 │2.5미터 이상│5.1미터 이상│ ├─────┼──────┼──────┤ │장애인전용│3.3미터 이상│5.0미터 이상│ └─────┴──────┴──────┘
② 제1항에 따른 주차단위구획은 흰색 실선(경형자동차 전용주차구획의 주차단위구획은 파란색 실선)으로 표시하여야 한다.
1. 평행주차형식의 경우 img24335428 ┌───────────┬──────┬──────┐ │구분 │너비 │길이 │ ├───────────┼──────┼──────┤ │경형 │1.7미터 이상│4.5미터 이상│ ├───────────┼──────┼──────┤ │일반형 │2.0미터 이상│6.0미터 이상│ ├───────────┼──────┼──────┤ │보도와 차도의 구분이 │2.0미터 이상│5.0미터 이상│ │없는 주거지역의 도로 │ │ │ ├───────────┼──────┼──────┤ │이륜자동차전용 │1.0미터 이상│2.3미터 이상│ └───────────┴──────┴──────┘
2. 평행주차형식 외의 경우 img33758907 ┌────────┬──────┬──────┐ │구분 │너비 │길이 │ ├────────┼──────┼──────┤ │경형 │2.0미터 이상│3.6미터 이상│ ├────────┼──────┼──────┤ │일반형 │2.5미터 이상│5.0미터 이상│ ├────────┼──────┼──────┤ │확장형 │2.6미터 이상│5.2미터 이상│ ├────────┼──────┼──────┤ │장애인전용 │3.3미터 이상│5.0미터 이상│ ├────────┼──────┼──────┤ │이륜자동차 전용 │1.0미터 이상│2.3미터 이상│ └────────┴──────┴──────┘



//     주차장법 시행규칙 3조 (주차장의 주차구획) 1항
Check(ERPA_3_1){
     KS
}

KS{
     getResult(ERPA_3_1_1) = TRUE
     getResult(ERPA_3_1_2) = TRUE
}



// 주차장법 시행규칙 3조 (주차장의 주차구획) 1항 1호
Check(ERPA_3_1_1){
     KS
}

KS{
     getObjectProperty(ParkingUnit.parkingType) = "ParallelParking"
}



// 주차장법 시행규칙 3조 (주차장의 주차구획) 1항 2호
Check(ERPA_3_1_2){
     KS
}

KS{
     getObjectProperty(ParkingUnit.parkingType) != "ParallelParking"
}




18
주차장법 시행규칙 제 4 조
제4조(노상주차장의 구조·설비기준) ① 법 제6조제1항에 따른 노상주차장의 구조·설비기준은 다음 각 호와 같다. <개정 2014.2.6.>
8. 노상주차장에는 다음 각 목의 구분에 따라 장애인 전용주차구획을 설치하여야 한다.
가. 주차대수 규모가 20대 이상 50대 미만인 경우: 한 면 이상
나. 주차대수 규모가 50대 이상인 경우: 주차대수의 2퍼센트부터 4퍼센트까지의 범위에서 장애인의 주차수요를 고려하여 해당 지방자치단체의 조례로 정하는 비율 이상
① 법 제6조제1항에 따른 노상주차장의 구조·설비기준은 다음 각 호와 같다. <개정 2014.2.6>
제4조(노상주차장의 구조·설비기준)
① 법 제6조제1항에 따른 노상주차장의 구조·설비기준은 다음 각 호와 같다.
1. 노상주차장을 설치하려는 지역에서의 주차수요와 노외주차장 또는 그 밖에 자동차의 주차에 사용되는 시설 또는 장소와의 연관성을 고려하여 유기적으로 대응할 수 있도록 적정하게 분포되어야 한다.
2. 주간선도로에 설치하여서는 아니 된다. 다만, 분리대나 그 밖에 도로의 부분으로서 도로교통에 크게 지장을 주지 아니하는 부분에 대해서는 그러하지 아니하다.
3. 너비 6미터 미만의 도로에 설치하여서는 아니 된다. 다만, 보행자의 통행이나 연도(沿道)의 이용에 지장이 없는 경우로서 해당 지방자치단체의 조례로 따로 정하는 경우에는 그러하지 아니하다.
4. 종단경사도(자동차 진행방향의 기울기를 말한다. 이하 같다)가 4퍼센트를 초과하는 도로에 설치하여서는 아니 된다. 다만, 다음 각 목의 경우에는 그러하지 아니하다.
가. 종단경사도가 6퍼센트 이하인 도로로서 보도와 차도가 구별되어 있고, 그 차도의 너비가 13미터 이상인 도로에 설치하는 경우
나. 종단경사도가 6퍼센트 이하인 도로로서 해당 시장·군수 또는 구청장이 안전에 지장이 없다고 인정하는 도로에 제6조의2제1항제1호에 해당하는 노상주차장을 설치하는 경우
5. 고속도로, 자동차전용도로 또는 고가도로에 설치하여서는 아니 된다.
6. 「도로교통법」 제32조 각 호의 어느 하나에 해당하는 도로의 부분 및 같은 법 제33조 각 호의 어느 하나에 해당하는 도로의 부분에 설치하여서는 아니 된다.
7. 도로의 너비 또는 교통 상황 등을 고려하여 그 도로를 이용하는 자동차의 통행에 지장이 없도록 설치하여야 한다.
8. 주차대수 규모가 20대 이상인 경우에는 장애인 전용주차구획을 한 면 이상 설치하여야 한다.
② 노상주차장의 주차구획 설치에 필요한 사항은 해당 지방자치단체의 조례로 정할 수 있다.



//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항 8호 가목



Check(ERPA_4_1_8_가){

IF CS THEN KS

}



CS{

getObjectCount(ParkingLot.ParkingUnit)>=20

getObjectCount(ParkingLot.numberOfParkingUnit)<50

}





KS{



Area myArea{

isObjectProperty(ParkingLotArea.isHandicapParking)=True

}

getObjectCount(myArea)>=1

}


//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항 8호 나목



Check(ERPA_4_1_8_나){

IF CS THEN KS

}



CS{

getObjectCount(ParkingLot.ParkingUnit)>=50



}





KS{



Area myArea{

isObjectProperty(ParkingLotArea.isHandicapParking)=True

}

PLC=getObjectProperty(ParkingLot.numberOfParkingUnit)



getObjectCount(myArea)>=PLC*2%

getObjectCount(myArea)<=PLC*4%

getResult(Unimplemented_LGMO)=True

}


//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항

Check(ERPA_4_1){
KS
}

KS{
getResult(ERPA_4_1_8)=True

}


//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항8호

Check(ERPA_4_1_8){
IF CS THEN KS
}

CS{
isObjectProperty(ParkingLot.isOffStreetParking)=True
}


Area myArea{
isObjectProperty(ParkingLotArea.isHandicapParking)=True
}

KS{
isExist(myArea)=True
getResult(ERPA_4_1_8_가)=True
}





19
주차장법 시행규칙 제 5 조
제5조(노외주차장의 설치에 대한 계획기준) 법 제12조제1항 및 법 제12조의3제1항에 따른 노외주차장 설치에 대한 계획기준은 다음 각 호와 같다. <개정 2014.2.6, 2016.4.12, 2020.6.25>
7. 주차대수 400대를 초과하는 규모의 노외주차장의 경우에는 노외주차장의 출구와 입구를 각각 따로 설치하여야 한다. 다만, 출입구의 너비의 합이 5.5미터 이상으로서 출구와 입구가 차선 등으로 분리되는 경우에는 함께 설치할 수 있다.
8. 특별시장·광역시장, 시장·군수 또는 구청장이 설치하는 노외주차장의 주차대수 규모가 50대 이상인 경우에는 주차대수의 2퍼센트부터 4퍼센트까지의 범위에서 장애인의 주차수요를 고려하여 지방자치단체의 조례로 정하는 비율 이상의 장애인 전용주차구획을 설치하여야 한다.
제5조(노외주차장의 설치에 대한 계획기준) 법 제12조제1항 및 법 제12조의3제1항에 따른 노외주차장 설치에 대한 계획기준은 다음 각 호와 같다. <개정 2014.2.6, 2016.4.12>
1. 노외주차장의 유치권은 노외주차장을 설치하려는 지역에서의 토지이용 현황, 노외주차장 이용자의 보행거리 및 보행자를 위한 도로 상황 등을 고려하여 이용자의 편의를 도모할 수 있도록 정하여야 한다.
2. 노외주차장의 규모는 유치권 안에서의 전반적인 주차수요와 이미 설치되었거나 장래에 설치할 계획인 자동차 주차에 사용하는 시설 또는 장소와의 연관성을 고려하여 적정한 규모로 하여야 한다.
3. 노외주차장을 설치하는 지역은 녹지지역이 아닌 지역이어야 한다. 다만, 자연녹지지역으로서 다음 각 목의 어느 하나에 해당하는 지역의 경우에는 그러하지 아니하다.
가. 하천구역 및 공유수면으로서 주차장이 설치되어도 해당 하천 및 공유수면의 관리에 지장을 주지 아니하는 지역
나. 토지의 형질변경 없이 주차장 설치가 가능한 지역
다. 주차장 설치를 목적으로 토지의 형질변경 허가를 받은 지역
라. 특별시장·광역시장, 시장·군수 또는 구청장이 특히 주차장의 설치가 필요하다고 인정하는 지역
4. 단지조성사업 등에 따른 노외주차장은 주차수요가 많은 곳에 설치하여야 하며 될 수 있으면 공원·광장·큰길가·도시철도역 및 상가인접지역 등에 접하여 배치하여야 한다.
5. 노외주차장의 출구 및 입구(노외주차장의 차로의 노면이 도로의 노면에 접하는 부분을 말한다. 이하 같다)는 다음 각 목의 어느 하나에 해당하는 장소에 설치하여서는 아니 된다.
가. 「도로교통법」 제32조제1호부터 제4호까지, 제5호(건널목의 가장자리만 해당한다) 및 같은 법 제33조제1호부터 제3호까지의 규정에 해당하는 도로의 부분
나. 횡단보도(육교 및 지하횡단보도를 포함한다)로부터 5미터 이내에 있는 도로의 부분
다. 너비 4미터 미만의 도로(주차대수 200대 이상인 경우에는 너비 6미터 미만의 도로)와 종단 기울기가 10퍼센트를 초과하는 도로
라. 유아원, 유치원, 초등학교, 특수학교, 노인복지시설, 장애인복지시설 및 아동전용시설 등의 출입구로부터 20미터 이내에 있는 도로의 부분
6. 노외주차장과 연결되는 도로가 둘 이상인 경우에는 자동차교통에 미치는 지장이 적은 도로에 노외주차장의 출구와 입구를 설치하여야 한다. 다만, 보행자의 교통에 지장을 가져올 우려가 있거나 그 밖의 특별한 이유가 있는 경우에는 그러하지 아니하다.
제5조(노외주차장의 설치에 대한 계획기준) 법 제12조제1항 및 법 제12조의3제1항에 따른 노외주차장 설치에 대한 계획기준은 다음 각 호와 같다.



//주차장법 시행규칙 5조 (노외주차장의 설치에 대한 계획기준) 7항

Check(ERPA_5_7){

      IF (!CS1 AND CS2) THEN KS

}



CS2{

     ParkingLot myParkingLot{

     isObjectProperty(ParkingLot.isOffStreetParking)=TRUE

     }

     getObjectProperty(ParkingLot.numberOfParkingUnit) > 400

}

     Opening myOpening1{

     isObjectProperty(myParkingLot.Oepning.isEntrance)=TRUE

     }

     Opening myOpening2{

     isObjectProperty(myParkingLot.Oepning.isExit)=TRUE

     }

     myOpening1 != myOpening2



CS1{



     getObjectProperty(myOpening1.width) = W1

     getObjectProperty(myOpening2.width) = W2

     W1 + W2 >= 5.5m

}



KS2{

     isExist(myOpening1) = TRUE

     isExist(myOpening2) = TRUE     

}


//주차장법 시행규칙 5조 (노상주차장의 구조·설비기준) 8호

Check(ERPA_5_0_8){
IF CS THEN KS
}

CS{

ParkingLot myParkingLot{
isObjectProperty(ParkingLot.isOffStreetParking)=True
}

getObjectCount(myParkingLot.ParkingUnit)>=50

}


KS{

Area myArea{
isObjectProperty(myParkingLotArea.isHandicapParking)=True
}

PLC=getObjectCount(myParkingLot.ParkingUnit)

getObjectCount(myArea)>=PLC*2%
getObjectCount(myArea)<=PLC*4%
getResult(Unimplemented_LGMO)=True
}






20
주차장법 시행규칙 제 6 조
다. 선명한 화질이 유지될 수 있도록 관리하여야 한다.
3. 노외주차장의 관리ㆍ운영상 필요한 편의시설
4. 특별자치도ㆍ시ㆍ군 또는 자치구(이하 "시ㆍ군 또는 구"라 한다)의 조례로 정하는 이용자 편의시설
다. 선명한 화질이 유지될 수 있도록 관리하여야 한다.
12. 2층 이상의 건축물식 주차장 및 특별시장·광역시장·특별자치도지사·시장·군수가 정하여 고시하는 주차장에는 다음 각 목의 어느 하나에 해당하는 추락방지 안전시설을 설치하여야 한다.
13. 노외주차장의 주차단위구획은 평평한 장소에 설치하여야 한다. 다만, 경사도가 7퍼센트 이하인 경우로서 시장·군수 또는 구청장이 안전에 지장이 없다고 인정하는 경우에는 그러하지 아니하다.
15. 주차대수 400대를 초과하는 규모의 노외주차장의 경우에는 주차장 내에서 안전한 보행을 위하여 과속방지턱, 차량의 일시정지선 등 보행안전을 확보하기 위한 시설을 설치해야 한다.
11. 주차대수 30대를 초과하는 규모의 자주식주차장으로서 지하식 또는 건축물식 노외주차장에는 관리사무소에서 주차장 내부 전체를 볼 수 있는 폐쇄회로 텔레비전(녹화장치를 포함한다) 또는 네트워크 카메라를 포함하는 방범설비를 설치ㆍ관리하여야 하되, 다음 각 목의 사항을 준수하여야 한다.
다. 2톤 차량이 시속 20킬로미터의 주행속도로 정면충돌하는 경우에 견딜 수 있는 강도의 구조물로서 「한국도로공사법」에 따라 설립된 한국도로공사, 「한국교통안전공단법」에 따라 설립된 한국교통안전공단(이하 "한국교통안전공단"이라 한다), 그 밖에 국토교통부장관이 정하여 고시하는 전문연구기관에서 인정하는 제품
다. 2톤 차량이 시속 20킬로미터의 주행속도로 정면충돌하는 경우에 견딜 수 있는 강도의 구조물로서 「한국도로공사법」에 따라 설립된 한국도로공사, 「한국교통안전공단법」에 따라 설립된 한국교통안전공단(이하 "한국교통안전공단"이라 한다), 그 밖에 국토교통부장관이 정하여 고시하는 전문연구기관에서 인정하는 제품
2. 노외주차장의 출구 부근의 구조는 해당 출구로부터 2미터(이륜자동차전용 출구의 경우에는 1.3미터)를 후퇴한 노외주차장의 차로의 중심선상 1.4미터의 높이에서 도로의 중심선에 직각으로 향한 왼쪽ㆍ오른쪽 각각 60도의 범위에서 해당 도로를 통행하는 자를 확인할 수 있도록 하여야 한다.
⑤ 법 제20조제2항 또는 제3항에 따른 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적 중 부대시설이 차지하는 비율에 대해서는 제4항에도 불구하고 특별시·광역시, 시·군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29>
⑤ 법 제20조제2항 또는 제3항에 따른 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적 중 부대시설이 차지하는 비율에 대해서는 제4항에도 불구하고 특별시ㆍ광역시, 시ㆍ군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29>
⑥ 시장·군수 또는 구청장이 노외주차장 안에 「국토의 계획 및 이용에 관한 법률」 제2조제7호의 도시·군계획시설을 부대시설로서 중복하여 설치하려는 경우에는 노외주차장 외의 용도로 사용하려는 도시·군계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29, 2012.4.13>
⑥ 시장ㆍ군수 또는 구청장이 노외주차장 안에 「국토의 계획 및 이용에 관한 법률」 제2조제7호의 도시ㆍ군계획시설을 부대시설로서 중복하여 설치하려는 경우에는 노외주차장 외의 용도로 사용하려는 도시ㆍ군계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29, 2012.4.13>
제6조(노외주차장의 구조·설비기준) ① 법 제6조제1항에 따른 노외주차장의 구조·설비기준은 다음 각 호와 같다. <개정 2010.10.29., 2012.7.2., 2013.1.25., 2013.3.23., 2014.7.15.>
나. 차로의 너비는 주차형식 및 출입구(지하식 또는 건축물식 주차장의 출입구를 포함한다. 제4호에서 또한 같다)의 개수에 따라 다음 구분에 따른 기준 이상으로 하여야 한다.
1) 이륜자동차전용 노외주차장 (표)
2) 1) 외의 노외주차장 (표)
나. 「도로법 시행령」 제3조제4호에 따른 방호(防護) 울타리
④ 노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적(주차장으로 사용되는 면적과 주차장 외의 용도로 사용되는 면적을 합한 면적을 말한다. 이하 같다)의 20퍼센트를 초과하여서는 아니 된다. <개정 2010.10.29., 2012.7.2.>
⑤ 법 제20조제2항 또는 제3항에 따른 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적 중 부대시설이 차지하는 비율에 대해서는 제4항에도 불구하고 특별시·광역시, 시·군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29.>
⑥ 시장·군수 또는 구청장이 노외주차장 안에 「국토의 계획 및 이용에 관한 법률」 제2조제7호의 도시·군계획시설을 부대시설로서 중복하여 설치하려는 경우에는 노외주차장 외의 용도로 사용하려는 도시·군계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29., 2012.4.13.>
나. 차로의 너비는 주차형식 및 출입구(지하식 또는 건축물식 주차장의 출입구를 포함한다. 제4호에서 또한 같다)의 개수에 따라 다음 구분에 따른 기준 이상으로 하여야 한다. 1) 이륜자동차전용 노외주차장 ┌──────────┬────────────────┐ │주차형식 │차로의 너비 │ │ ├──────
제6조(노외주차장의 구조·설비기준)
② 시장·군수 또는 구청장은 제1항제11호의 준수사항에 대하여 매년 한 번 이상 지도점검을 실시하여야 한다. <개정 2010.10.29>
1) 이륜자동차전용 노외주차장 (표)
2) 1) 외의 노외주차장 (표)
② 삭제 <2020.6.25>
2의2. 「석유 및 석유대체연료 사업법 시행령」 제2조제3호에 따른 주유소(특별시장ㆍ광역시장, 시장ㆍ군수 또는 구청장이 설치한 노외주차장만 해당한다)
① 법 제6조제1항에 따른 노외주차장의 구조ㆍ설비기준은 다음 각 호와 같다. <개정 2010.10.29, 2012.7.2, 2013.1.25, 2013.3.23, 2014.7.15, 2018.3.21, 2018.10.25, 2020.6.25>
11. 2층 이상의 건축물식 주차장 및 특별시장ㆍ광역시장ㆍ특별자치도지사ㆍ시장ㆍ군수가 정하여 고시하는 주차장에는 다음 각 목 중 어느 하나의 추락방지 안전시설을 설치하여야 한다.
가. 2톤 차량이 시속 20킬로미터의 주행속도로 정면충돌하는 경우에 견딜 수 있는 강도의 구조물로서 구조계산에 의해 안전하다고 확인된 구조물
나. 「도로법」 제2조제1항제4호나목에 따른 방호울타리
다. 2톤 차량이 시속 20킬로미터의 주행속도로 정면충돌하는 경우에 견딜 수 있는 강도의 구조물로서 한국도로공사, 교통안전공단, 그 밖에 국토해양부장관이 정하여 고시하는 전문연구기관에서 인정하는 제품
라. 그 밖에 국토해양부장관이 정하여 고시하는 추락방지 안전시설
③ 삭제 <1996.6.29>
⑦ 제1항제11호에 따른 추락방지 안전시설의 설계 및 설치 등에 관한 세부적인 사항은 국토해양부장관이 정하여 고시한다. <신설 2010.2.17>
제6조(노외주차장의 구조·설비기준)
① 법 제6조제1항에 따른 노외주차장의 구조·설비기준은 다음 각 호와 같다. <개정 2010.10.29>
1. 노외주차장의 출구와 입구에서 자동차의 회전을 쉽게 하기 위하여 필요한 경우에는 차로와 도로가 접하는 부분을 곡선형으로 하여야 한다.
2. 노외주차장의 출구 부근의 구조는 해당 출구로부터 2미터를 후퇴한 노외주차장의 차로의 중심선상 1.4미터의 높이에서 도로의 중심선에 직각으로 향한 왼쪽·오른쪽 각각 60도의 범위에서 해당 도로를 통행하는 자를 확인할 수 있도록 하여야 한다.
3. 노외주차장에는 자동차의 안전하고 원활한 통행을 확보하기 위하여 다음 각 목에서 정하는 바에 따라 차로를 설치하여야 한다.
가. 주차구획선의 긴 변과 짧은 변 중 한 변 이상이 차로에 접하여야 한다.
나. 차로의 너비는 주차형식 및 출입구(지하식 또는 건축물식 주차장의 출입구를 포함한다. 이하 제4호에서 같다)의 개수에 따라 다음 표에 따른 기준 이상으로 하여야 한다. img4750029 ┌──────────┬──────────────┐ │주차형식 │차로의 너비 │ │ ├──────┬───────┤ │ │출입구가 2개│출입구가 1개인│ │ │이상인 경우 │경우 │ ├──────────┼──────┼───────┤ │평행주차 │3.3미터 │5.0미터 │ ├──────────┼──────┼───────┤ │직각주차 │6.0미터 │6.0미터 │ ├──────────┼──────┼───────┤ │60도 대향(對向)주차 │4.5미터 │5.5미터 │ ├──────────┼──────┼───────┤ │45도 대향주차 │3.5미터 │5.0미터 │ ├──────────┼──────┼───────┤ │교차주차 │3.5미터 │5.0미터 │ └──────────┴──────┴───────┘
4. 노외주차장의 출입구 너비는 3.5미터 이상으로 하여야 하며, 주차대수 규모가 50대 이상인 경우에는 출구와 입구를 분리하거나 너비 5.5미터 이상의 출입구를 설치하여 소통이 원활하도록 하여야 한다.
5. 지하식 또는 건축물식 노외주차장의 차로는 제3호의 기준에 따르는 외에 다음 각 목에서 정하는 바에 따른다.
나. 곡선 부분은 자동차가 6미터(같은 경사로를 이용하는 주차장의 총주차대수가 50대 이하인 경우에는 5미터) 이상의 내변반경으로 회전할 수 있도록 하여야 한다.
다. 경사로의 차로 너비는 직선형인 경우에는 3.3미터 이상(2차로의 경우에는 6미터 이상)으로 하고, 곡선형인 경우에는 3.6미터 이상(2차로의 경우에는 6.5미터 이상)으로 하며, 경사로의 양쪽 벽면으로부터 30센티미터 이상의 지점에 높이 10센티미터 이상 15센티미터 미만의 연석(沿石)을 설치하여야 한다. 이 경우 연석 부분은 차로의 너비에 포함되는 것으로 본다.
라. 경사로의 종단경사도는 직선 부분에서는 17퍼센트를 초과하여서는 아니 되며, 곡선 부분에서는 14퍼센트를 초과하여서는 아니 된다.
마. 경사로의 노면은 거친 면으로 하여야 한다.
바. 주차대수 규모가 50대 이상인 경우의 경사로는 너비 6미터 이상인 2차로를 확보하거나 진입차로와 진출차로를 분리하여야 한다.
6. 자동차용 승강기로 운반된 자동차가 주차구획까지 자주식으로 들어가는 노외주차장의 경우에는 주차대수 30대마다 1대의 자동차용 승강기를 설치하여야 한다. 이 경우 제16조의2제1호 및 제3호를 준용하되, 자동차용 승강기의 출구와 입구가 따로 설치되어 있거나 주차장의 내부에서 자동차가 방향전환을 할 수 있을 때에는 제16조의2제3호에 따른 진입로를 설치하고 제16조의2제1호에 따른 전면공지 또는 방향전환장치를 설치하지 아니할 수 있다.
7. 노외주차장에서 주차에 사용되는 부분의 높이는 주차바닥면으로부터 2.1미터 이상으로 하여야 한다.
8. 노외주차장 내부 공간의 일산화탄소 농도는 주차장을 이용하는 차량이 가장 빈번한 시각의 앞뒤 8시간의 평균치가 50피피엠 이하(「다중이용시설 등의 실내공기질관리법」 제3조제1항제9호에 따른 실내주차장은 25피피엠 이하)로 유지되어야 한다.
9. 자주식주차장으로서 지하식 또는 건축물식 노외주차장에는 바닥으로부터 85센티미터의 높이에 있는 지점이 평균 70럭스 이상의 조도(照度)를 유지할 수 있도록 조명장치를 설치하여야 한다.
10. 노외주차장에는 자동차의 출입 또는 도로교통의 안전을 확보하기 위하여 필요한 경보장치를 설치하여야 한다.
11. 주차대수 30대를 초과하는 규모의 자주식주차장으로서 지하식 또는 건축물식 노외주차장에는 관리사무소에서 주차장 내부 전체를 볼 수 있는 폐쇄회로 텔레비전 및 녹화장치를 포함하는 방범설비를 설치·관리하여야 하되, 다음 각 목의 사항을 준수하여야 한다.
가. 방범설비는 주차장의 바닥면으로부터 170센티미터의 높이에 있는 사물을 알아볼 수 있도록 설치하여야 한다.
나. 폐쇄회로 텔레비전과 녹화장치의 모니터 수가 같아야 한다.
라. 촬영된 자료는 컴퓨터보안시스템을 설치하여 1개월 이상 보관하여야 한다.
12. 2층 이상의 건축물식 주차장 및 특별시장·광역시장·특별자치도지사·시장·군수가 정하여 고시하는 주차장에는 다음 각 목의 어느 하나에 해당하는 추락방지 안전시설을 설치하여야 한다.
가. 2톤 차량이 시속 20킬로미터의 주행속도로 정면충돌하는 경우에 견딜 수 있는 강도의 구조물로서 구조계산에 의하여 안전하다고 확인된 구조물
나. 「도로법」 제2조제1항제4호나목에 따른 방호(防護) 울타리
13. 노외주차장의 주차단위구획은 평평한 장소에 설치하여야 한다. 다만, 경사도가 7퍼센트 이하인 경우로서 시장·군수 또는 구청장이 안전에 지장이 없다고 인정하는 경우에는 그러하지 아니하다.
14. 노외주차장에는 제3조제1항제2호에 따른 확장형 주차단위구획을 주차단위구획 총수(평행주차형식의 주차단위구획 수는 제외한다)의 20퍼센트 이상 설치하여야 한다.
② 시장·군수 또는 구청장은 제1항제11호의 준수사항에 대하여 매년 한 번 이상 지도점검을 실시하여야 한다. <개정 2010.10.29>
④ 노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적(주차장으로 사용되는 면적과 주차장 외의 용도로 사용되는 면적을 합한 면적을 말한다. 이하 같다)의 20퍼센트를 초과하여서는 아니 된다. <개정 2010.10.29>
1. 관리사무소, 휴게소 및 공중화장실
2. 간이매점, 자동차 장식품 판매점 및 전기자동차 충전시설(특별시장·광역시장, 시장·군수 또는 구청장이 설치한 노외주차장만 해당한다)
3. 노외주차장의 관리·운영상 필요한 편의시설
4. 특별자치도·시·군 또는 자치구(이하 "시·군 또는 구"라 한다)의 조례로 정하는 이용자 편의시설
⑤ 법 제20조제2항 또는 제3항에 따른 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적 중 부대시설이 차지하는 비율에 대해서는 제4항에도 불구하고 특별시·광역시, 시·군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29>
⑥ 시장·군수 또는 구청장이 노외주차장 안에 「국토의 계획 및 이용에 관한 법률」 제2조제7호의 도시계획시설을 부대시설로서 중복하여 설치하려는 경우에는 노외주차장 외의 용도로 사용하려는 도시계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29>
제6조(노외주차장의 구조ㆍ설비기준)
① 법 제6조제1항에 따른 노외주차장의 구조ㆍ설비기준은 다음 각 호와 같다. <개정 2010.10.29>
2. 노외주차장의 출구 부근의 구조는 해당 출구로부터 2미터를 후퇴한 노외주차장의 차로의 중심선상 1.4미터의 높이에서 도로의 중심선에 직각으로 향한 왼쪽ㆍ오른쪽 각각 60도의 범위에서 해당 도로를 통행하는 자를 확인할 수 있도록 하여야 한다.
11. 주차대수 30대를 초과하는 규모의 자주식주차장으로서 지하식 또는 건축물식 노외주차장에는 관리사무소에서 주차장 내부 전체를 볼 수 있는 폐쇄회로 텔레비전 및 녹화장치를 포함하는 방범설비를 설치ㆍ관리하여야 하되, 다음 각 목의 사항을 준수하여야 한다.
12. 2층 이상의 건축물식 주차장 및 특별시장ㆍ광역시장ㆍ특별자치도지사ㆍ시장ㆍ군수가 정하여 고시하는 주차장에는 다음 각 목의 어느 하나에 해당하는 추락방지 안전시설을 설치하여야 한다.
13. 노외주차장의 주차단위구획은 평평한 장소에 설치하여야 한다. 다만, 경사도가 7퍼센트 이하인 경우로서 시장ㆍ군수 또는 구청장이 안전에 지장이 없다고 인정하는 경우에는 그러하지 아니하다.
② 시장ㆍ군수 또는 구청장은 제1항제11호의 준수사항에 대하여 매년 한 번 이상 지도점검을 실시하여야 한다. <개정 2010.10.29>
2. 간이매점, 자동차 장식품 판매점 및 전기자동차 충전시설(특별시장ㆍ광역시장, 시장ㆍ군수 또는 구청장이 설치한 노외주차장만 해당한다)
⑤ 법 제20조제2항 또는 제3항에 따른 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적 중 부대시설이 차지하는 비율에 대해서는 제4항에도 불구하고 특별시ㆍ광역시, 시ㆍ군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29>
⑥ 시장ㆍ군수 또는 구청장이 노외주차장 안에 「국토의 계획 및 이용에 관한 법률」 제2조제7호의 도시ㆍ군계획시설을 부대시설로서 중복하여 설치하려는 경우에는 노외주차장 외의 용도로 사용하려는 도시ㆍ군계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29, 2012.4.13>
① 법 제6조제1항에 따른 노외주차장의 구조·설비기준은 다음 각 호와 같다. <개정 2010.10.29, 2012.7.2, 2013.1.25>
2. 노외주차장의 출구 부근의 구조는 해당 출구로부터 2미터(이륜자동차전용 출구의 경우에는 1.3미터)를 후퇴한 노외주차장의 차로의 중심선상 1.4미터의 높이에서 도로의 중심선에 직각으로 향한 왼쪽·오른쪽 각각 60도의 범위에서 해당 도로를 통행하는 자를 확인할 수 있도록 하여야 한다.
나. 차로의 너비는 주차형식 및 출입구(지하식 또는 건축물식 주차장의 출입구를 포함한다. 제4호에서 또한 같다)의 개수에 따라 다음 구분에 따른 기준 이상으로 하여야 한다. 1) 이륜자동차전용 노외주차장 img10281771 ┌───────┬────────────────┐ │주차형식 │차로의 너비 │ │ ├───────┬────────┤ │ │출입구가 2개 │출입구가 1개인 │ │ │이상인 경우 │경우 │ ├───────┼───────┼────────┤ │평행주차 │2.25미터 │3.5미터 │ ├───────┼───────┼────────┤ │직각주차 │4.0미터 │4.0미터 │ ├───────┼───────┼────────┤ │45도 │2.3미터 │3.5미터 │ │대향(對向)주차│ │ │ └───────┴───────┴────────┘ 2) 1) 외의 노외주차장 img10281759 ┌───────┬────────────────┐ │주차형식 │차로의 너비 │ │ ├───────┬────────┤ │ │출입구가 2개 │출입구가 1개인 │ │ │이상인 경우 │경우 │ ├───────┼───────┼────────┤ │평행주차 │3.3.미터 │5.0미터 │ ├───────┼───────┼────────┤ │직각주차 │6.0미터 │6.0미터 │ ├───────┼───────┼────────┤ │60도 대향주차 │4.5미터 │5.5미터 │ ├───────┼───────┼────────┤ │45도 대향주차 │3.5미터 │5.0미터 │ ├───────┼───────┼────────┤ │교차주차 │3.5미터 │5.0미터 │ └───────┴───────┴────────┘
나. 곡선 부분은 자동차가 6미터(같은 경사로를 이용하는 주차장의 총주차대수가 50대 이하인 경우에는 5미터, 이륜자동차전용 노외주차장의 경우에는 3미터) 이상의 내변반경으로 회전할 수 있도록 하여야 한다.
9. 자주식주차장으로서 지하식 또는 건축물식 노외주차장에는 벽면에서부터 50센티미터 이내를 제외한 바닥면의 최소 조도(照度)와 최대 조도를 다음 각 목과 같이 한다.
가. 주차구획 및 차로: 최소 조도는 10럭스 이상, 최대 조도는 최소 조도의 10배 이내
나. 주차장 출구 및 입구: 최소 조도는 300럭스 이상, 최대 조도는 없음
다. 사람이 출입하는 통로: 최소 조도는 50럭스 이상, 최대 조도는 없음
14. 노외주차장에는 제3조제1항제2호에 따른 확장형 주차단위구획을 주차단위구획 총수(평행주차형식의 주차단위구획 수는 제외한다)의 30퍼센트 이상 설치하여야 한다.
④ 노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적(주차장으로 사용되는 면적과 주차장 외의 용도로 사용되는 면적을 합한 면적을 말한다. 이하 같다)의 20퍼센트를 초과하여서는 아니 된다. <개정 2010.10.29, 2012.7.2>
2의2. 「석유 및 석유대체연료 사업법 시행령」 제2조제3호에 따른 주유소(특별시장·광역시장, 시장·군수 또는 구청장이 설치한 노외주차장만 해당한다)
⑥ 시장·군수 또는 구청장이 노외주차장 안에 「국토의 계획 및 이용에 관한 법률」 제2조제7호의 도시·군계획시설을 부대시설로서 중복하여 설치하려는 경우에는 노외주차장 외의 용도로 사용하려는 도시·군계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29, 2012.4.13>
① 법 제6조제1항에 따른 노외주차장의 구조·설비기준은 다음 각 호와 같다. <개정 2010.10.29, 2012.7.2, 2013.1.25, 2013.3.23, 2014.7.15>
나. 차로의 너비는 주차형식 및 출입구(지하식 또는 건축물식 주차장의 출입구를 포함한다. 제4호에서 또한 같다)의 개수에 따라 다음 구분에 따른 기준 이상으로 하여야 한다. 1) 이륜자동차전용 노외주차장 img24335457 ┌──────────┬────────────────┐ │주차형식 │차로의 너비 │ │ ├───────┬────────┤ │ │출입구가 2개 │출입구가 1개인 │ │ │이상인 경우 │경우 │ ├──────────┼───────┼────────┤ │평행주차 │2.25미터 │3.5미터 │ ├──────────┼───────┼────────┤ │직각주차 │4.0미터 │4.0미터 │ ├──────────┼───────┼────────┤ │45도 대향(對向)주차 │2.3미터 │3.5미터 │ └──────────┴───────┴────────┘ 2) 1) 외의 노외주차장 img24335458 ┌───────┬────────────────┐ │주차형식 │차로의 너비 │ │ ├───────┬────────┤ │ │출입구가 2개 │출입구가 1개인 │ │ │이상인 경우 │경우 │ ├───────┼───────┼────────┤ │평행주차 │3.3.미터 │5.0미터 │ ├───────┼───────┼────────┤ │직각주차 │6.0미터 │6.0미터 │ ├───────┼───────┼────────┤ │60도 대향주차 │4.5미터 │5.5미터 │ ├───────┼───────┼────────┤ │45도 대향주차 │3.5미터 │5.0미터 │ ├───────┼───────┼────────┤ │교차주차 │3.5미터 │5.0미터 │ └───────┴───────┴────────┘
다. 2톤 차량이 시속 20킬로미터의 주행속도로 정면충돌하는 경우에 견딜 수 있는 강도의 구조물로서 한국도로공사, 교통안전공단, 그 밖에 국토교통부장관이 정하여 고시하는 전문연구기관에서 인정하는 제품
라. 그 밖에 국토교통부장관이 정하여 고시하는 추락방지 안전시설
④ 노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적(주차장으로 사용되는 면적과 주차장 외의 용도로 사용되는 면적을 합한 면적을 말한다. 이하 같다)의 20퍼센트를 초과하여서는 아니 된다. <개정 2010.10.29, 2012.7.2, 2016.12.30>
2. 간이매점, 자동차 장식품 판매점 및 전기자동차 충전시설
⑦ 제1항제12호에 따른 추락방지 안전시설의 설계 및 설치 등에 관한 세부적인 사항은 국토교통부장관이 정하여 고시한다. <개정 2010.10.29, 2013.3.23>
① 법 제6조제1항에 따른 노외주차장의 구조·설비기준은 다음 각 호와 같다. <개정 2010.10.29, 2012.7.2, 2013.1.25, 2013.3.23, 2014.7.15, 2018.3.21, 2018.10.25>
나. 차로의 너비는 주차형식 및 출입구(지하식 또는 건축물식 주차장의 출입구를 포함한다. 제4호에서 또한 같다)의 개수에 따라 다음 구분에 따른 기준 이상으로 하여야 한다. 1) 이륜자동차전용 노외주차장 img24335457 ┌──────────┬────────────────┐ │주차형식 │차로의 너비 │ │ ├───────┬────────┤ │ │출입구가 2개 │출입구가 1개인 │ │ │이상인 경우 │경우 │ ├──────────┼───────┼────────┤ │평행주차 │2.25미터 │3.5미터 │ ├──────────┼───────┼────────┤ │직각주차 │4.0미터 │4.0미터 │ ├──────────┼───────┼────────┤ │45도 대향(對向)주차 │2.3미터 │3.5미터 │ └──────────┴───────┴────────┘ 2) 1) 외의 노외주차장 img24335458 ┌───────┬────────────────┐ │주차형식 │차로의 너비 │ │ ├───────┬────────┤ │ │출입구가 2개 │출입구가 1개인 │ │ │이상인 경우 │경우 │ ├───────┼───────┼────────┤ │평행주차 │3.3.미터 │5.0미터 │ ├───────┼───────┼────────┤ │직각주차 │6.0미터 │6.0미터 │ ├───────┼───────┼────────┤ │60도 대향주차 │4.5미터 │5.5미터 │ ├───────┼───────┼────────┤ │45도 대향주차 │3.5미터 │5.0미터 │ ├───────┼───────┼────────┤ │교차주차 │3.5미터 │5.0미터 │ └───────┴───────┴────────┘
제6조(노외주차장의 구조 및 설비기준)
①법 제6조제1항에 따른 노외주차장의 구조 및 설비기준은 다음 각 호와 같다. <개정 1992.9.5, 1996.6.29, 2000.7.29, 2004.7.1, 2008.2.22, 2008.3.14, 2009.6.30, 2010.2.17>
11. 주차대수 30대를 초과하는 규모의 자주식주차장으로서 지하식 또는 건축물식 노외주차장에는 관리사무소에서 주차장 내부 전체를 볼 수 있는 폐쇄회로 텔레비전(녹화장치를 포함한다) 또는 네트워크 카메라를 포함하는 방범설비를 설치·관리하여야 하되, 다음 각 목의 사항을 준수하여야 한다.
나. 폐쇄회로 텔레비전 또는 네트워크 카메라와 녹화장치의 모니터 수가 같아야 한다.
제6조 (노외주차장의 구조 및 설비기준)
①법 제6조제1항에 따른 노외주차장의 구조 및 설비기준은 다음 각 호와 같다. <개정 1992.9.5, 1996.6.29, 2000.7.29, 2004.7.1, 2008.2.22, 2008.3.14, 2009.6.30>
1. 노외주차장의 출구와 입구에 있어서 자동차의 회전을 용이하게 하기 위하여 필요한 경우에는 차로와 도로가 접하는 부분을 곡선형으로 하여야 한다.
2. 노외주차장의 출구부근의 구조는 당해출구로부터 2미터를 후퇴한 노외주차장의 차로의 중심선상 1.4미터의 높이에서 도로의 중심선에 직각으로 향한 좌ㆍ우측 각 60도의 범위안에서 당해도로를 통행하는 자를 확인할 수 있도록 하여야 한다.
3. 노외주차장에는 자동차의 안전하고 원활한 통행을 확보하기 위하여 다음 각 목에서 정하는 바에 의하여 차로를 설치하여야 한다.
가. 주차부분의 장ㆍ단변중 1변이상이 차로에 접하여야 한다.
나. 차로의 너비는 주차형식 및 출입구(지하식 또는 건축물식 주차장의 출입구를 포함한다. 이하 제4호에서 같다)의 개수에 따라 다음 표에 의한 기준이상으로 하여야 한다. (단위 : 미터) +-------------------+------------------------------------------------+ | | 차 로 의 너비 | | 주 차 형 식 +------------------------+-----------------------+ | | 출입구가 2개 이상인 | 출입구가 1개인 경우 | | | 경우 | | +-------------------+------------------------+-----------------------+ | 평행주차 | 3.3 | 5.0 | | 직각주차 | 6.0 | 6.0 | | 60도 대향주차 | 4.5 | 5.5 | | 45도 대향주차 | 3.5 | 5.0 | | 교차주차 | 3.5 | 5.0 | +-------------------+------------------------+-----------------------+
4. 노외주차장의 출입구의 너비는 3.5미터 이상으로 하여야 하며, 주차대수규모가 50대 이상인 경우에는 출구와 입구를 분리하거나 너비 5.5미터 이상의 출입구를 설치하여 소통이 원활하도록 하여야 한다.
5. 지하식 또는 건축물식 노외주차장의 차로는 제3호의 기준에 의하는 외에 다음 각 목에서 정하는 바에 의한다.
가. 높이는 주차바닥면으로부터 2.3미터 이상으로 하여야 한다.
나. 굴곡부는 자동차가 6미터(같은 경사로를 이용하는 주차장의 총주차대수가 50대 이하인 경우에는 5미터) 이상의 내변반경으로 회전이 가능하도록 하여야 한다.
다. 경사로의 차로너비는 직선형인 경우에는 3.3미터 이상(2차선의 경우에는 6미터 이상)으로 하고, 곡선형인 경우에는 3.6미터이상(2차선의 경우에는 6.5미터 이상)으로 하며, 경사로의 양측벽면으로부터 30센티미터 이상의 지점에 높이 10센티미터 이상 15센티미터 미만의 연석을 설치하여야 한다. 이 경우 연석 부분은 차로의 너비에 포함되는 것으로 본다.
라. 경사로의 종단경사도는 직선부분에서는 17퍼센트를 곡선부분에서는 14퍼센트를 초과하여서는 아니 된다.
마. 경사로의 노면은 이를 거친 면으로 하여야 한다.
바. 주차대수규모가 50대 이상인 경우의 경사로는 너비 6미터 이상인 2차선의 차로를 확보하거나 진입차로와 진출차로를 분리하여야 한다.
5의2. 자동차용승강기로 운반된 자동차가 주차구획까지 자주식으로 들어가는 노외주차장의 경우에는 주차대수 30대마다 1대의 자동차용승강기를 설치하여야 한다. 이 경우 제16조의2제1호 및 제3호의 규정을 준용하되, 자동차용승강기의 출구와 입구가 따로 설치되어 있거나 주차장의 내부에서 자동차가 방향전환을 할 수 있는 때에는 제3호의 규정에 의한 차로를 설치하고 제16조의2제1호의 규정에 의한 전면공지 또는 방향전환장치를 설치하지 아니할 수 있다.
6. 노외주차장의 주차에 사용되는 부분의 높이는 주차바닥면으로부터 2.1미터 이상으로 하여야 한다.
7. 노외주차장의 내부공간의 일산화탄소의 농도는 주차장을 이용하는 차량이 가장 빈번한 시각의 전후 8시간의 평균치가 50피피엠 이하(다중이용시설등의실내공기질관리법 제3조제1항제9호의 규정에 의한 실내주차장은 25피피엠 이하)로 유지되어야 한다.
8. 자주식 주차장으로서 지하식 또는 건축물식에 의한 노외주차장에는 바닥으로부터 85센티미터의 높이에 있는 지점이 평균 70룩스 이상의 조도를 유지할 수 있는 조명장치를 설치하여야 한다.
9. 노외주차장에는 자동차의 출입 또는 도로교통의 안전을 확보하기 위하여 필요한 경보장치를 설치하여야 한다.
10. 주차대수 30대를 초과하는 규모의 자주식 주차장으로서 지하식 또는 건축물식에 의한 노외주차장에는 관리사무소에서 주차장 내부 전체를 볼 수 있는 폐쇄회로 텔레비전 및 녹화장치를 포함하는 방범설비를 설치ㆍ관리하여야 하되, 다음 각 목의 사항을 준수하여야 한다.
가. 방범설비는 주차장의 바닥면으로부터 170센티미터의 높이에 있는 사물을 식별할 수 있도록 설치하여야 한다.
나. 폐쇄회로텔레비전과 녹화장치의 모니터 수가 일치하여야 한다.
다. 선명한 화질이 유지될 수 있도록 관리하여야 한다.
라. 촬영된 자료는 컴퓨터보안시스템을 설치하여 1월 이상 보관하여야 한다.
11. 2층 이상의 건축물식 주차장에는 자동차의 추락을 방지하기 위한 안전시설을 다음 각 목에서 정하는 바에 따라 설치하여야 한다.
가. 차로(경사로는 제외한다)에서 자동차의 진행방향과 마주치는 벽체의 경우에는 다음 중 어느 하나를 설치할 것 (1) 두께 20센티미터 이상 및 높이 60센티미터 이상의 철근콘크리트 구조물 (2) 「도로법」 제2조제1항제4호나목에 따른 방호(防護) 울타리 (3) 2톤 차량이 시속 20킬로미터의 주행속도로 정면충돌하는 경우에 견딜 수 있는 강도의 구조물로서 한국도로공사ㆍ교통안전공단, 그 밖에 국토해양부장관이 정하여 고시하는 전문연구기관에서 인정하는 제품
나. 주차구획에서 자동차의 진행방향과 마주치는 벽체의 경우에는 다음 중 어느 하나를 설치할 것 (1) 두께 12센티미터 이상 및 높이 60센티미터 이상의 철근콘크리트 구조물 (2) 「도로법」 제3조제1항제2호에 따른 방호울타리 (3) 2톤 차량이 시속 15킬로미터의 주행속도로 정면충돌하는 경우에 견딜 수 있는 강도의 구조물로서 한국도로공사ㆍ교통안전공단, 그 밖에 국토해양부장관이 정하여 고시하는 전문연구기관에서 인정하는 제품
12. 노외주차장의 주차단위구획은 평평한 장소에 설치하여야 한다. 다만, 경사도가 7퍼센트 이하인 경우로서 시장ㆍ군수 또는 구청장이 안전에 지장이 없다고 인정하는 경우에는 그러하지 아니하다.
13. 노외주차장에는 제3조제1항제2호에 따른 확장형 주차단위구획을 총주차단위구획수(평행주차형식의 주차단위구획수는 제외한다)의 20퍼센트 이상 설치하여야 한다.
②시장ㆍ군수 또는 구청장은 제1항제10호의 준수사항에 대하여 연 1회 이상 지도점검을 실시하여야 한다. <신설 2004.7.1>
③삭제 <1996.6.29>
④노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적의 20퍼센트를 초과하여서는 아니 된다. <개정 1992.9.5, 1996.6.29, 2009.6.30>
1. 관리사무소ㆍ휴게소 및 공중변소
2. 간이매점 및 자동차의 장식품판매점
3. 노외주차장의 관리ㆍ운영상 필요한 편의시설
4. 특별자치도ㆍ시ㆍ군 또는 자치구(이하 "시ㆍ군 또는 구"라 한다)의 조례로 정하는 이용자 편의시설
⑤법 제20조제2항 또는 제3항의 규정에 의한 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적중 부대시설이 차지하는 비율에 대하여는 제4항의 규정에 불구하고 특별시ㆍ광역시ㆍ시ㆍ군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총 시설면적의 40퍼센트를 초과할 수 없다. <신설 1996.6.29, 2004.7.1>
⑥시장ㆍ군수 또는 구청장이 노외주차장내에 국토의계획및이용에관한법률 제2조제7호의 도시계획시설을 부대시설로서 중복하여 설치하고자 하는 경우에는 노외주차장외의 용도로 사용하고자 하는 도시계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총 시설면적의 40퍼센트를 초과할 수 없다. <신설 2004.7.1>
⑦ 제1항제12호에 따른 추락방지 안전시설의 설계 및 설치 등에 관한 세부적인 사항은 국토해양부장관이 정하여 고시한다. <개정 2010.10.29>



//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 12호 나목
Check(ERPA_6_1_12_2){
     KS
}

KS{
     isExist(CrashBarrier) = TRUE
     getObjectProperty(CrashBarrier) = "FallPreventionSafetyFacility"
}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 14호
Check(ERPA_6_1_14){
     KS
}

KS{
     
     ParkingLot myParkingLot{
          isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
     }

     ParkingUnit myParkingUnit{
          getResult(ERPA_3_1_2) = TRUE
          getObjectProperty(ParkingUnit.parkingUseType) = "ExtensionType"
     }

     ParkingUnit myParkingUnit2{
          getResult(ERPA_3_1_2) = TRUE
          getObjectProperty(ParkingUnit.parkingType) = "ParallelParking"
     }

     hasSpace(myParkingLot, myParkingUnit) = TRUE     
     (getObjectProperty(ParkingUnit.numberOf)*0.3 - getObjectNumber(myParkingUnit2)) <= getObjectNumber(myParkingUnit)
}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항 3호

Check(ERPA_6_4_3){

     KS

}



KS{

     getSpaceUsage(ParkingLotSubsidiaryFacility) = "GasStation"

}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항
Check(ERPA_6_1){
KS
}

KS{
getResult(ERPA_6_1_2)=True
getResult(ERPA_6_1_3)=True
getResult(ERPA_6_1_4)=True
getResult(ERPA_6_1_5)=True
getResult(ERPA_6_1_6)=True
getResult(ERPA_6_1_7)=True
getResult(ERPA_6_1_12)=True
getResult(ERPA_6_1_14)=True

}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호 Check(ERPA_6_1_3){ IF CS THEN KS } CS{ isObjectProperty(ParkingLot.isOffStreetParking)=True } KS{ isExist(ParkingLot.Driveway)=True getResult(ERPA_6_1_3_가)=True getResult(ERPA_6_1_3_나)=True }


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호 가목

Check(ERPA_6_1_3_가){

KS

}





KS{

isAdjacent(ParkingLotAreaMark.Edge, ParkingLot.Driveway)=True

}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호 나목
Check(ERPA_6_1_3_나){
KS
}

KS{
getResult(ERPA_6_1_3_나_1)=True
getResult(ERPA_6_1_3_나_2)=True
}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 4호 Check(ERPA_6_1_4){ KS1 AND IF CS THEN KS2 } KS1{      ParkingLot myParkingLot{      isObjectProperty(ParkingLot.isOffStreetParking)=TRUE      }      getObjectProperty(myParkingLot.Opening.width) >= 3.5m } CS{      getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50 } KS2{      Opening myOpening1{      isObjectProperty(Opening.isExit)=TRUE      }      Opening myOpening2{      isObjectProperty(Opening.isEntrance)=TRUE      }      myOpening1 != myOpening2      isExist(myOpening1)=TRUE      isExist(myOpening2)=TRUE      OR getObjectProperty(Opening.width) >= 5.5m }


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호
Check(ERPA_6_1_5){
KS
}

KS{
     getResult(ERPA_6_1_3)=TRUE
     getResult(ERPA_6_1_5_가)=TRUE
     getResult(ERPA_6_1_5_나)=TRUE
     getResult(ERPA_6_1_5_다)=TRUE
     getResult(ERPA_6_1_5_라)=TRUE
     getResult(ERPA_6_1_5_바)=TRUE
}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호 가목
Check(ERPA_6_1_5_가){
KS
}

KS{
     getObjectHeight(ParkingLot.Driveway) >= 2.3m
}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호 나목
Check(ERPA_6_1_5_나){
KS1 AND IF CS THEN KS2
}

KS1{
     
}
CS{

}
KS2{

}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호 다목
Check(ERPA_6_1_5_다){
KS AND IF (CS1 THEN KS1 ELSE KS2) OR (CS2 THEN KS3 ELSE KS4)
}

KS{
     Wall myWall{
          hasObject(Ramp,Wall)=TRUE
     }
     hasObject(Ramp, ParkingLot.Driveway)=TRUE
     getElementDistance(myWall.Surface,      Curb, a) >= 30cm
     10cm =< getObjectProperty(Curb.height) < 15cm
}

CS1{
     getObjectProperty(ParkingLot.Driveway.shapeType) = "LinearType"
     getObjectProperty(ParkingLot.Driveway.numberOfLane) >= 2

}
KS1{
     getOjbectProperty(ParkingLot.Driveway.width) >= 6m
}
KS2{
     getOjbectProperty(ParkingLot.Driveway.width) >= 3.3m
}

CS2{
     getObjectProperty(ParkingLot.Driveway.shapeType) = "CurvedType"
     getObjectProperty(ParkingLot.Driveway.numberOfLane) >= 2

}
KS1{
     getOjbectProperty(ParkingLot.Driveway.width) >= 6.5m
}
KS2{
     getOjbectProperty(ParkingLot.Driveway.width) >= 3.6m
}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호 라목
Check(ERPA_6_1_5_라){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

CS1{
     getObjectProperty(ParkingLot.Driveway.shapeType) = "LinearType"
}
KS1{
     getObjectProperty(ParkingLot.Driveway.gradient) < 17%
}
CS2{
     getObjectProperty(ParkingLot.Driveway.shapeType) = "CurvedType"
}
KS2{
     getObjectProperty(ParkingLot.Driveway.gradient) < 14%
}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호 바목 Check(ERPA_6_1_5_바){ IF CS THEN (KS1 OR KS2) } CS{      getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50      hasObject(Ramp, ParkingLot.Driveway.)=TRUE } KS1{      getObjectProperty(ParkingLot.Driveway.width) >= 6m      getObjectProperty(ParkingLot.Driveway.numberOfLane) >= 2 } KS2{      Opening myOpening1{      isObjectProperty(Opening.isExit)=TRUE      }      Opening myOpening2{      isObjectProperty(Opening.isEntrance)=TRUE      }      myOpening1 != myOpening2      hasObject(ParkingLot.Driveway., myOpening1)=TRUE      hasObject(ParkingLot.Driveway., myOpening2)=TRUE }


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 6호
Check(ERPA_6_1_6){
IF (!CS1 AND CS2) THEN (KS1 AND KS2)
}

CS1{
     Elevator myElevator{
     getObjectProperty(Elevator.usage) = "AutomobileElevator"
     }
     Opening myOpening1{
     isObjectProperty(Elevator.Opening.isEntrance)=TRUE
     }
     Opening myOpening2{
     isObjectProperty(Elevator.Opening.isExit)=TRUE
     }
     myOpening1 != myOpening2
     isExist(myOpening1)=TRUE
     isExist(myOpening2)=TRUE
}
CS2{
     getObjectProperty(ParkingLot.operationType) = "DriveInParking"
     isObjectProperty(ParkingLot.isOffStreetParking)=TRUE
}

KS1{
     
}
KS2{
     getResult(ERPA_16-2_1)=TRUE
     getResult(ERPA_16-2_3)=TRUE
}



//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 7호
Check(ERPA_6_1_7){
KS
}

KS{
     isObjectProperty(ParkingLot.isOffStreetParking)=TRUE
     getObjectHeight(ParkingLotArea.Space) >= 2.1m
}


//     주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 10호

Check(ERPA_6_1_10){
KS
}

KS{
     ParkingLot myParkingLot{
          isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
     }
     isInstalled(AlarmSystem, myParkingLot) = TRUE
}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 12호
Check(ERPA_6_1_12){
IF CS THEN KS
}

CS{
          getObjectProperty(ParkingLot.buildingType)="BuildingType"
          getObjectProperty(ParkingLot.Floor.numberOf) >= 2
}
KS{
     getResult(ERPA_6_1_12_나)=TRUE
}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항

Check(ERPA_6_4){

     IF !CS THEN KS

}



CS{

     TFA = getFloorArea(ParkingLot)

     getTotalObjectArea(     ParkingLotSubsidiaryFacility) > TFA*0.2

}



KS{

     ParkingLot myParkingLot{

          isObjectProperty(ParkingLot.isOffStreetParking) = TRUE

     }



     SubsidiaryFacility mySubsidiaryFacility{

          getResult(ERPA_4_1) = TRUE

          OR getResult(ERPA_4_2) = TRUE

          OR getResult(ERPA_4_3) = TRUE

     }



     hasSpace(myParkingLot, mySubsidiaryFacility) = TRUE

}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항 1호

Check(ERPA_6_4_1){

     KS

}



KS{

     getSpaceUsage(ParkingLotSubsidiaryFacility) = "ControlOffice"

     OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "RestArea"

     OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "PublicToilet"

}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항 2호

Check(ERPA_6_4_2){

     KS

}



KS{

     getSpaceUsage(ParkingLotSubsidiaryFacility) = "SnackBar"

     OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "CarOrnamentationShop"

     OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "ElectricVehicleChargingStation"

}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항 4호
Check(ERPA_6_4_4){
     KS
}


KS{
getResult(Unimplemented_LGMO)
}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 5항

Check(ERPA_6_5){

     IF CS THEN KS

}



CS{

     ParkingLot myParkingLot{

          isObjectProperty(ParkingLot.isOffStreetParking) = TRUE

          getResult(PLA_20_2) = TRUE

          OR getResult(PLA_20_3) = TRUE

     }



     hasSpace(myParkingLot,SubsidiaryFacility) = TRUE

     getTotalFloorArea(myParkingLot.facilityArea)

}



KS{

     getFloorArea(ParkingLotSubsidiaryFacility) <= getTotalObjectArea(ParkingLot)*0.4

}


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 6항 Check(ERPA_6_6){      IF CS THEN KS } ParkingLot myParkingLot{      isObjectProperty(ParkingLot.isOffStreetParking) = TRUE } Building myBuilding{ Building.usage = "UrbanGunPlanningFacility" getResult(LPUA_2_0_7) = TRUE hasSpace(myParkingLot, Building) = TRUE getSpaceUsage(Building) = getSpaceUsage(SubsidiaryFacility) } Building myBuilding1{ Building.usage = "UrbanGunPlanningFacility" } CS{      getObjectNumber(myBuilding) >= 2 } KS{      (getFloorArea(myBuilding1)- getFloorArea(myBuilding)) <= (getTotalObjectArea(ParkingLot) + getTotalObjectArea(SubsidiaryFacility))*0.4 }


//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호 나목
Check(ERPA_6_1_3_나){
IF CS THEN KS
}

CS{
getSpaceUsage()="ParkingLot"
getObjectProperty(ParkingLot.parkingUseType)="TwowheeledVehicle"
}

KS{
IF      getObjectProperty(ParkingUnit.parkingType)="ParallelParking"
IF getObjectCount(Opening)>=2
THEN ParkingLot.Driveway.width>=2.25 m
ELSE IF getObjectCount(Opening)=1
THEN ParkingLot.Driveway.width>=3.5 m
END IF
ELSE IF getObjectProperty(ParkingUnit.parkingType)="RightAngleParking"
IF getObjectCount(Opening)>=2
THEN ParkingLot.Driveway.width>=4.0 m
ELSE IF getObjectCount(Opening)=1
THEN ParkingLot.Driveway.width>=4.0 m
END IF
ELSE IF getObjectProperty(ParkingUnit.parkingType)="45AngleParking"
IF getObjectCount(Opening)>=2
THEN ParkingLot.Driveway.width>=2.3 m
ELSE IF getObjectCount(Opening)=1
THEN ParkingLot.Driveway.width>=3.5 m
END IF
END IF
}



//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호 나목 Check(ERPA_6_1_3_나){ IF CS THEN KS } CS{ getSpaceUsage()="ParkingLot" isObjectProperty(ParkingLot.isOffStreetParking)=True getObjectProperty(ParkingLot.parkingUseType)!="TwowheeledVehicle" } KS{ IF      getObjectProperty(ParkingUnit.parkingType)="ParallelParking" IF getObjectCount(Opening)>=2 THEN ParkingLot.Driveway.width>=3.3 m ELSE IF getObjectCount(Opening)=1 THEN ParkingLot.Driveway.width>=5.0 m END IF ELSE IF getObjectProperty(ParkingUnit.parkingType)="RightAngleParking" IF getObjectCount(Opening)>=2 THEN ParkingLot.Driveway.width>=6.0 m ELSE IF getObjectCount(Opening)=1 THEN ParkingLot.Driveway.width>=6.0 m END IF ELSE IF getObjectProperty(ParkingUnit.parkingType)="60AngleParking" IF getObjectCount(Opening)>=2 THEN ParkingLot.Driveway.width>=4.5 m ELSE IF getObjectCount(Opening)=1 THEN ParkingLot.Driveway.width>=5.5 m END IF ELSE IF getObjectProperty(ParkingUnit.parkingType)="45AngleParking" IF getObjectCount(Opening)>=2 THEN ParkingLot.Driveway.width>=3.5 m ELSE IF getObjectCount(Opening)=1 THEN ParkingLot.Driveway.width>=5.0 m END IF getObjectProperty(ParkingUnit.parkingType)="CrossParking" IF getObjectCount(Opening)>=2 THEN ParkingLot.Driveway.width>=3.5 m ELSE IF getObjectCount(Opening)=1 THEN ParkingLot.Driveway.width>=5.0 m END IF END IF }




21
국토의 계획 및 이용에 관한 법률 제 37 조
① 국토교통부장관, 시·도지사 또는 대도시 시장은 다음 각 호의 어느 하나에 해당하는 용도지구의 지정 또는 변경을 도시·군관리계획으로 결정한다. <개정 2011.4.14, 2013.3.23, 2017.4.18>
1. 경관지구: 경관의 보전·관리 및 형성을 위하여 필요한 지구
5. 보호지구: 문화재, 중요 시설물(항만, 공항 등 대통령령으로 정하는 시설물을 말한다) 및 문화적·생태적으로 보존가치가 큰 지역의 보호와 보존을 위하여 필요한 지구
6. 취락지구: 녹지지역·관리지역·농림지역·자연환경보전지역·개발제한구역 또는 도시자연공원구역의 취락을 정비하기 위한 지구
7. 개발진흥지구: 주거기능·상업기능·공업기능·유통물류기능·관광기능·휴양기능 등을 집중적으로 개발·정비할 필요가 있는 지구
⑤ 시·도지사 또는 대도시 시장은 대통령령으로 정하는 주거지역·공업지역·관리지역에 복합용도지구를 지정할 수 있으며, 그 지정기준 및 방법 등에 필요한 사항은 대통령령으로 정한다. <신설 2017.4.18>
제37조(용도지구의 지정)
① 국토해양부장관, 시·도지사 또는 대도시 시장은 다음 각 호의 어느 하나에 해당하는 용도지구의 지정 또는 변경을 도시·군관리계획으로 결정한다. <개정 2011.4.14>
② 국토해양부장관, 시·도지사 또는 대도시 시장은 필요하다고 인정되면 대통령령으로 정하는 바에 따라 제1항 각 호의 용도지구를 도시·군관리계획결정으로 다시 세분하여 지정하거나 변경할 수 있다. <개정 2011.4.14>
③ 시·도지사 또는 대도시 시장은 지역여건상 필요하면 대통령령으로 정하는 기준에 따라 그 시·도 또는 대도시의 조례로 용도지구의 명칭 및 지정목적, 건축이나 그 밖의 행위의 금지 및 제한에 관한 사항 등을 정하여 제1항 각 호의 용도지구 외의 용도지구의 지정 또는 변경을 도시·군관리계획으로 결정할 수 있다. <개정 2011.4.14>
제37조 (용도지구의 지정)
①국토해양부장관, 시·도지사 또는 대도시 시장은 다음 각호의 어느 하나의 용도지구의 지정 또는 변경을 도시관리계획으로 결정한다. <개정 2005.3.31, 2008.2.29, 2008.3.28>
1. 경관지구 : 경관을 보호·형성하기 위하여 필요한 지구
2. 미관지구 : 미관을 유지하기 위하여 필요한 지구
3. 고도지구 : 쾌적한 환경조성 및 토지의 고도이용과 그 증진을 위하여 건축물의 높이의 최저한도 또는 최고한도를 규제할 필요가 있는 지구
4. 방화지구 : 화재의 위험을 예방하기 위하여 필요한 지구
5. 방재지구 : 풍수해, 산사태, 지반의 붕괴 그 밖의 재해를 예방하기 위하여 필요한 지구
6. 보존지구 : 문화재, 중요 시설물 및 문화적·생태적으로 보존가치가 큰 지역의 보호와 보존을 위하여 필요한 지구
7. 시설보호지구 : 학교시설·공용시설·항만 또는 공항의 보호, 업무기능의 효율화, 항공기의 안전운항 등을 위하여 필요한 지구
8. 취락지구 : 녹지지역·관리지역·농림지역·자연환경보전지역·개발제한구역 또는 도시자연공원구역안의 취락을 정비하기 위한 지구
9. 개발진흥지구 : 주거기능·상업기능·공업기능·유통물류기능·관광기능·휴양기능 등을 집중적으로 개발·정비할 필요가 있는 지구
10. 특정용도제한지구 : 주거기능 보호 또는 청소년 보호 등의 목적으로 청소년 유해시설 등 특정시설의 입지를 제한할 필요가 있는 지구
11. 그 밖에 대통령령이 정하는 지구
②국토해양부장관, 시·도지사 또는 대도시 시장은 필요하다고 인정되는 때에는 대통령령이 정하는 바에 따라 제1항 각호의 용도지구를 도시관리계획결정으로 다시 세분하여 지정하거나 이를 변경할 수 있다. <개정 2008.2.29, 2008.3.28>
③시·도지사 또는 대도시 시장은 지역여건상 필요한 때에는 대통령령이 정하는 기준에 따라 당해 시·도 또는 대도시의 조례로 용도지구의 명칭 및 지정목적과 건축 그 밖의 행위의 금지 및 제한에 관한 사항 등을 정하여 제1항 각호의 용도지구외의 용도지구의 지정 또는 변경을 도시관리계획으로 결정할 수 있다. <개정 2008.3.28>
① 국토해양부장관, 시·도지사 또는 대도시 시장은 다음 각 호의 어느 하나에 해당하는 용도지구의 지정 또는 변경을 도시관리계획으로 결정한다.
1. 경관지구: 경관을 보호·형성하기 위하여 필요한 지구
2. 미관지구: 미관을 유지하기 위하여 필요한 지구
3. 고도지구: 쾌적한 환경 조성 및 토지의 효율적 이용을 위하여 건축물 높이의 최저한도 또는 최고한도를 규제할 필요가 있는 지구
4. 방화지구: 화재의 위험을 예방하기 위하여 필요한 지구
5. 방재지구: 풍수해, 산사태, 지반의 붕괴, 그 밖의 재해를 예방하기 위하여 필요한 지구
6. 보존지구: 문화재, 중요 시설물 및 문화적·생태적으로 보존가치가 큰 지역의 보호와 보존을 위하여 필요한 지구
7. 시설보호지구: 학교시설·공용시설·항만 또는 공항의 보호, 업무기능의 효율화, 항공기의 안전운항 등을 위하여 필요한 지구
8. 취락지구: 녹지지역·관리지역·농림지역·자연환경보전지역·개발제한구역 또는 도시자연공원구역의 취락을 정비하기 위한 지구
9. 개발진흥지구: 주거기능·상업기능·공업기능·유통물류기능·관광기능·휴양기능 등을 집중적으로 개발·정비할 필요가 있는 지구
10. 특정용도제한지구: 주거기능 보호나 청소년 보호 등의 목적으로 청소년 유해시설 등 특정시설의 입지를 제한할 필요가 있는 지구
11. 그 밖에 대통령령으로 정하는 지구
② 국토해양부장관, 시·도지사 또는 대도시 시장은 필요하다고 인정되면 대통령령으로 정하는 바에 따라 제1항 각 호의 용도지구를 도시관리계획 결정으로 다시 세분하여 지정하거나 변경할 수 있다.
③ 시·도지사 또는 대도시 시장은 지역여건상 필요하면 대통령령으로 정하는 기준에 따라 그 시·도 또는 대도시의 조례로 용도지구의 명칭 및 지정목적, 건축이나 그 밖의 행위의 금지 및 제한에 관한 사항 등을 정하여 제1항 각 호의 용도지구 외의 용도지구의 지정 또는 변경을 도시관리계획으로 결정할 수 있다.
① 국토교통부장관, 시ㆍ도지사 또는 대도시 시장은 다음 각 호의 어느 하나에 해당하는 용도지구의 지정 또는 변경을 도시ㆍ군관리계획으로 결정한다. <개정 2011.4.14, 2013.3.23, 2017.4.18>
1. 경관지구: 경관의 보전ㆍ관리 및 형성을 위하여 필요한 지구
2. 고도지구: 쾌적한 환경 조성 및 토지의 효율적 이용을 위하여 건축물 높이의 최고한도를 규제할 필요가 있는 지구
3. 방화지구: 화재의 위험을 예방하기 위하여 필요한 지구
4. 방재지구: 풍수해, 산사태, 지반의 붕괴, 그 밖의 재해를 예방하기 위하여 필요한 지구
5. 보호지구: 문화재, 중요 시설물(항만, 공항 등 대통령령으로 정하는 시설물을 말한다) 및 문화적ㆍ생태적으로 보존가치가 큰 지역의 보호와 보존을 위하여 필요한 지구
6. 취락지구: 녹지지역ㆍ관리지역ㆍ농림지역ㆍ자연환경보전지역ㆍ개발제한구역 또는 도시자연공원구역의 취락을 정비하기 위한 지구
7. 개발진흥지구: 주거기능ㆍ상업기능ㆍ공업기능ㆍ유통물류기능ㆍ관광기능ㆍ휴양기능 등을 집중적으로 개발ㆍ정비할 필요가 있는 지구
8. 특정용도제한지구: 주거 및 교육 환경 보호나 청소년 보호 등의 목적으로 오염물질 배출시설, 청소년 유해시설 등 특정시설의 입지를 제한할 필요가 있는 지구
9. 복합용도지구: 지역의 토지이용 상황, 개발 수요 및 주변 여건 등을 고려하여 효율적이고 복합적인 토지이용을 도모하기 위하여 특정시설의 입지를 완화할 필요가 있는 지구
10. 그 밖에 대통령령으로 정하는 지구
② 국토교통부장관, 시ㆍ도지사 또는 대도시 시장은 필요하다고 인정되면 대통령령으로 정하는 바에 따라 제1항 각 호의 용도지구를 도시ㆍ군관리계획결정으로 다시 세분하여 지정하거나 변경할 수 있다. <개정 2011.4.14, 2013.3.23>
③ 시ㆍ도지사 또는 대도시 시장은 지역여건상 필요하면 대통령령으로 정하는 기준에 따라 그 시ㆍ도 또는 대도시의 조례로 용도지구의 명칭 및 지정목적, 건축이나 그 밖의 행위의 금지 및 제한에 관한 사항 등을 정하여 제1항 각 호의 용도지구 외의 용도지구의 지정 또는 변경을 도시ㆍ군관리계획으로 결정할 수 있다. <개정 2011.4.14>
④ 시ㆍ도지사 또는 대도시 시장은 연안침식이 진행 중이거나 우려되는 지역 등 대통령령으로 정하는 지역에 대해서는 제1항제5호의 방재지구의 지정 또는 변경을 도시ㆍ군관리계획으로 결정하여야 한다. 이 경우 도시ㆍ군관리계획의 내용에는 해당 방재지구의 재해저감대책을 포함하여야 한다. <신설 2013.7.16>
⑤ 시ㆍ도지사 또는 대도시 시장은 대통령령으로 정하는 주거지역ㆍ공업지역ㆍ관리지역에 복합용도지구를 지정할 수 있으며, 그 지정기준 및 방법 등에 필요한 사항은 대통령령으로 정한다. <신설 2017.4.18>
④ 시·도지사 또는 대도시 시장은 연안침식이 진행 중이거나 우려되는 지역 등 대통령령으로 정하는 지역에 대해서는 제1항제5호의 방재지구의 지정 또는 변경을 도시·군관리계획으로 결정하여야 한다. 이 경우 도시·군관리계획의 내용에는 해당 방재지구의 재해저감대책을 포함하여야 한다. <신설 2013.7.16>



//     국토의 계획 및 이용에 관한 법률 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"
}




22
국토의 계획 및 이용에 관한 법률 제 77 조
① 제36조에 따라 지정된 용도지역에서 건폐율의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 정한다. <개정 2011.4.14, 2013.7.16, 2015.8.11>
③ 다음 각 호의 어느 하나에 해당하는 지역에서의 건폐율에 관한 기준은 제1항과 제2항에도 불구하고 80퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 따로 정한다. <개정 2011.4.14, 2011.8.4, 2015.8.11, 2017.4.18>
⑤ 계획관리지역·생산관리지역 및 대통령령으로 정하는 녹지지역에서 성장관리방안을 수립한 경우에는 제1항에도 불구하고 50퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 건폐율을 따로 정할 수 있다. <신설 2015.8.11>
제77조(용도지역의 건폐율) ① 제36조에 따라 지정된 용도지역에서 건폐율의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 정한다. <개정 2011.4.14., 2013.7.16.>
③ 다음 각 호의 어느 하나에 해당하는 지역에서의 건폐율에 관한 기준은 제1항과 제2항에도 불구하고 80퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 따로 정한다. <개정 2011.4.14., 2011.8.4.>
1. 도시지역
2. 관리지역
④ 다음 각 호의 어느 하나에 해당하는 경우로서 대통령령으로 정하는 경우에는 제1항에도 불구하고 대통령령으로 정하는 기준에 따라 특별시·광역시·시 또는 군의 조례로 건폐율을 따로 정할 수 있다. <개정 2011.9.16>
3. 녹지지역, 보전관리지역, 생산관리지역, 농림지역 또는 자연환경보전지역에서 농업용·임업용·어업용 건축물을 건축하려는 경우
4. 보전관리지역, 생산관리지역, 농림지역 또는 자연환경보전지역에서 주민생활의 편익을 증진시키기 위한 건축물을 건축하려는 경우
제77조(용도지역의 건폐율)
① 제36조에 따라 지정된 용도지역에서 건폐율의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·시 또는 군의 조례로 정한다.
가. 주거지역: 70퍼센트 이하
나. 상업지역: 90퍼센트 이하
다. 공업지역: 70퍼센트 이하
라. 녹지지역: 20퍼센트 이하
가. 보전관리지역: 20퍼센트 이하
나. 생산관리지역: 20퍼센트 이하
다. 계획관리지역: 40퍼센트 이하
3. 농림지역: 20퍼센트 이하
4. 자연환경보전지역: 20퍼센트 이하
② 제36조제2항에 따라 세분된 용도지역에서의 건폐율에 관한 기준은 제1항 각 호의 범위에서 대통령령으로 따로 정한다.
③ 다음 각 호의 어느 하나에 해당하는 지역에서의 건폐율에 관한 기준은 제1항과 제2항에도 불구하고 80퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·시 또는 군의 조례로 따로 정한다. <개정 2011.8.4>
1. 제37조제1항제8호에 따른 취락지구
2. 제37조제1항제9호에 따른 개발진흥지구(도시지역 외의 지역만 해당한다)
3. 제40조에 따른 수산자원보호구역
4. 「자연공원법」에 따른 자연공원
5. 「산업입지 및 개발에 관한 법률」 제2조제8호라목에 따른 농공단지
6. 공업지역에 있는 「산업입지 및 개발에 관한 법률」 제2조제8호가목부터 다목까지의 규정에 따른 국가산업단지, 일반산업단지 및 도시첨단산업단지와 같은 조 제12호에 따른 준산업단지
④ 다음 각 호의 어느 하나에 해당하는 경우로서 대통령령으로 정하는 경우에는 제1항에도 불구하고 대통령령으로 정하는 기준에 따라 특별시·광역시·시 또는 군의 조례로 건폐율을 따로 정할 수 있다.
1. 토지이용의 과밀화를 방지하기 위하여 건폐율을 강화할 필요가 있는 경우
2. 주변 여건을 고려하여 토지의 이용도를 높이기 위하여 건폐율을 완화할 필요가 있는 경우
3. 보전관리지역, 생산관리지역, 농림지역 또는 자연환경보전지역에서 농업·임업·어업용이나 주민생활의 편익을 증진시키기 위한 건축물을 건축하려는 경우
① 제36조에 따라 지정된 용도지역에서 건폐율의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 조례로 정한다. <개정 2011.4.14, 2013.7.16, 2015.8.11>
③ 다음 각 호의 어느 하나에 해당하는 지역에서의 건폐율에 관한 기준은 제1항과 제2항에도 불구하고 80퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 조례로 따로 정한다. <개정 2011.4.14, 2011.8.4, 2015.8.11, 2017.4.18>
1. 제37조제1항제6호에 따른 취락지구
2. 제37조제1항제7호에 따른 개발진흥지구(도시지역 외의 지역 또는 대통령령으로 정하는 용도지역만 해당한다)
④ 다음 각 호의 어느 하나에 해당하는 경우로서 대통령령으로 정하는 경우에는 제1항에도 불구하고 대통령령으로 정하는 기준에 따라 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 조례로 건폐율을 따로 정할 수 있다. <개정 2011.4.14, 2011.9.16>
3. 녹지지역, 보전관리지역, 생산관리지역, 농림지역 또는 자연환경보전지역에서 농업용ㆍ임업용ㆍ어업용 건축물을 건축하려는 경우
⑤ 계획관리지역ㆍ생산관리지역 및 대통령령으로 정하는 녹지지역에서 성장관리방안을 수립한 경우에는 제1항에도 불구하고 50퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 조례로 건폐율을 따로 정할 수 있다. <신설 2015.8.11>
① 제36조에 따라 지정된 용도지역에서 건폐율의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 정한다. <개정 2011.4.14, 2013.7.16>



//국토의 계획 및 이용에 관한 법률 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항 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항 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"

}





//국토의 계획 및 이용에 관한 법률 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조 (용도지역의 건폐율) 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조 (용도지역의 건폐율) 1항 1호
Check(LPUA_77_1_1){
     KS
}

KS{
     getObjectProperty(SpecialPurposeArea.type) = "UrbanArea"
}


//국토의 계획 및 이용에 관한 법률 77조 (용도지역의 건폐율) 1항 1호
Check(LPUA_77_1_2){
     KS
}

KS{
     getObjectProperty(SpecialPurposeArea.type) = "ControlArea"
}




23
국토의 계획 및 이용에 관한 법률 제 78 조
제78조(용도지역에서의 용적률) ① 제36조에 따라 지정된 용도지역에서 용적률의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 정한다. <개정 2011.4.14., 2013.7.16.>
③ 제77조제3항제2호부터 제5호까지의 규정에 해당하는 지역에서의 용적률에 대한 기준은 제1항과 제2항에도 불구하고 200퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 따로 정한다. <개정 2011.4.14.>
제78조(용도지역에서의 용적률)
① 제36조에 따라 지정된 용도지역에서 용적률의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 정한다. <개정 2011.4.14>
③ 제77조제3항제2호부터 제5호까지의 규정에 해당하는 지역에서의 용적률에 대한 기준은 제1항과 제2항에도 불구하고 200퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 따로 정한다. <개정 2011.4.14>
④ 건축물의 주위에 공원·광장·도로·하천 등의 공지가 있거나 이를 설치하는 경우에는 제1항에도 불구하고 대통령령으로 정하는 바에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 용적률을 따로 정할 수 있다. <개정 2011.4.14>
⑤ 제1항과 제4항에도 불구하고 제36조에 따른 도시지역(녹지지역만 해당한다), 관리지역에서는 창고 등 대통령령으로 정하는 용도의 건축물 또는 시설물은 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 정하는 높이로 규모 등을 제한할 수 있다. <개정 2011.4.14>
제78조 (용도지역에서의 용적률)
① 제36조에 따라 지정된 용도지역에서 용적률의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·시 또는 군의 조례로 정한다.
1. 도시지역
가. 주거지역: 500퍼센트 이하
나. 상업지역: 1천500퍼센트 이하
다. 공업지역: 400퍼센트 이하
라. 녹지지역: 100퍼센트 이하
2. 관리지역
가. 보전관리지역: 80퍼센트 이하
나. 생산관리지역: 80퍼센트 이하
다. 계획관리지역: 100퍼센트 이하
3. 농림지역: 80퍼센트 이하
4. 자연환경보전지역: 80퍼센트 이하
② 제36조제2항에 따라 세분된 용도지역에서의 용적률에 관한 기준은 제1항 각 호의 범위에서 대통령령으로 따로 정한다.
③ 제77조제3항제2호부터 제5호까지의 규정에 해당하는 지역에서의 용적률에 대한 기준은 제1항과 제2항에도 불구하고 200퍼센트 이하의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·시 또는 군의 조례로 따로 정한다.
④ 건축물의 주위에 공원·광장·도로·하천 등의 공지가 있거나 이를 설치하는 경우에는 제1항에도 불구하고 대통령령으로 정하는 바에 따라 특별시·광역시·시 또는 군의 조례로 용적률을 따로 정할 수 있다.
⑤ 제1항과 제4항에도 불구하고 제36조에 따른 도시지역(녹지지역만 해당한다), 관리지역에서는 창고 등 대통령령으로 정하는 용도의 건축물 또는 시설물은 특별시·광역시·시 또는 군의 조례로 정하는 높이로 규모 등을 제한할 수 있다.
① 제36조에 따라 지정된 용도지역에서 용적률의 최대한도는 관할 구역의 면적과 인구 규모, 용도지역의 특성 등을 고려하여 다음 각 호의 범위에서 대통령령으로 정하는 기준에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 조례로 정한다. <개정 2011.4.14, 2013.7.16>
⑥ 제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




24
국토의 계획 및 이용에 관한 법률 시행령 제 46 조
④지구단위계획구역에서는 법 제52조제3항의 규정에 의하여 도시ㆍ군계획조례의 규정에 불구하고 지구단위계획으로 제84조에 규정된 범위안에서 건폐율을 완화하여 적용할 수 있다. <개정 2012.4.10.>
⑩제1항 내지 제4항 및 제7항의 규정에 의하여 완화하여 적용되는 건폐율 및 용적률은 당해 용도지역 또는 용도지구에 적용되는 건폐율의 150퍼센트 및 용적률의 200퍼센트를 각각 초과할 수 없다. <개정 2004.1.20.>
①지구단위계획구역(도시지역 내에 지정하는 경우로 한정한다. 이하 이 조에서 같다)에서 건축물을 건축하려는 자가 그 대지의 일부를 공공시설등의 부지로 제공하거나 공공시설등을 설치하여 제공하는 경우[지구단위계획구역 밖의 「하수도법」 제2조제14호에 따른 배수구역에 공공하수처리시설을 설치하여 제공하는 경우(지구단위계획구역에 다른 공공시설 및 기반시설이 충분히 설치되어 있는 경우로 한정한다)를 포함한다]에는 법 제52조제3항에 따라 그 건축물에 대하여 지구단위
②특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수는 지구단위계획구역에 있는 토지를 공공시설부지로 제공하고 보상을 받은 자 또는 그 포괄승계인이 그 보상금액에 국토교통부령이 정하는 이자를 더한 금액(이하 이 항에서 "반환금"이라 한다)을 반환하는 경우에는 당해 지방자치단체의 도시ㆍ군계획조례가 정하는 바에 따라 제1항제1호 각 목을 적용하여 당해 건축물에 대한 건폐율ㆍ용적률 및 높이제한을 완화할 수 있다. 이 경우 그 반환금은 기반시설의 확보에
②특별시장·광역시장·특별자치시장·특별자치도지사·시장 또는 군수는 지구단위계획구역에 있는 토지를 공공시설부지로 제공하고 보상을 받은 자 또는 그 포괄승계인이 그 보상금액에 국토해양부령이 정하는 이자를 더한 금액(이하 이 항에서 "반환금"이라 한다)을 반환하는 경우에는 당해 지방자치단체의 도시·군계획조례가 정하는 바에 따라 제1항제1호 각 목을 적용하여 당해 건축물에 대한 건폐율·용적률 및 높이제한을 완화할 수 있다. 이 경우 그 반환금은 기반시설의 확보에 사용하여야 한다. <신설 2004.1.20, 2005.9.8, 2008.2.29, 2012.4.10>
③지구단위계획구역에서 건축물을 건축하고자 하는 자가 「건축법」 제43조제1항에 따른 공개공지 또는 공개공간을 같은 항에 따른 의무면적을 초과하여 설치한 경우에는 법 제52조제3항에 따라 당해 건축물에 대하여 지구단위계획으로 다음 각 호의 비율까지 용적률 및 높이제한을 완화하여 적용할 수 있다. <개정 2005.9.8, 2008.9.25, 2012.4.10>
④지구단위계획구역에서는 법 제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>
2. 차 없는 거리를 조성하고자 하는 경우(지구단위계획으로 보행자전용도로를 지정하거나 차량의 출입을 금지한 경우를 포함한다)
⑦다음 각호의 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항제1호 각 목을 적용하여 당해 건축물에 대한 건폐율·용적률 및 높이제한을 완화할 수 있다. 이 경우 그 반환금은 기반시설의 확보에 사용하여야 한다. <신설 2004.1.20, 2005.9.8, 2008.2.29, 2012.4.10, 2013.3.23>
⑥지구단위계획구역의 지정목적이 다음 각호의 1에 해당하는 경우에는 법 제52조제3항의 규정에 의하여 지구단위계획으로 「주차장법」 제19조제3항의 규정에 의한 주차장 설치기준을 100퍼센트까지 완화하여 적용할 수 있다. <개정 2005.9.8, 2008.2.29, 2012.4.10, 2013.3.23>
3. 그 밖에 국토교통부령이 정하는 경우
제46조(도시지역 내 지구단위계획구역에서의 건폐율 등의 완화적용)
①지구단위계획구역(도시지역 내에 지정하는 경우로 한정한다. 이하 이 조에서 같다)에서 건축물을 건축하려는 자가 그 대지의 일부를 공공시설 또는 기반시설 중 학교와 해당 시·도 또는 대도시의 도시·군계획조례로 정하는 기반시설(이하 이 항에서 "공공시설등"이라 한다)의 부지로 제공하거나 공공시설등을 설치하여 제공하는 경우[지구단위계획구역 밖의 「하수도법」 제2조제14호에 따른 배수구역에 공공하수처리시설을 설치하여 제공하는 경우(지구단위계획구역에 다른 기반시설이 충분히 설치되어 있는 경우로 한정한다)를 포함한다]에는 법 제52조제3항에 따라 그 건축물에 대하여 지구단위계획으로 다음 각 호의 구분에 따라 건폐율·용적률 및 높이제한을 완화하여 적용할 수 있다. <개정 2005.9.8, 2006.3.23, 2008.9.25, 2011.3.9, 2012.1.6, 2012.4.10>
1. 공공시설등의 부지를 제공하는 경우에는 다음 각 목의 비율까지 건폐율·용적률 및 높이제한을 완화하여 적용할 수 있다. 다만, 지구단위계획구역 안의 일부 토지를 공공시설등의 부지로 제공하는 자가 해당 지구단위계획구역 안의 다른 대지에서 건축물을 건축하는 경우에는 나목의 비율까지 그 용적률을 완화하여 적용할 수 있다.
2. 공공시설등을 설치하여 제공(그 부지의 제공은 제외한다)하는 경우에는 공공시설등을 설치하는 데에 드는 비용에 상응하는 가액(價額)의 부지를 제공한 것으로 보아 제1호에 따른 비율까지 건폐율·용적률 및 높이제한을 완화하여 적용할 수 있다. 이 경우 공공시설등 설치비용 및 이에 상응하는 부지 가액의 산정 방법 등은 시·도 또는 대도시의 도시·군계획조례로 정한다.
⑨제1항제1호나목(제2항에 따라 적용되는 경우를 포함한다), 제3항제1호 및 제7항은 다음 각 호의 어느 하나에 해당하는 경우에는 적용하지 아니한다. <개정 2004.1.20, 2011.7.1>
①제1종지구단위계획구역 안에서 건축물을 건축하려는 자가 그 대지의 일부를 공공시설 또는 기반시설 중 학교와 해당 시·도 또는 대도시의 도시계획조례로 정하는 기반시설(이하 이 항에서 "공공시설등"이라 한다)의 부지로 제공하거나 공공시설등을 설치하여 제공하는 경우[제1종지구단위계획구역 밖의 「하수도법」 제2조제14호에 따른 배수구역에 공공하수처리시설을 설치하여 제공하는 경우(제1종지구단위계획구역에 다른 기반시설이 충분히 설치되어 있는 경우로 한정한다)를 포함한다]에는 법 제52조제3항에 따라 그 건축물에 대하여 제1종지구단위계획으로 다음 각 호의 구분에 따라 건폐율·용적률 및 높이제한을 완화하여 적용할 수 있다. <개정 2005.9.8, 2006.3.23, 2008.9.25, 2011.3.9, 2012.1.6>
①지구단위계획구역(도시지역 내에 지정하는 경우로 한정한다. 이하 이 조에서 같다)에서 건축물을 건축하려는 자가 그 대지의 일부를 공공시설등의 부지로 제공하거나 공공시설등을 설치하여 제공하는 경우[지구단위계획구역 밖의 「하수도법」 제2조제14호에 따른 배수구역에 공공하수처리시설을 설치하여 제공하는 경우(지구단위계획구역에 다른 공공시설 및 기반시설이 충분히 설치되어 있는 경우로 한정한다)를 포함한다]에는 법 제52조제3항에 따라 그 건축물에 대하여 지구단위계획으로 다음 각 호의 구분에 따라 건폐율ㆍ용적률 및 높이제한을 완화하여 적용할 수 있다. 이 경우 제공받은 공공시설등은 국유재산 또는 공유재산으로 관리한다. <개정 2005.9.8, 2006.3.23, 2008.9.25, 2011.3.9, 2012.1.6, 2012.4.10, 2019.3.19>
1. 공공시설등의 부지를 제공하는 경우에는 다음 각 목의 비율까지 건폐율ㆍ용적률 및 높이제한을 완화하여 적용할 수 있다. 다만, 지구단위계획구역 안의 일부 토지를 공공시설등의 부지로 제공하는 자가 해당 지구단위계획구역 안의 다른 대지에서 건축물을 건축하는 경우에는 나목의 비율까지 그 용적률을 완화하여 적용할 수 있다.
가. 완화할 수 있는 건폐율 = 해당 용도지역에 적용되는 건폐율 × [1 + 공공시설등의 부지로 제공하는 면적(공공시설등의 부지를 제공하는 자가 법 제65조제2항에 따라 용도가 폐지되는 공공시설을 무상으로 양수받은 경우에는 그 양수받은 부지면적을 빼고 산정한다. 이하 이 조에서 같다)÷ 원래의 대지면적] 이내
나. 완화할 수 있는 용적률 = 해당 용도지역에 적용되는 용적률 + [1.5 × (공공시설등의 부지로 제공하는 면적 × 공공시설등 제공 부지의 용적률)÷ 공공시설등의 부지 제공 후의 대지면적] 이내
다. 완화할 수 있는 높이 = 「건축법」 제60조에 따라 제한된 높이 × (1 + 공공시설등의 부지로 제공하는 면적÷ 원래의 대지면적) 이내
2. 공공시설등을 설치하여 제공(그 부지의 제공은 제외한다)하는 경우에는 공공시설등을 설치하는 데에 드는 비용에 상응하는 가액(價額)의 부지를 제공한 것으로 보아 제1호에 따른 비율까지 건폐율ㆍ용적률 및 높이제한을 완화하여 적용할 수 있다. 이 경우 공공시설등 설치비용 및 이에 상응하는 부지 가액의 산정 방법 등은 시ㆍ도 또는 대도시의 도시ㆍ군계획조례로 정한다.
3. 공공시설등을 설치하여 그 부지와 함께 제공하는 경우에는 제1호 및 제2호에 따라 완화할 수 있는 건폐율ㆍ용적률 및 높이를 합산한 비율까지 완화하여 적용할 수 있다.
②특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수는 지구단위계획구역에 있는 토지를 공공시설부지로 제공하고 보상을 받은 자 또는 그 포괄승계인이 그 보상금액에 국토교통부령이 정하는 이자를 더한 금액(이하 이 항에서 "반환금"이라 한다)을 반환하는 경우에는 당해 지방자치단체의 도시ㆍ군계획조례가 정하는 바에 따라 제1항제1호 각 목을 적용하여 당해 건축물에 대한 건폐율ㆍ용적률 및 높이제한을 완화할 수 있다. 이 경우 그 반환금은 기반시설의 확보에 사용하여야 한다. <신설 2004.1.20, 2005.9.8, 2008.2.29, 2012.4.10, 2013.3.23>
④지구단위계획구역에서는 법 제52조제3항의 규정에 의하여 도시ㆍ군계획조례의 규정에 불구하고 지구단위계획으로 제84조에 규정된 범위안에서 건폐율을 완화하여 적용할 수 있다. <개정 2012.4.10>
⑤지구단위계획구역에서는 법 제52조제3항의 규정에 의하여 지구단위계획으로 법 제76조의 규정에 의하여 제30조 각호의 용도지역안에서 건축할 수 있는 건축물(도시ㆍ군계획조례가 정하는 바에 의하여 건축할 수 있는 건축물의 경우 도시ㆍ군계획조례에서 허용되는 건축물에 한한다)의 용도ㆍ종류 및 규모 등의 범위안에서 이를 완화하여 적용할 수 있다. <개정 2012.4.10>
2. 다음 각목의 1에 해당하는 경우로서 특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수의 권고에 따라 공동개발을 하는 경우
다. 지구단위계획에 주차장ㆍ보행자통로 등을 공동으로 사용하도록 되어 있어 2필지 이상의 토지에 건축물을 동시에 건축할 필요가 있는 경우
1. 개발제한구역ㆍ시가화조정구역ㆍ녹지지역 또는 공원에서 해제되는 구역과 새로이 도시지역으로 편입되는 구역중 계획적인 개발 또는 관리가 필요한 지역인 경우
제46조(제1종지구단위계획구역 안에서의 건폐율 등의 완화적용)
①제1종지구단위계획구역 안에서 건축물을 건축하려는 자가 그 대지의 일부를 공공시설 또는 기반시설 중 학교와 해당 시·도 또는 대도시의 도시계획조례로 정하는 기반시설(이하 이 항에서 "공공시설등"이라 한다)의 부지로 제공하거나 공공시설등을 설치하여 제공하는 경우에는 법 제52조제3항에 따라 그 건축물에 대하여 제1종지구단위계획으로 다음 각 호의 구분에 따라 건폐율·용적률 및 높이제한을 완화하여 적용할 수 있다. <개정 2005.9.8, 2006.3.23, 2008.9.25, 2011.3.9>
1. 공공시설등의 부지를 제공하는 경우에는 다음 각 목의 비율까지 건폐율·용적률 및 높이제한을 완화하여 적용할 수 있다. 다만, 제1종 지구단위계획구역 안의 일부 토지를 공공시설등의 부지로 제공하는 자가 해당 지구단위계획구역 안의 다른 대지에서 건축물을 건축하는 경우에는 나목의 비율까지 그 용적률을 완화하여 적용할 수 있다.
가. 완화할 수 있는 건폐율 = 해당 용도지역에 적용되는 건폐율 × [1 + 공공시설등의 부지로 제공하는 면적(공공시설등의 부지를 제공하는 자가 법 제65조제2항에 따라 용도가 폐지되는 공공시설을 무상으로 양수받은 경우에는 그 양수받은 부지면적을 빼고 산정한다. 이하 이 조에서 같다) ÷ 원래의 대지면적] 이내
나. 완화할 수 있는 용적률 = 해당 용도지역에 적용되는 용적률 + [1.5 × (공공시설등의 부지로 제공하는 면적 × 공공시설등 제공 부지의 용적률) ÷ 공공시설등의 부지 제공 후의 대지면적] 이내
다. 완화할 수 있는 높이 = 「건축법」 제60조에 따라 제한된 높이 × (1 + 공공시설등의 부지로 제공하는 면적 ÷ 원래의 대지면적) 이내
2. 공공시설등을 설치하여 제공(그 부지의 제공은 제외한다)하는 경우에는 공공시설등을 설치하는 데에 드는 비용에 상응하는 가액(價額)의 부지를 제공한 것으로 보아 제1호에 따른 비율까지 건폐율·용적률 및 높이제한을 완화하여 적용할 수 있다. 이 경우 공공시설등 설치비용 및 이에 상응하는 부지 가액의 산정 방법 등은 시·도 또는 대도시의 도시계획조례로 정한다.
3. 공공시설등을 설치하여 그 부지와 함께 제공하는 경우에는 제1호 및 제2호에 따라 완화할 수 있는 건폐율·용적률 및 높이를 합산한 비율까지 완화하여 적용할 수 있다.
②특별시장·광역시장·시장 또는 군수는 제1종지구단위계획구역안에 있는 토지를 공공시설부지로 제공하고 보상을 받은 자 또는 그 포괄승계인이 그 보상금액에 국토해양부령이 정하는 이자를 더한 금액(이하 이 항에서 "반환금"이라 한다)을 반환하는 경우에는 당해 지방자치단체의 도시계획조례가 정하는 바에 따라 제1항 각 호의 규정을 적용하여 당해 건축물에 대한 건폐율·용적률 및 높이제한을 완화할 수 있다. 이 경우 그 반환금은 기반시설의 확보에 사용하여야 한다. <신설 2004.1.20, 2005.9.8, 2008.2.29>
③제1종지구단위계획구역안에서 건축물을 건축하고자 하는 자가 「건축법」 제43조제1항에 따른 공개공지 또는 공개공간을 같은 항에 따른 의무면적을 초과하여 설치한 경우에는 법 제52조제3항에 따라 당해 건축물에 대하여 제1종지구단위계획으로 다음 각 호의 비율까지 용적률 및 높이제한을 완화하여 적용할 수 있다. <개정 2005.9.8, 2008.9.25>
1. 완화할 수 있는 용적률 = 「건축법」 제43조제2항에 따라 완화된 용적률+(당해 용도지역에 적용되는 용적률×의무면적을 초과하는 공개공지 또는 공개공간의 면적의 절반÷대지면적) 이내
2. 완화할 수 있는 높이 = 「건축법」 제43조제2항에 따라 완화된 높이+(「건축법」 제60조에 따른 높이×의무면적을 초과하는 공개공지 또는 공개공간의 면적의 절반÷대지면적) 이내
④제1종지구단위계획구역안에서는 법 제52조제3항의 규정에 의하여 도시계획조례의 규정에 불구하고 제1종지구단위계획으로 제84조에 규정된 범위안에서 건폐율을 완화하여 적용할 수 있다.
⑤제1종지구단위계획구역안에서는 법 제52조제3항의 규정에 의하여 제1종지구단위계획으로 법 제76조의 규정에 의하여 제30조 각호의 용도지역안에서 건축할 수 있는 건축물(도시계획조례가 정하는 바에 의하여 건축할 수 있는 건축물의 경우 도시계획조례에서 허용되는 건축물에 한한다)의 용도·종류 및 규모 등의 범위안에서 이를 완화하여 적용할 수 있다.
⑥제1종지구단위계획구역의 지정목적이 다음 각호의 1에 해당하는 경우에는 법 제52조제3항의 규정에 의하여 제1종지구단위계획으로 「주차장법」 제19조제3항의 규정에 의한 주차장 설치기준을 100퍼센트까지 완화하여 적용할 수 있다. <개정 2005.9.8, 2008.2.29>
1. 한옥마을을 보존하고자 하는 경우
2. 차 없는 거리를 조성하고자 하는 경우(제1종지구단위계획으로 보행자전용도로를 지정하거나 차량의 출입을 금지한 경우를 포함한다)
3. 그 밖에 국토해양부령이 정하는 경우
⑦다음 각호의 1에 해당하는 경우에는 법 제52조제3항의 규정에 의하여 제1종지구단위계획으로 당해 용도지역에 적용되는 용적률의 120퍼센트 이내에서 용적률을 완화하여 적용할 수 있다.
1. 도시지역에 개발진흥지구를 지정하고 당해 지구를 제1종지구단위계획구역으로 지정한 경우
2. 다음 각목의 1에 해당하는 경우로서 특별시장·광역시장·시장 또는 군수의 권고에 따라 공동개발을 하는 경우
가. 제1종지구단위계획에 2필지 이상의 토지에 하나의 건축물을 건축하도록 되어 있는 경우
나. 제1종지구단위계획에 합벽건축을 하도록 되어 있는 경우
다. 제1종지구단위계획에 주차장·보행자통로 등을 공동으로 사용하도록 되어 있어 2필지 이상의 토지에 건축물을 동시에 건축할 필요가 있는 경우
⑧도시지역에 개발진흥지구를 지정하고 당해 지구를 제1종지구단위계획구역으로 지정한 경우에는 법 제52조제3항에 따라 제1종지구단위계획으로 「건축법」 제60조에 따라 제한된 건축물높이의 120퍼센트 이내에서 높이제한을 완화하여 적용할 수 있다. <개정 2005.9.8, 2008.9.25>
⑨제1항제2호(제2항의 규정에 의하여 적용되는 경우를 포함한다)·제3항제1호 및 제7항의 규정은 다음 각호의 1에 해당하는 경우에는 이를 적용하지 아니한다. <개정 2004.1.20>
1. 개발제한구역·시가화조정구역·녹지지역 또는 공원에서 해제되는 구역과 새로이 도시지역으로 편입되는 구역중 계획적인 개발 또는 관리가 필요한 지역인 경우
2. 기존의 용도지역 또는 용도지구가 용적률이 높은 용도지역 또는 용도지구로 변경되는 경우로서 기존의 용도지역 또는 용도지구의 용적률을 적용하지 아니하는 경우
⑩제1항 내지 제4항 및 제7항의 규정에 의하여 완화하여 적용되는 건폐율 및 용적률은 당해 용도지역 또는 용도지구에 적용되는 건폐율의 150퍼센트 및 용적률의 200퍼센트를 각각 초과할 수 없다. <개정 2004.1.20>



//국토의 계획 및 이용에 관한 법률 시행령 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))

}


//국토의 계획 및 이용에 관한 법률 시행령 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
}




25
국토의 계획 및 이용에 관한 법률 시행령 제 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>
제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>



//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%

}




26
국토의 계획 및 이용에 관한 법률 시행령 제 84 조
②제1항의 규정에 의하여 도시·군계획조례로 용도지역별 건폐율을 정함에 있어서 필요한 경우에는 당해 지방자치단체의 관할구역을 세분하여 건폐율을 달리 정할 수 있다. <개정 2012.4.10>
1. 준주거지역·일반상업지역·근린상업지역·전용공업지역·일반공업지역·준공업지역 중 방화지구의 건축물로서 주요 구조부와 외벽이 내화구조인 건축물 중 도시·군계획조례로 정하는 건축물: 80퍼센트 이상 90퍼센트 이하의 범위에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례로 정하는 비율
2. 녹지지역·관리지역·농림지역 및 자연환경보전지역의 건축물로서 법 제37조제4항 후단에 따른 방재지구의 재해저감대책에 부합하게 재해예방시설을 설치한 건축물: 제1항 각 호에 따른 해당 용도지역별 건폐율의 150퍼센트 이하의 범위에서 도시·군계획조례로 정하는 비율
4. 계획관리지역의 기존 공장·창고시설 또는 연구소(2003년 1월 1일 전에 준공되고 기존 부지에 증축하는 경우로서 해당 지방도시계획위원회의 심의를 거쳐 도로·상수도·하수도 등의 기반시설이 충분히 확보되었다고 인정되거나, 도시·군계획조례로 정하는 기반시설 확보 요건을 충족하는 경우만 해당한다): 50퍼센트의 범위에서 도시·군계획조례로 정하는 비율
6. 종전의 「도시계획법」(2000년 1월 28일 법률 제6243호로 개정되기 전의 것을 말한다) 제2조제1항제10호에 따른 일단의 공업용지조성사업 구역(이 조 제4항제6호에 따른 산업단지 또는 준산업단지와 연접한 것에 한정한다) 내의 공장으로서 관할 특별시장·광역시장·특별자치시장·특별자치도지사·시장 또는 군수가 해당 지방도시계획위원회의 심의를 거쳐 기반시설의 설치 및 그에 필요한 용지의 확보가 충분하고 주변지역의 환경오염 우려가 없다고 인정하는 공장: 80퍼센트 이하의 범위에서 도시·군계획조례로 정하는 비율
7. 자연녹지지역의 학교(「초·중등교육법」 제2조에 따른 학교 및 「고등교육법」 제2조제1호부터 제5호까지의 규정에 따른 학교를 말한다)로서 다음 각 목의 요건을 모두 충족하는 학교: 30퍼센트의 범위에서 도시·군계획조례로 정하는 비율
⑦제1항에도 불구하고 법 제77조제4항제3호 및 제4호에 따라 보전관리지역·생산관리지역·농림지역 또는 자연환경보전지역에 설치되는 「농지법」 제32조제1항 각 호에 해당하는 건축물의 건폐율은 60퍼센트 이하의 범위에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례로 정하는 비율 이하로 한다. <개정 2005.9.8, 2009.7.7, 2011.9.16, 2012.4.10, 2016.2.11, 2019.12.31>
⑧ 제1항에도 불구하고 법 제77조제4항제3호에 따라 생산녹지지역에 건축할 수 있는 다음 각 호의 건축물의 경우에 그 건폐율은 해당 생산녹지지역이 위치한 특별시·광역시·특별자치시·특별자치도·시 또는 군의 농어업 인구 현황, 농수산물 가공·처리시설의 수급실태 등을 종합적으로 고려하여 60퍼센트 이하의 범위에서 해당 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례로 정하는 비율 이하로 한다. <신설 2011.9.16, 2012.4.10, 2015.12.15, 2016.2.11, 2019.12.31>
1. 「농지법」 제32조제1항제1호에 따른 농수산물의 가공·처리시설[해당 특별시·광역시·특별자치시·특별자치도·시·군 또는 해당 도시·군계획조례가 정하는 연접한 시·군·구(자치구를 말한다. 이하 같다)에서 생산된 농수산물의 가공·처리시설만 해당한다] 및 농수산업 관련 시험·연구시설
⑨ 제1항에도 불구하고 자연녹지지역에 설치되는 도시·군계획시설 중 유원지의 건폐율은 30퍼센트의 범위에서 도시·군계획조례로 정하는 비율 이하로 하며, 공원의 건폐율은 20퍼센트의 범위에서 도시·군계획조례로 정하는 비율 이하로 한다. <개정 2009.7.7, 2011.9.16, 2012.4.10, 2016.2.11, 2019.12.31>
6. 공업지역에 있는 「산업입지 및 개발에 관한 법률」 제2조제8호가목부터 다목까지의 규정에 따른 국가산업단지·일반산업단지·도시첨단산업단지 및 같은 조 제12호에 따른 준산업단지: 80퍼센트 이하
5. 녹지지역·보전관리지역·생산관리지역·농림지역 또는 자연환경보전지역의 건축물로서 다음 각 목의 어느 하나에 해당하는 건축물: 30퍼센트의 범위에서 도시·군계획조례로 정하는 비율
다. 「고등교육법」 제2조제1호부터 제5호까지의 규정에 따른 학교의 경우 「대학설립·운영 규정」 별표 2에 따른 교육기본시설, 지원시설 또는 연구시설의 증축일 것
④법 제77조제3항에 따라 다음 각 호의 지역에서의 건폐율은 각 호에서 정한 범위에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례로 정하는 비율 이하로 한다. <개정 2005.9.8, 2008.9.25, 2009.8.5, 2010.10.1, 2011.3.9, 2011.11.16, 2012.4.10, 2016.2.11, 2019.12.31>
⑤특별시장·광역시장·특별자치시장·특별자치도지사·시장 또는 군수가 법 제77조제4항제1호에 따라 도시지역에서 토지이용의 과밀화를 방지하기 위하여 건폐율을 낮춰야 할 필요가 있다고 인정하여 당해 지방자치단체에 설치된 도시계획위원회의 심의를 거쳐 정한 구역안에서의 건축물의 경우에는 그 건폐율은 그 구역에 적용할 건폐율의 최대한도의 40퍼센트 이상의 범위에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례가 정하는 비율 이하로 한다. <개정 2012.4.10, 2016.2.11, 2019.12.31>
제84조(용도지역안에서의 건폐율)
①법 제77조제1항 및 제2항에 따른 건폐율은 다음 각 호의 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율 이하로 한다. <개정 2012.4.10, 2019.12.31>
③ 법 제77조3항제2호에서 "대통령령으로 정하는 용도지역"이란 자연녹지지역을 말한다. <신설 2016.2.11>
④법 제77조제3항에 따라 다음 각 호의 지역에서의 건폐율은 각 호에서 정한 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율 이하로 한다. <개정 2005.9.8, 2008.9.25, 2009.8.5, 2010.10.1, 2011.3.9, 2011.11.16, 2012.4.10, 2016.2.11, 2019.12.31>
⑤특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수가 법 제77조제4항제1호에 따라 도시지역에서 토지이용의 과밀화를 방지하기 위하여 건폐율을 낮춰야 할 필요가 있다고 인정하여 당해 지방자치단체에 설치된 도시계획위원회의 심의를 거쳐 정한 구역안에서의 건축물의 경우에는 그 건폐율은 그 구역에 적용할 건폐율의 최대한도의 40퍼센트 이상의 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율 이하로 한다. <개정 2012.4.10, 2016.2.11, 2019.12.31>
⑥법 제77조제4항제2호에 따라 다음 각 호의 어느 하나에 해당하는 건축물의 경우에는 제1항에도 불구하고 그 건폐율은 다음 각 호에서 정하는 비율을 초과할 수 없다. <개정 2008.9.25, 2009.7.7, 2011.7.1, 2012.4.10, 2014.1.14, 2014.10.15, 2015.7.6, 2016.2.11, 2016.5.17, 2019.8.6, 2019.12.31, 2020.5.26>
1. 준주거지역ㆍ일반상업지역ㆍ근린상업지역ㆍ전용공업지역ㆍ일반공업지역ㆍ준공업지역 중 방화지구의 건축물로서 주요 구조부와 외벽이 내화구조인 건축물 중 도시ㆍ군계획조례로 정하는 건축물: 80퍼센트 이상 90퍼센트 이하의 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율
나. 「문화재보호법」 제2조제3항에 따른 지정문화재 또는 같은 조 제4항제1호에 따른 국가등록문화재
6. 종전의 「도시계획법」(2000년 1월 28일 법률 제6243호로 개정되기 전의 것을 말한다) 제2조제1항제10호에 따른 일단의 공업용지조성사업 구역(이 조 제4항제6호에 따른 산업단지 또는 준산업단지와 연접한 것에 한정한다) 내의 공장으로서 관할 특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수가 해당 지방도시계획위원회의 심의를 거쳐 기반시설의 설치 및 그에 필요한 용지의 확보가 충분하고 주변지역의 환경오염 우려가 없다고 인정하는 공장: 80퍼센트 이하의 범위에서 도시ㆍ군계획조례로 정하는 비율
⑦제1항에도 불구하고 법 제77조제4항제3호 및 제4호에 따라 보전관리지역ㆍ생산관리지역ㆍ농림지역 또는 자연환경보전지역에 설치되는 「농지법」 제32조제1항 각 호에 해당하는 건축물의 건폐율은 60퍼센트 이하의 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율 이하로 한다. <개정 2005.9.8, 2009.7.7, 2011.9.16, 2012.4.10, 2016.2.11, 2019.12.31>
⑧ 제1항에도 불구하고 법 제77조제4항제3호에 따라 생산녹지지역에 건축할 수 있는 다음 각 호의 건축물의 경우에 그 건폐율은 해당 생산녹지지역이 위치한 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 농어업 인구 현황, 농수산물 가공ㆍ처리시설의 수급실태 등을 종합적으로 고려하여 60퍼센트 이하의 범위에서 해당 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율 이하로 한다. <신설 2011.9.16, 2012.4.10, 2015.12.15, 2016.2.11, 2019.12.31>
1. 「농지법」 제32조제1항제1호에 따른 농수산물의 가공ㆍ처리시설[해당 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시ㆍ군 또는 해당 도시ㆍ군계획조례가 정하는 연접한 시ㆍ군ㆍ구(자치구를 말한다. 이하 같다)에서 생산된 농수산물의 가공ㆍ처리시설만 해당한다] 및 농수산업 관련 시험ㆍ연구시설
3. 「농지법 시행령」 제29조제7항제2호에 따른 산지유통시설(해당 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시ㆍ군 또는 해당 도시ㆍ군계획조례가 정하는 연접한 시ㆍ군ㆍ구에서 생산된 농산물을 위한 산지유통시설만 해당한다)
⑨ 제1항에도 불구하고 자연녹지지역에 설치되는 도시ㆍ군계획시설 중 유원지의 건폐율은 30퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율 이하로 하며, 공원의 건폐율은 20퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율 이하로 한다. <개정 2009.7.7, 2011.9.16, 2012.4.10, 2016.2.11, 2019.12.31>
제84조(용도지역안에서의 건폐율) ①법 제77조제1항 및 제2항의 규정에 의한 건폐율은 다음 각호의 범위안에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 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.>
6. 공업지역에 있는 「산업입지 및 개발에 관한 법률」 제2조제8호가목부터 다목까지의 규정에 따른 국가산업단지ㆍ일반산업단지ㆍ도시첨단산업단지 및 같은 조 제12호에 따른 준산업단지: 80퍼센트 이하
⑧ 제1항에도 불구하고 자연녹지지역에 설치되는 도시ㆍ군계획시설 중 유원지의 건폐율은 30퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니 되며, 공원의 건폐율은 20퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니 된다. <개정 2009.7.7., 2011.9.16., 2012.4.10.>
①법 제77조제1항 및 제2항의 규정에 의한 건폐율은 다음 각호의 범위안에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2012.4.10>
②제1항의 규정에 의하여 도시ㆍ군계획조례로 용도지역별 건폐율을 정함에 있어서 필요한 경우에는 당해 지방자치단체의 관할구역을 세분하여 건폐율을 달리 정할 수 있다. <개정 2012.4.10>
③ 법 제77조3항제2호에서 "대통령령으로 정하는 용도지역"이란 자연녹지지역을 말한다. <신설 2016.2.11>
④법 제77조제3항에 따라 다음 각 호의 지역에서의 건폐율은 각 호에서 정한 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2008.9.25, 2009.8.5, 2010.10.1, 2011.3.9, 2011.11.16, 2012.4.10, 2016.2.11>
2. 개발진흥지구: 다음 각 목에서 정하는 비율 이하
가. 도시지역 외의 지역에 지정된 경우: 40퍼센트
나. 자연녹지지역에 지정된 경우: 30퍼센트
⑤특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수가 법 제77조제4항제1호의 규정에 의하여 도시지역에서 토지이용의 과밀화를 방지하기 위하여 건폐율을 낮추어야 할 필요가 있다고 인정하여 당해 지방자치단체에 설치된 도시계획위원회의 심의를 거쳐 정한 구역안에서의 건축물의 경우에는 그 건폐율은 그 구역에 적용할 건폐율의 최대한도의 40퍼센트 이상의 범위안에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율을 초과하여
⑥법 제77조제4항제2호에 따라 다음 각 호의 어느 하나에 해당하는 건축물의 경우에는 제1항에도 불구하고 그 건폐율은 다음 각 호에서 정하는 비율을 초과하여서는 아니된다. <개정 2008.9.25, 2009.7.7, 2011.7.1, 2012.4.10, 2014.1.14, 2014.10.15, 2015.7.6, 2016.2.11, 2016.5.17>
1. 준주거지역ㆍ일반상업지역ㆍ근린상업지역 중 방화지구의 건축물로서 주요 구조부와 외벽이 내화구조인 건축물 중 도시ㆍ군계획조례로 정하는 건축물: 80퍼센트 이상 90퍼센트 이하의 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율
2. 녹지지역ㆍ관리지역ㆍ농림지역 및 자연환경보전지역의 건축물로서 법 제37조제4항 후단에 따른 방재지구의 재해저감대책에 부합하게 재해예방시설을 설치한 건축물: 제1항 각 호에 따른 해당 용도지역별 건폐율의 150퍼센트 이하의 범위에서 도시ㆍ군계획조례로 정하는 비율
3. 자연녹지지역의 창고시설 또는 연구소(자연녹지지역으로 지정될 당시 이미 준공된 것으로서 기존 부지에서 증축하는 경우만 해당한다): 40퍼센트의 범위에서 최초 건축허가 시 그 건축물에 허용된 건폐율
4. 계획관리지역의 기존 공장ㆍ창고시설 또는 연구소(2003년 1월 1일 전에 준공되고 기존 부지에 증축하는 경우로서 해당 지방도시계획위원회의 심의를 거쳐 도로ㆍ상수도ㆍ하수도 등의 기반시설이 충분히 확보되었다고 인정되거나, 도시ㆍ군계획조례로 정하는 기반시설 확보 요건을 충족하는 경우만 해당한다): 50퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율
5. 녹지지역ㆍ보전관리지역ㆍ생산관리지역ㆍ농림지역 또는 자연환경보전지역의 건축물로서 다음 각 목의 어느 하나에 해당하는 건축물: 30퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율
6. 종전의 「도시계획법」(2000년 1월 28일 법률 제6243호로 개정되기 전의 것을 말한다) 제2조제1항제10호에 따른 일단의 공업용지조성사업 구역(이 조 제4항제6호에 따른 산업단지 또는 준산업단지와 연접한 것에 한정한다) 내의 공장으로서 관할 특별시장ㆍ광역시장ㆍ특별자치시장ㆍ특별자치도지사ㆍ시장 또는 군수가 해당 지방도시계획위원회의 심의를 거쳐 기반시설의 설치 및 그에 필요한 용지의 확보가 충분하고 주변지역의 환경오염 우려가 없다고 인정하는 공장:
7. 자연녹지지역의 학교(「초ㆍ중등교육법」 제2조에 따른 학교 및 「고등교육법」 제2조제1호부터 제5호까지의 규정에 따른 학교를 말한다)로서 다음 각 목의 요건을 모두 충족하는 학교: 30퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율
가. 기존 부지에서 증축하는 경우일 것
나. 학교 설치 이후 개발행위 등으로 해당 학교의 기존 부지가 건축물, 그 밖의 시설로 둘러싸여 부지 확장을 통한 증축이 곤란한 경우로서 해당 도시계획위원회의 심의를 거쳐 기존 부지에서의 증축이 불가피하다고 인정될 것
다. 「고등교육법」 제2조제1호부터 제5호까지의 규정에 따른 학교의 경우 「대학설립ㆍ운영 규정」 별표 2에 따른 교육기본시설, 지원시설 또는 연구시설의 증축일 것
⑦제1항에도 불구하고 법 제77조제4항제3호 및 제4호에 따라 보전관리지역ㆍ생산관리지역ㆍ농림지역 또는 자연환경보전지역에 「농지법」 제32조제1항에 따라 건축할 수 있는 건축물의 경우에 그 건폐율은 60퍼센트 이하의 범위에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2009.7.7, 2011.9.16, 2012.4.10, 2016.2.11>
⑧ 제1항에도 불구하고 법 제77조제4항제3호에 따라 생산녹지지역에 건축할 수 있는 다음 각 호의 건축물의 경우에 그 건폐율은 해당 생산녹지지역이 위치한 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 농어업 인구 현황, 농수산물 가공ㆍ처리시설의 수급실태 등을 종합적으로 고려하여 60퍼센트 이하의 범위에서 해당 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니 된다. <신설 2011.9.16, 2012
1. 「농지법」 제32조제1항제1호에 따른 농수산물의 가공ㆍ처리시설(해당 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군에서 생산된 농수산물의 가공ㆍ처리시설에 한정한다) 및 농수산업 관련 시험ㆍ연구시설
2. 「농지법 시행령」 제29조제5항제1호에 따른 농산물 건조ㆍ보관시설
3. 「농지법 시행령」 제29조제7항제2호에 따른 산지유통시설(해당 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군에서 생산된 농산물을 위한 산지유통시설만 해당한다)
⑨ 제1항에도 불구하고 자연녹지지역에 설치되는 도시ㆍ군계획시설 중 유원지의 건폐율은 30퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니 되며, 공원의 건폐율은 20퍼센트의 범위에서 도시ㆍ군계획조례로 정하는 비율을 초과하여서는 아니 된다. <개정 2009.7.7, 2011.9.16, 2012.4.10, 2016.2.11>
2. 「농지법 시행령」 제29조제5항제1호에 따른 농산물 건조·보관시설
①법 제77조제1항 및 제2항의 규정에 의한 건폐율은 다음 각호의 범위안에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2012.4.10>
6. 공업지역에 있는 「산업입지 및 개발에 관한 법률」 제2조제8호가목부터 다목까지의 규정에 따른 국가산업단지·일반산업단지·도시첨단산업단지 및 같은 조 제12호에 따른 준산업단지: 80퍼센트 이하
④특별시장·광역시장·특별자치시장·특별자치도지사·시장 또는 군수가 법 제77조제4항제1호의 규정에 의하여 도시지역에서 토지이용의 과밀화를 방지하기 위하여 건폐율을 낮추어야 할 필요가 있다고 인정하여 당해 지방자치단체에 설치된 도시계획위원회의 심의를 거쳐 정한 구역안에서의 건축물의 경우에는 그 건폐율은 그 구역에 적용할 건폐율의 최대한도의 40퍼센트 이상의 범위안에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2012.4.10>
⑤법 제77조제4항제2호에 따라 다음 각 호의 어느 하나에 해당하는 건축물의 경우에는 제1항에도 불구하고 그 건폐율은 다음 각 호에서 정하는 비율을 초과하여서는 아니된다. <개정 2008.9.25, 2009.7.7, 2011.7.1, 2012.4.10>
1. 준주거지역·일반상업지역·근린상업지역 중 방화지구의 건축물로서 다음 각 목의 어느 하나에 해당하는 건축물: 80퍼센트 이상 90퍼센트 이하의 범위에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례로 정하는 비율
나. 해당 건축물의 대지가 가로의 모퉁이에 있는 대지로서 다음의 어느 하나에 해당하는 것 1) 서로 교차하는 2개의 도로에 접한 대지로서 그 도로 너비의 합계가 15미터 이상이고, 도로에 접한 대지의 내각이 120도 이하이며, 그 대지 둘레길이의 3분의 1 이상이 도로에 접한 대지 2) 서로 교차하지 아니하는 2개의 도로에 접한 대지로서 그 도로 너비가 각각 8미터 이상이고, 그 도로경계선 상호간의 간격이 35미터 이하이며, 그 대지 둘레길이의 3분의 1 이상이 도로에 접한 대지
3. 계획관리지역의 기존 공장·창고시설 또는 연구소(2003년 1월 1일 전에 준공되고 기존 부지에 증축하는 경우로서 해당 지방도시계획위원회의 심의를 거쳐 도로·상수도·하수도 등 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례로 정하는 기반시설이 충분히 확보되었다고 인정되는 경우만 해당한다): 50퍼센트의 범위에서 도시·군계획조례로 정하는 비율
4. 녹지지역·보전관리지역·생산관리지역·농림지역 또는 자연환경보전지역의 기존 건축물로서 다음 각 목의 어느 하나에 해당하는 건축물: 30퍼센트의 범위에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례로 정하는 비율
⑥제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호에 따른 농수산물의 가공·처리시설(해당 특별시·광역시·특별자치시·특별자치도·시 또는 군에서 생산된 농수산물의 가공·처리시설에 한정한다) 및 농수산업 관련 시험·연구시설
⑧ 제1항에도 불구하고 자연녹지지역에 설치되는 도시·군계획시설 중 유원지의 건폐율은 30퍼센트의 범위에서 도시·군계획조례로 정하는 비율을 초과하여서는 아니 되며, 공원의 건폐율은 20퍼센트의 범위에서 도시·군계획조례로 정하는 비율을 초과하여서는 아니 된다. <개정 2009.7.7, 2011.9.16, 2012.4.10> [시행일:2012.7.1] 특별자치시와 특별자치시장에 관한 개정규정
3. 「농지법 시행령」 제29조제7항제2호에 따른 산지유통시설(해당 특별시·광역시·특별자치시·특별자치도·시·군 또는 해당 도시·군계획조례가 정하는 연접한 시·군·구에서 생산된 농산물을 위한 산지유통시설만 해당한다)
①법 제77조제1항 및 제2항에 따른 건폐율은 다음 각 호의 범위에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례가 정하는 비율 이하로 한다. <개정 2012.4.10, 2019.12.31>
1. 취락지구 : 60퍼센트 이하(집단취락지구에 대하여는 개발제한구역의지정및관리에관한특별조치법령이 정하는 바에 의한다)
3. 수산자원보호구역 : 40퍼센트 이하
4. 「자연공원법」에 따른 자연공원 : 60퍼센트 이하
5. 「산업입지 및 개발에 관한 법률」 제2조제8호라목에 따른 농공단지 : 70퍼센트 이하
6. 공업지역에 있는 「산업입지 및 개발에 관한 법률」 제2조제8호가목부터 다목까지의 규정에 따른 국가산업단지ㆍ일반산업단지ㆍ도시첨단산업단지 및 같은 조 제12호에 따른 준산업단지: 80퍼센트 이하
가. 삭제 <2014.1.14>
나. 삭제 <2014.1.14>
가. 「전통사찰의 보존 및 지원에 관한 법률」 제2조제1호에 따른 전통사찰
나. 「문화재보호법」 제2조제2항에 따른 지정문화재 또는 같은 조 제3항에 따른 등록문화재
다. 「건축법 시행령」 제2조제16호에 따른 한옥
②제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>
③법 제77조제3항에 따라 다음 각 호의 지역에서의 건폐율은 각 호에서 정한 범위에서 특별시·광역시·시 또는 군의 도시계획조례로 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2008.9.25, 2009.8.5, 2010.10.1, 2011.3.9>
5. 「산업입지 및 개발에 관한 법률」 제2조제5호라목에 따른 농공단지 : 70퍼센트 이하
⑤법 제77조제4항제2호에 따라 다음 각 호의 어느 하나에 해당하는 건축물의 경우에는 제1항에도 불구하고 그 건폐율은 다음 각 호에서 정하는 비율을 초과하여서는 아니된다. <개정 2008.9.25, 2009.7.7, 2011.7.1>
4. 녹지지역·보전관리지역·생산관리지역·농림지역 또는 자연환경보전지역의 기존 건축물로서 다음 각 목의 어느 하나에 해당하는 건축물: 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>
⑦ 제1항에도 불구하고 법 제77조제4항제3호에 따라 생산녹지지역에 건축할 수 있는 다음 각 호의 건축물의 경우에 그 건폐율은 해당 생산녹지지역이 위치한 특별시·광역시·시 또는 군의 농어업 인구 현황, 농수산물 가공·처리시설의 수급실태 등을 종합적으로 고려하여 60퍼센트 이하의 범위에서 해당 특별시·광역시·시 또는 군의 도시계획조례로 정하는 비율을 초과하여서는 아니 된다. <신설 2011.9.16>
1. 「농지법」 제32조제1항제1호에 따른 농수산물의 가공·처리시설(해당 특별시·광역시·시 또는 군에서 생산된 농수산물의 가공·처리시설에 한정한다) 및 농수산업 관련 시험·연구시설
2. 「농지법 시행령」 제29조제5항제1호에 따른 농산물 건조·보관시설
⑧ 제1항에도 불구하고 자연녹지지역에 설치되는 도시계획시설 중 유원지의 건폐율은 30퍼센트의 범위에서 도시계획조례로 정하는 비율을 초과하여서는 아니 되며, 공원의 건폐율은 20퍼센트의 범위에서 도시계획조례로 정하는 비율을 초과하여서는 아니 된다. <개정 2009.7.7, 2011.9.16>
③법 제77조제3항에 따라 다음 각 호의 지역에서의 건폐율은 각 호에서 정한 범위에서 특별시·광역시·시 또는 군의 도시계획조례로 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2008.9.25, 2009.8.5, 2010.10.1, 2011.3.9, 2011.11.16>
5. 「산업입지 및 개발에 관한 법률」 제2조제8호라목에 따른 농공단지 : 70퍼센트 이하
6. 공업지역에 있는 「산업입지 및 개발에 관한 법률」 제2조제8호가목부터 다목까지의 규정에 따른 국가산업단지·일반산업단지·도시첨단산업단지 및 같은 조 제7호에 따른 준산업단지: 80퍼센트 이하
③법 제77조제3항에 따라 다음 각 호의 지역에서의 건폐율은 각 호에서 정한 범위에서 특별시·광역시·시 또는 군의 도시계획조례로 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2008.9.25, 2009.8.5>
6. 공업지역에 있는 「산업입지 및 개발에 관한 법률」 제2조제5호가목부터 다목까지의 규정에 따른 국가산업단지·일반산업단지·도시첨단산업단지 및 같은 조 제7호에 따른 준산업단지: 80퍼센트 이하
제84조 (용도지역안에서의 건폐율)
①법 제77조제1항 및 제2항의 규정에 의한 건폐율은 다음 각호의 범위안에서 특별시·광역시·시 또는 군의 도시계획조례가 정하는 비율을 초과하여서는 아니된다.
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항의 규정에 의하여 도시계획조례로 용도지역별 건폐율을 정함에 있어서 필요한 경우에는 당해 지방자치단체의 관할구역을 세분하여 건폐율을 달리 정할 수 있다.
③법 제77조제3항의 규정에 의하여 다음 각 호의 지역안에서의 건폐율은 각호에서 정한 범위안에서 특별시·광역시·시 또는 군의 도시계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2008.9.25>
1. 취락지구 : 60퍼센트 이하(집단취락지구에 대하여는 개발제한구역의지정및관리에관한특별조치법령이 정하는 바에 의한다)
2. 도시지역외의 지역에 지정된 개발진흥지구 : 40퍼센트 이하
3. 수산자원보호구역 : 40퍼센트 이하
4. 「자연공원법」에 의한 자연공원 및 공원보호구역 : 60퍼센트 이하
5. 「산업입지 및 개발에 관한 법률」 제2조제5호 다목의 규정에 의한 농공단지 : 70퍼센트 이하
6. 공업지역안에 있는 「산업입지 및 개발에 관한 법률」 제2조제5호 가목 및 나목의 규정에 의한 국가산업단지 및 지방산업단지 : 80퍼센트 이하
④특별시장·광역시장·시장 또는 군수가 법 제77조제4항제1호의 규정에 의하여 도시지역에서 토지이용의 과밀화를 방지하기 위하여 건폐율을 낮추어야 할 필요가 있다고 인정하여 당해 지방자치단체에 설치된 도시계획위원회의 심의를 거쳐 정한 구역안에서의 건축물의 경우에는 그 건폐율은 그 구역에 적용할 건폐율의 최대한도의 40퍼센트 이상의 범위안에서 특별시·광역시·시 또는 군의 도시계획조례가 정하는 비율을 초과하여서는 아니된다.
⑤법 제77조제4항제2호에 따라 다음 각 호의 어느 하나에 해당하는 건축물의 경우에는 제1항에도 불구하고 그 건폐율은 다음 각 호에서 정하는 비율을 초과하여서는 아니된다. <개정 2008.9.25, 2009.7.7>
1. 준주거지역·일반상업지역·근린상업지역 중 방화지구의 건축물로서 다음 각 목의 어느 하나에 해당하는 건축물: 80퍼센트 이상 90퍼센트 이하의 범위에서 특별시·광역시·시 또는 군의 도시계획조례로 정하는 비율
가. 해당 건축물의 주요 구조부가 내화구조인 것
나. 해당 건축물의 대지가 가로의 모퉁이에 있는 대지로서 다음의 어느 하나에 해당하는 것 1) 서로 교차하는 2개의 도로에 접한 대지로서 그 도로 너비의 합계가 15미터 이상이고, 도로에 접한 대지의 내각이 120도 이하이며, 그 대지 둘레길이의 3분의 1 이상이 도로에 접한 대지 2) 서로 교차하지 아니하는 2개의 도로에 접한 대지로서 그 도로 너비가 각각 8미터 이상이고, 그 도로경계선 상호간의 간격이 35미터 이하이며, 그 대지 둘레길이의 3분의 1 이상이 도로에 접한 대지
2. 자연녹지지역의 기존 공장, 창고시설 또는 연구소(자연녹지지역으로 지정될 당시 이미 준공된 것으로서 기존 부지에서 증축하는 경우만 해당한다): 40퍼센트의 범위에서 최초 건축허가 시 그 건축물에 허용된 건폐율
3. 계획관리지역의 기존 공장·창고시설 또는 연구소(2003년 1월 1일 전에 준공되고 기존 부지에 증축하는 경우로서 해당 지방도시계획위원회의 심의를 거쳐 도로·상수도·하수도 등 특별시·광역시·시 또는 군의 도시계획조례로 정하는 기반시설이 충분히 확보되었다고 인정되는 경우만 해당한다): 50퍼센트의 범위에서 도시계획조례로 정하는 비율
⑥법 제77조제4항제3호에 따라 보전관리지역·생산관리지역·농림지역 또는 자연환경보전지역에 「농지법」 제32조제1항에 따라 건축할 수 있는 건축물의 경우에는 제1항에도 불구하고 그 건폐율은 60퍼센트 이하의 범위에서 특별시·광역시·시 또는 군의 도시계획조례로 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2009.7.7>
⑦ 제1항에도 불구하고 자연녹지지역에 설치되는 도시계획시설 중 유원지의 건폐율은 30퍼센트의 범위에서 도시계획조례로 정하는 비율을 초과하여서는 아니 되며, 공원의 건폐율은 20퍼센트의 범위에서 도시계획조례로 정하는 비율을 초과하여서는 아니 된다. <개정 2009.7.7>
제84조(용도지역안에서의 건폐율)
③법 제77조제3항에 따라 다음 각 호의 지역에서의 건폐율은 각 호에서 정한 범위에서 특별시·광역시·시 또는 군의 도시계획조례로 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2008.9.25, 2009.8.5, 2010.10.1>
4. 「자연공원법」에 따른 자연공원 : 60퍼센트 이하
⑤법 제77조제4항제2호에 따라 다음 각 호의 어느 하나에 해당하는 건축물의 경우에는 제1항에도 불구하고 그 건폐율은 다음 각 호에서 정하는 비율을 초과하여서는 아니된다. <개정 2008.9.25, 2009.7.7, 2011.7.1, 2012.4.10, 2014.1.14>
1. 준주거지역·일반상업지역·근린상업지역 중 방화지구의 건축물로서 주요 구조부와 외벽이 내화구조인 건축물 중 도시·군계획조례로 정하는 건축물: 80퍼센트 이상 90퍼센트 이하의 범위에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례로 정하는 비율
가. 삭제 <2014.1.14>
나. 삭제 <2014.1.14>
2. 녹지지역·관리지역·농림지역 및 자연환경보전지역의 건축물로서 법 제37조제4항 후단에 따른 방재지구의 재해저감대책에 부합하게 재해예방시설을 설치한 건축물: 제1항 각 호에 따른 해당 용도지역별 건폐율의 150퍼센트 이하의 범위에서 도시·군계획조례로 정하는 비율
3. 자연녹지지역의 기존 공장, 창고시설 또는 연구소(자연녹지지역으로 지정될 당시 이미 준공된 것으로서 기존 부지에서 증축하는 경우만 해당한다): 40퍼센트의 범위에서 최초 건축허가 시 그 건축물에 허용된 건폐율
4. 계획관리지역의 기존 공장·창고시설 또는 연구소(2003년 1월 1일 전에 준공되고 기존 부지에 증축하는 경우로서 해당 지방도시계획위원회의 심의를 거쳐 도로·상수도·하수도 등의 기반시설이 충분히 확보되었다고 인정되거나, 도시·군계획조례로 정하는 기반시설 확보 요건을 충족하는 경우만 해당한다): 50퍼센트의 범위에서 도시·군계획조례로 정하는 비율
5. 녹지지역·보전관리지역·생산관리지역·농림지역 또는 자연환경보전지역의 건축물로서 다음 각 목의 어느 하나에 해당하는 건축물: 30퍼센트의 범위에서 도시·군계획조례로 정하는 비율
⑧ 제1항에도 불구하고 자연녹지지역에 설치되는 도시·군계획시설 중 유원지의 건폐율은 30퍼센트의 범위에서 도시·군계획조례로 정하는 비율을 초과하여서는 아니 되며, 공원의 건폐율은 20퍼센트의 범위에서 도시·군계획조례로 정하는 비율을 초과하여서는 아니 된다. <개정 2009.7.7, 2011.9.16, 2012.4.10>



//국토의 계획 및 이용에 관한 법률 시행령 84조 (용도지역안에서의 건폐율) 3항 2호

Check(EDLPUA_84_3_2){
IF CS THEN KS
}

CS{
getObjectProperty(Building.SpecialPurposeDistrict.type)="DevelopmentPromotionDistrict"
}

KS{
getBuildingToLandRatio()<=40%
}


//국토의 계획 및 이용에 관한 법률 시행령 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

}



//     국토의 계획 및 이용에 관한 법률 시행령 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항 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%
}




27
국토의 계획 및 이용에 관한 법률 시행령 제 85 조
제85조(용도지역 안에서의 용적률) ①법 제78조제1항 및 제2항의 규정에 의한 용적률은 다음 각호의 범위안에서 관할구역의 면적, 인구규모 및 용도지역의 특성 등을 감안하여 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2012.4.10.>
⑥법 제78조제3항의 규정에 의하여 다음 각 호의 지역 안에서의 용적률은 각 호에서 정한 범위 안에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8., 2005.9.30., 2005.11.11., 2010.10.1., 2011.11.16., 2012.4.10., 2014.1.14.>
⑦법 제78조제4항의 규정에 의하여 준주거지역ㆍ중심상업지역ㆍ일반상업지역ㆍ근린상업지역ㆍ전용공업지역ㆍ일반공업지역 또는 준공업지역안의 건축물로서 다음 각호의 1에 해당하는 건축물에 대한 용적률은 경관ㆍ교통ㆍ방화 및 위생상 지장이 없다고 인정되는 경우에는 제1항 각호의 규정에 의한 해당 용적률의 120퍼센트 이하의 범위안에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율로 할 수 있다. <개정 2005.9.8, 2012.4.1
⑧법 제78조제4항의 규정에 의하여 다음 각호의 지역ㆍ지구 또는 구역안에서 건축물을 건축하고자 하는 자가 그 대지의 일부를 공공시설부지로 제공하는 경우에는 당해 건축물에 대한 용적률은 제1항 각호의 규정에 의한 해당 용적률의 200퍼센트 이하의 범위안에서 대지면적의 제공비율에 따라 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율로 할 수 있다. <개정 2003.6.30, 2005.1.15, 2005.9.8, 2012.4.
①법 제78조제1항 및 제2항의 규정에 의한 용적률은 다음 각호의 범위안에서 관할구역의 면적, 인구규모 및 용도지역의 특성 등을 감안하여 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2012.4.10>
②제1항의 규정에 의하여 도시·군계획조례로 용도지역별 용적률을 정함에 있어서 필요한 경우에는 당해 지방자치단체의 관할구역을 세분하여 용적률을 달리 정할 수 있다. <개정 2012.4.10>
③제1항의 규정에 불구하고 제1항제1호 내지 제6호의 지역에서는 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례로 제1항의 규정에 의한 용적률의 20퍼센트 이하의 범위 안에서 임대주택(「임대주택법」 제16조제1항에 따라 임대의무기간이 10년 이상인 경우에 한한다)의 추가건설을 허용할 수 있다. 다만, 「도시 및 주거환경정비법」 제30조의2의 규정에 의하여 임대주택 건설이 의무화되는 주택재건축사업의 경우를 제외한다. <신설 2005.9.8, 2006.8.17, 2012.4.10>
⑤법 제78조제3항의 규정에 의하여 다음 각 호의 지역 안에서의 용적률은 각 호에서 정한 범위 안에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2005.9.30, 2005.11.11, 2010.10.1, 2011.11.16, 2012.4.10>
3. 「자연공원법」에 따른 자연공원: 100퍼센트 이하
4. 「산업입지 및 개발에 관한 법률」 제2조제8호라목에 따른 농공단지(도시지역외의 지역에 지정된 농공단지에 한한다) : 150퍼센트 이하
⑥법 제78조제4항의 규정에 의하여 준주거지역·중심상업지역·일반상업지역·근린상업지역·전용공업지역·일반공업지역 또는 준공업지역안의 건축물로서 다음 각호의 1에 해당하는 건축물에 대한 용적률은 경관·교통·방화 및 위생상 지장이 없다고 인정되는 경우에는 제1항 각호의 규정에 의한 해당 용적률의 120퍼센트 이하의 범위안에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례가 정하는 비율로 할 수 있다. <개정 2005.9.8, 2012.4.10>
⑦법 제78조제4항의 규정에 의하여 다음 각호의 지역·지구 또는 구역안에서 건축물을 건축하고자 하는 자가 그 대지의 일부를 공공시설부지로 제공하는 경우에는 당해 건축물에 대한 용적률은 제1항 각호의 규정에 의한 해당 용적률의 200퍼센트 이하의 범위안에서 대지면적의 제공비율에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례가 정하는 비율로 할 수 있다. <개정 2003.6.30, 2005.1.15, 2005.9.8, 2012.4.10>
③ 제1항에도 불구하고 다음 각 호의 어느 하나에 해당하는 경우에는 해당 지역의 용적률을 다음 각 호의 구분에 따라 완화할 수 있다. <개정 2018.7.17>
1. 제1항제1호부터 제6호까지의 지역에서 임대주택(「민간임대주택에 관한 특별법」에 따른 민간임대주택 또는 「공공주택 특별법」에 따른 공공임대주택으로서 각각 임대의무기간이 8년 이상인 경우에 한정한다)을 건설하는 경우: 제1항제1호부터 제6호까지에 따른 용적률의 120퍼센트 이하의 범위에서 도시ㆍ군계획조례로 정하는 비율
2. 다음 각 목의 어느 하나에 해당하는 자가 「고등교육법」 제2조에 따른 학교의 학생이 이용하도록 해당 학교 부지 외에 「건축법 시행령」 별표 1 제2호라목에 따른 기숙사(이하 이 항에서 "기숙사"라 한다)를 건설하는 경우: 제1항 각 호에 따른 용도지역별 최대한도의 범위에서 도시ㆍ군계획조례로 정하는 비율
3. 「고등교육법」 제2조에 따른 학교의 학생이 이용하도록 해당 학교 부지에 기숙사를 건설하는 경우: 제1항 각 호에 따른 용도지역별 최대한도의 범위에서 도시ㆍ군계획조례로 정하는 비율
4. 「영유아보육법」 제14조제1항에 따른 사업주가 같은 법 제10조제4호의 직장어린이집을 설치하기 위하여 기존 건축물 외에 별도의 건축물을 건설하는 경우: 제1항 각 호에 따른 용도지역별 최대한도의 범위에서 도시ㆍ군계획조례로 정하는 비율
5. 제10항 각 호의 어느 하나에 해당하는 시설을 국가 또는 지방자치단체가 건설하는 경우: 제1항 각 호에 따른 용도지역별 최대한도의 범위에서 도시ㆍ군계획조례로 정하는 비율
3. 「자연공원법」에 따른 자연공원: 100퍼센트 이하
4. 「산업입지 및 개발에 관한 법률」 제2조제8호라목에 따른 농공단지(도시지역외의 지역에 지정된 농공단지에 한한다) : 150퍼센트 이하
1. 상업지역
2. 삭제 <2005.1.15>
⑤법 제78조제3항의 규정에 의하여 다음 각 호의 지역 안에서의 용적률은 각 호에서 정한 범위 안에서 특별시·광역시·시 또는 군의 도시계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2005.9.30, 2005.11.11, 2010.10.1, 2011.11.16>
4. 「산업입지 및 개발에 관한 법률」 제2조제8호다목에 따른 농공단지(도시지역외의 지역에 지정된 농공단지에 한한다) : 150퍼센트 이하
⑫ 국가나 지방자치단체는 법 제78조제6항 전단에 따라 기부 받은 사회복지시설을 제10항 각 호에 따른 시설 외의 시설로 용도변경하거나 그 주요 용도에 해당하는 부분을 분양 또는 임대할 수 없으며, 해당 시설의 면적이나 규모를 확장하여 설치장소를 변경(지방자치단체에 기부한 경우에는 그 관할 구역 내에서의 설치장소 변경을 말한다)하는 경우를 제외하고는 국가나 지방자치단체 외의 자에게 그 시설의 소유권을 이전할 수 없다. <신설 2014.6.30>
제85조 (용도지역 안에서의 용적률 <개정 2006.3.23>)
①법 제78조제1항 및 제2항의 규정에 의한 용적률은 다음 각호의 범위안에서 관할구역의 면적, 인구규모 및 용도지역의 특성 등을 감안하여 특별시·광역시·시 또는 군의 도시계획조례가 정하는 비율을 초과하여서는 아니된다.
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항의 규정에 의하여 도시계획조례로 용도지역별 용적률을 정함에 있어서 필요한 경우에는 당해 지방자치단체의 관할구역을 세분하여 용적률을 달리 정할 수 있다.
③제1항의 규정에 불구하고 제1항제1호 내지 제6호의 지역에서는 특별시·광역시·시 또는 군의 도시계획조례로 제1항의 규정에 의한 용적률의 20퍼센트 이하의 범위 안에서 임대주택(「임대주택법」 제12조제1항에 따라 임대의무기간이 10년 이상인 경우에 한한다)의 추가건설을 허용할 수 있다. 다만, 「도시 및 주거환경정비법」 제30조의2의 규정에 의하여 임대주택 건설이 의무화되는 주택재건축사업의 경우를 제외한다. <신설 2005.9.8, 2006.8.17>
④제3항의 규정은 제46조제9항 각 호의 어느 하나에 해당되는 경우에는 이를 적용하지 아니한다. <신설 2005.9.8>
⑤법 제78조제3항의 규정에 의하여 다음 각 호의 지역 안에서의 용적률은 각 호에서 정한 범위 안에서 특별시·광역시·시 또는 군의 도시계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2005.9.30, 2005.11.11>
1. 도시지역외의 지역에 지정된 개발진흥지구 : 100퍼센트 이하
2. 수산자원보호구역 : 80퍼센트 이하
3. 「자연공원법」에 의한 자연공원 및 공원보호구역 : 100퍼센트 이하. 다만, 「자연공원법」에 의한 공원밀집마을지구의 경우에는 150퍼센트 이하로 하고, 공원집단시설지구의 경우에는 200퍼센트 이하로 한다.
4. 「산업입지 및 개발에 관한 법률」 제2조제5호 다목의 규정에 의한 농공단지(도시지역외의 지역에 지정된 농공단지에 한한다) : 150퍼센트 이하
⑥법 제78조제4항의 규정에 의하여 준주거지역·중심상업지역·일반상업지역·근린상업지역·전용공업지역·일반공업지역 또는 준공업지역안의 건축물로서 다음 각호의 1에 해당하는 건축물에 대한 용적률은 경관·교통·방화 및 위생상 지장이 없다고 인정되는 경우에는 제1항 각호의 규정에 의한 해당 용적률의 120퍼센트 이하의 범위안에서 특별시·광역시·시 또는 군의 도시계획조례가 정하는 비율로 할 수 있다. <개정 2005.9.8>
1. 공원·광장(교통광장을 제외한다. 이하 이 조에서 같다)·하천 그 밖에 건축이 금지된 공지에 접한 도로를 전면도로로 하는 대지안의 건축물이나 공원·광장·하천 그 밖에 건축이 금지된 공지에 20미터 이상 접한 대지안의 건축물
2. 너비 25미터 이상인 도로에 20미터 이상 접한 대지안의 건축면적이 1천제곱미터 이상인 건축물
⑦법 제78조제4항의 규정에 의하여 다음 각호의 지역·지구 또는 구역안에서 건축물을 건축하고자 하는 자가 그 대지의 일부를 공공시설부지로 제공하는 경우에는 당해 건축물에 대한 용적률은 제1항 각호의 규정에 의한 해당 용적률의 200퍼센트 이하의 범위안에서 대지면적의 제공비율에 따라 특별시·광역시·시 또는 군의 도시계획조례가 정하는 비율로 할 수 있다. <개정 2003.6.30, 2005.1.15, 2005.9.8>
2. 삭제 <2005.1.15>
3. 「도시 및 주거환경정비법」에 의한 주택재개발사업, 도시환경정비사업 및 주택재건축사업을 시행하기 위한 정비구역
⑧법 제78조제5항에서 "대통령령이 정하는 용도의 건축물 또는 시설물"이라 함은 창고를 말한다. <신설 2006.3.23>
⑨ 삭제 <2009.7.7>
제85조(용도지역 안에서의 용적률)
⑤법 제78조제3항의 규정에 의하여 다음 각 호의 지역 안에서의 용적률은 각 호에서 정한 범위 안에서 특별시·광역시·시 또는 군의 도시계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2005.9.8, 2005.9.30, 2005.11.11, 2010.10.1>
3. 「자연공원법」에 따른 자연공원 : 100퍼센트 이하. 다만, 「자연공원법」에 의한 공원밀집마을지구의 경우에는 150퍼센트 이하로 하고, 공원집단시설지구의 경우에는 200퍼센트 이하로 한다.
③ 제1항에도 불구하고 임대주택(「민간임대주택에 관한 특별법」에 따른 민간임대주택 또는 「공공주택 특별법」에 따른 공공임대주택을 말한다. 이하 같다)과 기숙사 및 제10항 각 호의 어느 하나에 해당하는 시설에 대해서는 다음 각 호에서 정하는 바에 따라 용적률을 완화할 수 있다. <개정 2015.7.6, 2015.12.28, 2017.12.29>
3. 제10항 각 호의 어느 하나에 해당하는 시설로서 국가 또는 지방자치단체가 건설하는 시설에 대해서는 도시ㆍ군계획조례로 정하는 바에 따라 제1항 각 호에 따른 용도지역별 최대한도까지 건설을 허용할 수 있다.
①법 제78조제1항 및 제2항의 규정에 의한 용적률은 다음 각호의 범위안에서 관할구역의 면적, 인구규모 및 용도지역의 특성 등을 감안하여 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율을 초과하여서는 아니된다. <개정 2012.4.10>
②제1항의 규정에 의하여 도시ㆍ군계획조례로 용도지역별 용적률을 정함에 있어서 필요한 경우에는 당해 지방자치단체의 관할구역을 세분하여 용적률을 달리 정할 수 있다. <개정 2012.4.10>
③ 제1항에도 불구하고 임대주택(「민간임대주택에 관한 특별법」에 따른 민간임대주택 또는 「공공주택 특별법」에 따른 공공임대주택을 말한다. 이하 같다)과 기숙사에 대해서는 다음 각 호에서 정하는 바에 따라 용적률을 완화할 수 있다. <개정 2015.7.6, 2015.12.28>
1. 제1항제1호부터 제6호까지의 지역에서는 도시ㆍ군계획조례로 제1항에 따른 용적률의 20퍼센트 이하의 범위에서 임대주택(「민간임대주택에 관한 특별법」 또는 「공공주택 특별법」에 따라 임대의무기간이 8년 이상인 경우에 한정한다)의 추가건설을 허용할 수 있다.
2. 다음 각 목의 어느 하나에 해당하는 자가 「고등교육법」 제2조에 따른 학교의 학생이 이용하도록 해당 학교 부지 외에 건설하는 기숙사(「건축법 시행령」 별표 1 제2호라목에 따른 기숙사를 말한다)에 대해서는 도시ㆍ군계획조례로 제1항 각 호에 따른 용도지역별 최대한도까지 건설을 허용할 수 있다.
가. 국가 또는 지방자치단체
나. 「사립학교법」에 따른 학교법인
다. 「한국사학진흥재단법」에 따른 한국사학진흥재단
라. 「한국장학재단 설립 등에 관한 법률」에 따른 한국장학재단
마. 가목부터 라목까지의 어느 하나에 해당하는 자가 단독 또는 공동으로 출자하여 설립한 법인
⑤ 제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>
⑦법 제78조제4항의 규정에 의하여 준주거지역ㆍ중심상업지역ㆍ일반상업지역ㆍ근린상업지역ㆍ전용공업지역ㆍ일반공업지역 또는 준공업지역안의 건축물로서 다음 각호의 1에 해당하는 건축물에 대한 용적률은 경관ㆍ교통ㆍ방화 및 위생상 지장이 없다고 인정되는 경우에는 제1항 각호의 규정에 의한 해당 용적률의 120퍼센트 이하의 범위안에서 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율로 할 수 있다. <개정 2005.9.8, 2012.4.10, 2014.1.14>
1. 공원ㆍ광장(교통광장을 제외한다. 이하 이 조에서 같다)ㆍ하천 그 밖에 건축이 금지된 공지에 접한 도로를 전면도로로 하는 대지안의 건축물이나 공원ㆍ광장ㆍ하천 그 밖에 건축이 금지된 공지에 20미터 이상 접한 대지안의 건축물
⑧법 제78조제4항의 규정에 의하여 다음 각호의 지역ㆍ지구 또는 구역안에서 건축물을 건축하고자 하는 자가 그 대지의 일부를 공공시설부지로 제공하는 경우에는 당해 건축물에 대한 용적률은 제1항 각호의 규정에 의한 해당 용적률의 200퍼센트 이하의 범위안에서 대지면적의 제공비율에 따라 특별시ㆍ광역시ㆍ특별자치시ㆍ특별자치도ㆍ시 또는 군의 도시ㆍ군계획조례가 정하는 비율로 할 수 있다. <개정 2003.6.30, 2005.1.15, 2005.9.8, 2012.4.10, 2014.1.14, 2018.2.9>
3. 「도시 및 주거환경정비법」에 따른 재개발사업 및 재건축사업을 시행하기 위한 정비구역
⑩ 법 제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항 각 호의 구분에 따른 용도지역별 용적률의 최대한도
③제1항에도 불구하고 제1호부터 제6호까지의 지역에서는 도시·군계획조례로 제1항에 따른 용적률의 20퍼센트 이하의 범위 안에서 임대주택(「임대주택법」 제16조제1항에 따라 임대의무기간이 10년 이상인 경우에 한한다)의 추가건설을 허용할 수 있다. <신설 2005.9.8, 2006.8.17, 2012.4.10, 2014.1.14>
⑤ 제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>
⑦법 제78조제4항의 규정에 의하여 준주거지역·중심상업지역·일반상업지역·근린상업지역·전용공업지역·일반공업지역 또는 준공업지역안의 건축물로서 다음 각호의 1에 해당하는 건축물에 대한 용적률은 경관·교통·방화 및 위생상 지장이 없다고 인정되는 경우에는 제1항 각호의 규정에 의한 해당 용적률의 120퍼센트 이하의 범위안에서 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례가 정하는 비율로 할 수 있다. <개정 2005.9.8, 2012.4.10, 2014.1.14>
⑧법 제78조제4항의 규정에 의하여 다음 각호의 지역·지구 또는 구역안에서 건축물을 건축하고자 하는 자가 그 대지의 일부를 공공시설부지로 제공하는 경우에는 당해 건축물에 대한 용적률은 제1항 각호의 규정에 의한 해당 용적률의 200퍼센트 이하의 범위안에서 대지면적의 제공비율에 따라 특별시·광역시·특별자치시·특별자치도·시 또는 군의 도시·군계획조례가 정하는 비율로 할 수 있다. <개정 2003.6.30, 2005.1.15, 2005.9.8, 2012.4.10, 2014.1.14>
⑨법 제78조제5항에서 "창고 등 대통령령으로 정하는 용도의 건축물 또는 시설물"이란 창고를 말한다. <신설 2006.3.23, 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%
}





28
화재예방, 소방시설 설치ㆍ유지 및 안전관리에 관한 법률 제 11 조
① 소방본부장이나 소방서장은 제9조제1항 전단에 따른 대통령령 또는 화재안전기준이 변경되어 그 기준이 강화되는 경우 기존의 특정소방대상물(건축물의 신축·개축·재축·이전 및 대수선 중인 특정소방대상물을 포함한다)의 소방시설에 대하여는 변경 전의 대통령령 또는 화재안전기준을 적용한다. 다만, 다음 각 호의 어느 하나에 해당하는 소방시설의 경우에는 대통령령 또는 화재안전기준의 변경으로 강화된 기준을 적용한다. <개정 2014.1.7, 2016.1.27, 2018.3.27, 2020.6.9>
① 소방본부장이나 소방서장은 제9조제1항 전단에 따른 대통령령 또는 화재안전기준이 변경되어 그 기준이 강화되는 경우 기존의 특정소방대상물(건축물의 신축ㆍ개축ㆍ재축ㆍ이전 및 대수선 중인 특정소방대상물을 포함한다)의 소방시설에 대하여는 변경 전의 대통령령 또는 화재안전기준을 적용한다. 다만, 다음 각 호의 어느 하나에 해당하는 소방시설의 경우에는 대통령령 또는 화재안전기준의 변경으로 강화된 기준을 적용한다. <개정 2014.1.7, 2016.1.27, 2018.3.27, 2020.6.9>
1. 다음 소방시설 중 대통령령으로 정하는 것
2. 다음 각 목의 지하구에 설치하여야 하는 소방시설
가. 「국토의 계획 및 이용에 관한 법률」 제2조제9호에 따른 공동구
나. 전력 또는 통신사업용 지하구
3. 노유자(老幼者)시설, 의료시설에 설치하여야 하는 소방시설 중 대통령령으로 정하는 것
③ 소방본부장이나 소방서장은 기존의 특정소방대상물이 증축되거나 용도변경되는 경우에는 대통령령으로 정하는 바에 따라 증축 또는 용도변경 당시의 소방시설의 설치에 관한 대통령령 또는 화재안전기준을 적용한다. <개정 2014.1.7>
① 소방본부장이나 소방서장은 제9조제1항 전단에 따른 대통령령 또는 화재안전기준이 변경되어 그 기준이 강화되는 경우 기존의 특정소방대상물(건축물의 신축ㆍ개축ㆍ재축ㆍ이전 및 대수선 중인 특정소방대상물을 포함한다)의 소방시설에 대하여는 변경 전의 대통령령 또는 화재안전기준을 적용한다. 다만, 다음 각 호의 어느 하나에 해당하는 소방시설의 경우에는 대통령령 또는 화재안전기준의 변경으로 강화된 기준을 적용한다. <개정 2014.1.7, 2016.1.27, 20
라. 피난구조설비
④ 다음 각 호의 어느 하나에 해당하는 특정소방대상물 가운데 대통령령으로 정하는 특정소방대상물에는 제9조제1항 전단에도 불구하고 대통령령으로 정하는 소방시설을 설치하지 아니할 수 있다. <개정 2016.1.27>
⑤ 제4항 각 호의 어느 하나에 해당하는 특정소방대상물에 구조 및 원리 등에서 공법이 특수한 설계로 인정된 소방시설을 설치하는 경우에는 제11조의2제1항에 따른 중앙소방기술심의위원회의 심의를 거쳐 제9조제1항 전단에 따른 화재안전기준을 적용하지 아니 할 수 있다. <신설 2014.12.30, 2016.1.27>
⑤ 제4항 각 호의 어느 하나에 해당하는 특정소방대상물에 구조 및 원리 등에서 공법이 특수한 설계로 인정된 소방시설을 설치하는 경우에는 제11조의2제1항에 따른 중앙소방기술심의위원회의 심의를 거쳐 제9조제1항에 따른 화재안전기준을 적용하지 아니 할 수 있다. <신설 2014.12.30>
제11조(소방시설기준 적용의 특례)
① 소방본부장이나 소방서장은 제9조제1항에 따른 대통령령 또는 화재안전기준이 변경되어 그 기준이 강화되는 경우 기존의 특정소방대상물(건축물의 신축·개축·재축·이전 및 대수선 중인 특정소방대상물을 포함한다)의 소방시설등에 대하여는 변경 전의 대통령령 또는 화재안전기준을 적용한다. 다만, 다음 각 호의 어느 하나에 해당하는 소방시설등의 경우에는 대통령령 또는 화재안전기준의 변경으로 강화된 기준을 적용한다.
1. 소화기구·비상경보설비·자동화재속보설비 및 피난설비
2. 지하구 가운데 「국토의 계획 및 이용에 관한 법률」 제2조제9호에 따른 공동구에 설치하여야 하는 소방시설등
3. 노유자(老幼者)시설, 의료시설에 설치하여야 하는 소방시설등 중 대통령령으로 정하는 것
② 소방본부장이나 소방서장은 특정소방대상물에 설치하여야 하는 소방시설 가운데 기능과 성능이 유사한 물 분무 소화설비, 간이 스프링클러 설비, 비상경보설비 및 비상방송설비 등의 소방시설의 경우에는 대통령령으로 정하는 바에 따라 유사한 소방시설의 설치를 면제할 수 있다.
③ 소방본부장이나 소방서장은 기존의 특정소방대상물이 증축되거나 용도변경되는 경우에는 대통령령으로 정하는 바에 따라 증축 또는 용도변경 당시의 소방시설등의 설치에 관한 대통령령 또는 화재안전기준을 적용한다.
④ 다음 각 호의 어느 하나에 해당하는 특정소방대상물 가운데 대통령령으로 정하는 특정소방대상물에는 제9조제1항에도 불구하고 대통령령으로 정하는 소방시설을 설치하지 아니할 수 있다.
1. 화재 위험도가 낮은 특정소방대상물
2. 화재안전기준을 적용하기 어려운 특정소방대상물
3. 화재안전기준을 다르게 적용하여야 하는 특수한 용도 또는 구조를 가진 특정소방대상물
4. 「위험물 안전관리법」 제19조에 따른 자체소방대가 설치된 특정소방대상물
① 소방본부장이나 소방서장은 제9조제1항에 따른 대통령령 또는 화재안전기준이 변경되어 그 기준이 강화되는 경우 기존의 특정소방대상물(건축물의 신축·개축·재축·이전 및 대수선 중인 특정소방대상물을 포함한다)의 소방시설에 대하여는 변경 전의 대통령령 또는 화재안전기준을 적용한다. 다만, 다음 각 호의 어느 하나에 해당하는 소방시설의 경우에는 대통령령 또는 화재안전기준의 변경으로 강화된 기준을 적용한다. <개정 2014.1.7>
1. 다음 소방시설 중 대통령령으로 정하는 것
가. 소화기구
나. 비상경보설비
다. 자동화재속보설비
라. 피난설비
2. 지하구 가운데 「국토의 계획 및 이용에 관한 법률」 제2조제9호에 따른 공동구에 설치하여야 하는 소방시설
3. 노유자(老幼者)시설, 의료시설에 설치하여야 하는 소방시설 중 대통령령으로 정하는 것
③ 소방본부장이나 소방서장은 기존의 특정소방대상물이 증축되거나 용도변경되는 경우에는 대통령령으로 정하는 바에 따라 증축 또는 용도변경 당시의 소방시설의 설치에 관한 대통령령 또는 화재안전기준을 적용한다. <개정 2014.1.7>



//  소방시설 설치ㆍ유지 및 안전관리에 관한 법률 11조 (소방시설기준 적용의 특례) 4항
Check(IMSFA_11_4){
     IF CS THEN KS
}
CS{
     getResult(IMSFA_11_4_4) = TRUE
}
KS{
     isInstalled(FireFightingFacility) = TRUE OR FALSE
}


// 소방시설 설치ㆍ유지 및 안전관리에 관한 법률 11조 (소방시설기준 적용의 특례) 4항 4호
Check(IMSFA_11_4_4){
     KS
}

KS{
     getResult(SCHSA_19) = true
     isInstalled(FireBrigade, SpecificFireFithtingBuilding) = TRUE
}




29
화재예방, 소방시설 설치ㆍ유지 및 안전관리에 관한 법률 제 8 조
제8조(주택에 설치하는 소방시설) ① 다음 각 호의 주택의 소유자는 소방시설 중 소화기구 및 단독경보형감지기를 설치하여야 한다.
① 다음 각 호의 주택의 소유자는 대통령령으로 정하는 소방시설을 설치하여야 한다. <개정 2015.7.24>
② 국가 및 지방자치단체는 제1항에 따라 주택에 설치하여야 하는 소방시설(이하 "주택용 소방시설"이라 한다)의 설치 및 국민의 자율적인 안전관리를 촉진하기 위하여 필요한 시책을 마련하여야 한다. <개정 2015.7.24>
③ 주택용 소방시설의 설치기준 및 자율적인 안전관리 등에 관한 사항은 특별시ㆍ광역시ㆍ특별자치시ㆍ도 또는 특별자치도의 조례로 정한다. <개정 2014.1.7, 2015.7.24>
제8조(주택에 설치하는 소방시설)
① 다음 각 호의 주택의 소유자는 소방시설 중 소화기구 및 단독경보형감지기를 설치하여야 한다.
1.「건축법」 제2조제2항제1호의 단독주택
2.「건축법」 제2조제2항제2호의 공동주택(아파트 및 기숙사는 제외한다)
② 국가 및 지방자치단체는 제1항의 소화기구와 단독경보형감지기의 설치 및 국민의 자율적인 안전관리를 촉진하기 위하여 필요한 시책을 마련하여야 한다.
③ 제1항의 소화기구 및 단독경보형감지기 등 소방시설의 설치기준에 관한 사항은 특별시·광역시·도 또는 특별자치도의 조례로 정한다.
③ 제1항의 소화기구 및 단독경보형감지기 등 소방시설의 설치기준에 관한 사항은 특별시·광역시·특별자치시·도 또는 특별자치도의 조례로 정한다. <개정 2014.1.7>



//     소방시설 설치ㆍ유지 및 안전관리에 관한 법률 8조 (주택에 설치하는 소방시설) 1항

Check(IMSFA_8_1){

     IF CS THEN KS

}



CS{

     getResult(IMSFA_8_1_1) = TRUE

     OR getResult(IMSFA_8_1_2) = TRUE

}



KS{

Sensor mySensor{
Sensor.isSelfcontainedTypeFireAlarmDevice = TRUE
}
     isExist(mySensor) = TRUE

     OR isExist(FireExtinguisher) = TRUE

}


//     소방시설 설치ㆍ유지 및 안전관리에 관한 법률 8조 (주택에 설치하는 소방시설) 1항 1호
Check(IMSFA_8_1_1){
     KS
}

KS{
     getBuildingUsage() = "DetachedHouse"
}


//     소방시설 설치ㆍ유지 및 안전관리에 관한 법률 8조 (주택에 설치하는 소방시설) 1항 2호
Check(IMSFA_8_1_2){
     KS
}

KS{
     getBuildingUsage() = "MultiUnitHouse"
     getBuildingUsage() != "ApartmentHouse"
     getBuildingUsage() != "Dormitory"
}




30
화재예방, 소방시설 설치ㆍ유지 및 안전관리에 관한 법률 시행령 제 16 조
제16조(유사한 소방시설의 설치 면제의 기준) 법 제11조제2항에 따라 소방본부장 또는 소방서장은 특정소방대상물에 설치하여야 하는 소방시설 가운데 기능과 성능이 유사한 소방시설의 설치를 면제하려는 경우에는 별표 6의 기준에 따른다.



//소방시설 설치ㆍ유지 및 안전관리에 관한 법률 시행령 16조 (유사한 소방시설의 설치 면제의 기준)
Check(EDIMSFA_16){
     KS
}

KS{
     getResult(EDIMSFA_*_6) = TRUE
}




31
화재예방, 소방시설 설치ㆍ유지 및 안전관리에 관한 법률 시행령 제 18 조
제18조(소방시설을 설치하지 아니하는 특정소방대상물의 범위) 법 제11조제4항에 따라 소방시설을 설치하지 아니할 수 있는 특정소방대상물 및 소방시설의 범위는 별표 7과 같다.



//소방시설 설치ㆍ유지 및 안전관리에 관한 법률 시행령 18조 (소방시설을 설치하지 아니하는 특정소방대상물의 범위) 2항
Check(EDIMSFA_18_2){
     KS
}

KS{
     getResult(EDIMSFA_11_4) = TRUE
     getResult(EDIMSFA_*_7) = TRUE
}




32
다중이용업소의 안전관리에 관한 특별법 시행령 제 2 조
제2조(다중이용업) 「다중이용업소의 안전관리에 관한 특별법」(이하 "법"이라 한다) 제2조제1항제1호에서 "대통령령으로 정하는 영업"이란 다음 각 호의 어느 하나에 해당하는 영업을 말한다. <개정 2008.12.24., 2009.7.1., 2009.8.6., 2010.8.11., 2012.1.31., 2013.3.23., 2013.11.20., 2014.11.19., 2014.12.23.>
1. 「식품위생법 시행령」 제21조제8호에 따른 식품접객업 중 다음 각 목의 어느 하나에 해당하는 것
2. 「영화 및 비디오물의 진흥에 관한 법률」 제2조제10호, 같은 조 제16호가목ㆍ나목 및 라목에 따른 영화상영관ㆍ비디오물감상실업ㆍ비디오물소극장업 및 복합영상물제공업
3. 「학원의 설립ㆍ운영 및 과외교습에 관한 법률」 제2조제1호에 따른 학원(이하 "학원"이라 한다)으로서 다음 각 목의 어느 하나에 해당하는 것
(3) 하나의 건축물에 제1호, 제2호, 제4호부터 제7호까지, 제7호의2부터 제7호의5까지 및 제8호의 다중이용업 중 어느 하나 이상의 다중이용업과 학원이 함께 있는 경우
5. 「게임산업진흥에 관한 법률」 제2조제6호ㆍ제6호의2ㆍ제7호 및 제8호의 게임제공업ㆍ인터넷컴퓨터게임시설제공업 및 복합유통게임제공업. 다만, 게임제공업 및 인터넷컴퓨터게임시설제공업의 경우에는 영업장(내부계단으로 연결된 복층구조의 영업장은 제외한다)이 지상 1층 또는 지상과 직접 접하는 층에 설치되고 그 영업장의 주된 출입구가 건축물 외부의 지면과 직접 연결된 구조에 해당하는 경우는 제외한다.
6. 「음악산업진흥에 관한 법률」 제2조제13호에 따른 노래연습장업
7. 「모자보건법」 제2조제12호에 따른 산후조리업
7의2. 고시원업[구획된 실(室) 안에 학습자가 공부할 수 있는 시설을 갖추고 숙박 또는 숙식을 제공하는 형태의 영업]
7의3. 「사격 및 사격장 안전관리에 관한 법률 시행령」 제2조제1항 및 별표 1에 따른 권총사격장(실내사격장에 한정하며, 같은 조 제1항에 따른 종합사격장에 설치된 경우를 포함한다)
7의4. 「체육시설의 설치ㆍ이용에 관한 법률」 제10조제1항제2호에 따른 골프 연습장업(실내에 1개 이상의 별도의 구획된 실을 만들어 스크린과 영사기 등의 시설을 갖추고 골프를 연습할 수 있도록 공중의 이용에 제공하는 영업에 한정한다)
7의5. 「의료법」 제82조제4항에 따른 안마시술소
가. 휴게음식점영업ㆍ제과점영업 또는 일반음식점영업으로서 영업장으로 사용하는 바닥면적(「건축법 시행령」 제119조제1항제3호에 따라 산정한 면적을 말한다. 이하 같다)의 합계가 100제곱미터(영업장이 지하층에 설치된 경우에는 그 영업장의 바닥면적 합계가 66제곱미터) 이상인 것. 다만, 영업장(내부계단으로 연결된 복층구조의 영업장을 제외한다)이 다음의 어느 하나에 해당하는 층에 설치되고 그 영업장의 주된 출입구가 건축물 외부의 지면과 직접 연결되는 곳에서
나. 단란주점영업과 유흥주점영업
가. 「화재예방, 소방시설 설치ㆍ유지 및 안전관리에 관한 법률 시행령」 별표 4에 따라 산정된 수용인원(이하 "수용인원"이라 한다)이 300명 이상인 것
나. 수용인원 100명 이상 300명 미만으로서 다음의 어느 하나에 해당하는 것. 다만, 학원으로 사용하는 부분과 다른 용도로 사용하는 부분(학원의 운영권자를 달리하는 학원과 학원을 포함한다)이 「건축법 시행령」 제46조에 따른 방화구획으로 나누어진 경우는 제외한다.
4. 목욕장업으로서 다음 각 목에 해당하는 것
가. 하나의 영업장에서 「공중위생관리법」 제2조제1항제3호가목에 따른 목욕장업 중 맥반석ㆍ황토ㆍ옥 등을 직접 또는 간접 가열하여 발생하는 열기나 원적외선 등을 이용하여 땀을 배출하게 할 수 있는 시설 및 설비를 갖춘 것으로서 수용인원(물로 목욕을 할 수 있는 시설부분의 수용인원은 제외한다)이 100명 이상인 것
나. 「공중위생관리법」 제2조제1항제3호나목의 시설 및 설비를 갖춘 목욕장업
5. 「게임산업진흥에 관한 법률」 제2조제6호ㆍ제6호의2ㆍ제7호 및 제8호의 게임제공업ㆍ인터넷컴퓨터게임시설제공업 및 복합유통게임제공업. 다만, 게임제공업 및 인터넷컴퓨터게임시설제공업의 경우에는 영업장(내부계단으로 연결된 복층구조의 영업장은 제외한다)이 다음 각 목의 어느 하나에 해당하는 층에 설치되고 그 영업장의 주된 출입구가 건축물 외부의 지면과 직접 연결된 구조에 해당하는 경우는 제외한다.
가. 지상 1층
나. 지상과 직접 접하는 층
7. 「모자보건법」 제2조제10호에 따른 산후조리업
8. 법 제15조제2항에 따른 화재위험평가결과 위험유발지수가 제11조제1항에 해당하거나 화재발생시 인명피해가 발생할 우려가 높은 불특정다수인이 출입하는 영업으로서 행정안전부령으로 정하는 영업. 이 경우 소방청장은 관계 중앙행정기관의 장과 미리 협의하여야 한다.
제2조 (다중이용업) 「다중이용업소의 안전관리에 관한 특별법」(이하 "법"이라 한다) 제2조제1항제1호에 따른 "대통령령이 정하는 영업"이라 함은 다음 각 호의 어느 하나에 해당하는 영업을 말한다. <개정 2008.12.24, 2009.7.1, 2009.8.6>
제2조(다중이용업) 「다중이용업소의 안전관리에 관한 특별법」(이하 "법"이라 한다) 제2조제1항제1호에 따른 "대통령령이 정하는 영업"이라 함은 다음 각 호의 어느 하나에 해당하는 영업을 말한다. <개정 2008.12.24, 2009.7.1, 2009.8.6, 2010.8.11>
제2조(다중이용업) 「다중이용업소의 안전관리에 관한 특별법」(이하 "법"이라 한다) 제2조제1항제1호에 따른 "대통령령이 정하는 영업"이라 함은 다음 각 호의 어느 하나에 해당하는 영업을 말한다. <개정 2008.12.24, 2009.7.1, 2009.8.6, 2010.8.11, 2012.1.31>
제2조(다중이용업) 「다중이용업소의 안전관리에 관한 특별법」(이하 "법"이라 한다) 제2조제1항제1호에서 "대통령령으로 정하는 영업"이란 다음 각 호의 어느 하나에 해당하는 영업을 말한다. <개정 2008.12.24, 2009.7.1, 2009.8.6, 2010.8.11, 2012.1.31, 2013.3.23, 2013.11.20>
제2조(다중이용업) 「다중이용업소의 안전관리에 관한 특별법」(이하 "법"이라 한다) 제2조제1항제1호에서 "대통령령으로 정하는 영업"이란 다음 각 호의 어느 하나에 해당하는 영업을 말한다. <개정 2008.12.24, 2009.7.1, 2009.8.6, 2010.8.11, 2012.1.31, 2013.3.23, 2013.11.20, 2014.11.19, 2014.12.23, 2016.1.19>
제2조(다중이용업) 「다중이용업소의 안전관리에 관한 특별법」(이하 "법"이라 한다) 제2조제1항제1호에서 "대통령령으로 정하는 영업"이란 다음 각 호의 어느 하나에 해당하는 영업을 말한다. <개정 2008.12.24, 2009.7.1, 2009.8.6, 2010.8.11, 2012.1.31, 2013.3.23, 2013.11.20, 2014.11.19, 2014.12.23, 2016.1.19, 2017.7.26>
제2조(다중이용업) 「다중이용업소의 안전관리에 관한 특별법」(이하 "법"이라 한다) 제2조제1항제1호에서 "대통령령으로 정하는 영업"이란 다음 각 호의 어느 하나에 해당하는 영업을 말한다. <개정 2008.12.24, 2009.7.1, 2009.8.6, 2010.8.11, 2012.1.31, 2013.3.23, 2013.11.20, 2014.11.19, 2014.12.23, 2016.1.19, 2017.7.26, 2018.7.10>
제2조 (다중이용업) 「다중이용업소의 안전관리에 관한 특별법」(이하 "법"이라 한다) 제2조제1항제1호에 따른 "대통령령이 정하는 영업"이라 함은 다음 각 호의 어느 하나에 해당하는 영업을 말한다. <개정 2008.12.24, 2009.7.1>



//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업) 1호


Check(ERSASP_2_0_1){
IF CS THEN KS
}

CS{
getObjectProperty(Building.business) = "EDFA_21_0_8"

}
KS{
getResult(ERSASP_2_0_1_1)= TRUE
OR getResult(ERSASP_2_0_1_2)= TRUE

}


//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업) 2호


Check(ERSASP_2_0_2){
KS
}

KS{
getObjectProperty(Building.business)= "PMVA_2_0_10"
OR getObjectProperty(Building.business)= "PMVA_2_0_16_1"
OR getObjectProperty(Building.business)= "PMVA_2_0_16_2"
OR getObjectProperty(Building.business)= "PMVA_2_0_16_4"
}




//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업) 3호


Check(ERSASP_2_0_3){
IF CS THEN KS
}

CS{
getObjectProperty(Building.business)= "AEOPE_2_0_1_"
}

KS{
getResult(ERSASP_2_0_3_가)= TRUE
OR getResult(ERSASP_2_0_3_나)= TRUE
}


Check(ERSASP_2_0_3_나3){
IF CS THEN KS
}

CS{
getObjectProperty(Building.business)= "AEOPE_2_0_1"
}
KS{
getResult(ERSASP_2_0_1)= TRUE
OR getResult(ERSASP_2_0_2)= TRUE
OR getResult(ERSASP_2_0_4)= TRUE
OR getResult(ERSASP_2_0_5)= TRUE
OR getResult(ERSASP_2_0_6)= TRUE
OR getResult(ERSASP_2_0_7)= TRUE
OR getResult(ERSASP_2_0_7-2)= TRUE
OR getResult(ERSASP_2_0_7-3)= TRUE
OR getResult(ERSASP_2_0_7-4)= TRUE
OR getResult(ERSASP_2_0_7-5)= TRUE
OR getResult(ERSASP_2_0_8)= TRUE
}


//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업) 5호


Check(ERSASP_2_0_5){
KS1 AND IF CS THEN !KS2
}


KS1{
getObjectProperty(Building.business)= "GIPA_2_0_6"
OR getObjectProperty(Building.business)= "GIPA_2_0_6-2"
OR getObjectProperty(Building.business)= "GIPA_2_0_7"
OR getObjectProperty(Building.business)= "GIPA_2_0_8"
}


CS{
getObjectProperty(Building.business)= "GIPA_2_0_6"
OR getObjectProperty(Building.business)= "GIPA_2_0_7"
}

KS2{
Space mySpace{
Space.usage = "GIPA_2_0_6"
OR Space.usage = "GIPA_2_0_7"
}
Floor myFloor{
hasObject(Floor,mySpace)=TRUE
}
Door myDoor{
isObjectProperty(mySpace.Door.isEntrance)=TRUE
}

(getObjectProperty(myFloor.number)=1
OR isDirectlyAccessible(myFloor, Ground)=TRUE)
isConnectedToExternal(myDoor)=TRUE
}


//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업) 6호


Check(ERSASP_2_0_6){
KS
}

KS{
getObjectProperty(Building.business)= "MIPA_2_0_13"
}



//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업) 7호


Check(ERSASP_2_0_7){
KS
}

KS{
getObjectProperty(Building.business)= "MCHA_2_0_11"
}



//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업)7-2호




Check(ERSASP_2_0_7-2){
KS
}

KS{
getObjectProperty(Building.business)= "AccommodationForExaminers"
}



//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업) 7의3호


Check(ERSASP_2_0_7-3){
KS
}

KS{
getObjectProperty(Building.business)= "GunShootingRange"
}



//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업) 7-4호


Check(ERSASP_2_0_7-4){
KS
}

KS{
getObjectProperty(Building.business)="IUSA_10_1_2_9"
}


//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업) 7-5호


Check(ERSASP_2_0_7-5){
KS
}

KS{
getObjectProperty(Building.business)="MassageParlor"
}


//다중이용업소의 안전관리에 관한 특별법 시행령 2조 (다중이용업) Check(ERSASP_2){ KS } KS{ Building myBuilding{ getResult(ERSASP_2_1)= TRUE OR getResult(ERSASP_2_2)= TRUE OR getResult(ERSASP_2_3)= TRUE OR getResult(ERSASP_2_5)= TRUE OR getResult(ERSASP_2_6)= TRUE OR getResult(ERSASP_2_7)= TRUE OR getResult(ERSASP_2_7-2)= TRUE OR getResult(ERSASP_2_7-3)= TRUE OR getResult(ERSASP_2_7-4)= TRUE OR getResult(ERSASP_2_7-5)= TRUE } }




33
소화기구 및 자동소화장치의 화재안전기준(NFSC 101) 제 4 조
제4조(설치기준) ①소화기구는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.6.11>
1. 특정소방대상물의 설치장소에 따라 별표 1에 적합한 종류의 것으로 할 것<개정 2012.6.11>
2. 특정소방대상물에 따라 소화기구의 능력단위는 별표 3의 기준에 따를 것<개정 2012.6.11>
4. 소화기는 다음 각 목의 기준에 따라 설치할 것<개정 2012.6.11>
가. 각층마다 설치하되, 특정소방대상물의 각 부분으로부터 1개의 소화기까지의 보행거리가 소형소화기의 경우에는 20m 이내, 대형소화기의 경우에는 30m 이내가 되도록 배치할 것. 다만, 가연성물질이 없는 작업장의 경우에는 작업장의 실정에 맞게 보행거리를 완화하여 배치할 수 있으며, 지하구의 경우에는 화재발생의 우려가 있거나 사람의 접근이 쉬운 장소에 한하여 설치할 수 있다<개정 2012.6.11>
나. 특정소방대상물의 각층이 2 이상의 거실로 구획된 경우에는 가목의 규정에 따라 각 층마다 설치하는 것 외에 바닥면적이 33㎡ 이상으로 구획된 각 거실(아파트의 경우에는 각 세대를 말한다)에도 배치할 것<개정 2012.6.11>
7. 주방용자동소화장치는 아파트의 각 세대별 주방 및 오피스텔의 각실 별 주방에 다음 각 목의 기준에 따라 설치할 것<개정 2012.6.11>
다. 가스차단장치는 주방배관의 개폐밸브로부터 2m 이하의 위치에 설치하되, 상시 확인 및 점검이 가능하도록 설치할 것<개정 2012.6.11>
8. 캐비넷형자동소화장치는 다음 각 목의 기준에 따라 설치하여야 한다.<전문개정 2012.6.11>
가. 분사헤드의 설치 높이는 방호구역의 바닥으로부터 최소 0.2m 이상 최대 3.7m 이하로 하여야 한다. 다만, 별도의 높이로 형식승인 받은 경우에는 그 범위 내에서 설치할 수 있다.
나. 화재감지기는 방호구역내의 천장 또는 옥내에 면하는 부분에 설치하되 「자동화재탐지설비의 화재안전기준(NFSC 203)」 제7조에 적합하도록 설치할 것
② 이산화탄소 또는 할로겐화합물(할론 1301과 청정소화약제를 제외한다)을 방사하는 소화기구(자동확산소화장치를 제외한다)는 지하층이나 무창층 또는 밀폐된 거실로서 그 바닥면적이 20㎡ 미만의 장소에는 설치할 수 없다. 다만, 배기를 위한 유효한 개구부가 있는 장소인 경우에는 그러하지 아니하다.<개정 2008.12.15, 2012.6.11>



//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항
Check(NFSC101_4_1){
getResult(NFSC101_4_1_2)=TRUE
getResult(NFSC101_4_1_8)=TRUE
getResult(NFSC101_4_1_9)=TRUE
}



//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 1호
Check(NFSC101_4_1_1){
     getResult(NFSC101_*_1) = TRUE
}


//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 2호
Check(NFSC101_4_1_2){
getResult(NFSC101_*_3)=TRUE
}


//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 4호

Check(NFSC101_4_1_4){
KS
}

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


//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 4호 가목 Check(NFSC101_4_1_4){ KS } KS{ isInstalled(FireExtinguisher, Floor)=True IF getObjectProperty(FireExtinguisher.sizeType)="SmallSize" THEN getObjectDistance(SpecificFireFightingBuilding.Wall, FireExtinguisher.One)<=20 m getObjectDistance(SpecificFireFightingBuilding.Column, FireExtinguisher.One)<=20 m ELSE IF getObjectProperty(FireExtinguisher.sizeType)="LargeSize" THEN getObjectDistance(SpecificFireFightingBuilding.Wall, FireExtinguisher.One)<=30 m getObjectDistance(SpecificFireFightingBuilding.Column, FireExtinguisher.One)<=30 m END IF }


//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 3호 나목

Check(NFSC101_4_1_3_나){
IF CS THEN KS
}

CS{
isFirePartitioned(Floor.One, Room.Two, SpecificFireFightingBuilding)=True
}

KS{
Room myRoom{
isFirePartion(Room, a, 33)=True
}
isInstalled(FireExtinguishingEquipment, myRoom)=True
}


//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 7호
Check(NFSC101_4_1_7){
     IF CS THEN KS
}

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

}

KS{
     AutomaticFireExtinguishingEquipment myAutomaticFireExtinguishingEquipment{
     isObjectProperty(AutomaticFireExtinguishingEquipment.isKitchenType) = TRUE
     }
     hasSpace(mySpace,myAutomaticFireExtinguishingEquipment) = TRUE
     getResult(NFSC101_4_1_7_3)=TRUE
}


//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 7호 다목
Check(NFSC101_4_1_7_다){
     KS
}
KS{
     ShutdownEquipment myShutdownEquipment{
     isObjectProperty(ShutdownEquipment.type)="GAS"
     }
     Space mySpace{
     isObjectProperty(Space.usage) = "Kitchen"
     }
     Pipe myPipe{
     isInstalled(Pipe, mySpace) = TRUE
     }
     Valve myValve{
     isObjectProperty(Valve.isShutoffValve) = TRUE
     isInstalled(Valve, myPipe) = TRUE
     }
     isElementDistance(myShutdownEquipment, myValve) <= 2m
}


//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 8호
Check(NFSC101_4_1_8){
     getResult(NFSC101_4_1_8_가)=TRUE
     getResult(NFSC101_4_1_8_나)=TRUE
     getResult(NFSC101_4_1_8_마)=TRUE
}


//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 8호 가목
Check(NFSC101_4_1_8_가){
     KS
}

Zone myZone{
     isObjectProperty(Zone.isProtectionZone)=TRUE
}

02.m <= getObjectVerticalDistance(myZone.FloorSlab, AutomaticFireExtinguishingEquipment.Head, a) <= 3.7m
     


//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 8호 나목
Check(NFSC101_4_1_8_나){
     KS
}
KS{
     Zone myZone{
          isObjectProperty(Zone.isProtectionZone)=TRUE
     }
     {hasObject(myZone.Ceiling, FireDetector) = TRUE
     OR isExternal(FireDetector) = FALSE}
     getResult(NFSC203_7) = TRUE

}


//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 2항 Check(NFSC101_4_2){      KS } KS{      FireExtinguisher myFireExtinguisher{      getObjectProperty(FireExtinguishingEquipment.extinguishingAgentType) = "GasType"      }      Space mySpace{           (getFloorNumber(Space) = -1      OR hasSpace(Space, Window) = FALSE      OR isObjectProperty(Room.isEnclosed)=TRUE)      getObjectProperty(Space.FloorSlab) < 20 m2      }      getSpace(mySpace, myFireExtinguisher) = FALSE }




34
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 4 조
제4조(수원) ① 간이스프링클러설비의 수원은 다음 각 호와 같다.
2. 수조("캐비닛형"을 포함한다)를 사용하고자 하는 경우에는 적어도 1개 이상의 자동급수장치를 갖추어야 하며, 2개의 간이헤드에서 최소 10분[영 별표 5 제1호마목1) 또는 6)과 7)에 해당하는 경우에는 5개의 간이헤드에서 최소 20분]이상 방수할 수 있는 양 이상을 수조에 확보할 것 <개정 2011.11.24, 2013.6.10, 2015.1.23.>
② 간이스프링클러설비의 수원을 수조로 설치하는 경우에는 소방설비의 전용수조로 하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 경우에는 그러하지 아니하다.
1. 간이스프링클러펌프의 후드밸브 또는 흡수배관의 흡수구(수직회전축펌프의 흡수구를 포함한다. 이하 같다)를 다른 설비(소방용 설비 외의 것을 말한다. 이하 같다)의 후드밸브 또는 흡수구보다 낮은 위치에 설치한 때
2. 제5조제3항에 따른 고가수조로부터 간이스프링클러설비의 수직배관에 물을 공급하는 급수구를 다른 설비의 급수구보다 낮은 위치에 설치한 때
④ 간이스프링클러설비용 수조는 다음 각 호의 기준에 따라 설치하여야 한다.
3. 수조의 외측에 수위계를 설치할 것. 다만, 구조상 불가피한 경우에는 수조의 맨홀 등을 통하여 수조 안의 물의 양을 쉽게 확인할 수 있도록 하여야 한다.
4. 수조의 상단이 바닥보다 높은 때에는 수조의 외측에 고정식 사다리를 설치할 것
5. 수조가 실내에 설치된 때에는 그 실내에 조명설비를 설치할 것
6. 수조의 밑부분에는 청소용 배수밸브 또는 배수관을 설치할 것









//     간이스프링클러설비의 화재안전기준(NFSC103A) 4조 (수원) 1항

Check(NFSC103A_4_1){

     KS

}



KS{

     getResult(NFSC103A_4_1_2) = TRUE

}


//     간이스프링클러설비의 화재안전기준(NFSC 103A) 4조 (수원) 1항 2호 Check(NFSC103A_4_1_2){      IF CS THEN KS } CS{      WaterSource myWaterSource{           isObjectProperty(Tank.isWaterSource) = TRUE      }      isInstalled(myWaterSource) = TRUE } KS{      getObjectCount(AutomaticWaterSupplyEquipment) >= 1 }


// 간이스프링클러설비의 화재안전기준(NFSC103a) 4조 (수원) 2항 Check(NFSC503A_4_2){      IF !CS1 AND CS2 THEN KS      } CS1{      getResult(NFSC503A_4_2_1) = TRUE      OR getResult(NFSC503A_4_2_2) = TRUE } CS2{      isObjectProperty(SimpleSprinklerSystem.Tank.isWaterSource) = TRUE } KS{      isObjectProperty(Tank.isShared) = FALSE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 2항 1호 Check(NFSC503A_4_2_1){      KS } KS{      Valve myValve1{      isObjectProperty(Valve.isFootValve) = TRUE      isObjectProperty(Valve.systemType) = "SimpleSprinklerSystem"      }      Port myPort1{      getObjectProperty(Port.typeForWater) = "Obsorption"      isObjectProperty(Valve.systemType) = "SimpleSprinklerSystem"      }      Valve myValve2{      isObjectProperty(Valve.isFootValve) = TRUE      isObjectProperty(Valve.systemType) != "SimpleSprinklerSystem"      }      Port myPort2{      getObjectProperty(Port.typeForWater) = "Obsorption"      isObjectProperty(Valve.systemType) != "SimpleSprinklerSystem"      }      getObjectVerticalLocation(myValve1|myValve1, myValve2|myPort2) < 0 }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 2항 2호 Check(NFSC503A_4_2_2){      KS } KS{ Pipe myPipe{ getObjectProperty(Pipe.usage)= "WaterSupplyPipe" getObjectProperty(Pipe.systemType)="SimpleSprinklerSystem" isObjectProperty(Pipe.isRiser)= TRUE }      Tank myTank{      getObjectProperty(Tank.operationType) = "ElevatedWaterTank"      }      Port myPort1{      getObjectProperty(Port.typeForWater) = "Supply"      isConnectedTo(Port,myTank) = TRUE      isConnectedTo(Port,myWaterSupplyPipe) = TRUE      }      Port myPort2 {      getObject(Port) - getObject(myPort1)      }      Distance1 = getObjectVerticalDistance(myPort1, Ground.Surface, b)      Distance2 = getObjectVerticalDistance(myPort2, Ground.Surface, b)      Distance1 - Distance2 < 0 }


//      간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) Check(NFSC503A_4){      getResult(NFSC503A_4_4) = TRUE      getResult(NFSC503A_4_5) = TRUE      getResult(NFSC503A_4_6) = TRUE }


//      간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 4항 3호

Check(NFSC503A_4_4_3){
     KS
}
KS{
     isInstalled(Tank.SideSurface, WaterLevelGauge) = TRUE
}


//      간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 4항 3호

Check(NFSC503A_4_4_3){
     IF CS THEN KS
}
CS{
     getObjectVerticalLocation(Tank.TopSurface, FloorSlab) = TRUE
}
KS{
     isInstalled(Ladder, Tank.SideSurface) = TRUE
     isObjectProperty(Ladder.isFixed) = TRUE
}


//      간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 5호(수원)

Check(NFSC503A_4_5){
     IF CS THEN KS
}
CS{
     Space mySpace{
     isExternal(Space) = FALSE
     }
     hasSpace(mySpace,Tank) = TRUE
KS{
     hasSpace(mySpace,LightingSystem) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 4항 6호

Check(NFSC503A_4_2_6){
     KS
}
KS{
     Valve myValve{
     isObjectProperty(Valve.isDeliveryValveForCleaning) = TRUE
     }
     Pipe myPipe{
     isObjectProperty(Pipe.usage) = "WaterDrainPipe"
     }
     isInstalled(Tank.BottomSurface, myValve) = TRUE
     OR isInstalled(Tank.BottomSurface, myPipe) = TRUE
}





35
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 5 조
② 전동기 또는 내연기관에 따른 펌프를 이용하는 가압송수장치는 다음 각 호의 기준에 따라 설치하여야 한다.
3. 펌프는 전용으로 할 것. 다만, 다른 소화설비와 겸용하는 경우 각각의 소화설비의 성능에 지장이 없을 때에는 그러하지 아니하다.
4. 펌프의 토출측에는 압력계를 체크밸브 이전에 펌프토출측 플랜지에서 가까운 곳에 설치하고, 흡입측에는 연성계 또는 진공계를 설치할 것. 다만, 수원의 수위가 펌프의 위치보다 높거나 수직회전축 펌프의 경우에는 연성계 또는 진공계를 설치하지 아니할 수 있다.
5. 가압송수장치에는 정격부하운전 시 펌프의 성능을 시험하기 위한 배관을 설치할 것 <개정 2011.11.24>
6. 가압송수장치에는 체절운전시 수온의 상승을 방지하기 위한 순환배관을 설치할 것 <개정 2011.11.24>
7. 기동장치로는 기동용수압개폐장치 또는 이와 동등 이상의 성능이 있는 것을 설치하고 다음 각 목의 기준에 따른 충압펌프를 설치할 것. 다만, 캐비닛형의 경우에는 그러하지 아니하다.<개정 2013.6.10>
가. 펌프의 토출압력은 그 설비의 최고위 살수장치의 자연압보다 적어도 0.2 ㎫이 더 크도록 하거나 가압송수장치의 정격토출압력과 같게할 것<신설 2013.6.10>
8. 수원의 수위가 펌프보다 낮은 위치에 있는 가압송수장치에는 다음 각 목의 기준에 따른 물올림장치를 설치할 것 다만, 캐비닛형일 경우에는 그러하지 아니하다. <개정 2011.11.24>
가. 물올림장치에는 전용의 탱크를 설치할 것
나. 탱크의 유효수량은 100 L 이상으로 하되, 구경 15㎜ 이상의 급수배관에 따라 당해탱크에 물이 계속 보급되도록 할 것
③ 고가수조의 자연낙차를 이용한 가압송수장치는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 고가수조의 자연낙차수두(수조의 하단으로부터 최고층에 설치된 헤드까지의 수직거리를 말한다)는 다음의 식에 따라 산출한 수치 이상이 되도록 할 것 H = h₁+ 10 H : 필요한 낙차(m) h₁: 배관의 마찰손실수두(m)
2. 고가수조에는 수위계·배수관·급수관·오버플로우관 및 맨홀을 설치할 것
④ 압력수조를 이용한 가압송수장치는 다음 각 호의 기준에 따라 설치하여야 한다.
2. 압력수조에는 수위계·급수관·배수관·급기관·맨홀·압력계· 안전장치 및 압력저하 방지를 위한 자동식 공기압축기를 설치 할 것
⑦ 영 별표 5 제1호마목1) 또는 6)과 7)에 해당하는 특정소방대상물의 경우에는 상수도직결형 및 캐비닛형 간이스프링클러설비를 제외한 가압송수장치를 설치하여야 한다.<신설 2013.6.10, 개정 2015.1.23.>



//      간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항

Check(NFSC503A_5_2){
     IF CS THEN KS
}

CS{
     getObjectProperty(PressurizedWaterSupplySystem.supplyType)="PumpType"
}
KS{
     getResult(NFSC503A_5_2_3) = TRUE
     getResult(NFSC503A_5_2_4) = TRUE
     getResult(NFSC503A_5_2_5) = TRUE
     getResult(NFSC503A_5_2_6) = TRUE
     getResult(NFSC503A_5_2_7) = TRUE

}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치)2항 3호

Check(NFSC503A_5_2_3){
     KS
}

KS{
isObjectProperty(Pump.isShared) = FALSE
}







// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (수원) 2항 4호 Check(NFSC503A_5_2_4){      IF !CS THEN KS } CS{      getObjectVerticalLocation(WaterSource, Pump) > 0      OR isObjectProperty(Pump.isVerticalPump) = TRUE } KS{      Valve myValve{      isObjectProperty(Valve.isCheckValve) = TRUE      }      isInstalled(Pump.Outlet, myValve) = TRUE      isInstalledInOrder(PressureGauge, myValve) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치)2항 5호 Check(NFSC503A_5_2_5){      KS } KS{      Pipe myPipe{      isObjectProperty(Pipe.isForTest) = TRUE      }      isInstalled(PressurizedWaterSupplySystem,myPipe) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치)2항 6호

Check(NFSC503A_5_2_6){
     KS
}

KS{
     Pipe myPipe{
     isObjectProperty(Pipe.isCirculationPipe) = TRUE
     }
     isInstalled(PressurizedWaterSupplySystem,myPipe) = TRUE
}



// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 7호

Check(NFSC503A_5_2_7){
     IF !CS THEN KS1 AND KS2
}
CS{
     isObjectProperty(SimpleSprinklerSystem.isCabinetType)=TRUE
}
KS1{
     isExist(PressurizedWaterSupplySystem) = TRUE
}
KS2{
     getResult(NFSC503A_5_2_7_가) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 7호 가목 Check(NFSC103A_5_2_7_1){      KS } KS{      getObjectProperty(Pump.dischargePressure) = PDP      getObjectProperty(Sprinkler.dischargePressure) = SDP      getObjectProperty(PressurizedWaterSupplySystem.ratedDischargePressure) = PWSDP            (SDP + 0.2 <= PDP)      OR(PDP = PWSDP) }


//      간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 8호 Check(NFSC503A_5_2_8){      IF (!CS1 AND CS2) THEN KS } CS1{      isObjectProperty(SimpleSprinklerSystem.isCabinetType) = TRUE } CS2{ getObjectVerticalLocation(Pump, WaterSource,) < 0       } KS{      isInstalled(PressurizedWaterSupplySystem, WaterLiftingDevice) = TRUE      getResult(NFSC503A_5_2_가) = TRUE      getResult(NFSC503A_5_2_나) = TRUE }


//      간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 8호 가

Check(NFSC503A_5_2_8_가){
     KS
}
KS{
     isInstalled(WaterLiftingDevice, Tank)=TRUE
     isObjectProperty(Tank.isShared) = FALSE
}


//      간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 8호 나목

Check(NFSC503A_5_2_8_나){
     KS
}
KS{
     isObjectProperty(Tank.amountOfEffectiveWater) >= 10L
}


/      간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 3항

Check(NFSC503A_5_3){
     IF CS THEN KS
}
CS{
     isObjectProperty(PressurizedWaterSupplySystem.supplyType) = "ElevatedWaterTankType"
}
KS{
     getResult(NFSC503A_5_3_1)=TRUE
     getResult(NFSC503A_5_3_2)=TRUE

}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 3항 1호 Check(NFSC503A_5_3_1){      KS } KS{      Tank myTank{      isObjectProperty(Tank.operationType) = "ElevatedWaterTank"      }      Head myHead{      hasSpace(TopFloor,Head) = TRUE      }      getObjectVerticalDistance(myTank.BottomSurface,myHead) >= Pipe.frictionHeadLossH + 10m }


//간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 3항 2호



Check(NFSC503A_5_3_2){

     KS

}

KS{

     Tank myTank{

     isObjectProperty(Tank.operationType) = "ElevatedWaterTank"

     }

     Pipe myPipe1{

     isObjectProperty(Pipe.isOverflowPipe) = TRUE

     }
     Pipe myPipe2{

     getObjectProperty(Pipe.usage) = "WaterDrainPipe"

     }
     Pipe myPipe3{

     getObjectProperty(Pipe.usage) = "WaterSupplyPipe"

     }
     isInstalled(myTank,WaterLevelGauge) = TRUE

     isInstalled(myTank,myPipe2) = TRUE

     isInstalled(myTank,myPipe3) = TRUE

     isInstalled(myTank,myPipe1) = TRUE

     isInstalled(myTank,Manshole) = TRUE

}


/      간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 4항 Check(NFSC503A_5_4){      IF CS THEN KS } CS{      getObjectProperty(PressurizedWaterSupplySystem.supplyType) = "HydropneumaticTankType" } KS{      getResult(NFSC503A_5_4_1)=TRUE      getResult(NFSC503A_5_4_2)=TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 4항 2호 Check(NFSC503A_5_4_2){      KS } KS{      Tank myTank{      isObjectProperty(Tank.operationType) = "HydropneumaticTank"      }      Pipe myPipe{      isObjectProperty(Pipe.usage)="WaterSupplyPipe"      OR isObjectProperty(Pipe.usage)="WaterDrainPipe"      OR isObjectProperty(Pipe.usage)="AirSupplyPipe"      }      AirCompressor myAirCompressor{      isObjectProperty(AirCompressor.isAutomatic) = TRUE      }      isInstalled(WaterLevelGauge, myTank) = TRUE      isInstalled(myPipe, myTank) = TRUE      isInstalled(Manshole, myTank) = TRUE      isInstalled(PressureGauge, myTank) = TRUE      isInstalled(SafetyDevice, myTank) = TRUE      isInstalled(AirCompressor, myTank) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 7항

Check(NFSC503A_5_7){
     IF CS THEN KS
}
CS{
     SpecificFireFightingBuilding mySpecificFireFightingBuilding{
     getResult(_*_5_1_마_1)) = TRUE
     getResult(_*_5_1_마_6)) = TRUE
     getResult(_*_5_1_마_7)) = TRUE
     }
}
KS{
     SimpleSprinklerSystem mySimpleSprinklerSystem{
          isObjectProperty(SimpleSprinklerSystem.isDirectCoupledType) != TRUE
          isObjectProperty(SimpleSprinklerSystem.isCabinetType) != TRUE
     }

     isInstalled(PressurizedWaterSupplySystem, mySpecificFireFightingBuilding) = TRUE
     isInstalled(mySimpleSprinklerSystem, mySpecificFireFightingBuilding) != TRUE
}
     




36
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 6 조
제6조(간이스프링클러설비의 방호구역·유수검지장치) 간이스프링클러설비의 방호구역(간이스프링클러설비의 소화범위에 포함된 영역을 말한다. 이하 같다)·유수검지장치는 다음 각 호의 기준에 적합하여야 한다. 다만, 캐비닛형의 경우에는 제3호의 기준에 적합하여야 한다. <개정 2008.12.15, 2011.11.24>
1. 하나의 방호구역의 바닥면적은 1,000㎡를 초과하지 아니할 것<개정 2013.6.10>
2. 하나의 방호구역에는 1개 이상의 유수검지장치를 설치하되, 화재발생시 접근이 쉽고 점검하기 편리한 장소에 설치할 것 <개정 2008.12.15>
3. 하나의 방호구역은 2개층에 미치지 아니하도록 할 것. 다만, 1개층에 설치되는 간이헤드의 수가 10개 이하인 경우에는 3개층 이내로 할 수 있다.
4. 유수검지장치는 실내에 설치하거나 보호용 철망 등으로 구획하여 바닥으로부터 0.8m 이상 1.5m 이하의 위치에 설치하되, 그 실 등에는 가로 0.5m 이상 세로 1m 이상의 출입문을 설치하고 그 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 것. 다만, 유수검지장치를 기계실(공조용기계실을 포함한다)안에 설치하는 경우에는 별도의 실 또는 보호용 철망을 설치하지 아니하고 기계실 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 수
7. 간이스프링클러설비가 설치되는 특정소방대상물에 부설된 주차장부분(영 별표 5 제1호마목에 해당하지 아니하는 부분에 한한다)에는 습식 외의 방식으로 하여야 한다. 다만, 동결의 우려가 없거나 동결을 방지할 수 있는 구조 또는 장치가 된 곳은 그러하지 아니하다.<신설 2013.6.10>



//간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치)

Check(NFSC503A_6){
     KS2 AND IF CS THEN KS1
KS2{
     getResult(NFSC503A_6_1)=TRUE
     getResult(NFSC503A_6_2)=TRUE
     getResult(NFSC503A_6_3)=TRUE
     getResult(NFSC503A_6_4)=TRUE
}
CS{
     isObjectProperty(SimpleSprinklerSystem.isCabinetType) = TRUE
}
KS1{
     getResult(NFSC503A_6_3)=TRUE
}


//간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치) 1호

Check(NFSC503A_6_0_1){
     KS
}
KS{
     Zone myZon{
     isObjectProperty(Zone.isProtectionZone) = TRUE
     }
     isObjectProperty(myZone.FloorSlab.area) < 1000 m2
}


//간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치) 2호

Check(NFSC503A_6_0_2){
     KS
}
KS{
     Zone myZone{
     isObjectProperty(Zone.isProtectionZone) = TRUE
     }
     isInstalled(myZone,WaterflowIndicator) = TRUE
}


//간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치) 3호 Check(NFSC503A_6_0_3){      IF (CS1 THEN KS1) OR (CS2 THEN KS2) }      Zone myZone{      isObjectProperty(Zone.isProtectionZone) = TRUE      } CS1{      getObjectCount(Floor.One.SimpleSprinklerHead) > 10 } KS1{      getObjectCount(Zone.One.Floor) < 2 } CS2{      getObjectCount(Floor.One.SimpleSprinklerHead) <= 10 } KS2{      getObjectCount(myZone.One.Floor) <= 3 }


//간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치) 4호 Check(NFSC503A_6_0_4){      KS } KS{      (isExternal(WaterflowIndicator)=FALSE      OR isPartitioned(WaterflowIndicator, ProtectiveWireMesh) = TRUE)      0.8m <= getObjectVerticalDistance(FloorSlab, WaterflowIndicator, a) <= 1.5m      Door myDoor{      getObjectProperty(Door.width) >= 0.5m      getObjectProperty(Door.height) >= 1m      }      hasObject(WaterflowIndicator.Space,myDoor)=TRUE }


//     간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치)
Check(NFSC503A_6){
     IF CS THEN KS
}

     ParkingLot myParkingLot{
          hasSpace(SpecificFireFightingBuilding, ParkingLot) = TRUE
     }

CS{
     isInstalled(SimpleSprinklerSystem, SpecificFireFightingBuilding) = TRUE
}

KS{
     getObjectProperty(SprinklerSystem.type) != "WetPipeSprinklerSystem"
}




37
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 7 조
제7조(제어반) 간이스프링클러설비에는 다음 각 호의 어느 하나의 기준에 따른 제어반을 설치하여야 한다. 다만, 캐비닛형 간이스프링클러설비의 경우에는 그러하지 아니하다.<신설 2013.6.10>
2. 상수도 직결형을 제외한 방식의 것에 있어서는 「스프링클러설비의 화재안전기준(NFSC 103)」제13조를 준용한다.<신설 2013.6.10>



//간이스프링클러설비의 화재안전기준(nfsc 103a) 7조 ( 제어반 ) 

Check(NFSC503A_7){
     IF !CS THEN KS
}
CS{
     isObjectProperty(SimpleSprinklerSystem.isCabinetType) = TRUE
}
KS{
     hasObject(SimpleSprinklerSystem, ControlPanel)=TRUE
     getResult(NFSC503A_7_2)=TRUE
}


//간이스프링클러설비의 화재안전기준(nfsc 103a) 7조 ( 제어반 ) 2호

Check(NFSC503A_7_0_2){
     IF CS THEN KS
}
CS{
     isObjectProperty(SimpleSprinklerSystem.isDirectCoupledType) = TRUE
}
KS{
     getResult(NFSC103_13)=TRUE
}




38
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8 조
② 제1항에도 불구하고 다음 각 호의 어느 하나에 해당하는 장소에는 국민안전처장관이 정하여 고시한 「소방용합성수지배관의 성능인증 및 제품검사의 기술기준」에 적합한 소방용 합성수지배관으로 설치할 수 있다.<개정 2013.6.10, 2015.1.23.>
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우
1. 공기고임이 생기지 아니하는 구조로 하고 여과장치를 설치할 것
2. 수조가 펌프보다 낮게 설치된 경우에는 각 펌프(충압펌프를 포함한다)마다 수조로부터 별도로 설치할 것
1. 성능시험배관은 펌프의 토출측에 설치된 개폐밸브 이전에서 분기하여 설치하고, 유량측정장치를 기준으로 전단 직관부에 개폐밸브를 후단 직관부에는 유량조절밸브를 설치할 것
2. 유량측정장치는 성능시험배관의 직관부에 설치하되, 펌프의 정격토출량의 175% 이상 측정할 수 있는 성능이 있을 것
제8조(배관 및 밸브) ① 배관은 다음 각 호의 어느 하나에 해당하는 것을 사용하여야 하며 배관 이음은 각 배관과 동등 이상의 성능에 적합한 배관이음쇠를 사용하고 배관용 스테인리스강관(KS D 3576)의 이음을 용접으로 할 경우에는 알곤용접방식에 따른다. 다만, 상수도직결형에 사용하는 배관 및 밸브는 「수도법」제14조(수도용 자재와 제품의 인증 등)에 적합한 제품을 사용하여야 한다. <개정 2011.11.24, 2013.6.10>
③ 급수배관은 다음 각 호의 기준에 따라 설치하여야 한다.
1. 전용으로 할 것. 다만, 상수도직결형의 경우에는 수도배관 호칭지름 32㎜ 이상의 배관이어야 하고, 간이헤드가 개방될 경우에는 유수신호 작동과 동시에 다른 용도로 사용하는 배관의 송수를 자동 차단할 수 있도록 하여야 하며, 배관과 연결되는 이음쇠 등의 부속품은 물이 고이는 현상을 방지하는 조치를 하여야 한다. <개정 2011.11.24>
2. 급수를 차단할 수 있는 개폐밸브는 개폐표시형으로 할 것. 이 경우 펌프의 흡입측배관에는 버터플라이밸브외의 개폐표시형밸브를 설치하여야 한다.
3. 배관의 구경은 제5조제1항에 적합하도록 수리계산에 의하거나 별표 1의 기준에 따라 설치할 것. 다만, 수리계산에 의하는 경우 가지배관의 유속은 6㎧, 그 밖의 배관의 유속은 10㎧를 초과할 수 없다.
④ 펌프의 흡입측배관은 다음 각 호의 기준에 따라 설치하여야 한다.
⑤ 연결송수관설비의 배관과 겸용할 경우의 주배관은 구경 100㎜ 이상, 방수구로 연결되는 배관의 구경은 65㎜ 이상의 것으로 하여야 한다.
⑥ 펌프의 성능은 체절운전 시 정격토출압력의 140%를 초과하지 아니하고, 정격토출량의 150%로 운전 시 정격토출압력의 65% 이상이 되어야 하며, 펌프의 성능시험배관은 다음 각호의 기준에 적합하여야 한다.
⑦가압송수장치의 체절운전 시 수온의 상승을 방지하기 위하여 체크밸브와 펌프사이에서 분기한 구경 20㎜ 이상의 배관에 체절압력 미만에서 개방되는 릴리프밸브를 설치하여야 한다.
⑨ 가지배관의 배열은 다음 각 호의 기준에 따른다.
1. 토너먼트(tournament)방식이 아닐 것
2. 교차배관에서 분기되는 지점을 기점으로 한쪽 가지배관에 설치되는 간이헤드의 개수(반자 아래와 반자속의 헤드를 하나의 가지배관 상에 병설하는 경우에는 반자 아래에 설치하는 헤드의 개수)는 8개 이하로 할 것. 다만, 다음 각 목의 어느 하나에 해당하는 경우에는 그러하지 아니하다.
3. 가지배관과 간이헤드 사이의 배관을 신축배관으로 하는 경우에는 국민안전처장관이 정하여 고시한 「스프링클러설비신축배관 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치할 것. 이 경우 신축배관의 설치길이는 국민안전처장관이 정하여 고시한「스프링클러설비의 화재안전기준」제10조제3항의 거리를 초과하지 아니할 것
⑩ 가지배관에 하향식간이헤드를 설치하는 경우에 가지배관으로부터 간이헤드에 이르는 헤드접속배관은 가지관상부에서 분기할 것. 다만, 소화설비용 수원의 수질이「먹는물관리법」제5조에 따라 먹는물의 수질기준에 적합하고 덮개가 있는 저수조로부터 물을 공급받는 경우에는 가지배관의 측면 또는 하부에서 분기할 수 있다. <개정 2011.11.24>
⑪ 준비작동식유수검지장치를 사용하는 간이스프링클러설비에 있어서 유수검지장치 2차측 배관의 부대설비는 다음 각 호의 기준에 따른다.<신설 2013.6.10>
1. 개폐표시형밸브를 설치할 것
2. 제1호에 따른 밸브와 준비작동식유수검지장치 사이의 배관은 다음 각 목과 같은 구조로 할 것
가. 수직배수배관과 연결하고 동 연결배관상에는 개폐밸브를 설치할 것
나. 자동배수장치 및 압력스위치를 설치할 것
⑫ 간이스프링클러설비에는 유수검지장치를 시험할 수 있는 시험 장치를 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 준비작동식유수검지장치를 설치하는 부분은 그러하지 아니하다.<개정 2008.12.15, 2011.11.24, 2013.6.10>
1. 유수검지장치에서 가장 먼 가지배관의 끝으로부터 연결·설치할 것
2. 시험장치배관의 구경은 유수검지장치에서 가장 먼 가지배관의 구경과 동일한 구경으로 하고, 그 끝에 개방형간이헤드를 설치할 것. 이 경우 개방형간이헤드는 반사판 및 프레임을 제거한 오리피스만으로 설치할 수 있다.
3. 시험배관의 끝에는 물받이 통 및 배수관을 설치하여 시험 중 방사된 물이 바닥에 흘러내리지 아니하도록 하여야 한다. 다만, 목욕실·화장실 또는 그 밖의 곳으로서 배수처리가 쉬운 장소에 시험배관을 설치한 경우에는 그러하지 아니하다.
⑬ 배관에 설치되는 행가는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 가지배관에는 간이헤드의 설치지점 사이마다 1개 이상의 행가를 설치하되, 간이헤드간의 거리가 3.5m를 초과하는 경우에는 3.5m 이내마다 1개 이상 설치할 것. 이 경우 상향식간이헤드와 행가 사이에는 8㎝ 이상의 간격을 두어야 한다.
2. 교차배관에는 가지배관과 가지배관 사이마다 1개 이상의 행가를 설치하되, 가지배관 사이의 거리가 4.5m를 초과하는 경우에는 4.5m이내마다 1개 이상 설치할 것
3. 제1호 및 제2호의 수평주행배관에는 4.5m 이내마다 1개 이상 설치할 것
⑮ 간이스프링클러설비 배관의 배수를 위한 기울기는 다음 각 호의 기준에 따른다.
1. 간이스프링클러설비의 배관을 수평으로 할 것. 다만, 배관의 구조상 소화수가 남아 있는 곳에는 배수밸브를 설치하여야 한다.<개정 2011.11.24>
<16> 간이스프링클러설비의 배관 및 밸브 등의 순서는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 상수도직결형은 다음 각 목의 기준에 따라 설치할 것<개정 2011.11.24>
가. 수도용계량기, 급수차단장치, 개폐표시형밸브, 체크밸브, 압력계, 유수검지장치(압력스위치 등 유수검지장치와 동등 이상의 기능과 성능이 있는 것을 포함한다. 이하 같다), 2개의 시험밸브의 순으로 설치할 것 <개정 2011.11.24>
나. 간이스프링클러설비 이외의 배관에는 화재시 배관을 차단할 수 있는 급수차단장치를 설치할 것 <개정 2011.11.24>
2. 펌프 등의 가압송수장치를 이용하여 배관 및 밸브 등을 설치하는 경우에는 수원, 연성계 또는 진공계(수원이 펌프보다 높은 경우를 제외한다. 이하 같다), 펌프 또는 압력수조, 압력계, 체크밸브, 성능시험배관, 개폐표시형밸브, 유수검지장치, 시험밸브의 순으로 설치할 것 <개정 2011.11.24>
3. 가압수조를 가압송수장치로 이용하여 배관 및 밸브등을 설치하는 경우에는 수원, 가압수조, 압력계, 체크밸브, 성능시험배관, 개폐표시형밸브, 유수검지장치, 2개의 시험밸브의 순으로 설치할 것 <개정 2011.11.24>
4. 캐비닛형의 가압송수장치에 배관 및 밸브 등을 설치하는 경우에는 수원, 연성계 또는 진공계(수원이 펌프보다 높은 경우를 제외한다. 이하 같다), 펌프 또는 압력수조, 압력계, 체크밸브, 개폐표시형밸브, 2개의 시험밸브의 순으로 설치할 것. 다만, 소화용수의 공급은 상수도와 직결된 바이패스관 또는 펌프에서 공급받아야 한다. <신설 2011.11.24, 개정 2013.6.10>
1. 배관 내 사용압력이 1.2 ㎫ 미만일 경우에는 다음 각 목의 어느 하나에 해당하는 것 또는 동등 이상의 강도·내식성 및 내열성을 가진 것<신설 2013.6.10>
가. 배관용 탄소강관(KS D 3507)
나. 이음매 없는 구리 및 구리합금관(KS D 5301). 다만, 습식의 배관에 한한다.
다. 배관용 스테인리스강관(KS D 3576) 또는 일반배관용 스테인리스강관(KS D 3595)
2. 배관 내 사용압력이 1.2 ㎫ 이상일 경우에는 압력배관용탄소강관(KS D 3562) 또는 이와 동등 이상의 강도·내식성 및 내열성을 가진 것<신설 2013.6.10>



//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호

Check(NFSC503A_8_1_1){
     IF CS THEN KS
}
CS{
     isObjectProperty(Pipe.workingPressure) < 1.2
}
KS{
     getResult(NFSC503A_8_1_1_가)=TRUE
     getResult(NFSC503A_8_1_1_나)=TRUE
     getResult(NFSC503A_8_1_1_다)=TRUE
}


//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호 Check(NFSC503A_8_1_1_가){      KS } KS{      getObjectProperty(Pipe.Material) = "KS_D_3507" }


//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호

Check(NFSC503A_8_1_1_나){
     IF CS THEN KS
}
CS{
     isObjectProperty(Pipe.systemType) = "WetPipeSprinklerSystem"
}
KS{
     getObjectProperty(Pipe.Material) = "KS_D_5301"
}


//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호

Check(NFSC503A_8_1_1_다){
     KS
}
KS{
     getObjectProperty(Pipe.Material) = "KS_D_3595"
}


//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 2호

Check(NFSC503A_8_1_2){
     IF CS THEN KS
}
CS{
     isObjectProperty(Pipe.workingPressure) >= 1.2
}
KS{
     getObjectProperty(Pipe.Material) = "KS D 3562"
}


//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 2항

Check(NFSC503A_8_2){
     IF CS THEN KS1 OR KS2
}

CS{
     getResult(NFSC503A_8_2_2) = TRUE
     OR getResult(NFSC503A_8_2_3) = TRUE
}
KS1{
     getResult(NFSC503A_8_1) = TRUE
}
KS2{
     isObjectProperty(Pipe.isSyntheticResinForfirefighting) = TRUE
}


Check(NFSC103A_8_2_2){
     KS
}
KS{
     Duct myDcut{
     isFireResistantStructure(Duct) = TRUE
     }
     isInstalled(Pipe, Duct) = TRUE
     OR isInstalled(Pipe, Pit.Inside) = TRUE
}




//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 2항 3호

Check(NFSC503A_8_2_3){
     KS
}
KS{     
     SprinklerSystem mySprinklerSystem{
     isObjectProperty(SprinklerSystem.type) = "WetPipeSprinklerSystem"
     }
     (isObjectProperty(Ceiling.Material.nonCombustibility)=TRUE
     OR isObjectProperty(Ceiling.Material.quasiNonCombustibility)=TRUE)
     (isObjectProperty(CeilingCovering.Material.nonCombustibility)=TRUE
     OR isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=TRUE)
     isInstalled(mySprinklerSystem, Ceiling)=TRUE
     isInstalled(mySprinklerSystem, CeilingCovering)=TRUE
}


//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항 1호

Check(NFSC503A_8_4_1){
     KS
}
KS{
     Pipe myPipe{
          isInstalled(Pump.Inlet, Pipe) = TRUE
     }
     isInstalled(myPipe,Filter) = TRUE
}



// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항 2호

Check(NFSC103A_8_4_2){
     IF CS THEN KS
}
CS{
     getObjectVerticalLocation(Pump, Tank) < 0
}
KS{
     Pipe myPipe{
          isInstalled(Pump.Inlet, Pipe) = TRUE
     }
     isInstalled(myPipe, Pump.One) = TRUE
}


//     옥내소화전설비의 화재안전기준(NFSC 102) 6조 (배관 등) 8항 1호 Check(NFSC102_6_8_1){      KS } KS{      Pipe myPipe{           isObjectProperty(Pipe.isForTest) = TRUE      }      Valve myValve{           isObjectProperty(Valve.isShutoffValve) = TRUE           isInstalled(Valve, Pump.Outlet) = TRUE      }      Valve myValve2{           isObjectProperty(Valve.isShutoffValve) = TRUE           isInstalled(Valve, Pump.Outlet) = FALSE      }      Valve myValve3{           isObjectProperty(Valve.isFloatControlValve) = TRUE      }      isDiverged(Pump, myPipe) = TRUE      getObjectDistance(StraightPipeLine, myPipe) < getObjectDistance(StraightPipeLine, myValve)      isInstalled(myValve2, myPipe) = TRUE      isInstalled(myValve3, myPipe) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 6항 2호 Check(NFSC103A_8_6_2){      KS } KS{      Pipe myPipe{           isObjectProperty(Pipe.isForTest) = TRUE      }            isConnectedTo(myPipe, DischargeMeasuringEquipment) = TRUE      getObjectProperty(DischargeMeasuringEquipment.measurementCapacity) = DME      getObjectProperty(Pump.ratedDischargePressure) = PDP      PDP*1.75 <= DME }


//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항

Check(NFSC503A_8_1){
     getResult(NFSC503A_8_1_1)=TRUE
     getResult(NFSC503A_8_1_2)=TRUE
}



//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 3항

Check(NFSC503A_8_3){
     getResult(NFSC503A_8_3_2)=TRUE
     getResult(NFSC503A_8_3_3)=TRUE
}



//     간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 3항 1호
Check(NFSC103A_8_3_1){
     IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

     Pipe myPipe{
          getObjectProperty(Pipe.usage) = "WaterSupplyType"
          isObjectProperty(myPipe.isDirectCoupledType) != TRUE
     }

     Pipe myPipe2{
          getObjectProperty(Pipe.usage) = "WaterSupplyType"
          isObjectProperty(myPipe.isDirectCoupledType) = TRUE
     }

CS1{
     isExist(myPipe) = TRUE
}

KS1{
     isObjectProperty(myPipe.isShared) = FALSE
}

CS2{
     isExist(myPipe2) = TRUE
}

KS2{
     isObjectProperty(myPipe.isShared) = FALSE
     getObjectProperty(Pipe.diameter) >= 32mm
}



// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 3항 2호

Check(NFSC503A_8_3_2){
     KS2 AND IF CS THEN KS1
}
KS2{
     Valve myValve{
     isObjectProperty(Valve.isShutoffValve)=TRUE
     }
     isObjectProperty(myValve.isIndicatingValve) = TRUE
}
CS{
     Pipe myPipe{
     isInstalled(Pipe, Pump.Inlet) = TRUE
     }
     isInstalled(myValve, myPipe) = TRUE
}
KS1{
     isObjectProperty(myValve.isIndicatingValve) = TRUE
     isObjectProperty(myValve.isButterflyValve) = TRUE
}



//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 3항 3호

Check(NFSC503A_8_3_3){
     getResult(NFSC503A_*_1) = TRUE
}



//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항

Check(NFSC503A_8_4){
     IF CS THEN KS     
}
CS{
     isInstalled(Pump.Inlet, Pipe) = TRUE
}
KS{
     getResult(NFSC503A_8_4_1) = TRUE
     getResult(NFSC503A_8_4_2) = TRUE
}



//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 5항

Check(NFSC503A_8_5){
     IF CS THEN KS
}

CS{
     Pipe myPipe1{
Pipe.systemType = "SimpleSprinklersystem"
}
     Pipe myPipe2{
Pipe.systemType = "FireDepartmentConnectionSystem"
}
Pipe.isShared(myPipe1, myPipe2) = TRUE
}
KS{
     Pipe myPipe3{
     isObjectProperty(Pipe.isRiser) = TRUE
     }
     Port myPort{
     getObjectProperty(Port.typeForWater) = "Delivery"
     Pipe myPipe4{
     isConnectedTo(Pipe, myPort) = TRUE
     }
     
     isObjectProperty(myPipe3.diameter) >= 100 mm     
     getObjectProperty(myPipe4.diameter) >= 65 mm
}


//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 6항 Check(NFSC503A_8_6){      getResult(NFSC503A_8_6_1) = TRUE      getResult(NFSC503A_8_6_2) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 7항 Check(NFSC503A_8_7){      KS } KS{      Valve myValve1{      isObjectProperty(Valve.isCheckValve) = TRUE      }      PP = isObjectProperty(Pump.shutoffPressure)      Valve myValve2{      isObjectProperty(Valve.isReliefValve) = TRUE      isObjectProperty(Valve.reliefPressure) < PP      }      isInstalledInOrder(myValve1, Pipe, Pump) = TRUE      isObjectProperty(Pipe.diameter) >= 20mm      isInstalled(myValve2, Pipe) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 9항

Check(NFSC503A_8_9){
     KS
}
KS{
     getResult(NFSC503A_8_9_1) = TRUE
     getResult(NFSC503A_8_9_2) = TRUE
     getResult(NFSC503A_8_9_3) = TRUE
}
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 9항 1호

Check(NFSC103A_8_9_1){

     KS

}



KS{

     isObjectProperty(Pipe.isBranchLines) = TRUE

     isObjectProperty(Pipe.hasTournamentArragement) = FALSE

}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 9항 2호

Check(NFSC503A_8_9_2){
     IF !CS THEN KS
}
CS{
     getResult(NFSC503A_8_9_2_가) = TRUE
}
KS{
     Pipe myPipe{
     isObjectProperty(Pipe.isBranchLines) = TRUE
     }
     Head myHead{
     isIntalled(SimpleSprinkler.Head, myPipe.One) = TRUE
     getObjectVerticalLocation(CeilingCovering, SimpleSprinkler.Head) < 0
     }
     getObjectCount(myHead) <= 8
}


9항 3호

Check(NFSC503A_8_9_3){
     IF CS THEN KS
}
     Pipe myPipe1{
     isObjectProperty(Pipe.isBranchLines) = TRUE
     }
     Pipe myPipe2{
     isObjectProperty(Pipe.isFlexibleTube) = TRUE
     }
CS{
     isInstalledInOrder(myPipe1, myPipe2, Head) = TRUE
}
KS{
     getResult(NFSC503_10_3) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 10항 Check(NFSC503A_8_10){      IF CS THEN KS }      Pipe myPipe1{      isObjectProperty(Pipe.isBranchLines) = TRUE      }      Head myHead{      isObjectProperty(Head.installationDirectionType) = "TopDownType"      } CS{      isInstalled(myHead, myPipe1) = TRUE } KS{      Pipe mypipe2{      isConnectedTo(myPipe1, Pipe) = TRUE      isConnectedTo(myHead, Pipe) = TRUE      }      getObjectVerticalLocation(myPipe1, myPipe1) > 0 }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항

Check(NFSC503A_8_11_1){
     IF (CS1 AND CS2) THEN KS
}
CS{
     isObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator"
     isObjectProperty(WaterflowIndicator.systemType) = "SimpleSprinklerSystem"
     }
KS{
     getResult(NFSC503A_8_11_1) = TRUE
     getResult(NFSC503A_8_11_2) = TRUE
}



11항 1호 Check(NFSC503A_8_11_1){      KS } KS{      Valve myValve{      isObjectProperty(Valve.isIndicatingValve) = TRUE      }      Pipe myPipe{      isObjectProperty(Pipe.isSecondaryPipe) = TRUE      }      isInstalled(myValve, myPipe) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항 2호

Check(NFSC503A_8_11_2){
     IF CS THEN KS
}
CS{
     Valve myValve{
     isObjectProperty(Valve.isIndicatingValve) = TRUE
     }
     WaterflowIndicator myWaterflowIndicator{isObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator"
     }
     isInstalledInOrder(myValve, Pipe, myWaterflowIndicator) = TRUE
}
KS{
     getResult(NFSC503A_8_11_2_가) = TRUE
     getResult(NFSC503A_8_11_2_나) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항 2호 가목

Check(NFSC503A_8_11_2_가){
     KS
}
KS{
     Pipe myPipe{
     isObjectProperty(Pipe.usage) = "WaterDrainPipe"
     isObjectProperty(Pipe.isRiser) = TRUE
     }
     Valve myValve{
     isObjectProperty(Valve.isShutoffValve) = TRUE
     }
     isConnectedTo(Pipe, myPipe) = TRUE
     isInstalled(myValve, Pipe) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항 2호 나목

Check(NFSC503A_8_11_2_나){
     KS
}
KS{
     isInstalled(AutomaticDrainSystem, Pipe) = TRUE
     isInstalled(PressureSwitch, Pipe) = TRUE
}
     



// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 Check(NFSC503A_8_12){      IF !CS THEN KS } CS{      WaterflowIndicator myWaterflowIndicator{      isObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator"      }      isInstalled(myWaterflowIndicator, SimpleSprinklerSystem) = TRUE } KS{      getResult(NFSC503A_8_12_1) = TRUE      getResult(NFSC503A_8_12_2) = TRUE      getResult(NFSC503A_8_12_3) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 1호 Check(NFSC503A_8_12_1){      KS } KS{      Pipe myPipe{      isObjectProperty(Pipe.isBranchLines) = TRUE      isFarthestDistance(WaterflowIndicator, Pipe) = TRUE      }      isInstalled(TestingDevice, myPipe.End) = TRUE      isConnectedTo(TestingDevice, myPipe.End) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 2호 Check(NFSC503A_8_12_2){      KS } KS{      Pipe myPipe{      isObjectProperty(Pipe.isForTest) = TRUE      }      Head myHead{      isObjectProperty(Head.openAndCloseType) = "OpenType" getObjectProperty(Head.systemType) = "SimpleSprinklerSystem"      }      BD = getObjectDiameter(NFSC503A_8_12_1.myPipe)      getObjectDiameter(myPipe, a) = BD      isInstalled(myHead, myPipe.End) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 3호

Check(NFSC503A_8_12_3){
     KS
}
KS{
     Pipe myPipe1{
     isObjectProperty(Pipe.isForTest) = TRUE
     }
     Pipe myPipe2{
     isObjectProperty(Pipe.usage) = "WaterDrainPipe"
     }
     isInstalled(myPipe2, myPipe1.End) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 13항

Check(NFSC503A_8_13){
     KS
}
KS{
     getResult(NFSC503A_8_13_1) = TRUE
     getResult(NFSC503A_8_13_2) = TRUE
     getResult(NFSC503A_8_13_3) = TRUE
}


// 간이스프링클러설비의 화재안전기준(NFSC 103A) 8조 (배관 및 밸브) 13조 1호 Check(NFSC103A_8_13_1){      IF(CS1 THEN KS1) OR (CS2 THEN KS2) } Pipe myPipe{      isObjectProperty(Pipe.isBranchLines) = TRUE } CS1{      getObjectInterval(SimpleSprinkler.Head) <= 3.5m } KS1{      getObjectCountInInterval(Hanger, SimpleSprinkler.Head) >= 1      isInstalled(Hanger, myPipe) = TRUE } CS2{      getObjectInterval(SimpleSprinkler.Head) > 3.5m } KS2{      Head myHead{      isObjectProperty(Head.installationDirectionType) = "BottomUpType"      }      isInstalled(Hanger, myPipe, b, 3.5) = TRUE getObjectCountInInterval(Hanger, SimpleSprinkler.Head) >= 1      getObjectDistance(myHead, Hanger) >= 8cm }


//간이스프링클러설비의 화재안전기준(NFSC 103A) 8조 (배관 및 밸브) 13조 2

Check(NFSC103A_8_13_2){
     IF(CS1 THEN KS1) OR (CS2 THEN KS2)
}
Pipe myPipe1{
     isObjectProperty(Pipe.isCrossMains) = TRUE
}
Pipe myPipe2{
     isObjectProperty(Pipe.isBranchLines) = TRUE
}
CS1{
     getObjectInterval(myPipe2) <= 4.5m
}
KS1{
     getObjectCountInInterval(Hanger, myPipe2) >= 1
     isInstalled(Hanger, myPipe1) = TRUE
}

CS2{
     getObjectInterval(myPipe2) > 4.5m
}
KS2{
     isInstalled(Hanger, myPipe1, b, 4.5) = TRUE
getObjectCountInInterval(Hanger, myPipe2) >= 1
}


//간이스프링클러설비의 화재안전기준(NFSC 103A) 8조 (배관 및 밸브) 13조 3호

Check(NFSC103A_8_13_3){
     KS
}
KS{
     Pipe myPipe{
     isObjectProperty(Pipe.isFeedMains) = TRUE
     }
     isInstalled(Hanger, myPipe, b, 4.5) = TRUE
     getObjectCountInInterval(Hanger, myPipe) >= 1
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 15항

Check(NFSC503A_8_15){
     KS
}
KS{
     getResult(NFSC503A_8_15_1) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 15항 1호

Check(NFSC503A_8_15_1){
     KS
}
KS{
     Pipe myPipe{
     isObjectProperty(Pipe.usage) = "WaterDrainPipe"
     }
     isParallel(FloorSlab, myPipe) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항

Check(NFSC503A_8_16){
     KS
}
KS{
     getResult(NFSC503A_8_16_1) = TRUE
     getResult(NFSC503A_8_16_2) = TRUE
     getResult(NFSC503A_8_16_3) = TRUE
     getResult(NFSC503A_8_16_4) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 1호

Check(NFSC503A_8_16_1){
     IF CS THEN KS
}
CS{
     isObjectProperty(SimpleSprinklerSystem.isDirectCoupledType) = TRUE
}
KS{
     getResult(NFSC503A_8_16_1_가) = TRUE
     getResult(NFSC503A_8_16_1_나) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 1호 가복 Check(NFSC503A_8_16_1_가){      KS } KS{      ShutdownEquipment myShutdownEquipment{      isObjectProperty(ShutdownEquipment.type) = "Water"      }      Valve myValve1{      isObjectProperty(Valve.isIndicatingValve) = TRUE      }      Valve myValve2{      isObjectProperty(Valve.isCheckValve) = TRUE      }      Valve myValve3{      isObjectProperty(Valve.isTestValve) = TRUE      getObjectCount(Valve) = 2      }      isInstalledInOrder(WaterGauge, myShutdownEquipment, myValve1, myValve2, PressureGauge, WaterflowIndicator, myValve3) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 1호 나목

Check(NFSC503A_8_16_1_나){
     KS
}
KS{
     ShutdownEquipment myShutdownEquipment{
     isObjectProperty(ShutdownEquipment.type) = "Water"
     }
     Pipe myPipe{
     isObjectProperty(Pipe.systemType) != "SimpleSprinklerSystem"
     }
     isInstalled(myShutdownEquipment, myPipe) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 2호 Check(NFSC503A_8_16_2){      IF (!CS1 AND CS2) THEN KS } CS1{      getObjectVerticalLocation(WaterSource, Pump) > 0 } CS2{      PressurizedWaterSupplySystem myPressurizedWaterSupplySystem{      isObjectProperty(PressurizedWaterSupplySystem.supplyType) != "DirectCoupledType" OR "PressurizedTankType"      }      isInstalled(Pipe, myPressurizedWaterSupplySystem) = TRUE      OR      isInstalled(Valve, myPressurizedWaterSupplySystem) = TRUE } KS{      Tank myTank{      isObjectProperty(Tank.operationType) = "HydropneumaticTank"      }      Valve myValve1{      isObjectProperty(Valve.isCheckValve) = TRUE      }      Valve myValve2{      isObjectProperty(Valve.isIndicatingValve) = TRUE      }      Valve myValve3{      isObjectProperty(Valve.isTestValve) = TRUE      }      Pipe myPipe{      isObjectProperty(Pipe.isForTest) = TRUE      }      isInstalledInOrder(WaterSource, CompoundGauge | VacuumGauge, Pump | myTank, PressureGauge, myValve1, myPipe, myValve2, WaterflowIndicator, myValve3) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 3호 Check(NFSC503A_8_16_3){      IF CS THEN KS } CS{      PressurizedWaterSupplySystem myPressurizedWaterSupplySystem{      isObjectProperty(PressurizedWaterSupplySystem.supplyType) = "PressurizedTankType"      }      isInstalled(Pipe, myPressurizedWaterSupplySystem) = TRUE      OR      isInstalled(Valve, myPressurizedWaterSupplySystem) = TRUE } KS{      Tank myTank{      isObjectProperty(Tank.operationType) = "PressurizedTank"      }      Valve myValve1{      isObjectProperty(Valve.isCheckValve) = TRUE      }      Valve myValve2{      isObjectProperty(Valve.isIndicatingValve) = TRUE      }      Valve myValve3{      isObjectProperty(Valve.isTestValve) = TRUE      getObjectCount(Valve) = 2      }      Pipe myPipe{      isObjectProperty(Pipe.isForTest) = TRUE      }      isInstalledInOrder(WaterSource, myTank, PressureGauge, myValve1, myPipe, myValve2, WaterflowIndicator, myValve3) = TRUE }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 4호 Check(NFSC503A_8_16_4){      IF (!CS1 AND CS2) THEN KS } CS1{      getObjectVerticalLocation(WaterSource, Pump) > 0 } CS2{      SimpleSprinklerSystem mySimpleSprinklerSystem{      isObjectProperty(SimpleSprinklerSystem.isCabinetType) = TRUE      }      isInstalled(Pipe, mySimpleSprinklerSystem.PressurizedWaterSupplySystem) = TRUE      OR      isInstalled(Valve, mySimpleSprinklerSystem.PressurizedWaterSupplySystem) = TRUE } KS{      Tank myTank{      isObjectProperty(Tank.operationType) = "HydropneumaticTank"      }      Valve myValve1{      isObjectProperty(Valve.isCheckValve) = TRUE      }      Valve myValve2{      isObjectProperty(Valve.isIndicatingValve) = TRUE      }      Valve myValve3{      isObjectProperty(Valve.isTestValve) = TRUE      getObjectCount(Valve) = 2      }      isInstalledInOrder(WaterSource, CompoundGauge | VacuumGauge, Pump | myTank, PressureGauge, myValve1, myPipe, myValve2, myValve3) = TRUE }




39
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 9 조
제9조(간이헤드) 간이헤드는 다음 각 호의 기준에 적합한 것을 사용하여야 한다.
1. 폐쇄형간이헤드를 사용할 것<개정 2011.11.24>
3. 간이헤드를 설치하는 천장·반자·천장과 반자사이·덕트·선반 등의 각 부분으로부터 간이헤드까지의 수평거리는 2.3m(「스프링클러헤드의 형식승인 및 제품검사의 기술기준」 유효반경의 것으로 한다.) 이하가 되도록 하여야 한다. 다만, 성능이 별도로 인정된 간이헤드를 수리계산에 따라 설치하는 경우에는 그러하지 아니하다. <개정 2011.11.24, 2013.6.10>
4. 상향식간이헤드 또는 하향식간이헤드의 경우에는 간이헤드의 디플렉터에서 천장 또는 반자까지의 거리는 25㎜에서 102㎜ 이내가 되도록 설치하여야 하며, 측벽형간이헤드의 경우에는 102㎜에서 152㎜사이에 설치할 것 다만, 플러쉬 스프링클러헤드의 경우에는 천장 또는 반자까지의 거리를 102 ㎜ 이하가 되도록 설치할 수 있다.
6. 제4호의 규정에도 불구하고 소방대상물의 보와 가장 가까운 간이헤드는 다음 표의 기준에 따라 설치할 것. 다만, 천장면에서 보의 하단까지의 길이가 55㎝를 초과하고 보의 하단 측면 끝부분으로부터 간이헤드까지의 거리가 간이헤드 상호간 거리의 2분의 1 이하가 되는 경우에는 간이헤드와 그 부착면과의 거리를 55㎝ 이하로 할 수 있다.<개정 2013.6.10> (표)
8. 간이스프링클러설비를 설치하여야 할 소방대상물에 있어서는 간이헤드 설치 제외에 관한 사항은 「스프링클러설비의 화재안전기준」 제15조제1항을 준용한다.
9. 제6조제7호에 따른 주차장에는 표준반응형스프링클러헤드를 설치하여야 하며 설치기준은 「스프링클러설비의 화재안전기준(NFSC 103)」제10조를 준용한다.<신설 2013.6.10>



// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 



Check(NFSC503A_9){

     IF CS THEN KS

}

CS{

     isInstalled(SimpleSprinkler.Head, Building) = TRUE

}

KS{

     getResult(NFSC503A_9_1) = TRUE

     getResult(NFSC503A_9_3) = TRUE

     getResult(NFSC503A_9_4) = TRUE

     getResult(NFSC503A_9_6) = TRUE

     getResult(NFSC503A_9_8) = TRUE

     getResult(NFSC503A_9_9) = TRUE

}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 1항

Check(NFSC503A_9_1){
     KS
}
KS{
     isObjectProperty(SimpleSprinkler.Head.openAndCloseType) = "EnclosedType"
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 3호 Check(NFSC503A_9_0_3){      KS } KS{      getObjectDistance(SimpleSprinkler.Head, Ceiling | CeilingCovering | PlenumSpace | Duct | Shelf) <= 2.3m }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 4호 Check(NFSC503A_9_0_4){      IF (CS1 THEN KS1) OR (CS2 THEN KS2) OR (CS3 THEN KS3) } CS1{      isObjectProperty(Head.installationDirectionType) = "BottomUpType" OR "TopDownType" } KS1{      getObjectDistance(Deflector, Ceiling | CeilingCovering) >= 25mm      getObjectDistance(Deflector, Ceiling | CeilingCovering) <= 102mm } CS2{      isObjectProperty(Head.shapeType) = "SideWallType" } KS2{      getObjectDistance(Deflector, Ceiling | CeilingCovering) >= 102mm      getObjectDistance(Deflector, Ceiling | CeilingCovering) <= 152mm } CS3{      isObjectProperty(Head.shapeType) = "FlushType" } KS2{      getObjectDistance(Deflector, Ceiling | CeilingCovering) <= 102mm }


/ 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 6호 Check(NFSC503A_9_0_6){      IF !CS THEN KS } CS{      DBSH = getObjectDistance(Head.One, Head.One)      getObjectdistance(Ceiling.Surface, Beam.BottomSurface) > 55cm      getObjectdistance(Beam.BottomSideSurface, SimpleSprinkler.Head) <= DBSH/2 } KS{ Beam myBeam{ isInstalled(Beam, SpecificFireFightingBuilding) = TRUE }      DCH = getObjectInterval(Head, myBeam)      Head myHead{      getObjectDistance(Head, myBeam) = DCH      }            IF getElementDistance(myHead.Deflector.Center, Beam) < 0.75m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0      ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 0.75m      OR getElementDistance(myHead.Deflector.Center, Beam) < 1m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0      getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.1m      ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 1m      OR getElementDistance(myHead.Deflector.Center, Beam) < 1.5m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0      getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.15m      ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 1.5m      THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0      getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.3m }


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 8호

Check(NFSC503A_9_0_8){
     IF CS THEN KS
}
CS{
     isInstalled(SimpleSprinklerSystem, SpecificFireFightingBuilding) = TRUE

}
KS{
     getResult(NFSC503_15_1) = TRUE
}


// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 9호

Check(NFSC503A_9_0_9){
     IF CS THEN KS
}
CS{
     isExist(NFSC503A_6_0_7.mySpace) = TRUE
}
KS{
     Head myHead{
     isObjectProperty(Head.responseType) = "StandardResponseType"
     }
     isInstalled(myHead, NFSC503A_6_0_7.mySpace) = TRUE
     getResult(NFSC503_10) = TRUE
}




40
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 별표1 조
[별표 1] <개정 2015.1.23.> 간이헤드 수별 급수관의 구경(제8조제3항제3호관련)



//     간이스프링클러설비의 화재안전기준(NFSC 103A) 별표1 (간이헤드 수별 급수관의 구경) 1항

Check(NFSC103A_*_1){

     getResult(NFSC103A_*_1_1) = TRUE

     getResult(NFSC103A_*_1_2) = TRUE

     getResult(NFSC103A_*_1_3) = TRUE

     getResult(NFSC103A_*_1_4) = TRUE

}

     

     Pipe myPipe{

     getObjectProperty(Pipe.usage) = "WaterSupplyPipe"

     }

     Pipe myPipe2{

     isObjectProperty(Pipe.isBranchLines) = TRUE

     }

     PD = getObjectProperty(Pipe.diameter)

     SSHN = getObjectCount(SimpleSprinkler.Head.)



Check(NFSC103A_*_1_2){

     IF CS THEN KS

}

CS{

     Head myHead{

     getObjectProperty(SimpleSprinkler.Head.openAndCloseType) = "EnclosedType"

     }

     isInstalled(myHead) = TRUE

}

KS{

     IF PD = 25 THEN SSHN = 2

     OR IF PD = 32 THEN SSHN = 3

     OR IF PD = 40 THEN SSHN = 5

     OR IF PD = 50 THEN SSHN = 10

     OR IF PD = 65 THEN SSHN = 30

     OR IF PD = 80 THEN SSHN = 60

     OR IF PD = 100 THEN SSHN = 100

     OR IF PD = 125 THEN SSHN = 160

     OR IF PD = 150 THEN SSHN >= 161

}

Check(NFSC103A_*_1_3){

     IF CS THEN KS

}

CS{

     Head myHead1{

     getObjectProperty(SimpleSprinkler.Head.openAndCloseType) = "EnclosedType"

     }

     isInstalled(myHead1) = TRUE

     Head myHead2{

     getObjectVerticalLocation(Head, CeilingCovering, )  <  0
     }

     Head myHead3{

     isInstalled(Head, CeilingCovering.Inside) = TRUE

     }

     isInstalled(myHead2, myPipe2) = TRUE

     isInstalled(myHead3, myPipe2) = TRUE

}

KS{

     IF PD = 25 THEN SSHN = 2

     OR IF PD = 32 THEN SSHN = 4

     OR IF PD = 40 THEN SSHN = 7

     OR IF PD = 50 THEN SSHN = 15

     OR IF PD = 65 THEN SSHN = 30

     OR IF PD = 80 THEN SSHN = 60

     OR IF PD = 100 THEN SSHN = 100

     OR IF PD = 125 THEN SSHN = 160

     OR IF PD = 150 THEN SSHN >= 161

}




41
옥내소화전설비의 화재안전기준(NFSC 102) 제 6 조
1. 배관 내 사용압력이 1.2 ㎫ 미만일 경우에는 다음 각 목의 어느 하나에 해당하는 것 또는 동등 이상의 강도·내식성 및 내열성을 가진 것<신설 2013.6.10>
가. 배관용 탄소강관(KS D 3507)
나. 이음매 없는 구리 및 구리합금관(KS D 5301). 다만, 습식의 배관에 한한다.
다. 배관용 스테인리스강관(KS D 3576) 또는 일반배관용 스테인리스강관(KS D 3595)
2. 배관 내 사용압력이 1.2 ㎫ 이상일 경우에는 압력배관용탄소강관(KS D 3562) 또는 이와 동등 이상의 강도·내식성 및 내열성을 가진 것<신설 2013.6.10>
② 제1항에도 불구하고 다음 각 호의 어느 하나에 해당하는 장소에는 국민안전처장관이 정하여 고시한 「소방용합성수지배관의 성능인증 및 제품검사의 기술기준」에 적합한 소방용 합성수지배관으로 설치할 수 있다.<개정 2013.6.10, 2015.1.23.>
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
1. 공기고임이 생기지 아니하는 구조로 하고 여과장치를 설치할 것
2. 수조가 펌프보다 낮게 설치된 경우에는 각 펌프(충압펌프를 포함한다)마다 수조로부터 별도로 설치할 것
1. 성능시험배관은 펌프의 토출측에 설치된 개폐밸브 이전에서 분기하여 설치하고, 유량측정장치를 기준으로 전단 직관부에 개폐밸브를 후단 직관부에는 유량조절밸브를 설치할 것
2. 유량측정장치는 성능시험배관의 직관부에 설치하되, 펌프의 정격토출량의 175% 이상 측정할 수 있는 성능이 있을 것
제6조(배관 등) ① 배관은 다음 각 호의 어느 하나에 해당하는 것을 사용하여야 한다. 다만, 배관 이음은 각 배관과 동등 이상의 성능에 적합한 배관이음쇠를 사용하고 배관용 스테인리스강관(KS D 3576)의 이음을 용접으로 할 경우에는 알곤용접방식에 따른다.<개정 2008.12.15, 2013.6.10>
3.천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연 재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우
③ 급수배관은 전용으로 하여야 한다. 다만, 옥내소화전의 기동장치의 조작과 동시에 다른 설비의 용도에 사용하는 배관의 송수를 차단할 수 있거나, 옥내소화전설비의 성능에 지장이 없는 경우에는 다른 설비와 겸용할 수 있다.
⑤ 펌프의 흡입 측 배관은 다음 각 호의 기준에 따라 설치하여야 한다.
⑥ 펌프의 토출 측 주배관의 구경은 유속이 4㎧ 이하가 될 수 있는 크기 이상으로 하여야 하고, 옥내소화전방수구와 연결되는 가지배관의 구경은 40㎜(호스릴옥내소화전설비의 경우에는 25㎜) 이상으로 하여야 하며, 주배관중 수직배관의 구경은 50㎜(호스릴옥내소화전설비의 경우에는 32㎜) 이상으로 하여야 한다.<개정 2008.12.15.>
⑦ 연결송수관설비의 배관과 겸용할 경우의 주배관은 구경 100㎜ 이상, 방수구로 연결되는 배관의 구경은 65㎜ 이상의 것으로 하여야 한다.
⑧ 펌프의 성능은 체절운전 시 정격토출압력의 140%를 초과하지 아니하고, 정격토출량의 150%로 운전 시 정격토출압력의 65% 이상이 되어야 하며, 펌프의 성능시험배관은 다음 각 호의 기준에 적합하여야 한다. [종전의 제7항에서 이동 2012.2.15]
⑨ 가압송수장치의 체절운전 시 수온의 상승을 방지하기 위하여 체크밸브와 펌프사이에서 분기한 구경 20㎜ 이상의 배관에 체절압력 미만에서 개방되는 릴리프밸브를 설치하여야 한다.
⑪ 급수배관에 설치되어 급수를 차단할 수 있는 개폐밸브(옥내소화전방수구를 제외한다)는 개폐표시형으로 하여야 한다. 이 경우 펌프의 흡입측 배관에는 버터플라이밸브 외의 개폐표시형밸브를 설치하여야 한다.
⑬ 옥내소화전설비에는 소방차로부터 그 설비에 송수할 수 있는 송수구를 다음 각 호의 기준에 의하여 설치하여야 한다.
2. 송수구로부터 주 배관에 이르는 연결배관에는 개폐밸브를 설치하지 아니할 것. 다만, 스프링클러설비·물분무소화설비·포소화설비 또는 연결송수관 설비의 배관과 겸용하는 경우에는 그러하지 아니하다.
3. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것
4. 구경 65㎜의 쌍구형 또는 단구형으로 할 것



//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 1항 1호

Check(NFSC102_6_1_1){
     IF CS THEN KS
}
CS{
     isObjectProperty(Pipe.workingPressure) < 1.2
}
KS{
     getResult(NFSC102_6_1_1_가)=TRUE
     getResult(NFSC102_6_1_1_나)=TRUE
     getResult(NFSC102_6_1_1_다)=TRUE
}



// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 1항 1호 가목

Check(NFSC102_6_1_1_가){
     KS
}
KS{
     getObjectProperty(Pipe.Material) = "KS_D_3507"
}


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 1항 1호 나목

Check(NFSC102_6_1_1_나){
     IF CS THEN KS
}
CS{
     isObjectProperty(Pipe.systemType) = "WetPipeSprinklerSystem"
}
KS{
     getObjectProperty(Pipe.Material) = "KS_D_5301"
}



// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 1항 1호 다목

Check(NFSC102_6_1_1_다){
     KS
}
KS{
     getObjectProperty(Pipe.Material) = "KS_D_3576"
     OR getObjectProperty(Pipe.Material) = "KS_D_3595"
}


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 1항 2호

Check(NFSC102_6_1_2){
     IF CS THEN KS
}
CS{
     isObjectProperty(Pipe.workingPressure) >= 1.2
}
KS{
     getObjectProperty(Pipe.Material) = "KS D 3562"
}


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 2항

Check(NFSC102_6_2){
     IF CS THEN KS1 OR KS2
}

CS{
     getResult(NFSC102_6_2_2) = TRUE
     OR getResult(NFSC102_6_2_3) = TRUE
}
KS1{
     getResult(NFSC102_6_1) = TRUE
}
KS2{
     isObjectProperty(Pipe.isSyntheticResinForfirefighting) = TRUE
}


Check(NFSC102_6_2_2){
     KS
}
KS{
     Duct myDcut{
     isFireResistantStructure(Duct) = TRUE
     }
     isInstalled(Pipe, Duct) = TRUE
     OR isInstalled(Pipe, Pit.Inside) = TRUE
}



// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 5항 1호
Check(NFSC102_6_5_1){
     KS
}
KS{
     Pipe myPipe{
          isInstalled(Pump.Inlet, Pipe) = TRUE
     }
     isInstalled(myPipe,Filter) = TRUE
}



// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 5항 2호
Check(NFSC102_6_5_2){
     IF CS THEN KS
}
CS{
     getObjectVerticalLocation(Pump, Tank) < 0
}
KS{
     Pipe myPipe{
          isInstalled(Pump.Inlet, Pipe) = TRUE
     }
     isInstalled(myPipe, Pump.One) = TRUE
}



//     옥내소화전설비의 화재안전기준(NFSC 102) 6조 (배관 등) 8항 1호
Check(NFSC102_6_8_1){
     KS
}

KS{
     Pipe myPipe{
          isObjectProperty(Pipe.isForPerformanceTest) = TRUE
     }

     Valve myValve{
          isObjectProperty(Valve.isShutoffValve) = TRUE
          isInstalled(Valve, Pump.Outlet) = TRUE
     }

     Valve myValve2{
          isObjectProperty(Valve.isShutoffValve) = TRUE
          isInstalled(Valve, Pump.Outlet) = FALSE
     }

     Valve myValve3{
          isObjectProperty(Valve.isFloatControlValve) = TRUE
     }

     isDiverged(Pump, myPipe) = TRUE
     getObjectDistance(Pump.StartPart, myPipe) < getObjectDistance(Pump.StartPart, myValve)

     isInstalled(myValve2, myPipe) = TRUE
     isInstalled(myValve3, myPipe) = TRUE
}


//     옥내소화전설비의 화재안전기준(NFSC 102) 6조 (배관 등) 8항 2호
Check(NFSC102_6_8_2){
     KS
}

KS{
     
     Pipe myPipe{
          isObjectProperty(Pipe.isForPerformanceTest) = TRUE
     }

     isInstalled(DischargeMeasuringEquipment, myPipe) = TRUE
}


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 1항

Check(NFSC102_6_1){
     KS
}
KS{
     getResult(NFSC102_6_1_1) = TRUE
     getResult(NFSC102_6_1_2) = TRUE
}


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 2항 3호
Check(NFSC102_6_2_3){
     KS
}
KS{     
     SprinklerSystem mySprinklerSystem{
     isObjectProperty(SprinklerSystem.type) = "WetPipeSprinklerSystem"
     }
     (isObjectProperty(Ceiling.Material.nonCombustibility)=TRUE
     OR isObjectProperty(Ceiling.Material.quasiNonCombustibility)=TRUE)
     (isObjectProperty(CeilingCovering.Material.nonCombustibility)=TRUE
     OR isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=TRUE)
     isInstalled(mySprinklerSystem, Ceiling)=TRUE
     isInstalled(mySprinklerSystem, CeilingCovering)=TRUE
}





// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 2항 3호
Check(NFSC102_6_2_3){
     KS
}
KS{
     Pipe myPipe{
     isObjectProperty(Pipe.usage) = "WaterSupplyPipe"
     }     
     isObjectProperty(Pipe.isShared) = FALSE
}



// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 5항

Check(NFSC102_6_5){
     IF CS THEN KS     
}
CS{
     isInstalled(Pump.Inlet, Pipe) = TRUE
}
KS{
     getResult(NFSC503A_8_4_1) = TRUE
     getResult(NFSC503A_8_4_2) = TRUE
}



//     옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 6항 Check(NFSC102_6_6){      IF (CS1 THEN KS1) OR (CS2 THEN KS2) OR (CS3 THEN KS3) OR (CS4 THEN KS4) } Port myPort{ Port.typeForWater = "IndoorFireHydrantDischarge" }      Pipe myPipe{           isObjectProperty(Pipe.isBranchLines) = TRUE           isConnectedTo(Pipe, myPort) = TRUE      }      Pipe myPipe2{           isObjectProperty(Pipe.isRiser) = TRUE      } CS1{      getObjectProperty(myPipe.systemType) = "HoseReelHydrantSystem" } KS1{      getObjectProperty(myPipe.diameter) >= 25mm } CS2{      getObjectProperty(myPipe.systemType) != "HoseReelHydrantSystem" } KS2{      getObjectProperty(myPipe.diameter) >= 40mm } CS3{      getObjectProperty(myPipe2.systemType) = "HoseReelHydrantSystem" } KS3{      getObjectProperty(myPipe2.diameter) >= 32mm } CS4{      getObjectProperty(myPipe2.systemType) != "HoseReelHydrantSystem" } KS4{      getObjectProperty(myPipe2.diameter) >= 50mm }


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 7항 Check(NFSC503A_6_7){      IF CS THEN KS } CS{      Pipe.isShared(SimpleSprinklersystem.Pipe,      FireDepartmentConnectionSystem.Pipe) = TRUE } KS{      Pipe myPipe1{      isObjectProperty(Pipe.isRiser) = TRUE      }      Port myPort{      getObjectProperty(Port.typeForWater) = "Delivery"      Pipe myPipe2{      isConnectedTo(Pipe, myPort) = TRUE      }            isObjectProperty(myPipe1.diameter) >= 100 mm           getObjectProperty(myPipe2.diameter) >= 65 mm }


//     옥내소화전설비의 화재안전기준(NFSC 102) 6조 (배관 등) 8항
Check(NFSC102_6_8){
     KS
}

KS{
     getResult(NFSC102_6_8_1) = TRUE
     OR getResult(NFSC102_6_8_2) = TRUE
}


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 9항
Check(NFSC503A_6_9){
     KS
}
KS{
     Valve myValve1{
     isObjectProperty(Valve.isCheckValve) = TRUE
     }
     PP = getObjectProperty(Pump.shutoffPressure)
     Valve myValve2{
     isObjectProperty(Valve.isReliefVavle) = TRUE
     isObjectProperty(Valve.reliefPressure) < PP
     }

     isInstalledInOrder(myValve1, Pipe, Pump) = TRUE
     isObjectProperty(Pipe.diameter) >= 20mm
     isInstalled(myValve2, Pipe) = TRUE
}



// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 11항
Check(NFSC503A_6_11){
     IF CS THEN KS
}
     Pipe myPipe{
     isObjectProperty(Pipe.usage) = "WaterSupplyPipe"
     }
     Valve myValve1{
     isObjectProperty(Valve.isShutoffValve) = TRUE
     }
S{
     isInstalled(myValve1,myPipe) = TRUE
     isInstalled(myValve1,myPort) = FALSE
}
KS{
     isObjectProperty(myValve1.isIndicatingValve) = TRUE
     Valve myValve2{
     isInstalled(Valve, Pump.Inlet) = TRUE
     }
     isObjectProperty(myValve2.isIndicatingValve) = TRUE
     isObjectProperty(myValve2.isButterflyValve) = FALSE
}


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 13항
Check(NFSC503A_6_13){
     KS
}
KS{
     getResult(NFSC503A_8_13_2) = TRUE
     getResult(NFSC503A_8_13_3) = TRUE
     getResult(NFSC503A_8_13_4) = TRUE
}


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 13항 2호 Check(NFSC503A_6_13_2){ IF !CS THEN KS } CS{      isShared(HookingUpSprinklerSystem.Pipe, SprinklerSystem.Pipe, WaterSprayExtingushingSystem.Pipe, FoamExtinguishingSystem.Pipe) = TRUE      OR isShared(HookingUpSprinklerSystem.Pipe, FireDepartmentConnectionSystem.Pipe) = TRUE } KS{      Port myPort{      getObjectProperty(HookingUpSprinklerSystem.Port.typeForWater) = "FireDepartmentConnection"      }      Pipe myPipe{      isObjectProperty(Pipe.isRiser)=TRUE      }      Vavle myValve{      isObjectProperty(Valve.isShutoffValve)= TRUE      }      isConnectedTo(myPort, Pipe) = TRUE      isConnectedTo(Pipe, myPipe) = TRUE      isInstalled(myValve, myPipe) = FALSE }


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 13항 3호 Check(NFSC503A_6_13_3){ KS } KS{      Port myPort{      getObjectProperty(IndoorFireHydrantSystem.Port.typeForWater) = "FireDepartmentConnection"      }      getObjectVerticalDistance(Ground, myPort) >= 0.5m      getObjectVerticalDistance(Ground, myPort) <= 1m }


// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 13항 4호
Check(NFSC503A_6_13_4){
KS{
     Port myPort{
     isObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
     }
     
     (isObjectProperty(myPort.shapeType)="DoubleType"
     isObjectProperty(myPort.diameter) = 65mm)
     OR isObjectProperty(myPort.shapeType) = "SingleType"
}




42
옥내소화전설비의 화재안전기준(NFSC 102) 제 7 조
② 옥내소화전방수구는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 옥내소화전방수구까지의 수평거리가 25m(호스릴옥내소화전설비를 포함한다) 이하가 되도록 할 것. 다만, 복층형 구조의 공동주택의 경우에는 세대의 출입구가 설치된 층에만 설치할 수 있다.<개정 2008.12.15, 2009.10.22>
2. 바닥으로부터의 높이가 1.5m 이하가 되도록 할 것
3. 호스는 구경 40㎜(호스릴옥내소화전설비의 경우에는 25㎜) 이상의 것으로서 특정소방대상물의 각 부분에 물이 유효하게 뿌려질 수 있는 길이로 설치할 것
③ 표시등은 다음 각 호의 기준에 따라 설치하여야 한다.
1. 옥내소화전설비의 위치를 표시하는 표시등은 함의 상부에 설치하되, 국민안전처장관이 고시하는 「표시등의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 할 것<개정 2015.1.23.>
2. 가압송수장치의 기동을 표시하는 표시등은 옥내소화전함의 상부 또는 그 직근에 설치하되 적색등으로 할 것. 다만, 자체소방대를 구성하여 운영하는 경우(「위험물 안전관리법 시행령」별표8에서 정한 소방자동차와 자체소방대원의 규모를 말한다) 가압송수장치의 기동표시등을 설치하지 않을 수 있다.<개정 2013.6.10>



//  옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 2항
Check(NFSC503A_7_2){
     getResult(NFSC503A_7_2_1) = TRUE
     getResult(NFSC503A_7_2_2) = TRUE
     getResult(NFSC503A_7_2_3) = TRUE
}


// 옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 2항 1호 Check(NFSC503A_7_2_1){      KS2 AND IF CS THEN KS1 } KS2{      isInstalled(옥내소화전방수구, SpecificFireFightingBuilding.Floor.One) = TRUE      getElementDistance(SpecificFireFightingBuilding.Wall|SpecificFireFightingBuilding.Column, 옥내소화전방수구.One) <= 25m } CS{      getBuildingUsage() = "MultiUnitHouse" }      KS2{      Door myDoor{      isObjectProperty(Door.isEntrance) = TRUE      }      Floor myFloor{      isInstalled(myDoor, Floor) = TRUE      } Port myPort{ Port.typeForWater="IndoorFireHydrantDischarge" }      isInstalled(myPort, myFloor.One) = TRUE }


// 옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 2항 2호 Check(NFSC503A_7_2_2){ KS } KS{ Port myPort{ Port.typeForWater="IndoorFireHydrantDischarge" }      getObjectVerticalLocation(myPort, FloorSlab) > 0      getObjectVerticalDistance(FloorSlab, myPort) <= 1.5m }


// 옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 2항 3호 Check(NFSC503A_7_2_3){ IF (CS1 THEN KS1) OR (CS2 THEN KS2) } CS1{      ! HoseReelIndoorFireHydrantSystem } KS2{      isObjectPropertyt(Hose.diameter) >= 40mm } CS1{      HoseReelIndoorFireHydrantSystem } KS2{      isObjectPropertyt(Hose.diameter) >= 25mm }


// 옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 3항
Check(NFSC503A_7_3){
     getResult(NFSC503A_7_3_1) = TRUE
}


// 옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 3항 1호 Check(NFSC503A_7_3_1){      KS } KS{      IndicatingLamp myIndicatingLamp{      isObjectProerpty(IndicatingLamp.systemType) = "IndoorFireHydrantSystem"      }      isInstalled(myIndicatingLamp, IndoorFireHydrantSystemCabinet.TopSurface) = TRUE }


//     옥내소화전설비의 화재안전기준(NFSC 102) 7조 (함 및 방수구 등) 3항 2호 Check(NFSC102_7_3_2){      KS } KS{      isInstalled(IndicatingLamp, IndoorFireHydrantSystemCabinet, a, Top) = TRUE }




43
비상콘센트설비의 화재안전기준(NFSC 504) 제 4 조
제4조(전원 및 콘센트 등) ①비상콘센트설비에는 다음 각 호의 기준에 따른 전원을 설치하여야 한다.<개정 2012.8.20>
2. 지하층을 제외한 층수가 7층 이상으로서 연면적이 2,000㎡ 이상이거나 지하층의 바닥면적의 합계가 3,000㎡ 이상인 특정소방대상물의 비상콘센트설비에는 자가발전설비 또는 비상전원수전설비를 비상전원으로 설치할 것. 다만, 둘 이상의 변전소에서 전력을 동시에 공급받을 수 있거나 하나의 변전소로부터 전력의 공급이 중단되는 때에는 자동으로 다른 변전소로부터 전력을 공급받은 수 있도록 상용전원을 설치한 경우에는 비상전원을 설치하지 아니할 수 있다.<개정 2
3. 제2호에 따른 비상전원 중 자가발전설비는 다음 각 목의 기준에 따라 설치하고, 비상전원수전설비는 「소방시설용비상전원수전설비의 화재안전기준(NFSC 602)」에 따라 설치할 것<개정 2012.8.20>
라. 비상전원의 설치장소는 다른 장소와 방화구획 할 것. 이 경우 그 장소에는 비상전원의 공급에 필요한 기구나 설비외의 것(열병합발전설비에 필요한 기구나 설비는 제외한다)을 두어서는 아니 된다.
⑤비상콘센트는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>
2. 바닥으로부터 높이 0.8m 이상 1.5m 이하의 위치에 설치할 것<개정 2008.12.15>
3. 비상콘센트의 배치는 아파트 또는 바닥면적이 1,000㎡ 미만인 층은 계단의 출입구(계단의 부속실을 포함하며 계단이 2 이상 있는 경우에는 그중 1개의 계단을 말한다)로부터 5m이내에, 바닥면적 1,000㎡ 이상인 층(아파트를 제외한다)은 각 계단의 출입구 또는 계단부속실의 출입구(계단의 부속실을 포함하며 계단이 3 이상 있는 층의 경우에는 그중 2개의 계단을 말한다)로부터 5m이내에 설치하되, 그 비상콘센트로부터 그 층의 각 부분까지의 거리가 다음
가. 지하상가 또는 지하층의 바닥면적의 합계가 3,000㎡ 이상인 것은 수평거리 25m
나. 가목에 해당하지 아니하는 것은 수평거리 50m



//     비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 1항
Check(NFSC504_4_1){
     KS
}

KS{
     getResult(NFSC504_4_1_2) = TRUE
     getResult(NFSC504_4_1_3) = TRUE
}


//     비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 1항 2호

Check(NFSC504_4_1_2){

     IF CS THEN KS

}



     Floor myFloor{

          getFloorNumber < 0

          hasSpace(Floor, SpecificFireFightingBuilding) = TRUE

     }



     Floor myFloor2{

          getFloorNumber >= 0

          hasSpace(Floor, SpecificFireFightingBuilding) = TRUE

     }



CS{

     (getBuildingStoriesCount() >= 7

     getGrossFloorArea(myFloor2) >= 2000m2)

     OR getTotalFloorArea(myFloor) >= 3000m2

}



KS{

     isInstalled(EmergencyPower, EmergencyPowerOutletSystem) = TRUE

     getObjectProperty(EmergencyPowerReceivingSystem.type) = "InhousePowerGenerationSystem"

     OR getObjectProperty(EmergencyPowerReceivingSystem.type) = "EmergencyPowerReceivingSystem"

}


//     비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 1항 3호 Check(NFSC504_4_1_3){      IF (CS1 THEN KS1) OR (CS2 THEN KS2) } CS1{      getObjectProperty(EmergencyPowerReceivingSystem.type) = "InhousePowerGenerationSystem" } KS1{      getResult(NFSC504_4_1_3_4) = TRUE } CS2{      getObjectProperty(EmergencyPowerReceivingSystem.type) = "EmergencyPowerReceivingSystem" } KS2{      getResult(Unimplemented_NFSC_602) = TRUE }


//     비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 1항 3호 라목 Check(NFSC504_4_1_3_4){      KS } KS{      Room myRoom{           isInstalled(EmergencyPower, Room) = TRUE      }      isFirePartitioned(myRoom) = TRUE }


//     비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 5항
Check(NFSC504_4_5){
     KS
}

KS{
     getResult(NFSC504_4_5_2) = TRUE
     getResult(NFSC504_4_5_3) = TRUE
}


//     비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 5항 2호
Check(NFSC504_4_5_2){
     KS
}

KS{
     getObjectVerticalLocation(FloorSlab, EmergencyPowerOutlet) >= 0.8m
     getObjectVerticalLocation(FloorSlab, EmergencyPowerOutlet) <= 1.5m
}


//     비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 5항 3호
Check(NFSC504_4_5_3){
     IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

CS1{
     Building myBuilding{
          getBuildingUsage() = "ApartmentHouse"
     }

     Floor myFloor{
          getFloorArea(Floor) < 1000m2
     }

     Floor myFloor2{
          hasSpace(myBuilding, Floor) = TRUE
     }

     isExist(myFloor) = TRUE
     OR isExist(myFloor2) = TRUE
}

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

     getObjectDistance(myDoor.Stair.Space, EmergencyPowerOutlet) < 5m
     OR getObjectDistance(myDoor.Stair.AncillaryRoom, EmergencyPowerOutlet) < 5m
}

CS2{
     Building myBuilding{
          getBuildingUsage() = "ApartmentHouse"
     }

     Floor myFloor{
          getFloorArea(Floor) >= 1000m2
          hasSpace(myBuilding, Floor) = FALSE
     }

     isExist(myFloor) = TRUE
}

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

     getObjectDistance(myDoor.Stair.Space, EmergencyPowerOutlet) < 5m
     OR getObjectDistance(myDoor.Stair.AncillaryRoom, EmergencyPowerOutlet) < 5m
}


//     비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 5항 3호 가목
Check(NFSC504_4_5_3_1){
     IF CS THEN KS
}

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

Floor myFloor{
     getFloorNumber(Floor) < 0
}

CS{
     getFloorArea(myFloor) >= 3000m2
}

KS{
     getObjectDistance(myDoor.Stair.Space, EmergencyPowerOutlet) > 25m
     OR getObjectDistance(myDoor.Stair.AncillaryRoom, EmergencyPowerOutlet) > 25m
}



//     비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 5항 3호 나목
Check(NFSC504_4_5_3_2){
     IF CS THEN KS
}

CS{
     getResult(NFSC504_4_5_3_1) = FALSE
}

KS{
     getObjectDistance(myDoor.Stair.Space, EmergencyPowerOutlet) > 25m
     OR getObjectDistance(myDoor.Stair.AncillaryRoom, EmergencyPowerOutlet) > 25m
}





44
비상콘센트설비의 화재안전기준(NFSC 504) 제 5 조
제5조(보호함) 비상콘센트를 보호하기 위하여 비상콘센트보호함은 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>
1. 보호함에는 쉽게 개폐할 수 있는 문을 설치할 것
3. 보호함 상부에 적색의 표시등을 설치할 것. 다만, 비상콘센트의 보호함을 옥내소화전함 등과 접속하여 설치하는 경우에는 옥내소화전함 등의 표시등과 겸용할 수 있다.



//     비상콘센트설비의 화재안전기준(nfsc 504) 5조 (보호함)
Check(NFSC504_5){
     KS
}

KS{
     getResult(NFSC504_5_0_1) = TRUE
     getResult(NFSC504_5_0_3) = TRUE
}


//     비상콘센트설비의 화재안전기준(nfsc 504) 5조 (보호함) 1호 Check(NFSC504_5_0_1){      KS } KS{      isInstalled(Door, EmergencyPowerOutletProtectiveBox) = TRUE }


//     비상콘센트설비의 화재안전기준(nfsc 504) 5조 (보호함) 3호 Check(NFSC504_5_0_3){      KS } KS{      isInstalled(IndicatingLamp, EmergencyPowerOutletProtectiveBox, a, Top) = TRUE }




45
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 14 조
1. 수직풍도는 내화구조로 하되 「건축물의 피난·방화구조 등의 기준에 관한 규칙」제3조제1호 또는 제2호의 기준 이상의 성능으로 할 것<개정 2013.9.3>
3. 각층의 옥내와 면하는 수직풍도의 관통부에는 다음 각목의 기준에 적합한 댐퍼 (이하 "배출댐퍼"라 한다)를 설치하여야 한다.
가. 배출댐퍼는 두께 1.5㎜ 이상의 강판 또는 이와 동등 이상의 성능이 있는 것으로 설치하여야 하며 비 내식성 재료의 경우에는 부식방지 조치를 할 것
사. 개방 시의 실제개구부(개구율을 감안한 것을 말한다)의 크기는 수직풍도의 내부단면적과 같도록 할 것
아. 댐퍼는 풍도내의 공기흐름에 지장을 주지 않도록 수직풍도의 내부로 돌출하지 않게 설치할 것



//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 14조 (수직풍도에 따른 배출) 1호



Check(NFSC501A_14_0_1){

        KS

}



KS{

  Duct myDuct{

    isObjectProperty(Duct.isVerticalDuct)=TRUE

  }



  isFireResistantStructure(myDuct)=True

  getResult(REFB_3_0_1)=True

  OR getResult(REFB_3_0_2)=True

  

}


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 14조 (수직풍도에 따른 배출) 3호 Check(NFSC501A_14_0_3){ KS } KS{ Duct myDuct{ isObjectProperty(Duct.isVerticalDuct)=TRUE isExternal(Duct)=False } isInstalled(Damper, myDuct.PenetrationPart)=True getResult(NFSC501A_14_0_3_가)=True getResult(NFSC501A_14_0_3_사)=True getResult(NFSC501A_14_0_3_아)=True }


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 14조 (수직풍도에 따른 배출) 3호 가목

Check(NFSC501A_14_0_1_가){
KS
}

KS{
Damper myDamper{
getObjectProperty(Damper.functionType)="배출댐퍼"
}

Material myMaterial{

}
getObjectProperty(myDamper.Material.name)="SteelPlate"
getObjectProperty(myDamper.Material.depth)>=1.5 mm
}


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 14조 (수직풍도에 따른 배출) 3호 사목 Check(NFSC501A_14_0_1_사){ KS } KS{ Duct myDuct{ isObjectProperty(Duct.isVerticalDuct)=TRUE } DOA= getObjectArea(myDuct.Opening) DISA=getObjectSectionArea(myDuct) DOA==DISA }


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 14조 (수직풍도에 따른 배출) 3호 아목 Check(NFSC501A_14_0_1_아){ KS } KS{ Duct myDuct{ isObjectProperty(Duct.isVerticalDuct)=TRUE } hasObject(myDuct, Damper)=False }




46
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 15 조
제15조(배출구에 따른 배출) 배출구에 따른 배출은 다음 각 호의 기준에 적합하여야 한다.
1. 배출구에는 다음 각 목의 기준에 적합한 장치(이하 "개폐기"라 한다)를 설치할 것
다. 그 밖의 설치기준은 제14조제3호가목 내지 사목의 기준을 준용할 것
2. 개폐기의 개구면적은 다음식에 따라 산출한 수치 이상으로 할 것



//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 15조 (배출구에 따른 배출)

Check(NFSC_15){
KS
}

KS{
getResult(NFSC_15_0_1)=True
getResult(NFSC_15_0_2)=True
}


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 15조 (배출구에 따른 배출) 1호

Check(NFSC_15_0_1){
KS
}

KS{
getResult(NFSC_15_0_1_다)=True
}


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 15조 (배출구에 따른 배출) 1호 다목

Check(NFSC501A_15_0_1_다){
KS
}

KS{
getResult(NFSC501A_14_0_3_가)=True
getResult(NFSC501A_14_0_3_사)=True
}


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 15조 (배출구에 따른 배출) 2호 Check(NFSC501A_15_0_2){ KS } KS{ getObjectProperty(Opener.Opening.area)> Qn/2.5 }




47
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 17 조
제17조(급기구) 제연구역에 설치하는 급기구는 다음 각 호의 기준에 적합하여야 한다.
3. 급기구의 댐퍼설치는 다음 각 목의 기준에 적합할 것
자. 그 밖의 설치기준은 제14조제3호 가목 및 아목의 기준을 준용할 것



//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 17조 (급기구) 

Check(NFSC_17){
IF CS THEN KS
}

CS{
isObjectProperty(Zone.isSmokeControlZone)=True     
}

KS{
getResult(NFSC17_3)=True
}


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 17조 (급기구) 3호

Check(NFSC_17_0_3){
KS
}

KS{
getResult(NFSC_17_0_3_자)=True
}


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 17조 (급기구) 3호 자목

Check(NFSC_17_0_3_자){
KS
}



KS{
getResult(NFSC_14_0_3_가)=True
getResult(NFSC_14_0_3_아)=True

}




48
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 18 조
제18조(급기풍도) 급기풍도(이하 "풍도"라 한다)의 설치는 다음 각 호의 기준에 적합하여야 한다.
1. 수직풍도는 제14조제1호 및 제2호의 기준을 준용할 것



//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 18조 (급기풍도)

Check(NFSC_18){
IF CS THEN KS
}

CS{
getObjectProperty(Duct.functionType)="급기"
}

KS{
getResult(NFSC_18_0_1)=True
}


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 18조 (급기풍도) 1호

Check(NFSC501A_18_0_1){
IF CS THEN KS
}

CS{
getObjectProperty(Duct.type)="Verticle"
}

KS{
getResult(NFSC501A_14_0_1)=True

}




49
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 19 조
제19조(급기송풍기) 급기송풍기의 설치는 다음 각 호의 기준에 적합하여야 한다.
2. 송풍기에는 풍량조절장치를 설치하여 풍량조절을 할 수 있도록 할 것<개정 2013.9.3>
6. 송풍기와 연결되는 캔버스는 내열성(석면재료를 제외한다)이 있는 것으로 할 것



//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 19조 (급기송풍기) 



Check(NFSC501A_19){

 KS

}




KS{

 getResult(NFSC501A_19_2)=True

 getResult(NFSC501A_19_6)=True

}


//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 19조 (급기송풍기) 2호 Check(NFSC501A_19_0_2){ KS } KS{ isInstalled(AirVolumeControlDevice, AirBlower)=True }


// 특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 19조 (급기송풍기) 6호 Check(NFSC 501A){      IF CS THEN KS } CS{ isConnectedTo(AirBlower, Canvas) = TRUE } KS{      Canvas.Material.thermalResistance = TRUE      getObjectMaterial(Canvas) != "asbestos" }




50
비상경보설비 및 단독경보형감지기의 화재안전기준(NFSC 201) 제 4 조
②지구음향장치는 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 음향장치까지의 수평거리가 25m 이하가 되도록 하고, 해당층의 각 부분에 유효하게 경보를 발할 수 있도록 설치하여야 한다. 다만, 「비상방송설비의 화재안전기준(NFSC 202)」에 적합한 방송설비를 비상벨설비 또는 자동식사이렌설비와 연동하여 작동하도록 설치한 경우에는 지구음향장치를 설치하지 아니할 수 있다.<개정 2008.12.15, 2012.8.20>
⑤발신기는 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 지하구의 경우에는 발신기를 설치하지 아니할 수 있다. <개정 2012.8.20>
1. 조작이 쉬운 장소에 설치하고, 조작스위치는 바닥으로부터 0.8m 이상 1.5m 이하의 높이에 설치할 것
2. 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 발신기까지의 수평거리가 25m 이하가 되도록 할 것. 다만, 복도 또는 별도로 구획된 실로서 보행거리가 40m 이상일 경우에는 추가로 설치하여야 한다.



//     비상경보설비의 화재안전기준 (nfsc 201) 4조 (비상벨설비 또는 자동식사이렌설비) 2항



Check(NFSC201_4_2){

    KS

}



KS{

     Floor myFloor{

          hasSpace(Floor, SpecificFireFightingBuilding) = TRUE

     }

AcousticSystem myAcousticSystem{
isObjectProperty(AcousticSystem.isForPublic) = TRUE
}

     isInstalled(myAcousticSystem, myFloor) = TRUE

     (getObjectDistance(myAcousticSystem, Wall.Structure.) <= 25m


//     비상경보설비의 화재안전기준(NFSC 201) 4조 (전원 및 콘센트 등 ) 5항
Check(NFSC201_4_5){
     IF !CS THEN KS
}

CS{
     getObjectProperty(Floor.number) < 0
}

KS{
     getResult(NFSC201_4_5_1) = TRUE
     getResult(NFSC201_4_5_2) = TRUE
}


//     비상경보설비의 화재안전기준(NFSC 201) 4조 (비상벨설비 또는 자동식사이렌설비) 5항 1호 Check(NFSC201_4_5_1){      KS } KS{      Switch mySwitch{ isObjectProperty(Switch.ControlSwitch) = TRUE           isInstalled(Transmitter, Switch) = TRUE      }      getObjectVerticalLocation(FloorSlab, mySwitch) <= 1.5m      getObjectVerticalLocation(FloorSlab, mySwitch) >= 0.8m }


// // 스프링클러설비의 화재안전기준(NFSC 103) 4조 (비상벨설비 또는 자동식사이렌설비) 5항 2호 Check(NFSC201_4_5_1){      IF (CS1 THEN KS1) OR (CS2 THEN KS2) CS1{      getObjectDistance(Corridor | Space, Transmitter) < 40m } KS1{      isInstalled(Transmitter, SpecificFireFightingBuilding.Floor.One) = TRUE      getOjectCount(Transmitter) = 1      getElementDistance(SpecificFireFightingBuilding.Wall | SpecificFireFightingBuilding.Column, Transmitter) <= 25m } CS2{      getObjectDistance(Corridor | Space, Transmitter) >= 40m } KS2{      isInstalled(Transmitter, SpecificFireFightingBuilding.Floor.One) = TRUE      getOjectCount(Transmitter) >= 2      getElementDistance(SpecificFireFightingBuilding.Wall | SpecificFireFightingBuilding.Column, Transmitter) <= 25m }




51
비상경보설비 및 단독경보형감지기의 화재안전기준(NFSC 201) 제 5 조
제5조(단독경보형감지기) 단독경보형감지기는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 각 실(이웃하는 실내의 바닥면적이 각각 30㎡ 미만이고 벽체의 상부의 전부 또는 일부가 개방되어 이웃하는 실내와 공기가 상호유통되는 경우에는 이를 1개의 실로 본다)마다 설치하되, 바닥면적이 150㎡를 초과하는 경우에는 150㎡마다 1개 이상 설치할 것
2. 최상층의 계단실의 천장(외기가 상통하는 계단실의 경우를 제외한다)에 설치할 것



//     비상경보설비의 화재안전기준(NFSC 201) 5조 (단독경보형감지기)
Check(NFSC201_5){
     KS
}

KS{
     getResult(NFSC201_5_1) = TRUE
     getResult(NFSC201_5_2) = TRUE
     getResult(NFSC201_5_4) = TRUE
}


//     비상경보설비의 화재안전기준(NFSC 201) 5조 (단독경보형감지기) 1호

Check(NFSC201_5_0_1){

     IF (CS1 THEN KS1) OR (CS2 THEN KS2)

}



CS1{

     Room myRoom{

          getFloorArea(Room) <= 150m2

     }



     Room myRoom2{

          isAdjacent(myRoom, Room) = TRUE

     }



     getFloorArea(myRoom2) <= 30m2

}



KS1{

     Room myRoom{

          getFloorArea(Room) <= 150m2

     }



     Room myRoom2{

          isAdjacent(myRoom, Room) = TRUE

     }



     SelfcontainedTypeFireAlarmDevice mySelfcontainedTypeFireAlarmDevice{

          hasSpace(myRoom, SelfcontainedTypeFireAlarmDevice) = TRUE

     }



     isExist(mySelfcontainedTypeFireAlarmDevice) = TRUE

}



CS2{

     Room myRoom{

          getFloorArea(Room) > 150m2

     }



     Room myRoom2{

          isAdjacent(myRoom, Room) = TRUE

     }



     getFloorArea(myRoom2) <= 30m2

}



KS2{

     Room myRoom{

          getFloorArea(Room) > 150m2

     }



     Room myRoom2{

          isAdjacent(myRoom, Room) = TRUE

     }

Sensor mySensor{
isObjectProperty(Sensor.isSelfcontainedTypeFireAlarmDevice) = TRUE
          hasSpace(myRoom, Sensor ) = TRUE
}



     isInstalled(myRoom, mySelfcontainedTypeFireAlarmDevice, c, 150m2) = TRUE

}


//     비상경보설비의 화재안전기준(NFSC 201) 5조 (단독경보형감지기) 2호

Check(NFSC201_5_0_2){

     KS

}



KS{

     Ceiling myCeiling{

          hasSpace(Building.TopFloor.Stair.Space, Ceiling) = TRUE

     }
Sensor mySensor{
isObjectProperty(Sensor.isSelfcontainedTypeFireAlarmDevice) = TRUE
}


     isInstalled(myCeiling, mySensor) = TRUE

}




52
자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7 조
 제7조(감지기) ① 자동화재탐지설비의 감지기는 부착높이에 따라 다음 표에 따른 감지기를 설치하여야 한다. 다만, 지하층·무창층 등으로서 환기가 잘되지 아니하거나 실내면적이 40㎡ 미만인 장소, 감지기의 부착면과 실내바닥과의 거리가 2.3m 이하인 곳으로서 일시적으로 발생한 열·연기 또는 먼지 등으로 인하여 화재신호를 발신할 우려가 있는 장소(제5조제2항 본문에 따른 수신기를 설치한 장소를 제외한다)에는 다음 각 호에서 정한 감지기중 적응성 있는 감지기
1. 불꽃감지기
2. 정온식감지선형감지기
3. 분포형감지기
4. 복합형감지기
5. 광전식분리형감지기
6. 아날로그방식의 감지기
7. 다신호방식의 감지기
8. 축적방식의 감지기
② 다음 각 호의 장소에는 연기감지기를 설치하여야 한다. 다만, 교차회로방식에 따른 감지기가 설치된 장소 또는 제1항 단서에 따른 감지기가 설치된 장소에는 그러하지 아니하다.
1. 계단·경사로 및 에스컬레이터 경사로(15m 미만의 것을 제외한다)<개정 2008.12.15>
2. 복도(30m 미만의 것을 제외한다)
3. 엘리베이터권상기실·린넨슈트·파이프 피트 및 덕트 기타 이와 유사한 장소<개정 2008.12.15>
4. 천장 또는 반자의 높이가 15m 이상 20m 미만의 장소
③ 감지기는 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 교차회로방식에 사용되는 감지기, 급속한 연소 확대가 우려되는 장소에 사용되는 감지기 및 축적기능이 있는 수신기에 연결하여 사용하는 감지기는 축적기능이 없는 것으로 설치하여야 한다.
1. 감지기(차동식분포형의 것을 제외한다)는 실내로의 공기유입구로부터 1.5m 이상 떨어진 위치에 설치할 것
2. 감지기는 천장 또는 반자의 옥내에 면하는 부분에 설치할 것
5. 차동식스포트형·보상식스포트형 및 정온식스포트형 감지기는 그 부착 높이 및 특정소방대상물에 따라 다음 표에 따른 바닥면적마다 1개 이상을 설치할 것
6. 스포트형감지기는 45° 이상 경사되지 아니하도록 부착할 것
7. 공기관식 차동식분포형감지기는 다음의 기준에 따를 것
가. 공기관의 노출부분은 감지구역마다 20m 이상이 되도록 할 것
나. 공기관과 감지구역의 각 변과의 수평거리는 1.5m 이하가 되도록 하고, 공기관 상호간의 거리는 6m(주요 구조부를 내화구조로 한 특정소방대상물 또는 그 부분에 있어서는 9m) 이하가 되도록 할 것
다. 공기관은 도중에서 분기하지 아니하도록 할 것
라. 하나의 검출부분에 접속하는 공기관의 길이는 100m 이하로 할 것
마. 검출부는 5° 이상 경사되지 아니하도록 부착할 것
바. 검출부는 바닥으로부터 0.8m 이상 1.5m 이하의 위치에 설치할 것
8. 열전대식 차동식분포형감지기는 다음의 기준에 따를 것
가. 열전대부는 감지구역의 바닥면적 18㎡(주요구조부가 내화구조로 된 특정소방대상물에 있어서는 22㎡)마다 1개 이상으로 할 것. 다만, 바닥면적이 72㎡(주요구조부가 내화구조로 된 특정소방대상물에 있어서는 88㎡) 이하인 특정소방대상물에 있어서는 4개 이상으로 하여야 한다.
나. 하나의 검출부에 접속하는 열전대부는 20개 이하로 할 것. 다만, 각각의 열전대부에 대한 작동여부를 검출부에서 표시할 수 있는 것(주소형)은 형식승인 받은 성능인정범위내의 수량으로 설치할 수 있다.
9. 열반도체식 차동식분포형감지기는 다음의 기준에 따를 것
5. 목욕실·욕조나 샤워시설이 있는 화장실·기타 이와 유사한 장소
6. 파이프덕트 등 그 밖의 이와 비슷한 것으로서 2개층 마다 방화구획된 것이나 수평단면적이 5㎡ 이하인 것
8. 실내의 용적이 20㎥ 이하인 장소
⑥ 지하구에 설치하는 감지기는 제1항 각 호의 감지기로서 먼지·습기등의 영향을 받지 아니하고 발화지점을 확인할 수 있는 감지기를 설치하여야 한다.<개정 2008.12.15>
가. 감지부는 그 부착높이 및 특정소방대상물에 따라 다음 표에 따른 바닥면적마다 1개 이상으로 할 것. 다만, 바닥면적이 다음 표에 따른 면적의 2배 이하인 경우에는 2개(부착높이가 8m 미만이고, 바닥면적이 다음 표에 따른 면적 이하인 경우에는 1개) 이상으로 하여야 한다.
나. 하나의 검출기에 접속하는 감지부는 2개 이상 15개 이하가 되도록 할 것. 다만, 각각의 감지부에 대한 작동여부를 검출기에서 표시할 수 있는 것(주소형)은 형식승인 받은 성능인정범위내의 수량으로 설치할 수 있다.
10. 연기감지기는 다음의 기준에 따라 설치할 것
가. 감지기의 부착높이에 따라 다음 표에 따른 바닥면적마다 1개 이상으로 할 것
나. 감지기는 복도 및 통로에 있어서는 보행거리 30m(3종에 있어서는 20m)마다, 계단 및 경사로에 있어서는 수직거리 15m(3종에 있어서는 10m)마다 1개 이상으로 할 것
마. 감지기는 벽 또는 보로부터 0.6m 이상 떨어진 곳에 설치할 것
11. 열복합형감지기의 설치에 관하여는 제3호 및 제9호를, 연기복합형감지기의 설치에 관하여는 제10호를, 열연기복합형감지기의 설치에 관하여는 제5호 및 제10호 나목 또는 마목을 준용하여 설치할 것
12. 정온식감지선형감지기는 다음의 기준에 따라 설치할 것
라. 감지기와 감지구역의 각부분과의 수평거리가 내화구조의 경우 1종 4.5m 이하, 2종 3m 이하로 할 것. 기타 구조의 경우 1종 3m 이하, 2종 1m 이하로 할 것
13. 불꽃감지기는 다음의 기준에 따라 설치할 것
라. 감지기를 천장에 설치하는 경우에는 감지기는 바닥을 향하여 설치할 것
15. 광전식분리형감지기는 다음의 기준에 따라 설치할 것
다. 감지기의 송광부와 수광부는 설치된 뒷벽으로부터 1m이내 위치에 설치할 것
④ 제3항에도 불구하고 다음 각 호의 장소에는 각각 광전식분리형감지기 또는 불꽂감지기를 설치하거나 광전식공기흡입형감지기를 설치할 수 있다.
1. 화학공장·격납고·제련소등 : 광전식분리형감지기 또는 불꽃감지기. 이 경우 각 감지기의 공칭감시거리 및 공칭시야각등 감지기의 성능을 고려하여야 한다.
2. 전산실 또는 반도체 공장등 : 광전식공기흡입형감지기. 이 경우 설치장소·감지면적 및 공기흡입관의 이격거리등은 형식승인 내용에 따르며 형식승인 사항이 아닌 것은 제조사의 시방에 따라 설치하여야 한다.
⑤ 다음 각 호의 장소에는 감지기를 설치하지 아니한다.
1. 천장 또는 반자의 높이가 20m 이상인 장소. 다만, 제1항 단서 각호의 감지기로서 부착높이에 따라 적응성이 있는 장소는 제외한다.



자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 9호 나목

Check(NFSC203_7_3_9_나){

     IF CS THEN KS

}

CS{

     isConnectedTO(Detector.One, SensingElement) = TRUE

}

KS{

     getObjectCount(SensingElement) >= 2

     getObjectCount(SensingElement) <= 15

}


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 10호
Check(NFSC203_7_3_10){
     KS
}

KS{
     getResult(NFSC203_7_3_10_1) = TRUE
     getResult(NFSC203_7_3_10_2) = TRUE
     getResult(NFSC203_7_3_10_5) = TRUE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 10호 가목 Check(NFSC203_7_3_10_가){      IF (CS1 THEN KS1) OR (CS2 THEN KS2) }      Sensor mySensor1{      getObjectProperty(Sensor.type) = "Type1"      OR getObjectProperty(Sensor.type) = "Type2"      }      Sensor mySensor2{      isObjectProperty(Sensor.type) = "Type3"      } CS1{      getObjectVerticalDistance(FloorSlab, Sensor) < 4m } KS1{      isInstalled(mySensor1, FloorSlab.Space, C, 150) = TRUE)      OR isInstalled(mySensor2, FloorSlab.Space, C, 50) = TRUE) } CS2{      getObjectVerticalDistance(FloorSlab, Sensor) >= 4m      getObjectVerticalDistance(FloorSlab, Sensor) < 20m } KS2{      isInstalled(mySensor1, FloorSlab.Space, C, 75) = TRUE) }


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 10호 나목
Check(NFSC203_7_3_10_2){
     IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

CS1{
     hasSpace(Corridor, SmokeSensor) = TRUE
     OR hasSpace(Passage, SmokeSensor) = TRUE
}

KS1{
     getObjectInterval(SmokeSensor) <= 30m
}

CS2{
     hasSpace(Stair, SmokeSensor) = TRUE
     OR hasSpace(Ramp, SmokeSensor) = TRUE
}

KS2{
     getObjectInterval(SmokeSensor) <= 15m
}


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 10호 마목
Check(NFSC203_7_3_10_5{
     KS
}

KS{
     getObjectDistance(SmokeSensor, Wall.Structure) >= 0.6m
     OR getObjectDistance(SmokeSensor, Beam.Structure) >= 0.6m
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 11호 Check(NFSC203_7_3_11){      IF (CS1 THEN KS1) OR (CS2 THEN KS2) OR (CS3 THEN KS3) } CS1{      getObjectProperty(Sensor.isIntegratedType) = "HeatIntegratedType" } KS1{      getResult(NFSC203_7_3_3) = TRUE      OR getResult(NFSC203_7_3_9) = TRUE }      CS2{      getObjectProperty(Sensor.isIntegratedType) = "SmokeIntegratedType" } KS2{      getResult(NFSC203_7_3_10) = TRUE }      CS3{      getObjectProperty(Sensor.isIntegratedType) = "HeatAndSmokeIntegratedType" } KS3{      getResult(NFSC203_7_3_5) = TRUE      OR (getResult(NFSC203_7_3_10_나) = TRUE      OR getResult(NFSC203_7_3_10_마) = TRUE) }


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 12호
Check(NFSC203_7_3_12){
     KS
}

KS{
     getResult(NFSC203_7_3_12_2) = TRUE
     getResult(NFSC203_7_3_12_3) = TRUE
     getResult(NFSC203_7_3_12_4) = TRUE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 12호 라목 Check(NFSC203_7_3_12_라){      IF (CS1 THEN KS1 AND KS2) OR (!CS1 THEN KS3 AND KS4) }      Zone myZone{      isObjectProperty(Zone.isDetectionZone) = TRUE      }      Sensor mySensor1{      getObjectProperty(Sensor.type) = "Type1"      }      Sensor mySensor2{      getObjectProperty(Sensor.type) = "Type2"      } CS1{      isFireResistantStructure(myZone.Wall) = TRUE      isFireResistantStructure(myZone.Column) = TRUE } KS1{      getElementDistance(mySensor1, myZone.Wall) <= 4.5m      getElementDistance(mySensor1, myZone.Column) <= 4.5m } KS2{      getElementDistance(mySensor2, myZone.Wall) <= 3m      getElementDistance(mySensor2, myZone.Column) <= 3m } KS3{      getElementDistance(mySensor1, myZone.Wall) <= 3m      getElementDistance(mySensor1, myZone.Column) <= 3m      } KS4{      getElementDistance(mySensor2, myZone.Wall) <= 1m      getElementDistance(mySensor2, myZone.Column) <= 1m      }


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 13호
Check(NFSC203_7_3_13){
     KS
}

KS{
     getResult(NFSC203_7_3_13_4) = TRUE
}



자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 13호 라목

Check(NFSC203_7_3_13_라){
     IF CS THEN KS
}
CS{
     isInstalled(Sensor, Ceiling) = TRUE
}
KS{
     객체설치방향(Sensor, FloorSlab) = TRUE
}


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 15호
Check(NFSC203_7_3_15){
     KS
}

KS{
     getResult(NFSC203_7_3_15_1) = TRUE
     getResult(NFSC203_7_3_15_2) = TRUE
     getResult(NFSC203_7_3_15_3) = TRUE
     getResult(NFSC203_7_3_15_4) = TRUE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 15호 다목

Check(NFSC203_7_3_15_다){
     KS
}
KS{
     Wall myWall{
     isInstalled(Sensor.LightReceivingElement, Wall) = TRUE
     isInstalled(Sensor.LightSendingElement , Wall) = TRUE
     }
     getElementDistance(Sensor, myWall) <= 1m
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 4항

Check(NFSC203_7_4){
     IF CS THEN KS
}
CS{
     getResult(NFSC203_7_4_1) = TRUE
     OR getResult(NFSC203_7_4_2) = TRUE
}
KS{
     Sensor mySensor1{
     getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"
     getObjectProperty(Sensor.sensingRange) = "SeparateType"
     }     
     Sensor mySensor2{
     getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"
     getObjectProperty(Sensor.sensingRange) = "AspiratingType"
     }

     isInstalled(mySensor1) = TRUE
     OR isInstalled(mySensor2) = TRUE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 4항 1호

Check(NFSC203_7_4_1){
     IF CS THEN KS
}
CS{
     getBuildingUsage() = "ChemistryFactory"
     OR getBuildingUsage() = "Hangar"
     OR getBuildingUsage() = "Smelter"
}
KS{
     Sensor mySensor1{
     getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"
     getObjectProperty(Sensor.sensingRange) = "SeparateType"
     }     
     isInstalled(mySensor1) = TRUE
     OR isInstalled(FlameSensor) = TRUE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 4항 2호

Check(NFSC203_7_4_2){
     IF CS THEN KS
}
CS{
     getSpaceUsage() = "ComputerRoom"
     OR getBuildingUsage() = "SemiconductorFactory"
}
KS{
     Sensor mySensor1{
     getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"
     getObjectProperty(Sensor.sensingRange) = "AspiratingType"
     }
     isInstalled(mySensor1) = TRUE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 5항

Check(NFSC203_7_5){
     KS
}
KS{
     getResult(NFSC203_7_5_1) = TRUE
     OR getResult(NFSC203_7_5_2) = TRUE
     OR getResult(NFSC203_7_5_5) = TRUE
     OR getResult(NFSC203_7_5_6) = TRUE
     OR getResult(NFSC203_7_5_8) = TRUE
     OR getResult(NFSC203_7_5_9) = TRUE
}



자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 5항 1호

Check(NFSC203_7_5_1){
     IF CS THEN KS
}
CS{
     getObjectVerticalDistance(FloorSlab, Ceiling) >= 20m
     OR getObjectVerticalDistance(FloorSlab, CeilingCovering) >= 20m
}
KS{
     isInstalled(Sensor) = FALSE
}



자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 5항 5호

Check(NFSC203_7_5_5){
     IF CS THEN KS
}
CS{
     Space mySpace1{
     getSpaceUsage() = "Toliet"
     }
     Space mySpace2{
     getSpaceUsage() = "Bathoroom"
     }
     isInstalled(mySpace1, mySpace2) = TRUE
     
KS{
     isInstalled(Sensor) = FALSE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 5항 6호

Check(NFSC203_7_5_6){
     IF CS THEN KS
}
CS{
     Duct myDuct{
     isObjectProperty(Duct.isPipeDuct) = TRUE
     }
     isFirePartition(myDuct, 2층) = TRUE
     OR isObjectProperty(Duct.horizontalSectionalArea) <= 5m2
KS{
     isInstalled(Sensor) = FALSE
}



자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 5항 8호

Check(NFSC203_7_5_6){
     IF CS THEN KS
}
CS{
     Space mySpace{
     isExternal(Space) = FALSE
     }
     (mySpace.volume) <= 20m3
}
KS{
     isInstalled(Sensor) = FALSE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 6항

Check(NFSC203_7_6){
     IF CS THEN KS
}
CS{
     isInstalled(Sensor, Underground) = TRUE
}
KS{
     getResult(NFSC203_7_1_1) = TRUE
     OR getResult(NFSC203_7_1_2) = TRUE
     OR getResult(NFSC203_7_1_3) = TRUE
     OR getResult(NFSC203_7_1_4) = TRUE
     OR getResult(NFSC203_7_1_5) = TRUE
     OR getResult(NFSC203_7_1_6) = TRUE
     OR getResult(NFSC203_7_1_7) = TRUE
     OR getResult(NFSC203_7_1_8) = TRUE
}



자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항



Check(NFSC203_7_1){

     IF (CS1 THEN KS1) OR (CS2 THEN KS2) OR (CS3 THEN KS3) OR (CS4 THEN KS4) OR (CS5 THEN KS5)

}

     Sensor mySensor1{

     getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"

     getObjectProperty(Sensor.sensingRange) = "LineType"

     }

     Sensor mySensor2{

     getObjectProperty(Sensor.sensingMode) = "CompensationType"

     getObjectProperty(Sensor.sensingRange) = "SpotType"

     }

     Sensor mySensor3{

     getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"

     (getObjectProperty(Sensor.sensingRange) = "SpotType"

     OR getObjectProperty(Sensor.lineTypeEnum) = "LineType")

     }

     Sensor mySensor4{

     getObjectProperty(Sensor.sensingMode) = "ionizationType"

     }

     Sensor mySensor5{

     getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"

     (getObjectProperty(Sensor.sensingRange) = "SpotType"

     OR getObjectProperty(Sensor.sensingRange) = "SeparateType"

     OR getObjectProperty(Sensor.sensingRange) = "AspiratingType")

     }

     Sensor mySensor6{

     getObjectProperty(Sensor.integratedType) = "HeatIntegratedType"

     }

     Sensor mySensor7{

     getObjectProperty(Sensor.integratedType) = "SmokeIntegratedType"

     }

     Sensor mySensor8{

     getObjectProperty(Sensor.integratedType) = "HeatAndSmokeIntegratedType"

     }

     }

     

CS1{

     getObjectVerticalDistance(FloorSlab, Sensor) < 4m

}

KS1{

     (isObjectProperty(mySensor1.sensingRange) = "SpotType"

     isInstalled(mySensor1) = TRUE)

     OR isInstalled(mySensor2) = TRUE

     OR isInstalled(mySensor3) = TRUE

     OR isInstalled(mySensor4) = TRUE

     OR isInstalled(mySensor5) = TRUE

     OR isInstalled(mySensor6) = TRUE

     OR isInstalled(mySensor7) = TRUE

     OR isInstalled(mySensor8) = TRUE

     OR isInstalled(FlameSensor) = TRUE

}

CS2{

     getObjectVerticalDistance(FloorSlab, Sensor) >= 4m

     getObjectVerticalDistance(FloorSlab, Sensor) < 8m

}

KS2{

     (isObjectProperty(mySensor1.sensingRange) = "SpotType"

     isInstalled(mySensor1) = TRUE)

     OR isInstalled(mySensor2) = TRUE

     OR ((getObjectProperty(Sensor.type) = "SpecialType"

     OR getObjectProperty(Sensor.type) = "Type1")

     isInstalled(mySensor3) = TRUE)

     OR ((getObjectProperty(Sensor.type) = "Type1"

     OR getObjectProperty(Sensor.type) = "Type2")isInstalled(mySensor4) = TRUE)

     OR ((getObjectProperty(Sensor.type) = "Type1"

     OR getObjectProperty(Sensor.type) = "Type2")

     isInstalled(mySensor5) = TRUE)

     OR isInstalled(mySensor6) = TRUE

     OR isInstalled(mySensor7) = TRUE

     OR isInstalled(mySensor8) = TRUE

     OR isInstalled(FlameSensor) = TRUE

}

CS3{

     getObjectVerticalDistance(FloorSlab, Sensor) >= 8m

     getObjectVerticalDistance(FloorSlab, Sensor) < 15m

}

KS3{

     isInstalled(mySensor1) = TRUE

     OR ((getObjectProperty(Sensor.type) = "Type1"

     OR getObjectProperty(Sensor.type) = "Type2")isInstalled(mySensor4) = TRUE)

     OR ((getObjectProperty(Sensor.type) = "Type1"

     OR getObjectProperty(Sensor.type) = "Type2")

     isInstalled(mySensor5) = TRUE)

     OR isInstalled(mySensor7) = TRUE

     OR isInstalled(FlameSensor) = TRUE

}

CS4{

     getObjectVerticalDistance(FloorSlab, Sensor) >= 15m

     getObjectVerticalDistance(FloorSlab, Sensor) < 20m

}

KS4{

     ((getObjectProperty(Sensor.type) = "Type1"

     isInstalled(mySensor4) = TRUE)

     OR (getObjectProperty(Sensor.type) = "Type1"

     isInstalled(mySensor5) = TRUE)

     OR isInstalled(mySensor7) = TRUE

     OR isInstalled(FlameSensor) = TRUE

}

CS5{

     getObjectVerticalDistance(FloorSlab, Sensor) >= 20m

}

KS5{

     Sensor mySensor9{

     getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"

     (getObjectProperty(Sensor.sensingRange) = "SeparateType"

     OR getObjectProperty(Sensor.sensingRange) = "AspiratingType")

     getObjectProperty(Sensor.operationMode) = "Analog"isInstalled(mySensor5) = TRUE

     }

     isInstalled(mySensor9) = TRUE

     OR isInstalled(FlameSensor) = TRUE

}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 1호
Check(NFSC203_7_1_1){
     KS
}
KS{
     getObject(FlameSensor)
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 2호 Check(NFSC203_7_1_2){      KS } KS{      Sensor mySensor{      getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"      getObjectProperty(Sensor.sensingRange) = "LineType"      }      getObject(mySensor) }


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 3호 Check(NFSC203_7_1_3){      KS } KS{      Sensor mySensor{      getObjectProperty(Sensor.sensingRange) = "LineType"      }      getObject(mySensor) }


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 4호 Check(NFSC203_7_1_4){      KS } KS{      Sensor mySensor{      isObjectProperty(Sensor.isIntegratedType) = TRUE      } }


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 5호 Check(NFSC203_7_1_5){      KS } KS{      Sensor mySensor{      getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"      getObjectProperty(Sensor.sensingRange) = "SeparateType"      }      getObject(mySensor) }


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 6호 Check(NFSC203_7_3_6){      KS } KS{      Sensor mySensor{      getObjectProperty(Sensor.OperationMode.) = "Analog"      }      getObject(mySensor) = TRUE


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 7호 Check(NFSC203_7_1_7){      KS } KS{      Sensor mySensor{      getObjectProperty(Sensor.OperationMode.) = "MultiSignal"      }      getObject(mySensor) = TRUE


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 8호 Check(NFSC203_7_1_8){      KS } KS{      Sensor mySensor{      getObjectProperty(Sensor.operationMode) = "Accumulation"      }      getObject(mySensor) = TRUE


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 2항
Check(NFSC203_7_2){
     IF CS THEN KS
}

     Sensor mySensor{
          getResult(NFSC203_7_1_1) = TRUE
          OR getResult(NFSC203_7_1_2) = TRUE
          OR getResult(NFSC203_7_1_3) = TRUE
          OR getResult(NFSC203_7_1_4) = TRUE
          OR getResult(NFSC203_7_1_5) = TRUE
          OR getResult(NFSC203_7_1_6) = TRUE
          OR getResult(NFSC203_7_1_7) = TRUE
          OR getResult(NFSC203_7_1_8) = TRUE
     }

CS{
     isInstalled(mySensor) = FALSE
     getResult(NFSC203_7_2_1) = TRUE
     OR getResult(NFSC203_7_2_2) = TRUE
     OR getResult(NFSC203_7_2_3) = TRUE
}

KS{
     isInstalled(SmokeSensor) = TRUE
}


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 2항 1호
Check(NFSC203_7_2_1){
     KS
}

KS{
     Ramp myRamp{
          getObjectProperty(Ramp.length) >= 15m
     }

     isInstalled(SmokeSensor, Stair) = TRUE
     isInstalled(SmokeSensor, myRamp) = TRUE
}


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 2항 2호
Check(NFSC203_7_2_2){
     KS
}

KS{
     Corridor myCorridor{
          getObjectProperty(Corridor.length) >= 30m
     }

     isInstalled(SmokeSensor, myCorridor) = TRUE
}


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 2항 2호
Check(NFSC203_7_2_3){
     IF CS THEN KS
}
CS{
     Pipe myPipe{
     isObjectProperty(Pit.isPipePit) = TRUE
     }
     Space mySace{
     getSpaceUsage(Space) = "ElevatorTractionMachineRoom"
     OR isInstalled(LinenChute,Space) = TRUE
     OR isInstalled(myPipe,Space) = TRUE
     OR isInstalled(Duct,Space) = TRUE
     }
}
KS{
     isInstalled(SmokeSensor,mySpace) = TRUE
}



//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 2항 4호
Check(NFSC203_7_2_4){
     KS
}

KS{
     Ceiling myCeiling{
          15m <= getObjectHeight(Ceiling) < 20m
     }

     CeilingCovering myCeilingCovering{
          15m <= getObjectHeight(CeilingCovering) < 20m
     }
     
     isExist(myCeiling) = TRUE
     OR isExist(myCeilingCovering) = TRUE

     isInstalled(SmokeSensor) = TRUE
}



//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항
Check(NFSC203_7_3){
     KS
}

KS{
     getResult(NFSC203_7_3_1) = TRUE
     getResult(NFSC203_7_3_2) = TRUE
     getResult(NFSC203_7_3_5) = TRUE
     getResult(NFSC203_7_3_6) = TRUE
     getResult(NFSC203_7_3_7) = TRUE
     getResult(NFSC203_7_3_8) = TRUE
     getResult(NFSC203_7_3_9) = TRUE
     getResult(NFSC203_7_3_10) = TRUE
     getResult(NFSC203_7_3_11) = TRUE
     getResult(NFSC203_7_3_12) = TRUE
     getResult(NFSC203_7_3_13) = TRUE
     getResult(NFSC203_7_3_15) = TRUE
}


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 1호
Check(NFSC203_7_3_1){
     KS
}

KS{
     getObjectDistance(Sensor, ) >= 1.5m
}


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 2항 1호
Check(NFSC503_6_2_1){
     KS
}

KS{
     Ceiling myCeiling{
          isAdjacent(Ceiling, Indoors) = TRUE
     }

     CeilingCovering myCeilingCovering{
          isAdjacent(CeilingCovering, Indoors) = TRUE
     }

     isInstalled(myCeiling, Sensor) = TRUE
     OR isInstalled(myCeilingCovering, Sensor) = TRUE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 5호 Check(NFSC203_7_3_5){      IF CS1 AND CS2 THEN KS }      Sensor mySensor1{      getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"      getObjectProperty(Sensor.sensingRange) = "SpotType"      }      Sensor mySensor2{      getObjectProperty(Sensor.sensingMode) = "CompensationType"      getObjectProperty(Sensor.sensingRange) = "SpotType"      }      Sensor mySensor3{      getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"      getObjectProperty(Sensor.sensingRange) = "SpotType"      }       CS1{      getElementDistance(FloorSlab, Sensor) < 4m      } CS2{      isFireResistantStructure(SpecificFireFightingBuilding.MainStructuralPart) = TRUE      } CS3{      getElementDistance(FloorSlab, Sensor) < 8m      getElementDistance(FloorSlab, Sensor) >= 4m      } KS{      isObjectProperty(mySensor1.type) = "Type1"      isInstalled(mySensor1, FloorSlab, 90) = TRUE }


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 6호 Check(NFSC203_7_3_6){      KS } KS{      Sensor mySensor{      getObjectProperty(Sensor.sensingRange) = "SpotType"      }      getObjectGradient(FloorSlab, mySensor) < 45 }


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 6호 Check(NFSC203_7_3_7){      IF CS THEN KS } CS{      Sensor mySensor{      getObjectProperty(Sensor.lineTypeEnum) = "ThermopneumaticTube"      getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"      getObjectProperty(Sensor.sensingRange) = "SpotType"      }      isInstalled(mySensor) = TRUE } KS{            getResult(NFSC_7_3_7_1) = TRUE      getResult(NFSC_7_3_7_2) = TRUE      getResult(NFSC_7_3_7_3) = TRUE      getResult(NFSC_7_3_7_4) = TRUE      getResult(NFSC_7_3_7_5) = TRUE      getResult(NFSC_7_3_7_6) = TRUE }


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 가목
Check(NFSC203_7_3_7_가){
     KS
}
KS{
     Pipe myPipe{
     isObjectProperty(Pipe.isForAir) = TRUE
     }
     Zone myZone{
     isObjectProperty(Zone.isDetectionZone) = TRUE
     }
     hasObject(myZone, myPipe) = TRUE
     getObjectLength(myZone.One.myPipe) >= 20m
}



자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 가목
Check(NFSC203_7_3_7_가){
     KS3 AND IF !CS THEN KS1 ELSE KS2
}
     Pipe myPipe{
     isObjectProperty(Pipe.isForAir) = TRUE
     }
     Zone myZone{
     isObjectProperty(Zone.isDetectionZone) = TRUE
     }
KS3{
     getElementDistance(myPipe, myZone.Wall) <= 1.5m
     getElementDistance(myPipe, myZone.Column) <= 1.5m
}
CS{
     isFireResistantStructure(SpecificFireFightingBuilding.MainStructuralPart) = TRUE
     
}
KS1{
     getObjectInterval(myPipe) <= 6m
}
KS2{
     getObjectInterval(myPipe) <= 6m
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 다목 Check(NFSC203_7_3_7_다){      KS }      Pipe myPipe{      isObjectProperty(Pipe.isForAir) = TRUE      }      isObjectProperty(myPipe.isDiverged) = FALSE


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 라목
Check(NFSC203_7_3_7_라){
     KS
}
KS{
     Pipe myPipe{
     isObjectProperty(Pipe.isForAir) = TRUE
     }
     isConnectedTo(myPipe, DetectingElement.One) = TRUE
     getObjectLength(myPipe) <= 100m
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 마목
Check(NFSC203_7_3_7_마){
     KS
}
KS{
     isInstalled(DetectingElement, Wall) = TRUE
     getObjectGradient(Wall, DetectingElement) < 5
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 바목
Check(NFSC203_7_3_7_바){
     KS
}
KS{
     getObjectVerticalDistance(FloorSlab, DetectingElement) >= 0.8m
     getObjectVerticalDistance(FloorSlab, DetectingElement) <= 1.5m
}
}


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 8호
Check(NFSC203_7_3_8){
     KS
}

KS{
     getResult(NFSC203_7_3_8_1) = TRUE
     getResult(NFSC203_7_3_8_2) = TRUE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 8호 가목
Check(NFSC203_7_3_8_가){
     IF !CS THEN KS1 AND K2 ELSE THEN KS3 AND KS4

}
     Zone myZone{
     isObjectProperty(Zone.isDetectionZone) = TRUE
     }
CS1{
     isFireResistantStructure(SpecificFireFightingBuilding.MainStructuralPart) = TRUE
)
KS1{
     isInstalled(ThermocoupleElement , myZone.Floor, c, 18) = TRUE
}
KS2{
     isObjectProperty(SpecificFireFightingBuilding.myZone.Floor.area) <= 72m2
     getObjectCount(myZone) >= 4
}
KS3{
     isInstalled(ThermocoupleElement , myZone.Floor, c, 22) = TRUE
}
KS4{
     isObjectProperty(SpecificFireFightingBuilding.myZone.Floor.area) <= 88m2
     getObjectCount(myZone) >= 4
}



자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 8호 나목
Check(NFSC203_7_3_8_나){
     KS
}
KS{
     isConnectedTo(ThermocoupleElement, DetectingElement.One) = TRUE
     getObjectCount(ThermocoupleElement) <= 20
}


//     자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 9호
Check(NFSC203_7_3_9){
     KS
}

KS{
     getResult(NFSC203_7_3_9_1) = TRUE
     getResult(NFSC203_7_3_9_2) = TRUE
}


자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 5호
Check(NFSC203_7_3_5){

     Sensor mySensor1{
     getObjectProperty(Sensor.type) = "Type1"
     }
     Sensor mySensor2{
     isObjectProperty(Sensor.type) = "Type2"
     }

IF
{isFireResistantStructure(SpecificFireFightingBuilding) = TRUE)
AND
{isInstalled(Sensor, FloorSlab) = TRUE
     getObjectVerticalDistance(FloorSlab, Sensor) < 8m
}
THEN
{(FA = 65
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR
(FA = 36
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= FA
THEN getObjectCount(Sensor) = 1

ELSE IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}

ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) = TRUE)
AND
{isInstalled(Sensor, FloorSlab) = TRUE
AND
getObjectVerticalDistance(FloorSlab, Sensor) >= 8m
AND
getObjectVerticalDistance(FloorSlab, Sensor) < 15m

THEN
{(FA = 50
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR
(FA = 36
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}

ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) != TRUE)
AND
{isInstalled(Sensor, FloorSlab) = TRUE
     getObjectVerticalLocation(FloorSlab, Sensor) < 8m
}
THEN
{(FA = 40
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR
(FA = 23
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= FA
THEN getObjectCount(Sensor) = 1

ELSE IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}

ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) != TRUE)
AND
getObjectVerticalDistance(FloorSlab, Sensor) >= 8m
AND
getObjectVerticalDistance(FloorSlab, Sensor) < 15m
}

THEN
{(FA = 30
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR
(FA = 23
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}




53
연결송수관설비의 화재안전기준(NFSC 502) 제 4 조
 제4조(송수구) 연결송수관설비의 송수구는 다음 각 호의 기준에 따라 설치하여야 한다.
2. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것
4. 송수구로부터 연결송수관설비의 주배관에 이르는 연결배관에 개폐밸브를 설치한 때에는 그 개폐상태를 쉽게 확인 및 조작할 수 있는 옥외 또는 기계실 등의 장소에 설치할 것. 이 경우 개폐밸브에는 그 밸브의 개폐상태를 감시제어반에서 확인할 수 있도록 급수개폐밸브 작동표시 스위치를 다음 각 목의 기준에 따라 설치하여야 한다. <개정 2014.8.18>
5. 구경 65㎜의 쌍구형으로 할 것
7. 송수구는 연결송수관의 수직배관마다 1개 이상을 설치할 것. 다만, 하나의 건축물에 설치된 각 수직배관이 중간에 개폐밸브가 설치되지 아니한 배관으로 상호 연결되어 있는 경우에는 건축물마다 1개씩 설치할 수 있다.
8. 송수구의 부근에는 자동배수밸브 및 체크밸브를 다음 각목의 기준에 따라 설치할 것. 이 경우 자동배수밸브는 배관안의 물이 잘빠질 수 있는 위치에 설치하되, 배수로 인하여 다른 물건이나 장소에 피해를 주지 아니하여야 한다.
가. 습식의 경우에는 송수구·자동배수밸브·체크밸브의 순으로 설치할 것
나. 건식의 경우에는 송수구·자동배수밸브·체크밸브·자동배수밸브의 순으로 설치할 것



//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구)

Check(NFSC502_4){
KS
}

KS{
getResult(NFSC502_4_0_2)=True
getResult(NFSC502_4_0_4)=True
getResult(NFSC502_4_0_5)=True
getResult(NFSC502_4_0_7)=True
getResult(NFSC502_4_0_8)=True
}


//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 2호

Check(NFSC502_4_0_2){
KS
}

KS{
getObjectVerticalDistance(Ground, FireDepartmentConnection)>=0.5 m
getObjectVerticalDistance(Ground, FireDepartmentConnection)<=1 m
}


//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 4호 Check(NFSC502_4_0_4){ IF CS THEN KS } CS{ Pipe myPipe1{ Pipe.systemType = "FireDepartmentConnectionSystem" Pipe.isRiser = TRUE } Pipe myPipe2{ isConnectedTo(FireDepartmentConnection, Pipe)=True isConnectedTo(myPipe1, Pipe)=True } Valve myValve{ isObjectProperty(Valve.isShutoffValve)=True } hasObject(myConnectionPipe, myValve)=True } KS{ isExternal(myValve)=True OR (hasObject(Space, myValve)=True getSpaceUsage(Space) = "MachinRoom" }


//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 5호 Check(NFSC502_4_0_5){ KS } KS{ Port myPort{ getObjectProperty(     Port.typeForWater)="FireDepartmentConnection " getObjectProperty(Port.shapeType)="DoubleType" } getObjectDiameter(myFireDepartmentConnection)= 65 mm }


//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 7호 Check(NFSC502_4_0_7){ IF CS THEN KS1 ELSE KS2 } CS{ Port myPort{ Port.typeForWater = "FireDepartmentConnection" } Pipe myPipe{ Pipe.systemType = "FireDepartmentConnectionSystem" isObjectProperty(Pipe.isRiser)=True } Pipe myPipe2{ isInstalled( myValve, Pipe)=False } Valve myValve{ isObjectProperty(Valve.isShutOffValve)=True } isConnectedTo(myPipe, myPipe2)=True } KS1{ isInstalled(myPort)=True } KS2{ getObjectCount(myPort,myPipe )>=1 }


//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 8호

Check(NFSC502_4_0_8){
KS
}

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


//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 8호 가목 Check(){ IF CS THEN KS } CS{ getObjectProperty(FireDepartmentConnectionSystem.dryWetType)="WetFireDepartmentConnectionSystem" } KS{ // 송수구·자동배수밸브·체크밸브의 순으로 설치할 것 }


//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 8호 나목 Check(NFSC502_4_0_8_나){ IF CS THEN KS } CS{ getObjectProperty(FireDepartmentConnectionSystem.dryWetType)="DryFireDepartmentConnectionSystem" } KS{ // 송수구·자동배수밸브·체크밸브·자동배수밸브의 순으로 설치할 것 }




54
연결송수관설비의 화재안전기준(NFSC 502) 제 5 조
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
 제5조(배관 등) ① 연결송수관설비의 배관은 다음 각 호의 기준에 따라 설치하여야 한다.
1. 주배관의 구경은 100㎜ 이상의 것으로 할 것
2. 지면으로부터의 높이가 31m 이상인 특정소방대상물 또는 지상 11층 이상인 특정소방대상물에 있어서는 습식설비로 할 것
② 배관은 다음 각 호의 어느 하나에 해당하는 것을 사용하여야 한다. 다만, 배관 이음은 각 배관과 동등 이상의 성능에 적합한 배관이음쇠를 사용하고 배관용 스테인리스강관(KS D 3576)의 이음을 용접으로 할 경우에는 알곤용접방식에 따른다. <신설 2014.8.18>
1. 배관 내 사용압력이 1.2 ㎫ 미만일 경우에는 다음 각 목의 어느 하나에 해당하는 것 또는 동등 이상의 강도·내식성 및 내열성을 가진 것
가. 배관용 탄소강관(KS D 3507)
나. 이음매 없는 구리 및 구리합금관(KS D 5301). 다만, 습식의 배관에 한한다.
다. 배관용 스테인리스강관(KS D 3576) 또는 일반배관용 스테인리스강관(KS D 3595)
2. 배관 내 사용압력이 1.2 ㎫ 이상일 경우에는 압력배관용탄소강관(KS D 3562) 또는 이와 동등 이상의 강도·내식성 및 내열성을 가진 것
③ 제2항에도 불구하고 다음 각 호의 어느 하나에 해당하는 장소에는 국민안전처장관이 정하여 고시한「소방용합성수지배관의 성능인증 및 제품검사의 기술기준」에 적합한 소방용 합성수지배관으로 설치할 수 있다.<신설 2014.8.18., 개정 2015.1.6.>
3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 소화배관 내부에 항상 소화수가 채워진 상태로 설치하는 경우
④ 연결송수관설비의 배관은 주배관의 구경이 100㎜ 이상인 옥내소화전설비·스프링클러설비 또는 물분무등소화설비의 배관과 겸용할 수 있다.[종전의 제2항에서 이동 2014.8.18]



//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 1항

Check(NFSC502_5_1){
KS
}

KS{
getResult(NFSC502_5_1_1)=True
getResult(NFSC502_5_1_2)=True
}




//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 1항 1호 Check(NFSC502_5_1_1){ KS } KS{ Pipe myPipe{      Pipe.isRiser = TRUE Pipe.systemType = "FireDepartmentConnectionSystem" } getObjectDiameter(myPipe)>=100 mm }


//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 1항 2호



Check(NFSC502_5_1_2){

IF CS THEN KS

}



CS{

(

getBuildingHeight()>=31 m

OR getBuildingStoriesCount()>=11

)

getBuildingUsage()="SpecificFireFightingBuilding"



}



KS{

getObjectProperty(FireDepartmentConnectionSystem.dryWetType)="WetFireDepartmentConnectionSystem"

}


//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항

Check(NFSC502_5_2){
KS
}

KS{
getResult(NFSC502_5_2_1)=True
OR getResult(NFSC502_5_2_2)=True
}


//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항 1호

Check(NFSC502_5_2_1){
IF CS THEN KS
}

CS{
getObjectProperty(Pipe.workingPressure)<1.2 MPa

}

KS{
getResult(NFSC502_5_2_1_가)=True
OR getResult(NFSC502_5_2_1_나)=True
OR getResult(NFSC502_5_2_1_다)=True
}


//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항 1호 가목

Check(NFSC502_5_2_1_가){
KS
}

KS{
getObjectMaterial(Pipe)="KSD3507"
}


//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항 1호 나목

Check(NFSC502_5_2_1_나){
IF CS THEN KS
}

CS{
getObjectProperty(Pipe.type)="WetPipe"
}

KS{
getObjectMaterial(Pipe)="KSD5301"
}


//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항 1호 다목

Check(NFSC502_5_2_1){
KS
}


KS{
getObjectMaterial(Pipe)="KSD3576"
OR getObjectMateral(Pipe)="KSD3595"

}


//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항 2호

Check(NFSC502_5_2_2){
IF CS THEN KS
}

CS{
getObjectProperty(Pipe.workingPressure)>=1.2 MPa

}

KS{
getObjectMaterial(Pipe)="KSD3562"

}


//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 3항

Check(NFSC502_5_3){
IF CS THEN KS
}
CS{
getResult(NFSC502_5_3_2)=True
OR getResult(NFSC502_5_3_3)=True
}

KS{

isObejctProperty(Pipe.isSyntheticResinForfirefighting)=True

}


//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 3항 3호

Check(NFSC502_5_3_3){
KS
}

KS{

( isObjectProperty(Ceiling.Material.quasiNonCombustibility)=True
OR isObjectProperty(Ceiling.Material.nonCombustibility)=True
)

(
isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=True
OR isObjectProperty(CeilingCovering.Material.nonCombustibility)=True
)


}



//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 4항

Check(NFSC502_5_4){
     IF CS THEN KS
}
CS2{
     isObjectProperty(Pipe.systemType) = "FireDepartmentConnectionSystem"
}
KS{
     Pipe myPipe1{
     isObjectProperty(Pipe.isRiser) = TRUE
     getObjectProperty(Pipe.diameter) >= 100mm
     isObjectProperty(Pipe.systemType) = "IndoorFireHydrantSystem"
     }
     Pipe myPipe2{
     isObjectProperty(Pipe.isRiser) = TRUE
     getObjectProperty(Pipe.diameter) >= 100mm
     isObjectProperty(Pipe.systemType) = "WaterSprayExtingushingSystem"
     }
     isShared(Pipe,myPipe1) = TRUE
     OR isShared(Pipe,myPipe2) = TRUE
     OR isShared(Pipe,myPipe1) != TRUE
     OR isShared(Pipe,myPipe2) != TRUE
}


//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 3항 2호

Check(NFSC502_5_3_2){
KS
}

KS{
Duct myDuct{
isFireResistantStructure(Duct)=True
}
Pit myPit{
isFireResistantStructure(Pit)=True
}

isInstalled(Pipe, myDuct)=True
OR isInstalled(Pipe, myPit)=True

}




55
연결송수관설비의 화재안전기준(NFSC 502) 제 6 조
나. 가목에 해당하지 아니하는 것은 수평거리 50m
 제6조(방수구) 연결송수관설비의 방수구는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 연결송수관설비의 방수구는 그 특정소방대상물의 층마다 설치할 것. 다만, 다음 각목의 어느 하나에 해당하는 층에는 설치하지 아니할 수 있다.
가. 아파트의 1층 및 2층
다. 송수구가 부설된 옥내소화전을 설치한 특정소방대상물(집회장·관람장·백화점·도매시장·소매시장·판매시설·공장·창고시설 또는 지하가를 제외한다)로서 다음의 어느 하나에 해당하는 층 (1) 지하층을 제외한 층수가 4층 이하이고 연면적이 6,000㎡ 미만인 특정소방대상물의 지상층 (2) 지하층의 층수가 2 이하인 특정소방대상물의 지하층
2. 방수구는 아파트 또는 바닥면적이 1,000㎡ 미만인 층에 있어서는 계단(계단의 부속실을 포함하며 계단이 2 이상 있는 경우에는 그 중 1개의 계단을 말한다)으로부터 5m 이내에, 바닥면적 1,000㎡ 이상인 층(아파트를 제외한다)에 있어서는 각 계단(계단의 부속실을 포함하며 계단이 3 이상 있는 층의 경우에는 그 중 2개의 계단을 말한다)으로부터 5m 이내에 설치하되, 그 방수구로부터 그 층의 각 부분까지의 거리가 다음 각목의 기준을 초과하는 경우
가. 지하가(터널은 제외한다) 또는 지하층의 바닥면적의 합계가 3,000㎡ 이상인 것은 수평거리 25m
3. 11층 이상의 부분에 설치하는 방수구는 쌍구형으로 할 것. 다만, 다음 각목의 어느 하나에 해당하는 층에는 단구형으로 설치할 수 있다.
가. 아파트의 용도로 사용되는 층
나. 스프링클러설비가 유효하게 설치되어 있고 방수구가 2개소 이상 설치된 층
4. 방수구의 호스접결구는 바닥으로부터 높이 0.5m 이상 1m 이하의 위치에 설치할 것
5. 방수구는 연결송수관설비의 전용방수구 또는 옥내소화전방수구로서 구경 65㎜의 것으로 설치할 것
7. 방수구는 개폐기능을 가진 것으로 설치하여야 하며, 평상 시 닫힌 상태를 유지할 것<개정 2008.12.15>



//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구)



Check(NFSC502_6){

    KS

}



KS{

    getResult(NFSC502_6_1)=True

    getResult(NFSC502_6_2)=True

    getResult(NFSC502_6_3)=True

    getResult(NFSC502_6_4)=True

    getResult(NFSC502_6_5)=True

    getResult(NFSC502_6_6)=True

    getResult(NFSC502_6_7)=True



}


연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 1호 Check(NFSC502_6_0_1){ IF !CS THEN KS } CS{ getResult(NFSC502_6_0_1_가)=True getResult(NFSC502_6_0_1_나)=True } KS{ Port myPort{      Port.typeForWater = "Delivery" } isInstalled(myPort,SpecificFireFightingBuilding)=True }


//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 1호 가목

Check(NFSC502_6_0_1_가){
KS
}

KS{
getBuildigUsage()="ApartmentHouse"
getFloorNumber()=1
OR getFloorNumber()=2
}


//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 1호 다목 Check(NFSC502_6_0_1_다목){ KS } KS{ getBuildingUsage()!="AssemblyHall" getBuildingUsage()!="Auditorium" getBuildingUsage()!="DepartmentStore" getBuildingUsage()!="WholesaleMarket" getBuildingUsage()!="CommercialFacility" getBuildingUsage()!="Factory" getBuildingUsage()!="Warehouse" getBuildingUsage()!="UndergroundMarket" FireHydrant myFireHydrant{ isExternal(FireHydrant) = FALSE isInstalled(FireDepartmentConnection, FireHydrant)=True } isInstalled(myIndoorFireHydrant,SpecificFireFightingBuilding)=True Floor myFloor{ Floor.number>0 } Floor myFloor2{ Floor.number<0 } ( gerObjectCount(myFloor)<=4 getGrossFloorArea()<6000 m2 Floor.number>0 ) OR ( getObjectCount(myFloor)<=2 Floor.number<0 ) }


//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 2호

Check(NFSC502_6_0_2){
KS
}

KS{
Space mySpce{
getSpaceUsage(Space)="Stair.AncillaryRoom"
OR
(
IF getObjectCoutn(Stair)>=2
THEN getSpace(Stair.One)
ELSE
getSpaceUsage(Space)="Stair"
END IF
)
}

Space mySpce2{
getSpaceUsage(Space)="Stair.AncillaryRoom"
OR
(
IF getObjectCoutn(Stair)>=3
THEN getSpace(Stair.Two)
ELSE
getSpaceUsage(Space)="Stair"
END IF
)
}

IF getBuildingUsage()="ApartmentHouse"
OR getFloorArea()<1000 m2

THEN getObjectDistance(FireDepartmentConnection, mySpace)<5 m

ELSE IF getFloorArea()>1000 m2

THEN getObjectDistance(FireDepartmentConnection, mySpace)<5 m
getResult(NFSC502_6_0_2_가)=True
getResult(NFSC502_6_0_2_나)=True

END IF
}


//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 2호 가목 Check(NFSC502_6_0_2_가){ IF CS THEN KS1 ELSE KS2 } CS{ Space mySpace{ getSpaceUsage()="UndergroundMarket" OR getFloorNumber()<0 } getFloorArea(mySpace)>3000 m2 } KS1{ getElementDistance(FireDepartmentConnectionSystem.OutLet, Wall )<=25 m getElementDistance(FireDepartmentConnectionSystem.OutLet, Column )<=25 m } KS2{ getResult(NFSC502_6_0_2_나)=True }


//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 3호 Check(NFSC502_6_0_3){ IF CS1 THEN KS1 ELSE IF CS2 THEN KS2 } CS1{ Space mySpace{ getFloorNumber(Space)>=11 } isInstalled(FireDepartmentConnectionSystem.Port, mySpace)=True } KS1{ getObjectProperty(FireDepartmentConnectionSystem.Port.shapeType)="DoubleType" } CS2{ getResult(NFSC502_6_0_3_가)=True OR getResult(NFSC502_6_0_3_나)=True } KS2{ getObjectProperty(FireDepartmentConnectionSystem.Port.shapeType)="SingleType" }


//연결송수관설비의 화재안전기준(nfsc502) 6조 (방수구) 3호 가목 Check(NFSC502_6_0_3_가){ KS } KS{ getFloorUsage()="ApartmentHouse" }


//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 3호 나목 Check(NFSC502_6_0_3_나){ KS } KS{ isExist(SprinklerSystem)=True getObjectCount(     FireDepartmentConnectionSystem.Port, Floor.One)>=2 }


//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 4호 Check(NFSC502_6_0_4){ KS } KS{ getObjectVerticalDistance(FloorSlab, FireDepartmentConnectionSystem.Port.HosePort) > 0.5m OR getObjectVerticalDistance(FloorSlab, FireDepartmentConnectionSystem.Port.HosePort) <= 1m


//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 5호 Check(NFSC502_6_0_5){ KS } KS{ getObjectProperty(FireDepartmentConnectionSystem.Port.isShared)= FALSE OR getObjectProperty(FireDepartmentConnectionSystem.Port.typeForWater)="IndoorFireHydrantDischarge" Port myPort{ Port.typeForWater = "Delivery" } getObjectProperty(myPortt.diameter)=65 mm }


//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 7호

Check(NFSC502_6_0_7){
KS
}

KS{
isObjectProperty(FireDepartmentConnectionSystem.OutLet.is"개폐기능")=True
}


//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 2호 나목

Check(NFSC502_6_0_2_가){

KS
}


KS{

getElementDistance(FireDepartmentConnectionSystem.OutLet, Wall )<=50 m
getElementDistance(FireDepartmentConnectionSystem.OutLet, Column )<=50 m

}




56
연결송수관설비의 화재안전기준(NFSC 502) 제 7 조
 제7조(방수기구함) 연결송수관설비의 방수용기구함을 다음 각 호의 기준에 따라 설치하여야 한다.
1. 방수기구함은 피난층과 가장 가까운 층을 기준으로 3개층마다 설치하되, 그 층의 방수구마다 보행거리 5m 이내에 설치할 것 <개정 2014.8.18>
2. 방수기구함에는 길이 15m의 호스와 방사형 관창을 다음 각목의 기준에 따라 비치할 것
나. 방사형 관창은 단구형 방수구의 경우에는 1개, 쌍구형 방수구의 경우에는 2개 이상 비치할 것



//연결송수관설비의 화재안전기준(NFSC 502) 7조 (방수기구함)

Check(NFSC502_7){
KS
}

KS{
getResult(NFSC502_7_1)=True
getResult(NFSC502_7_2)=True
}


//연결송수관설비의 화재안전기준(NFSC 502) 7조 (방수기구함) 1호 Check(NFSC502_7_0_1){ KS } KS{ Floor myFloor{ isObjectProperty(Floor.isEscape)=True } Floor myFloor2{ Floor.number>EFN } Floor myFloor3{ Floor.nmber

//연결송수관설비의 화재안전기준(NFSC 502) 7조 (방수기구함) 2호

Check(NFSC502_7_0_2){
KS
}

KS{
getResult(NFSC502_7_0_2_나)=True

}




//연결송수관설비의 화재안전기준(NFSC 502) 7조 (방수기구함) 2호 나목 Check(NFSC502_7_0_2_나){ KS } KS{ IF getObjectPropety(RadialSprayNozzle.Port.shapeType)="SingleType" THEN getObjectCount(RadialSprayNozzle)=1 ELSE IF getObjectPropety(RadialSprayNozzle.Port.shapeType)="DoubleType" getObjectCount(RadialSprayNozzle)=2 END IF }




57
연결살수설비의 화재안전기준(NFSC 503) 제 4 조
제4조(송수구 등) ①연결살수설비의 송수구는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
2. 송수구는 구경 65㎜의 쌍구형으로 설치할 것. 다만, 하나의 송수구역에 부착하는 살수헤드의 수가 10개 이하인 것은 단구형의 것으로 할 수 있다.
3. 개방형헤드를 사용하는 송수구의 호스접결구는 각 송수구역마다 설치할 것. 다만, 송수구역을 선택할 수 있는 선택밸브가 설치되어 있고 각 송수구역의 주요구조부가 내화구조로 되어 있는 경우에는 그러하지 아니하다.
5. 송수구로부터 주배관에 이르는 연결배관에는 개폐밸브를 설치하지 아니 할 것. 다만, 스프링클러설비·물분무소화설비·포소화설비 또는 연결송수관설비의 배관과 겸용하는 경우에는 그러하지 아니하다.
③ 연결살수설비에는 송수구의 가까운 부분에 자동배수밸브와 체크밸브를 다음 각 목의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 폐쇄형헤드를 사용하는 설비의 경우에는 송수구·자동배수밸브·체크밸브의 순으로 설치할 것
2. 개방형헤드를 사용하는 설비의 경우에는 송수구·자동배수밸브의 순으로 설치할 것
④개방형헤드를 사용하는 연결살수설비에 있어서 하나의 송수구역에 설치하는 살수헤드의 수는 10개 이하가 되도록 하여야 한다.
4. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것



//      연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항
Check(NFSC503_4_1){
     getResult(NFSC503_4_1_2)=TRUE
     getResult(NFSC503_4_1_3)=TRUE
     getResult(NFSC503_4_1_4)=TRUE
     getResult(NFSC503_4_1_5)=TRUE
}


// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항 2호 Check(NFSC503_4_1_2){ IF CS THEN KS } CS{ Zone myZone{ isObjectProperty(Zone.isWaterSupplyZone)=TRUE } hasObject(myZone.One,HookingUpSprinklerSystem.Head.)=TRUE getObjectCount(HookingUpSprinklerSystem.Head.) <= 10 } KS{ Port myPort{ getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem" getObjectProperty(Port.typeForWater) = "FireDepartmentConnection" } isObjectProperty(myPort.diameter) = 65mm getObjectProperty(myPort.shapeType) = "DoubleType" }


// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항 3호 Check(NFSC503_4_1_3){ IF !CS THEN KS }      Zone myZone{ isObjectProperty(Zone.isWaterSupplyZone)=TRUE      } CS{      Valve myValve{      isObjectProerpty(Valve.isSelectionValve) = TRUE      }      isInstalled(myValve) = TRUE      hasObject(myZone,MainStructuralPart) = TRUE      isFireResistantStructure(MainStructuralPart) = TRUE } KS{       Port myPort{ getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem" getObjectProperty(Port.typeForWater) = "FireDepartmentConnection" }      Head myHead{      getObjectProperty(Head.openAndCloseType) = "OpenType"      }      isInstalled(myPort.호스접결구, myZone.One) = TRUE }


// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항 5호 Check(NFSC503_4_1_5){ IF !CS THEN KS } CS{ Pipe myPipe1{ getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem" } Pipe myPipe2{ getObjectProperty(Port.systemType) = "SprinklerSystem" } Pipe myPipe3{ getObjectProperty(Port.systemType) = "WaterSprayExtingushingSystem" } Pipe myPipe4{ getObjectProperty(Port.systemType) = "FoamExtinguishingSystem" } Pipe myPipe5{ getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem" } Pipe myPipe6{ getObjectProperty(Port.systemType) = "FireDepartmentConnectionSystem" }      isShared(myPipe1, myPipe2, myPipe3, myPipe4) = TRUE      OR isShared(myPipe5, myPipe6) = TRUE } KS{      Port myPort{ getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem"      getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"      }      Pipe myPipe{      isObjectProperty(Pipe.isRiser)=TRUE      }      Vavle myValve{      isObjectProperty(Valve.isShutoffValve)= TRUE      }      isConnectedTo(myPort, Pipe) = TRUE      isConnectedTo(Pipe, myPipe) = TRUE      isInstalled(myValve, myPipe) = FALSE }


// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 3항 Check(NFSC503_4_3){ KS } KS{      Valve myValve1{      isObjectProperty(Valve.isAutomiaticDeliveryValve) = TRUE      }      Valve myValve2{      isObjectProperty(Valve.isCheckValve) = TRUE      }      isInstalled(myValve1, HookingUpSprinklerSystem) = TRUE      isInstalled(myValve2, HookingUpSprinklerSystem) = TRUE      getResult(NFSC503_4_3_1) = TRUE      getResult(NFSC503_4_3_2) = TRUE


// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 3항 1호 Check(NFSC503_4_3_1){      IF CS THEN KS } CS{      Head myHead{      getObjectProperty(Head.openAndCloseType) = "EnclosedType"           }      getObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem" } KS{      Port myPort{ getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem"      getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"      }      Valve myValve1{      isObjectProperty(Valve.isAutomiaticDeliveryValve) = TRUE      }      Valve myValve2{      isObjectProperty(Valve.isCheckValve) = TRUE      }      isInstalledInOrder(myPort, myValve1, myValve2) = TRUE }


// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 3항 2호 Check(NFSC503_4_3_2){      IF CS THEN KS } CS{      Head myHead{      getObjectProperty(Head.openAndCloseType) = "OpenType"           }      getObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem" } KS{      Port myPort{ getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem"      getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"      }      Valve myValve1{      isObjectProperty(Valve.isAutomiaticDeliveryValve) = TRUE      }      isInstalledInOrder(myPort, myValve1) = TRUE }


// 연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 4항

Check(NFSC503_4_4){
     IF CS THEN KS
}
CS{
     Head myHead{
     getObjectProperty(Head.openAndCloseType) = "OpenType"     
     }
     getObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem"
}
KS{
     Zone myZone{
     isObjectProperty(Zone.isWaterSupplyZone) = TRUE
     }
     Head myHead{
     isInstalled(HookingUpSprinklerSystem.Head, myZone.One) = TRUE
     }

     getObjectCount(myHead) <= 10
}


Check(NFSC503_4_1_4){ KS } KS{      Port myPort{ getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem"      getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"      }      getObjectVerticalDistance(Ground, myPort) >= 0.5m      getObjectVerticalDistance(Ground, myPort) <= 1m }




58
연결살수설비의 화재안전기준(NFSC 503) 제 5 조
제5조(배관 등) ①배관은 배관용탄소강관(KS D 3507) 또는 압력배관용탄소강관(KS D 3562)이나 이와 동등 이상의 강도·내식성 및 내열성을 가진 것으로 하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 장소에는 법 제39조에 따라 제품검사에 합격한 소방용 합성수지배관으로 설치할 수 있다. <개정 2012.8.20>
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우
②연결살수설비의 배관의 구경은 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 연결살수설비 전용헤드를 사용하는 경우에는 다음 표에 따른 구경 이상으로 할 것
(표)
2. 스프링클러헤드를 사용하는 경우에는 「스프링클러설비의 화재안전기준(NFSC 103)」 별표 1의 기준에 따를 것
③폐쇄형헤드를 사용하는 연결살수설비의 주배관은 옥내소화전설비의 주배관(옥내소화전설비가 설치된 경우에 한한다) 및 수도배관(연결살수설비가 설치된 건축물 안에 설치된 수도배관 중 구경이 가장 큰 배관을 말한다) 또는 옥상에 설치된 수조(다른 설비의 수조를 포함한다)에 접속하여야 한다. 이 경우 연결살수설비의 주배관과 옥내소화전설비의 주배관·수도배관·옥상에 설치된 수조의 접속부분에는 체크밸브를 설치하되, 점검하기 쉽게 하여야 한다.
④폐쇄형헤드를 사용하는 연결살수설비에는 다음 각 호의 기준에 따른 시험배관을 설치하여야 한다. <개정 2012.8.20>
1. 송수구의 가장 먼 가지배관의 끝으로부터 연결하여 설치할 것
2. 시험장치 배관의 구경은 가장 먼 가지배관의 구경과 동일한 구경으로 하고, 그 끝에는 물받이 통 및 배수관을 설치하여 시험 중 방사된 물이 바닥으로 흘러내리지 아니하도록 할 것. 다만, 목욕실·화장실 또는 그 밖의 배수처리가 쉬운 장소의 경우에는 물받이 통 또는 배수관을 설치하지 아니할 수 있다.
⑤개방형헤드를 사용하는 연결살수설비의 수평주행배관은 헤드를 향하여 상향으로 100분의 1 이상의 기울기로 설치하고 주배관중 낮은 부분에는 자동배수밸브를 제4조제3항제3호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
⑥가지배관 또는 교차배관을 설치하는 경우에는 가지배관의 배열은 토너멘트방식이 아니어야 하며, 가지배관은 교차배관 또는 주배관에서 분기되는 지점을 기점으로 한 쪽 가지배관에 설치되는 헤드의 개수는 8개 이하로 하여야 한다.
⑧급수배관에 설치되어 급수를 차단할 수 있는 개폐밸브는 개폐표시형으로 하여야 한다. 이 경우 펌프의 흡입측배관에는 버터플라이밸브(볼형식의 것을 제외한다)외의 개폐표시형밸브를 설치하여야 한다.
⑨연결살수설비 교차배관의 위치·청소구 및 가지배관의 헤드설치는 다음 각 호의 기준에 따른다. <개정 2012.8.20>
1. 교차배관은 가지배관과 수평으로 설치하거나 또는 가지배관 밑에 설치하고, 그 구경은 제2항에 따르되, 최소구경이 40㎜ 이상이 되도록 할 것
2. 폐쇄형헤드를 사용하는 연결살수설비의 청소구는 주배관 또는 교차배관(교차배관을 설치하는 경우에 한한다) 끝에 40㎜ 이상 크기의 개폐밸브를 설치하고, 호스접결이 가능한 나사식 또는 고정배수 배관식으로 할 것. 이 경우 나사식의 개폐밸브는 옥내소화전 호스접결용의 것으로 하고, 나사보호용의 캡으로 마감하여야 한다.
3. 폐쇄형헤드를 사용하는 연결살수설비에 하향식헤드를 설치하는 경우에는 가지배관으로부터 헤드에 이르는 헤드접속배관은 가지관상부에서 분기할 것. 다만, 소화설비용 수원의 수질이 「먹는물관리법」 제5조에 따라 먹는물의 수질기준에 적합하고 덮개가 있는 저수조로부터 물을 공급받는 경우에는 가지배관의 측면 또는 하부에서 분기할 수 있다.
⑩ 배관에 설치되는 행가는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 가지배관에는 헤드의 설치지점 사이마다 1개 이상의 행가를 설치하되, 헤드간의 거리가 3.5 m를 초과하는 경우에는 3.5m 이내마다 1개 이상 설치할 것. 이 경우 상향식헤드와 행가 사이에는 8 ㎝ 이상의 간격을 두어야 한다.
2. 교차배관에는 가지배관과 가지배관사이마다 1개 이상의 행가를 설치하되, 가지배관 사이의 거리가 4.5 m를 초과하는 경우에는 4.5 m 이내마다 1개 이상 설치할 것
3. 제1호와 제2호의 수평주행배관에는 4.5 m 이내마다 1개 이상 설치할 것



//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 1항

Check(NFSC503_5_1){
     IF !CS THEN KS
}
CS{
     getResult(NFSC503_5_1_2) = TRUE
     getResult(NFSC503_5_1_3) = TRUE
}
KS{
     getObjectProperty(Pipe.Material) = "KS D 3507"
     OR getObjectProperty(Pipe.Material) = "KS D 3562"
}


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 1항 2호

Check(NFSC503_5_1_2){
     KS
}
KS{
     Duct myDcut{
     isFireResistantStructure(Duct) = TRUE
     }
     isInstalled(Pipe, Duct) = TRUE
     OR isInstalled(Pipe, Pit.Inside) = TRUE
}


//연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 1항 3호 Check(NFSC503_5_1_3){      KS } KS{      (isObjectProperty(Ceiling.Material.nonCombustibility)=TRUE      OR isObjectProperty(Ceiling.Material.quasiNonCombustibility)=TRUE)      (isObjectProperty(CeilingCovering.Material.nonCombustibility)=TRUE      OR isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=TRUE)      SprinklerSystem mySprinklerSystem{ SprinklerSystem.type = "WetPipeSprinklerSystem" }      isInstalled(mySprinklerSystem, Ceiling)=TRUE      isInstalled(mySprinklerSystem, CeilingCovering)=TRUE }


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항

Check(NFSC503_5_2){
     KS
}
KS{
     getResult(NFSC503_5_2_1) = TRUE
     getResult(NFSC503_5_2_2) = TRUE
}


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항 1호 Check(NFSC503_5_2_1){      IF CS THEN KS } CS{ getObjectProperty(Head.systemType) = "HookingUpSprinklerSystem"      isObjectProperty(Head.isShared) = FALSE } KS{      Head myHead{      isInstalled(Head., Pipe.One) = TRUE      }      NH = getObjectCount(myHead)      IF NH = 1 THEN getObjectDiameter(Pipe) >= 32mm      ELSE IF NH = 2 THEN getObjectDiameter(Pipe) >= 40mm      ELSE IF NH = 3 THEN getObjectDiameter(Pipe) >= 50mm      ELSE IF NH = 4 OR NH = 5 THEN getObjectDiameter(Pipe) >= 65mm      ELSE IF NH >= 6 AND HN <= 10 THEN getObjectDiameter(Pipe) >= 80mm }


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항 2호 Check(NFSC503_5_2_2){      IF CS THEN KS } CS{      isObjectProperty(SprinklerSystem.Head.systemType) = "HookingUpSprinklerSystem" } KS{      getResult(NFSC103_*_1) = TRUE }


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항 1호 Check(NFSC503_5_2_1){      IF CS THEN KS } CS{ getObjectProperty(Head.systemType) = "HookingUpSprinklerSystem"      isObjectProperty(Head.isShared) = FALSE } KS{      Head myHead{      isInstalled(HookingUpSprinklerSystem.Head., Pipe.One) = TRUE      }      NH = getObjectCount(myHead)      IF NH = 1 THEN getObjectDiameter(Pipe) >= 32mm      ELSE IF NH = 2 THEN getObjectDiameter(Pipe) >= 40mm      ELSE IF NH = 3 THEN getObjectDiameter(Pipe) >= 50mm      ELSE IF NH = 4 OR NH = 5 THEN getObjectDiameter(Pipe) >= 65mm      ELSE IF NH >= 6 AND HN <= 10 THEN getObjectDiameter(Pipe) >= 80mm }


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 3항 Check(NFSC503_5_3){      IF CS THEN KS }      Head myHead{      isObjectProperty(Head.openAndCloseType) = "EnclosedType"      }      Pipe myPipe1{      isObjectProperty(Pipe.isRiser) = TRUE      isObjectProperty(myPipe.systemType) = "HookingUpSprinklerSystem"      } CS{      isInstalled(myHead, myPipe1) = TRUE } KS{      Pipe myPipe2{      isObjectProperty(Pipe.isRiser) = TRUE      isObjectProperty(myPipe.systemType) = "IndoorFireHydrantSystem"      }      Tank myTank{      isInstalled(Tank, Rooftop) = TRUE      }      Pipe myPipe3{      Pipe.isForWater = TRUE      연결살수설비가 설치된 건축물 안에 설치된 수도배관 중 구경이 가장 큰 배관      }      Valve myValve{      isObjectProperty(Valve.isCheckValve) = TRUE      }      (isConnectedTo(myPipe1, myPipe2) = TRUE      isInstalled(myValve, myPipe1) = TRUE      isInstalled(myValve, myPipe2) = TRUE)      OR (isConnectedTo(myPipe1, myPipe3) = TRUE      isInstalled(myValve, myPipe1) = TRUE      isInstalled(myValve, myPipe3) = TRUE)      OR (isConnectedTo(myPipe1, myTank) = TRUE      isInstalled(myValve, myPipe1) = TRUE      isInstalled(myValve, myTank) = TRUE) }


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 4항

Check(NFSC503_5_4){
     IF CS THEN KS
}
CS{
     Head myHead{
     isObjectProperty(Head.openAndCloseType) = "EnclosedType"
     }
     isObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem"
}
KS{
     isInstalled(myPipe) = TRUE
     getResult(NFSC503_5_4_1) = TRUE
     getResult(NFSC503_5_4_2) = TRUE
}


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 4항

Check(NFSC503_5_4_1){
     KS
}
KS{
     Pipe myPipe1{
     isObjectProperty(Pipe.isForTest) = TRUE
     }
     Port myPort{
     getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
     }
     Pipe myPipe2{
     isObjectProperty(Pipe.isBranchLines) = TRUE
     isFarthestDistance(myPort, Pipe) = TRUE
     }

     isConnectedTo(myPipe1, myPipe2) = TRUE
}


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 4항 2호

Check(NFSC503_5_4_2){
     KS
}
KS{
     Pipe myPipe1{
     isObjectProperty(Pipe.isForTest) = TRUE
     }
     Pipe myPipe2{
     isObjectProperty(Pipe.isBranchLines) = TRUE
     isFarthestDistance(myPipe1, Pipe) = TRUE
     }
     DP = getObjectDiameter(myPipe1)

     getObjectDiameter(myPipe2) = DP

}



// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 5항 Check(NFSC503_5_5){      IF CS THEN KS } CS{      Head myHead{      isObjectProperty(Head.openAndCloseType) = "OpenType"      }      isInstalled(myHead, HookingUpSprinklerSystem) = TRUE } KS{      Pipe myPipe{      isObjectProperty(Pipe.isFeedMains) = TRUE getObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem"      }      두 객체의 기울기(myPipe, Head) >= 1/100 }


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 6항

Check(NFSC503_5_6){
     IF CS THEN KS
}

     Pipe myPipe1{
     isObjectProperty(Pipe.isBranchLines) = TRUE
     }
     Pipe myPipe2{
     isObjectProperty(Pipe.isCrossMains) = TRUE
     }
     Pipe myPipe3{
     isObjectProperty(Pipe.isRiser) = TRUE
     }
CS{
     isInstalled(myPipe1) = TRUE
     OR isInstalled(myPipe2) = TRUE
}
KS{
     Head myHead{
     isInstalled(Head, myPipe1.DivergedSide.One) = TRUE
     }
     isObjectProperty(myPipe1.tournamentArrangement) = FALSE
     getObjectCount(myHead) <= 8
}


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 8항

Check(NFSC503_5_6){
     IF CS THEN KS
}
     Pipe myPipe{
     isObjectProperty(Pipe.usage) = "WaterSupplyPipe"
     }
     Valve myValve1{
     isObjectProperty(Valve.isShutoffValve) = TRUE
     }
CS{
     isInstalled(myValve1,myPipe) = TRUE
}
KS{
     isObjectProperty(myValve1.isIndicatingValve) = TRUE
     Valve myValve2{
     isInstalled(Valve, Pump.Inlet) = TRUE
     }
     isObjectProperty(myValve2.isIndicatingValve) = TRUE
     isObjectProperty(myValve2.isButterflyValve) = FALSE
}


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항

Check(NFSC503_5_9){
     IF CS THEN KS
}
CS{
     Pipe myPipe1{
     isObjectProperty(Pipe.isCrossMains) = TRUE
     isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem")
     }
     Pipe myPipe2{
     isObjectProperty(Pipe.isBranchLines) = TRUE
     isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem")
     }
     CleanOut myCleanOut{
     isObjectProperty(CleanOut.systemType) = "HookingUpSprinklerSystem")
     }
     isInstalled(myPipe1) = TRUE
     OR isInstalled(myPipe2.Head) = TRUE
     OR (isInstalled(myCleanOut) = TRUE

}
KS{
     getResult(NFSC503_5_9_1) = TRUE
     getResult(NFSC503_5_9_2) = TRUE
     getResult(NFSC503_5_9_3) = TRUE
}


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 1호

Check(NFSC503_5_9_1){
     KS
}
KS{
     Pipe myPipe1{
     isObjectProperty(Pipe.isCrossMains) = TRUE
     isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem"
     }
     Pipe myPipe2{
     isObjectProperty(Pipe.isBranchLines) = TRUE
     isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem"
     }
     (isParallel(myPipe1, myPipe2) = TRUE
     OR getObjectVerticalLocation(myPipe1, myPipe2) < 0)
     getObjectDiameter(myPipe1) >= 40mm
     getResult(NFSC503_5_2) = TRUE
}



// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 2호

Check(NFSC503_5_9_2){
     IF CS THEN KS
}
CS{
     Head myHead{
     isObjectProperty(Head.openAndCloseType)="EnclosedType"
     }
     isObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem"
}
KS{
     Pipe myPipe1{
     isObjectProperty(Pipe.isRiser) = TRUE
     }
     Pipe myPipe2{
     isObjectProperty(Pipe.isCrossMains) = TRUE
     }
     Valve myValve{
     isObjectProperty(Valve.isShutoffValve) = TRUE
     getObjectLength(Valve) >= 40mm
     }
     getObjectProperty(myValve.Type) = "나사식"
     getObjectProperty(myValve.usage) = "옥내소화전 호스접결용"
}


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 3호

Check(NFSC503_5_9_3){
     IF CS THEN KS
}
     Head myHead1{
     isObjectProperty(Head.openAndCloseType) = "EnclosedType"
     }
     Head myHead2{
     isObjectProperty(myHead.installationDirectionType) = "TopDownType"
     }
CS{
     isObjectProperty(myHead1.systemType) = "HookingUpSprinklerSystem"
     isInstalled(myHead2, HookingUpSprinklerSystem) = TRUE
}
KS{
     Pipe myPipe1{
     isObjectProperty(Pipe.isBranchLines) = TRUE
     }
     Pipe myPipe2{
     isConnectedTo(Pipe, myPipe1) = TRUE
     isConnectedTo(Pipe, myHead2) = TRUE
     }
     getObjectVerticalLocation(myPipe2, myPipe1) > 0
}


// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항

Check(NFSC503_5_10){
     IF CS THEN KS
}
CS{
     isInstalled(Hanger, Pipe) = TRUE
}
KS{
     getResult(NFSC503_5_10_1) = TRUE
     getResult(NFSC503_5_10_2) = TRUE
     getResult(NFSC503_5_10_3) = TRUE
}


//연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항 1호

Check(NFSC503_5_10_1){
KS
}

Pipe myPipe{
isObjectProperty(Pipe.isBranchLines)=True
}
Head myHead{
getObjectProperty(Head.installationDirectionType)="BottomUpType"
}

KS{
isInstalled(Hanger, myPipe, "헤드의 설치지점 사이")=True
IF getObjectDistance(Head)>3.5 m
THEN isInstalled(Hanger, myPipe, 3.5 m)=True
getObjectDistance(myHead, Hanger)>8 cm

getResult(NFSC503_5_10_3)=True
}


//연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항 2호


Check(NFSC503_5_10_2){
KS
}

Pipe myPipe{
isObjectProperty(Pipe.isCrossMains)=True
}
Pipe myPipe2{
isObjectProperty(Pipe.isBranchLines)=True
}

KS{
isInstalled(Hanger, myPipe, "가지배관 사이")=True

IF getObjectDistance(myPipe2)>4.5 m
THEN isInstalled(Hanger, myPipe, 4.5 m)=True
END IF


getResult(NFSC503_5_10_3)=True
}


//연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항 3호


Check(NFSC503_5_10_3){
IF CS THEN KS
}

CS{
isObjectProperty(Pipe.isFeedMains)=True
}

Pipe myPipe2{
isObjectProperty(Pipe.isFeedMains)=True
}

KS{
isInstalled(Hanger, myPipe2,4.5 m)=True


}




59
연결살수설비의 화재안전기준(NFSC 503) 제 6 조
제6조(연결살수설비의 헤드) ①연결살수설비의 헤드는 연결살수설비전용헤드 또는 스프링클러헤드로 설치하여야 한다.
②건축물에 설치하는 연결살수설비의 헤드는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 천장 또는 반자의 실내에 면하는 부분에 설치할 것
2. 천장 또는 반자의 각 부분으로부터 하나의 살수헤드까지의 수평거리가 연결살수설비전용헤드의 경우은 3.7m 이하, 스프링클러헤드의 경우는 2.3m 이하로 할 것. 다만, 살수헤드의 부착면과 바닥과의 높이가 2.1m 이하인 부분은 살수헤드의 살수분포에 따른 거리로 할 수 있다.
③폐쇄형스프링클러헤드를 설치하는 경우에는 제2항의 규정 외에 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
2. 살수가 방해되지 아니하도록 스프링클러헤드로부터 반경 60㎝ 이상의 공간을 보유할 것. 다만, 벽과 스프링클러헤드간의 공간은 10㎝이상으로 한다.
3. 스프링클러헤드와 그 부착면(상향식헤드의 경우에는 그 헤드의 직상부의 천장·반자 또는 이와 비슷한 것을 말한다. 이하 같다)과의 거리는 30㎝ 이하로 할 것
5. 스프링클러헤드의 반사판은 그 부착면과 평행하게 설치할 것. 다만, 측벽형헤드 또는 제7호에 따라 연소할 우려가 있는 개구부에 설치하는 스프링클러헤드의 경우에는 그러하지 아니하다.
6. 천장의 기울기가 10분의 1을 초과하는 경우에는 가지관을 천장의 마루와 평행하게 설치하고, 스프링클러헤드는 다음 각 목의 어느 하나의 기준에 적합하게 설치할 것
가. 천장의 최상부에 스프링클러헤드를 설치하는 경우에는 최상부에 설치하는 스프링클러헤드의 반사판을 수평으로 설치할 것
나. 천장의 최상부를 중심으로 가지관을 서로 마주보게 설치하는 경우에는 최상부의 가지관 상호간의 거리가 가지관상의 스프링클러헤드 상호간의 거리의 2분의 1이하(최소 1m 이상이 되어야 한다)가 되게 스프링클러헤드를 설치하고, 가지관의 최상부에 설치하는 스프링클러헤드는 천장의 최상부로부터의 수직거리가 90㎝ 이하가 되도록 할 것. 톱날지붕, 둥근지붕 기타 이와 유사한 지붕의 경우에도 이에 준한다.
7. 연소할 우려가 있는 개구부에는 그 상하좌우에 2.5m 간격으로(개구부의 폭이 2.5m 이하인 경우에는 그 중앙에) 스프링클러헤드를 설치하되, 스프링클러헤드와 개구부의 내측면으로부터의 직선거리는 15㎝ 이하가 되도록 할 것. 이 경우 사람이 상시 출입하는 개구부로서 통행에 지장이 있는 때에는 개구부의 상부 또는 측면(개구부의 폭이 9m 이하인 경우에 한한다)에 설치하되, 헤드 상호간의 간격은 1.2m 이하로 설치하여야 한다.
8. 습식 연결살수설비외의 설비에는 상향식스프링클러헤드를 설치할 것. 다만, 다음 각 목의 어느 하나에 해당하는 경우에는 그러하지 아니하다.
가. 드라이펜던트스프링클러헤드를 사용하는 경우
다. 개방형스프링클러헤드를 사용하는 경우
9. 측벽형스프링클러헤드를 설치하는 경우 긴변의 한쪽벽에 일렬로 설치(폭이 4.5m 이상 9m 이하인 실은 긴변의 양쪽에 각각 일렬로 설치하되 마주보는 스프링클러헤드가 나란히꼴이 되도록 설치)하고 3.6m 이내마다 설치할 것
④가연성 가스의 저장·취급시설에 설치하는 연결살수설비의 헤드는 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 지하에 설치된 가연성가스의 저장·취급시설로서 지상에 노출된 부분이 없는 경우에는 그러하지 아니하다. <개정 2012.8.20>
1. 연결살수설비 전용의 개방형헤드를 설치할 것
2. 가스저장탱크·가스홀더 및 가스발생기의 주위에 설치하되, 헤드상호간의 거리는 3.7m 이하로 할 것



//연결살수설비의 화재안전기준(nfsc 503) 6조 (배관 등) 1항
Check(NFSC503_6_1){
     KS
}

KS{
     getObjectProperty(HookingUpSprinklerSystem.Head) = "SprinklerHead"
}


//연결살수설비의 화재안전기준(nfsc 503) 6조 (배관 등) 2항
Check(NFSC503_6_2){
     KS
}

KS{
     getResult(NFSC503_6_2_1) = TRUE
     getResult(NFSC503_6_2_2) = TRUE
}


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 2항 1호
Check(NFSC503_6_2_1){
     KS
}

KS{
     SprinklerHead mySprinklerHead{
          isInstalled(SprinklerHead, HookingUpSprinklerSystem) = TRUE
     }

     isAdjacent(mySprinklerHead.Head.AttachingToSurface, Indoors) = TRUE
     (isAdjacent(mySprinklerHead.Head.AttachingToSurface, Ceiling) = TRUE
     OR isAdjacent(mySprinklerHead.Head.AttachingToSurface, CeilingCovering) = TRUE)
}


//     연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 2항 2호
Check(NFSC503_6_2_2){
     IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

CS1{
     Head myHead{
          isObjectProperty(HookingUpSprinklerSystem.Head.isShared) = FALSE
     }
     isExist(myHead) = TRUE
}

KS1{
     getObjectDistance(Ceiling, HookingUpSprinklerSystem.Head) <= 3.7m
     OR getObjectDistance(CeilingCovering, HookingUpSprinklerSystem.Head) <= 3.7m
}

CS2{
     isExist(SprinklerHead) = TRUE
}

KS2{
     getObjectDistance(Ceiling, SprinklerSystem) <= 2.3m
     OR getObjectDistance(CeilingCovering, SprinklerSystem) <= 2.3m
}


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 Check(NFSC503_6_3){      IF CS THEN KS } CS{      Head myHead{           getObjectProperty(SprinklerSystem.Head.openAndCloseType) = "EnclosedType"      }      isExist(myHead) = TRUE } KS{      getResult(NFSC503_6_3_2) = TRUE      getResult(NFSC503_6_3_3) = TRUE      getResult(NFSC503_6_3_5) = TRUE      getResult(NFSC503_6_3_6) = TRUE }


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 2호
Check(NFSC503_6_3_2){
     KS
}

KS{
     isVacant(SprinklerHead,a, 60) = TRUE
     getObjectDistance(Wall, SprinklerHead) >= 10CM
}


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 3호
Check(NFSC503_6_3_3){
     IF (CS1 THEN KS1) or (CS2 THEN KS2)
}

CS1{
     getObjectProperty(SprinklerHead) != "BottomUpType"
}

KS1{
     getObjectDistance(SprinklerHead.AttachingToSurface, SprinklerHead) <= 30CM
}

CS2{
     getObjectProperty(SprinklerHead) = "BottomUpType"
}

KS2{
     getObjectVerticalDistance(Ceiling, SprinklerHead) <= 30CM
}


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 5호 Check(NFSC503_6_3_5){      IF !CS THEN KS } CS{      getObjectProperty(SprinklerSystem.Head.shapeType) = "SideWallType" } KS{      isParallel(SprinklerSystem.Head.Deflector, SprinklerSystem.Head.AttachingToSurface) = TRUE }


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 6호 Check(NFSC503_6_3_6){      IF CS THEN (KS1 AND KS2) } CS{      getObjectProperty(Ceiling.gradient) > 0.1 } KS1{ isObjectProperty(Pipe.isBranchLines) = TRUE      isParallel(Pipe, Ceiling.Top.) = TRUE } KS2{      getResult(NFSC503_6_3_6_1) = TRUE      getResult(NFSC503_6_3_6_2) = TRUE }


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 6호 가목 Check(NFSC503_6_3_6_1){      IF CS THEN KS } CS{      hasObject(Celing, SprinklerSystem.Head) = TRUE } KS{      isParallel(Ceiling, SprinklerSystem.Head.Deflector) = TRUE }


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 6호 나목 Check(NFSC503_6_3_6_2){      IF (CS1 THEN KS1) or (CS2 THEN KS2) } CS1{      hasObject(Ceiling, SprinklerHead.Deflector) = TRUE      getObjectWidth(SprinklerHead, c) = SH      getObjectWidth(SprinklerHead.Deflector) = SHD      SH*0.5 < 1m } KS1{      getObjectWidth(SprinklerHead.Deflector) = 1m      getVerticalObjectDistance(SprinklerHead, Ceiling) <= 90cm } CS2{      hasObject(Ceiling, SprinklerSystemHead.Deflector) = TRUE      getObjectWidth(SprinklerSystemHead, c) = SH      getObjectWidth(SprinklerSystemHead.Deflector) = SHD      SH*0.5 >= 1m } KS2{      getObjectWidth(SprinklerSystemHead.Deflector) = SHD      SHD <= SH*0.5      getVerticalObjectDistance(SprinklerSystemHead, Ceiling) <= 90cm }


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 7호 Check(NFSC503_6_3_7){      IF (CS1 THEN KS1) or (CS2 THEN KS2) } CS1{      Opening myOpening{           isObjectProperty(Opening.isFireSpreading) = TRUE      }      isExist(myOpening) = TRUE      getObjectWidth(myOpening, a) > 2.5m } KS1{      (getObjectDistance(myOpening.InsideSurface, SprinklerSystem.Head) <= 15cm      getObjectWidth(SprinklerSystem.Head, a) = 2.5m)      OR (getObjectWidth(myOpening) <= 9m      getObjectDistance(myOpening.InsideSurface, SprinklerSystem.Head) <= 15cm      getObjectWidth(SprinklerSystem.Head, a) <= 1.2m) } CS2{      Opening myOpening{           isObjectProperty(Opening.isFireSpreading) = TRUE      }      isExist(myOpening) = TRUE      getObjectWidth(myOpening, a) <= 2.5m } KS2{      hasObject(myOpening, SprinklerSystem.Head) = TRUE }


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 8호 Check(NFSC503_6_3_8){      IF CS THEN KS } CS{      isObjectProperty(SprinklerSystem.type) != WetPipeSprinklerSystem      (getResult(NFSC503_6_3_8_1) = FALSE      OR getResult(NFSC503_6_3_8_2) = FALSE) } KS{      mySprinklerHead{           getObjectProperty(SprinklerSystem.Head.installationDirectionType) = "BottomUpType"      }      isExist(mySprinklerHead) = TRUE }


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 8호 가목 Check(NFSC503_6_3_8_1){      KS } KS{      Head myHead{           isObjectProperty(SprinklerSystem.Head.isDryPendent) = TRUE      }      isExist(mySprinklerHead) = TRUE }


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 8호 다목 Check(NFSC503_6_3_8_3){      KS } KS{      Head myHead{           getObjectProperty(SprinklerSystem.Head.openAndCloseType) = "OpenType"      }      isExist(myHead) = TRUE }


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 9호 Check(NFSC503_6_3_9){      IF (CS1 THEN KS1) or (CS2 THEN KS2) } CS1{      SprinklerHead mySprinklerHead{           getObjectProperty(SprinklerHead.shapeType) = "SideWallType"      }      isExist(mySprinklerHead) = TRUE      getObjectWidth(Room) < 4.5m      OR getObjectWidth(Room) > 9m } KS1{      SprinklerHead mySprinklerHead{           getObjectProperty(SprinklerHead.shapeType) = "SideWallType"      }      getObjectWidth(mySprinklerHead, c) < 3.6m } CS2{      Head myHead{           getObjectProperty(SprinklerSystem.Head.shapeType) = "SideWallType"      }      isExist(mySprinklerHead) = TRUE      getObjectWidth(Room) >= 4.5m      OR getObjectWidth(Room) <= 9m } KS2{      Head myHead{           getObjectProperty(SprinklerSystem.Head.shapeType) = "SideWallType"      }      isParallel(mySprinklerHead, Wall) = TRUE }


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 4항
Check(NFSC503_6_4){
     IF !(CS) THEN KS
}

CS{
     getFloorElevationHeight(?) = A
     getSpaceHeight(?) = B
     A + B <= 0
}

KS{
     hasSpace(?, HookingUpSprinklerSystem.Head) = TRUE
     getResult(NFSC503_6_4_1) = TRUE
     getResult(NFSC503_6_4_2) = TRUE
}


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 4항 1호
Check(NFSC503_6_4_1){
     KS
}

KS{
     getObjectProperty(HookingUpSprinklerSystem.Head.openAndCloseType) = "OpenType"
}


//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 4항 2호
Check(NFSC503_6_4_2){
     KS
}

KS{
     getObjectWidth(HookingUpSprinklerSystem.Head, c) <= 3.7m
}




60
연결살수설비의 화재안전기준(NFSC 503) 제 7 조
제7조(헤드의 설치제외) 연결살수설비를 설치하여야 할 특정소방대상물 또는 그 부분으로서 다음 각 호의 어느 하나에 해당하는 장소에는 연결살수설비의 헤드를 설치하지 아니할 수 있다. <개정 2012.8.20>
3. 통신기기실·전자기기실·기타 이와 유사한 장소
5. 병원의 수술실·응급처치실·기타 이와 유사한 장소



//연결살수설비의 화재안전기준(nfsc 503) 7조 (헤드의 설치제외) 
Check(NFSC503_7){
     IF CS THEN KS
}

CS{
     getResult(NFSC503_7_0_3) = TRUE
     OR getResult(NFSC503_7_0_5) = TURE
}

KS{
     isInstalled(HookingUpSprinklerSystem.Head) = TRUE
     OR isInstalled(HookingUpSprinklerSystem.Head) != TRUE
}


//연결살수설비의 화재안전기준(nfsc 503) 7조 (헤드의 설치제외) 3호
Check(NFSC503_7_0_3){
     KS
}

KS{
     getBuildingUsage() = "CommunicationsApparatusRoom"
     OR getBuildingUsage() = "ElectronicEquipmentRoom"
}


//연결살수설비의 화재안전기준(nfsc 503) 7조 (헤드의 설치제외) 5호
Check(NFSC503_7_0_5){
     KS
}

KS{
     getBuildingUsage() = "SurgeryRoom.Hospital"
     OR getBuildingUsage() = "EmergencyCareRoom.Hospital"
}




61
연소방지설비의 화재안전기준(NFSC 506) 제 4 조
제4조(배관) ①배관은 배관용탄소강관(KS D 3507) 또는 압력배관용탄소강관(KS D 3562)이나 이와 동등 이상의 강도·내식성 및 내열성을 가진 것으로 하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 장소에는 법 제39조에 따라 제품검사에 합격한 소방용 합성수지배관으로 설치할 수 있다.<개정 2012.8.20>
②급수배관(송수구로부터 연소방지설비방수구에 급수하는 배관을 말한다. 이하 같다)은 전용으로 하여야 한다.
③급수배관에 설치되어 급수를 차단할 수 있는 개폐밸브는 개폐표시형으로 하여야 한다.
④연소방지설비의 배관의 구경은 다음 각 호의 기준에 적합한 것이어야 한다.<개정 2012.8.20>
1. 연소방지설비전용헤드를 사용하는 경우에는 다음 표에 따른 구경 이상으로 할 것
2. 스프링클러헤드를 사용하는 경우에는 「스프링클러설비의 화재안전기준(NFSC 103)」별표 1의 기준에 따를 것<개정 2012.8.20>
⑤연소방지설비에 있어서의 수평주행배관의 구경은 100㎜ 이상의 것으로 하되, 연소방지설비전용헤드 및 스프링클러헤드("방수헤드"라 한다. 이하 같다)를 향하여 상향으로 1,000분의 1 이상의 기울기로 설치하여야 한다.<개정 2012.8.20>
⑥연소방지설비 교차배관의 위치·청소구 및 가지배관의 헤드설치는 다음 각 호의 기준에 따른다.<개정 2012.8.20>
3. 하향식헤드를 설치하는 경우에 가지배관으로부터 헤드에 이르는 헤드접속배관은 가지관상부에서 분기할 것
⑦배관에 설치되는 행가는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>
1. 가지배관에는 헤드의 설치지점 사이마다 1개 이상의 행가를 설치하되, 헤드간의 거리가 3.5m을 초과하는 경우에는 3.5m 이내마다 1개 이상 설치할 것. 이 경우 상향식헤드와 행가 사이에는 8㎝ 이상의 간격을 두어야 한다.
2. 교차배관에는 가지배관과 가지배관 사이마다 1개 이상의 행가를 설치하되, 가지배관 사이의 거리가 4.5m을 초과하는 경우에는 4.5m 이내마다 1개 이상 설치할 것
3. 제1호와 제2호의 수평주행배관에는 4.5m 이내마다 1개 이상 설치할 것<개정 2012.8.20>
⑧연소방지설비는 습식외의 방식으로 하여야 한다.



//     연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 1항
Check(NFSC506_4_1){
     KS
}


KS{
getObjectProperty(Pipe.Material)="KSD3507"
OR getObjectProperty(Pipe.Material)="KSD3562"
}


//     연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 2항
Check(NFSC506_4_2){
     KS
}

KS{
     Pipe myPipe{
          getObjectProperty(Pipe.usage) = "WaterSUpplyPipe"
     }

     isObjectProperty (myPipe.isShared) = FALSE
}



//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 3항
Check(NFSC506_4_3){
     KS
}

KS{
     FeedWaterShutoffValve myFeedWaterShutoffValve{
          isObjectProperty(FeedWaterShutoffValve.isIndicatingValve) = TRUE
     }
     
     Pipe myPipe{
          isObjectProperty(Pipe.usage) = "WaterSupplyPipe"
     }

     hasObject(myPipe, myFeedWaterShutoffValve) = TRUE
}


//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 4항
Check(NFSC506_4_4){
     KS
}

KS{
     getResult(NFSC506_4_4_1) = TRUE
     getResult(NFSC506_4_4_2) = TRUE
}


//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 4항 1호
Check(NFSC506_4_4_1){
     IF CS THEN KS
}

CS{
     isInstalled(CombustionProtectionSystem, ?) = TRUE
}

KS{
     Pipe myPipe{
          hasObject(CombustionProtectionSystem, Pipe) = TRUE
     }

     SprinklerHead mySprinklerHead{
          isInstalled(myPipe, SprinklerHead) = TRUE
     }

     (getObjectCount(mySprinklerHead) = 1
     getObjectProperty(myPipe.Diameter) >= 32mm)
     OR(getObjectCount(mySprinklerHead) = 2
     getObjectProperty(myPipe.Diameter) >= 40mm)
     OR(getObjectCount(mySprinklerHead) = 3
     getObjectProperty(myPipe.Diameter) >= 50mm)
     OR(getObjectCount(mySprinklerHead) = 4
     getObjectProperty(myPipe.Diameter) >= 65mm)
     OR(getObjectCount(mySprinklerHead) = 5
     getObjectProperty(myPipe.Diameter) >= 65mm)
     OR(getObjectCount(mySprinklerHead) >= 6
     getObjectProperty(myPipe.Diameter) >= 80mm)
}


// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 4항 2호

Check(NFSC506_4_4_2){
     IF CS THEN KS
}
CS{
     isObjectProperty(Sprinkler.Head.systemType) = "HookingUpSprinklerSystem"
}
KS{
     getResult(NFSC103_*_1) = TRUE
}


//     연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 5항
Check(NFSC506_4_5){
     KS
}

KS{
     Pipe myPipe{
          isObjectProperty(Pipe.isFeedMains) = TRUE
     }

     isInstalled(myPipe, CombustionProtectionSystem) = TRUE
     getObjectProperty(myPipe.diameter) >= 100mm
}


//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 6항
Check(NFSC506_4_6){
     KS
}

KS{
     getResult(NFSC506_4_6_3) = TRUE
}


//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 6항 3호
Check(NFSC506_4_6_3){
     IF CS THEN KS
}

CS{
     Pipe myPipe{
          hasObject(CombustionProtectionSystem, Pipe) = TRUE
          isObjectProperty(Pipe.isBranchLines) = TRUE
     }

     Head myHead{
          getObjectProperty(Head.installationDirectionType) = "TopDownType"
     }

     isInstalled(myPipe, myHead) = TRUE
}

KS{
     Pipe myPipe{
          hasObject(CombustionProtectionSystem, Pipe) = TRUE
          isObjectProperty(Pipe.isBranchLines) = TRUE
     }

     Head myHead{
          getObjectProperty(Head.installationDirectionType) = "TopDownType"
     }

     Pipe myPipe2{
          isConnectedTo(myPipe, Pipe) = TRUE
          isConnectedTo(myHead, Pipe) = TRUE
     }

     isDiverged(가지관 상부, myPipe2) = TRUE
}


//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 7항
Check(NFSC506_4_7){
     KS
}

KS{
     getResult(NFSC506_4_7_1) = TRUE
     getResult(NFSC506_4_7_2) = TRUE
     getResult(NFSC506_4_7_3) = TRUE
}


// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 7항 1호

Check(NFSC506_4_7_1){
     IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

CS1{
     Pipe myPipe{
          isObjectProperty(Pipe.isBranchLines) = TRUE
     }

     Head myHead{
          isInstalled(Head, myPipe) = TRUE
     }

     getObjectInterval(myHead) <= 3.5m
}

KS1{
     Pipe myPipe{
          isObjectProperty(Pipe.isBranchLines) = TRUE
     }

     Head myHead{
          isInstalled(Head, myPipe) = TRUE
     }

     getobjectCountInInterval(Hanger, myHead) >= 1
}

CS2{
     Pipe myPipe{
          isObjectProperty(Pipe.isBranchLines) = TRUE
     }

     Head myHead{
          isInstalled(Head, myPipe) = TRUE
     }

     getObjectInterval(myHead) > 3.5m
}

KS2{
     Pipe myPipe{
          isObjectProperty(Pipe.isBranchLines) = TRUE
     }

     Head myHead{
          isInstalled(Head, myPipe) = TRUE
     }

     getObjectInterval(myHead) = OIH
     OIH/3.5 = OIHH
     (OIHH-1) <= getObjectCountInInterval(Hanger, myHead) < OIHH
     getObjectInterval(Hanger) = 3.5m

     Head myHead2{
          getObjectProperty(Head.installationDirectionType) = "BottomUpType"
     }

     getObjectInterval(myHead2, Hanger) >= 8cm
}


// 연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 7항 2호

Check(NFSC506_4_7_2){
     IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

CS1{
     Pipe myPipe{
          isObjectProperty(Pipe.isBranchLines) = TRUE
          getObjectInterval(Pipe) <= 4.5m
     }

     Pipe myPipe2{
          isObjectProperty(Pipe.isCrossMains) = TRUE
     }

     isConnectedTo(myPipe, myPipe2) = TRUE
}

KS1{
     Pipe myPipe{
          isObjectProperty(Pipe.isBranchLines) = TRUE
          getObjectInterval(Pipe) <= 4.5m
     }

     Pipe myPipe2{
          isObjectProperty(Pipe.isCrossMains) = TRUE
     }

     Hanger myHanger{
          isInstalled(Hanger, myPipe2) = TRUE
     }

     getObjectCountInInterval(myHanger,myPipe) >=1
}

CS2{
     Pipe myPipe{
          isObjectProperty(Pipe.isBranchLines) = TRUE
          getObjectInterval(Pipe) > 4.5m
     }

     Pipe myPipe2{
          isObjectProperty(Pipe.isCrossMains) = TRUE
     }

     isConnectedTo(myPipe, myPipe2) = TRUE
}

KS2{
     Pipe myPipe{
          isObjectProperty(Pipe.isBranchLines) = TRUE
          getObjectInterval(Pipe) > 4.5m
     }

     Pipe myPipe2{
          isObjectProperty(Pipe.isCrossMains) = TRUE
     }

     Hanger myHanger{
          isInstalled(Hanger, myPipe2) = TRUE
     }

     getObjectCountInInterval(myHanger,myPipe) >=1
     getObjectInterval(myPipe) = OIP
     OIP/4.5 = OIPP
     (OIPP-1) <= getObjectCountInInterval(Hanger, myHead) < OIPP
     getObjectInterval(Hanger) = 4.5m
}



//연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 7항 3호

Check(NFSC506_4_7_3){
IF CS THEN KS
}

CS{
Pipe myPipe{
          isObjectProperty(Pipe.isBranchLines) = TRUE
     }

isObjectProperty(myPipe.isFeedMains)=True

}

KS{
isInstalled(Hanger, myPipe)=True
getObjectInterval(Hanger)>4.5 m
}





//     연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 8항
Check(NFSC506_4_8){
     KS
}

KS{
     getObjectProperty(CombustionProtectionSystem.type) != "WetPipeCombustionProtectionSystem"
}




62
연소방지설비의 화재안전기준(NFSC 506) 제 5 조
제5조(방수헤드) 방수헤드는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>
1. 천장 또는 벽면에 설치할 것
2. 방수헤드간의 수평거리는 연소방지설비 전용헤드의 경우에는 2m 이하, 스프링클러헤드의 경우에는 1.5m 이하로 할 것
3. 살수구역은 환기구 등을 기준으로 지하구의 길이방향으로 350 m 이내마다 1개 이상 설치하되, 하나의 살수구역의 길이는 3m 이상으로 할 것



//     연소방지설비의 화재안전기준(nfsc 506) 5조 (방수헤드) 
Check(NFSC506_5){
     KS
}

KS{
     getResult(NFSC506_5_0_1) = TRUE
     getResult(NFSC506_5_0_2) = TRUE
     getResult(NFSC506_5_0_3) = TRUE
}


//     연소방지설비의 화재안전기준(nfsc 506) 5조 (방수헤드) 1호 Check(NFSC506_5_0_1){      KS } KS{      Head myHead{           isObjectProperty(Head.isDischargeHead) = TRUE      }      isInstalled(myHead, Ceiling.Structure) = TRUE      OR isInstalled(myHead, Wall.Structure.) = TRUE      }


//     연소방지설비의 화재안전기준(nfsc 506) 5조 (방수헤드) 1호 Check(NFSC506_5_0_2){      IF (CS1 THEN KS1) OR (CS2 THEN KS2) } CS1{ Head myHead{      Head.isDischargeHead = TRUE }      isObjectProperty(myHead) = TRUE      isObjectProperty(Head.isShared) = FALSE      isInstalled(Head, CombustionProtectionSystem) = TRUE } KS1{      getObjectInterval(myHead) <= 2m } CS2{      isObjectProperty(myHead) = TRUE      isObjectProperty(Sprinkler.Head) = TRUE } KS2{      getObjectInterval(myHead) <= 1.5m }


//연소방지설비의 화재안전기준(nfsc 506) 5조 (방수헤드) 3호
Check(NFSC506_5_0_3){
      KS
}


KS{
Zone myZone{
isObjectProperty(Zone.isWateringZone)=True
}

Head myHead{
isObjectProperty(Head.isDischargeHead)=True
}

isInstalled(myHead,Zone)=True
getObjectInterval(myHead)<=350 m
getObjectLength(myZone)>=3 m


}




63
연소방지설비의 화재안전기준(NFSC 506) 제 6 조
제6조(송수구) 연소방지설비의 송수구는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>
2. 송수구는 구경 65㎜의 쌍구형으로 할 것
6. 송수구로부터 주배관에 이르는 연결배관에는 개폐밸브를 설치하지 아니할 것
4. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것



//     연소방지설비의 화재안전기준(nfsc 506) 6조 (송수구)
Check(NFSC506_6){
     KS
}

KS{
     getResult(NFSC506_6_0_2) = TRUE
     OR getResult(NFSC506_6_0_4) = TRUE
     OR getResult(NFSC506_6_0_6) = TRUE
}


//     연소방지설비의 화재안전기준(nfsc 506) 6조 (송수구) 2호
Check(NFSC506_6_0_2){
     KS
}

KS{

     Port myPort{
          getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
     }

     isInstalled(myPort, CombustionProtectionSystem) = TRUE
     getObjectProperty(myPort.diameter) = 65mm
     getObjectProperty(myPort.shapeType) = "DoubleType"
}


//     연소방지설비의 화재안전기준(nfsc 506) 6조 (송수구) 6호
Check(NFSC506_6_0_6){
     KS
}

KS{
     Port myPort{
          getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
     }

     Pipe myPipe2{
          isObjectProperty(Pipe.isRiser) = TRUE
     }


     Pipe myPipe{
          isConnectedTo(Pipe, myPort) = TRUE
          isConnectedTo(Pipe, myPipe2) = TRUE
     }

     Valve myValve{
          isObjectProperty(Valve.isShutoffValve) = TRUE
     }

     isInstalled(myValve, myPipe) = FALSE
}


//     연소방지설비의 화재안전기준(nfsc 506) 6조 (송수구) 4호
Check(NFSC506_6_0_4){
     KS
}

KS{
     Port myPort{
          getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
          isInstalled(Port, CombustionProtectionSystem) = TRUE
     }
          
     getObjectVerticalLocation(myPort, Ground) >= 0.5m
     getObjectVerticalLocation(myPort, Ground) <= 1m
}





64
연소방지설비의 화재안전기준(NFSC 506) 제 8 조
제8조(방화벽의 설치기준) 방화벽의 설치기준은 다음 각 호에 따른다.<개정 2012.8.20>
2. 방화벽에 출입문을 설치하는 경우에는 방화문으로 할 것
3. 방화벽을 관통하는 케이블·전선 등에는 내화성이 있는 화재차단재로 마감할 것
1. 내화구조로서 홀로 설 수 있는 구조일 것



//     연소방지설비의 화재안전기준(nfsc 506) 8조 (방화벽의 설치기준)
Check(NFSC506_8){
     KS
}

KS{
     getResult(NFSC506_8_0_1)
     getResult(NFSC506_8_0_2)
     getResult(NFSC506_8_0_3)
}



//     연소방지설비의 화재안전기준(nfsc 506) 8조 (방화벽의 설치기준) 2호
Check(NFSC506_8_0_2){
     IF CS THEN KS
}
     Wall myWall{
          isObjectProperty(Wall.isFireProofWall) = TRUE
     }

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

CS{
     isInstalled(myDoor, myWall) = TRUE
}


KS{
     isObjectProperty(myDoor.isStrictFireproofDoor) = TRUE
     OR isObjectProperty(myDoor.isFireproofDoor) = TRUE
}


//     연소방지설비의 화재안전기준(nfsc 506) 8조 (방화벽의 설치기준) 3호 Check(NFSC506_8_0_3){       KS } KS{ Wall myWall{ isObjectProperty(Wall.isFireProofWall)=True } IF isInstalled(Wire, myWall)=True THEN isObjectProperty(Wire.Finish.Material.isFireStop)= TRUE END IF IF isInstalled(Cable, myWall)=True THEN isObjectProperty(Cable.Finish.Material.isFireStop)= TRUE END IF }


//     연소방지설비의 화재안전기준(nfsc 506) 8조 (방화벽의 설치기준) 1호
Check(NFSC506_8_0_1){
     KS
}

KS{
     Wall myWall{
          isObjectProperty(Wall.isFireProofStructure) = TRUE
     }

     isObjectProperty(myWall.isfireResistantStructure) = TRUE
}





65
스프링클러설비의 화재안전기준(NFSC 103) 제 10 조
제10조(헤드) ① 스프링클러헤드는 특정소방대상물의 천장·반자·천장과 반자사이·덕트·선반 기타 이와 유사한 부분(폭이 1.2m를 초과하는 것에 한한다)에 설치하여야 한다. 다만, 폭이 9m 이하인 실내에 있어서는 측벽에 설치할 수 있다.
② 랙크식창고의 경우로서「소방기본법시행령」별표 2의 특수가연물을 저장 또는 취급하는 것에 있어서는 랙크높이 4m 이하마다, 그 밖의 것을 취급하는 것에 있어서는 랙크높이 6m 이하마다 스프링클러헤드를 설치하여야 한다. 다만, 랙크식창고의 천장높이가 13.7m 이하로서 「화재조기진압용 스프링클러설비의 화재안전기준(NFSC 103B)」에 따라 설치하는 경우에는 천장에만 스프링클러헤드를 설치할 수 있다.<개정 2013.6.10>
③ 스프링클러헤드를 설치하는 천장·반자·천장과 반자사이·덕트·선반등의 각 부분으로부터 하나의 스프링클러헤드까지의 수평거리는 다음 각 호와 같이 하여야 한다. 다만, 성능이 별도로 인정된 스프링클러헤드를 수리계산에 따라 설치하는 경우에는 그러하지 아니하다.
1. 무대부·「소방기본법시행령」별표 2의 특수가연물을 저장 또는 취급하는 장소에 있어서는 1.7m 이하
2. 랙크식 창고에 있어서는 2.5m 이하 다만, 특수가연물을 저장 또는 취급하는 랙크식 창고의 경우에는 1.7 m 이하
3. 공동주택(아파트) 세대 내의 거실에 있어서는 3.2m 이하(「스프링클러헤드의 형식승인 및 제품검사의 기술기준」 유효반경의 것으로 한다)<개정 2008.12.15, 2013.6.10>
4. 제1호부터 제3호까지 규정 외의 특정소방대상물에 있어서는 2.1m 이하(내화구조로 된 경우에는 2.3m 이하)
⑤ 다음 각 호의 어느 하나에 해당하는 장소에는 조기반응형 스프링클러헤드를 설치하여야 한다.
1. 공동주택·노유자시설의 거실
2. 오피스텔·숙박시설의 침실, 병원의 입원실
⑦ 스프링클러헤드는 다음 각 호의 방법에 따라 설치하여야 한다.
1. 살수가 방해되지 아니하도록 스프링클러헤드로부터 반경 60㎝ 이상의 공간을 보유할 것. 다만, 벽과 스프링클러헤드간의 공간은 10㎝ 이상으로 한다.
2. 스프링클러헤드와 그 부착면(상향식헤드의 경우에는 그 헤드의 직상부의 천장·반자 또는 이와 비슷한 것을 말한다. 이하 같다)과의 거리는 30㎝ 이하로 할 것.
3. 배관·행가 및 조명기구 등 살수를 방해하는 것이 있는 경우에는 제1호 및 제2호에도 불구하고 그로부터 아래에 설치하여 살수에 장애가 없도록 할 것. 다만, 스프링클러헤드와 장애물과의 이격거리를 장애물 폭의 3배 이상 확보한 경우에는 그러하지 아니하다.<개정 2008.12.15>
4. 스프링클러헤드의 반사판은 그 부착 면과 평행하게 설치할 것. 다만, 측벽형헤드 또는 제6호에 따른 연소할 우려가 있는 개구부에 설치하는 스프링클러헤드의 경우에는 그러하지 아니하다.
5. 천장의 기울기가 10분의 1을 초과하는 경우에는 가지관을 천장의 마루와 평행하게 설치하고, 스프링클러헤드는 다음 각 목의 어느 하나의 기준에 적합하게 설치할 것
6. 연소할 우려가 있는 개구부에는 그 상하좌우에 2.5m 간격으로(개구부의 폭이 2.5m 이하인 경우에는 그 중앙에) 스프링클러헤드를 설치하되, 스프링클러헤드와 개구부의 내측 면으로부터 직선거리는 15㎝ 이하가 되도록 할 것. 이 경우 사람이 상시 출입하는 개구부로서 통행에 지장이 있는 때에는 개구부의 상부 또는 측면(개구부의 폭이 9m 이하인 경우에 한한다)에 설치하되, 헤드 상호간의 간격은 1.2m 이하로 설치하여야 한다.
7. 습식스프링클러설비 및 부압식스프링클러설비 외의 설비에는 상향식스프링클러헤드를 설치할 것. 다만, 다음 각 목의 어느 하나에 해당하는 경우에는 그러하지 아니하다.<개정 2011.11.24>
8. 측벽형스프링클러헤드를 설치하는 경우 긴 변의 한쪽 벽에 일렬로 설치(폭이 4.5m 이상 9m 이하인 실에 있어서는 긴변의 양쪽에 각각 일렬로 설치하되 마주보는 스프링클러헤드가 나란히꼴이 되도록 설치)하고 3.6m 이내마다 설치할 것
⑧ 제7항제2호에도 불구하고 특정소방대상물의 보와 가장 가까운 스프링클러 헤드는 다음 표의 기준에 따라 설치하여야 한다. 다만, 천장 면에서 보의 하단까지의 길이가 55㎝를 초과하고 보의 하단 측면 끝부분으로부터 스프링클러헤드까지의 거리가 스프링클러헤드 상호간 거리의 2분의 1 이하가 되는 경우에는 스프링클러헤드와 그 부착 면과의 거리를 55㎝ 이하로 할 수 있다.<개정 2013.6.10> (표)
가. 천장의 최상부에 스프링클러헤드를 설치하는 경우에는 최상부에 설치하는 스프링클러헤드의 반사판을 수평으로 설치할 것
나. 천장의 최상부를 중심으로 가지관을 서로 마주보게 설치하는 경우에는 최상부의 가지관 상호간의 거리가 가지관상의 스프링클러헤드 상호간의 거리의 2분의 1이하(최소 1m 이상이 되어야 한다)가 되게 스프링클러헤드를 설치하고, 가지관의 최상부에 설치하는 스프링클러헤드는 천장의 최상부로부터의 수직거리가 90㎝ 이하가 되도록 할 것. 톱날지붕, 둥근지붕 기타 이와 유사한 지붕의 경우에도 이에 준한다.
가. 드라이펜던트스프링클러헤드를 사용하는 경우
다. 개방형스프링클러헤드를 사용하는 경우



//스프링클러설비의 화재안전기준(NFSC 103) 10조 (헤드) 7항5호

Check(NFSC103_10_7_5_1){
IF CS THEN KS
}

CS{
isInstalled(SprinklerHead, a)=TRUE
}

KS{
isHorizontal(SprinklerHead.Deflector)=TRUE
}


//스프링클러설비의 화재안전기준(NFSC 103) 10조 (헤드) 7항5호 나목 Check(NFSC103_10_7_5_2){ IF CS THEN KS } CS{ isInstalled(Celling,BranchPipe,b)=TRUE } KS{ BD=getElementDistance(BranchPipe, c) SD=getElementDistance(SprinklerHead, c) SD/BD>=2 BD>=1 m IF isInstalled(BranchPipe, SprinklerHead, a )=TRUE THEN getVerticalDistance(SprinklerHead,Ceiling.UppermostPart)<=90 cm END IF }


//스프링클러설비의 화재안전기준(NFSC 103) 10조 7항 7호 가목
check(NFSC103_10_7_7_가){
KS
}

KS{
SprinklerHead mySprinklerHead{
isObjectProperty(SprinklerHead.isDryPendent)=TRUE
}

SprinklerSystem mySprinklerSystem{
getObject(WetPipeSprinklerSystem)
getObject(VacuumSprinklerExtinguishingSystem)
}
SprinklerSystem mySprinklerSystem1{
getObject(SprinklerSystem)!= mySprinklerSystem
}

hasElement(mySprinklerSystem1, mySprinklerHead)=TRUE
}


//스프링클러설비의 화재안전기준(NFSC 103) 10조 7항 7호 다목
check(NFSC103_10_7_7_다){
KS
}

KS{
SprinklerHead mySprinklerHead{
isObjectProperty(SprinklerHead.openAndCloseType)="OpenType"
}

SprinklerSystem mySprinklerSystem{
getObject(WetPipeSprinklerSystem)
getObject(VacuumSprinklerExtinguishingSystem)
}
SprinklerSystem mySprinklerSystem1{
getObject(SprinklerSystem)!= mySprinklerSystem
}

hasElement(mySprinklerSystem1, mySprinklerHead)=TRUE
}


//스프링클러설비의 화재안전기준(NFSC 103) 10조 (헤드) 1항 Check(NFSC_10_1){ KS2 AND IF CS THEN KS1 KS2{ Space mySpace1{ 천장과반자사이 } hasElement(SpecificFireFightingBuilding.Ceiling,SprinklerHead)= TRUE hasElement(SpecificFireFightingBuilding.CeilingCovering,SprinklerHead)= TRUE hasElement(SpecificFireFightingBuilding.mySpace1,SprinklerHead)= TRUE hasElement(SpecificFireFightingBuilding.Duct,SprinklerHead)= TRUE hasElement(SpecificFireFightingBuilding.Shelf,SprinklerHead)= TRUE } CS{ Space mySpace2{ isExternal(Space)= FALSE } getSpaceWidth(Building.mySpace)<= 9m } KS1{ Wall myWall{ Wall.isSideWall=TRUE } hasElement(myWall,SprinklerSystem.Head)=TRUE hasElement(myWall,SprinklerSystem.Head)=FALSE }


//     스프링클러설비의 화재안전기준(NFSC 103) 10조 (음향장치 및 기동장치) 2항 Check(NFSC103_10_2){      IF (CS1 THEN KS1) OR (CS2 THEN KS2) } CS1{ Space.usage = "RackWarehouse" isObjectProperty(Space.hasSpecialCombustible) = TRUE } KS1{      getObjectHeight(Rack) / 4 = RH      (RH-1) <= getObjectCount(SprinklerHead) < RH      getObjectInterval(SprinklerHead) = 4m } CS2{ Space.usage = "RackWarehouse" isObjectProperty(Space.hasSpecialCombustible) != TRUE } KS2{      getObjectHeight(Rack) / 6 = RH      (RH-1) <= getObjectCount(SprinklerHead) < RH      getObjectInterval(SprinklerHead) = 6m }


//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항
check(NFSC103_10_3){
     getResult(NFSC103_10_3_1) = TRUE
     getResult(NFSC103_10_3_2) = TRUE
     getResult(NFSC103_10_3_3) = TRUE
     getResult(NFSC103_10_3_4) = TRUE
}



//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항 1호 check(NFSC103_10_3_1){ IF CS THEN KS } Space mySpace1{ Space.usage="StagePart" OR isObjectProperty(Space.hasSpecialCombustible)=TRUE } CS{ isExist(PlenumSpace)=TRUE } KS{ getHorizontalDistance(Ceiling | CeilingCovering | mySpace2 | Duct | Shelf,SprinklerSystem.Head)<=1.7m }


//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항 2호 check(NFSC103_10_3_2){ IF (CS1 THEN KS1) OR (CS2 THEN KS2) } Space mySpace1{ Space.usage="RackWarehouse" Space mySpace2{ Space.usage="RackWarehouse" isObjectProperty(Space.hasSpecialCombustible)=TRUE } CS1{ isExist(mySpace1)=TRUE } KS1{ getHorizontalDistance(Ceiling|CeilingCovering|PlenumSpace|Duct|Shelf,SprinklerHead)<=2.5m } CS2{ isExist(mySpace2)=TRUE } KS2{ getHorizontalDistance(Ceiling|CeilingCovering|PlenumSpace|Duct|Shelf,SprinklerHead)<=1.7m }


//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항 3호 check(NFSC103_10_3_3){      IF (CS) THEN KS ENDIF } CS{      getBuildingUsage() = "MultiUnitHouse" } KS{      Space mySpace = getObject(Room)                      getObjectVerticalDistance(mySpace.Ceiling, SprinklerHead) <= 3.2m      getObjectVerticalDistance(mySpace.CeilingCover, SprinklerHead) <= 3.2m      getObjectVerticalDistance(mySpace.Duct, SprinklerHead) <= 3.2m      getObjectVerticalDistance(mySpace.Shelf, SprinklerHead) <= 3.2m }


//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항 4호
check(NFSC103_10_3_4){
     IF CS1 THEN IF (CS2) THEN KS ELSE KS2 ENDIF ENDIF
}

CS1{
     Space mySpace = getObject(특정소방대상물)
     getResult(_1) = False
     getResult(_2) = False
     getResult(_3) = False
}

CS2{
     isFireResistanceStructure(mySpace) = TRUE
}

KS1{
     getObjectVerticalDistance(mySpace.Ceiling, SprinklerHead) <= 2,3m
     getObjectVerticalDistance(mySpace.CeilingCover, SprinklerHead) <= 2.3m
     getObjectVerticalDistance(mySpace.Duct, SprinklerHead) <= 2.3m
     getObjectVerticalDistance(mySpace.Shelf, SprinklerHead) <= 2.3m
}

KS2{
     getObjectVerticalDistance(mySpace.Ceiling, SprinklerHead) <= 2,1m
     getObjectVerticalDistance(mySpace.CeilingCover, SprinklerHead) <= 2.1m
     getObjectVerticalDistance(mySpace.Duct, SprinklerHead) <= 2.1m
     getObjectVerticalDistance(mySpace.Shelf, SprinklerHead) <= 2.1m
}


Check(NFCS103_10_5){ IF CS THEN KS } CS{ getResult(NFCS103_10_5_1) OR getResult(NFCS103_10_5_2) } KS{ Head myHead{ getObjectProperty(SprinklerSystem.Head.responseType)=QuickResponseType } isInstalled(myHead) = TRUE }


Check(NFCS103_10_5_1_1){
KS
}


KS{
getSpaceUsage()= "MultiUnitHouse.LivingRoom"
OR getSpaceUsage()="FacilitiesForTheAgedAndChildren.LivingRoom"
}



Check(NFCS103){
KS
}



KS{
getSpaceUsage()="Officetels.BedRoom"
OR getSpaceUsage()="LodgingFacility.BedRoom"
OR getSpaceUsage()="Hospital.HospitalRoom"
}


//스프링클러설비의 화재안전기준(NFSC 103) 10조 7호
check(NFSC103_10_7){
     getResult(NFSC103_10_7_1) = TRUE
     getResult(NFSC103_10_7_2) = TRUE
     getResult(NFSC103_10_7_3) = TRUE
     getResult(NFSC103_10_7_4) = TRUE
     getResult(NFSC103_10_7_5) = TRUE
     getResult(NFSC103_10_7_6) = TRUE
     getResult(NFSC103_10_7_7) = TRUE
     getResult(NFSC103_10_7_8) = TRUE
}



//스프링클러설비의 화재안전기준(NFSC 103) 10조 7호 1항

check(NFSC103_10_7_1){
     KS
}

KS{
     getObjectDistance(Wall, SprinklerHead) >= 10cm
     isVacant(SprinklerHead,a, 60) = TRUE
}


Check(NFCS103){
KS}


KS{
getObjectDistance(SprinklerHead,Ceiling,a)<=30CM
}


Check(NFCS103_10_7_3){ IF !CS THEN KS } objectDistance myObjectDistance1{ getObjectDistance(SprinklerHead,Obstacle,a) } objectDistance myObjectDistance2{ getObjectDistance(SprinklerHead,Ceiling,a) } CS{ getObjectWidth(Obstacle)<="myObjectDistance" KS{ getObjectDistance(Pipe,Ceiling,a)<"myObjectDistance" OR getObjectDistance(Pipe,Hanger,a)<"myObjectDistance" OR getObjectDistance(Pipe,LightingFixture,a)<"myObjectDistance" }


//스프링클러설비의 화재안전기준(NFSC 103) 10조 (헤드) 7항4호

Check(NFSC103_10_7_4){
IF !CS THEN KS
}

CS{

getObjectProperty(SprinklerHead.shapeType)="SideWallType"
OR getResult(NFSC203_10_7_6)=TRUE

}


KS{ isParallel(SprinklerHead.Deflector,Deflector.AttachingToSurface)=TRUE

}


//스프링클러설비의 화재안전기준(NFSC 103) 10조 (헤드) 7항5호
Check(NFSC103_10_7_5){
IF CS THEN KS
}

CS{
getObjectProperty(Ceiling.gradient)>1/10
}


KS{
isParallel(BranchPipe, Ceiling.Top)=TRUE

getResult(NFSC103_10_7_5_1)=TRUE
OR getResult(NFSC103_10_7_5_2)=TRUE
}


//스프링클러설비의 화재안전기준(nfsc 103) 10조 (헤드) 7항 6호

Check(NFSC103_10_7_6){
     IF (CS1 THEN KS1) or (CS2 THEN KS2)
}
CS1{
     isObjectProperty(Opening.isFireSpreading)=TRUE
     getObjectWidth(Opening, a) > 2.5m
}
KS2{
     isInstalled(Opening, Sprinkler.Head, 2.5m) = TRUE
     getElementDistance(Opening.InsideSurface, Sprinkler.Head) <= 15cm
}

CS2{
     isObjectProperty(Opening.isFireSpreading)=TRUE
     getObjectWidth(Opening, Sprinkler.Head, a) <= 2.5m
}
KS2{
     isInstalled(Opening, Sprinkler.Head, center) = TRUE
     getElementDistance(Opening.InsideSurface, Sprinkler.Head) <= 15cm
}




//스프링클러설비의 화재안전기준(NFSC 103) 10조 7항 7호 check(NFSC103_10_7_7){ IF !CS THEN KS } CS{ getResult(NFSC103_10_7_7_가)=TRUE OR getResult(NFSC103_10_7_7_나)=TRUE } KS{ SprinklerHead mySprinklerHead{ SprinklerHead.installationDirectionType="BottomUpType" } SprinklerSystem mySprinklerSystem1{ SprinklerSystem.type = "VacuumSprinklerExtinguishingSystem" } SprinklerSystem mySprinklerSystem2{ SprinklerSystem.type = "WetPipeSprinklerSystem" } hasElement(mySprinklerSystem1, mySprinklerHead)=TRUE hasElement(mySprinklerSystem2, mySprinklerHead)=TRUE }


//스프링클러설비의 화재안전기준 10조 (헤드) 7항 8호
check(NFSC103_10_7_8){
     IF CS THEN KS
}

SprinklerHead mySprinklerHead{
     getObjectProperty(SprinklerHead.shapeType) = "SideWallType"
}

CS{
     isExist(mySprinklerHead) = TRUE
}

KS{
     isInstalled(mySprinklerHead, c) = TRUE
}


//스프링클러설비의 화재안전기준 10조 (헤드) 8항
check(NFSC103_10_8){
     (IF !(CS1) THEN KS1) or (IF CS1 THEN KS2)
}

KS1{
     Beam myBeam{
          hasObject(SpecificFireFightingBuilding, Beam) = TRUE
     }

     getElementDistance(myBeam, SprinklerHead, 1) = TRUE

     //Table

     getElementDistance(SprinklerHead.Deflector, Beam, a) + getObjectWidth(SprinklerHead.Deflector)*0.5 = SBD
     getObjectVerticalDistance(SprinklerHead.Deflector, Beam.BottomSurface, a) = SHD

     IF SBD < 0.75 m
     THEN SHD < getObjectHeight(Beam.BottomSurface)

     IF 0.75 m <= SBD < 1 m
     THEN SHD < 0.1 m

     IF 1 m <= SBD < 1.5 m
     THEN SHD < 0.15 m

     IF SBD >= 1.5 m
     THEN SHD < 0.3 m
}

CS1{
     getObjectDistance(Ceiling.Surface, Beam.BottomSurface) > 55 cm
     getObjectDistance(Beam.BottomSideSurface, SprinklerHead) = OD
     OD <= getElementDistance(SprinklerHead, c)*0.5
}

KS2{
     getObjectDistance(SprinklerHead, SprinklerHead.AttachingToSurface) <= 55 cm
}




66
스프링클러설비의 화재안전기준(NFSC 103) 제 11 조
제11조(송수구) 스프링클러설비에는 소방차로부터 그 설비에 송수할 수 있는 송수구를 다음 각 호의 기준에 따라 설치하여야 한다.
2. 송수구로부터 스프링클러설비의 주배관에 이르는 연결배관에 개폐밸브를 설치한 때에는 그 개폐상태를 쉽게 확인 및 조작할 수 있는 옥외 또는 기계실 등의 장소에 설치할 것
3. 구경 65㎜의 쌍구형으로 할 것
5. 폐쇄형스프링클러헤드를 사용하는 스프링클러설비의 송수구는 하나의 층의 바닥면적이 3,000㎡를 넘을 때마다 1개 이상(5개를 넘을 경우에는 5개로 한다)을 설치할 것
6. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것



//스프링클러설비의 화재안전기준 11조 (송수구)
check(NFSC103_11){
     getResult(NFSC103_11_0_2)=TRUE
     getResult(NFSC103_11_0_3)=TRUE
     getResult(NFSC103_11_0_5)=TRUE
     getResult(NFSC103_11_0_6)=TRUE
}


//스프링클러설비의 화재안전기준(nfsc 103) 11조 (송수구) 2호

Check(NFSC103_11_0_2){
     IF CS THEN KS
}

CS{
     Port myPort{
     isObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
     }
     Pipe myPipe{
     isObjectProperty(Pipe.isRiser)=TRUE
     }
     Valve myValve{
     isObjectProperty(Valve.isShutoffValve)=TRUE
     }
     isConnectedTo(myPort,Pipe)=TRUE
     isConnectedTo(Pipe,myPipe)=TRUE
     isInstalled(Pipe, myValve) = TRUE
}
KS{
     Space mySpace{
     isObjectProperty(Space.usage) = "MachineRoom"
     }
     isExternal(myValve)=TRUE
     OR hasSpace(mySpace,myValve)=TRUE


//스프링클러설비의 화재안전기준 11조 (송수구) 3호
check(NFSC103_11_0_3){
     KS
}
KS{
     isObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
     isObjectProperty(Port.shapeType)="DoubleType"
     isObjectProperty(Port.diameter) = 65mm
}


//스프링클러설비의 화재안전기준(nfsc 103) 11조 (송수구) 5호

Check(NFSC103_11_0_5){
     IF CS THEN KS
}
CS{
     isObject(Sprinkler.Head.openAndCloseType) = "EnclosedType"
}
KS{
     Port myPort{
     isObjectProperty(Port.typeForWater)="FireDepartmentConnection"
     }
     Space mySpace{
     isObjectProperty(Space.FloorSlab.area) = 3000m2
     }
     isInstalled(mySpace, myPort) = TRUE
     getObjectCount(mySpace.One.myPort) >= 1
     getObjectCount(myPort) <= 5
     
}


//스프링클러설비의 화재안전기준(nfsc 103) 11조 (송수구) 6호

Check(NFSC103_11_0_6){
     KS
}
KS{
     Port myPort{
     isObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
     }
     getObjectVerticalDistance(Ground, myPort, a) >= 0.5m
     getObjectVerticalDistance(Ground, myPort, a) <= 1m
}




67
스프링클러설비의 화재안전기준(NFSC 103) 제 12 조
② 스프링클러설비에는 자가발전설비 또는 축전지설비에 따른 비상전원을 설치하여야 한다. 다만, 차고·주차장으로서 스프링클러설비가 설치된 부분의 바닥면적(「포소화설비의 화재안전기준(NFSC 105)」제13조제2항제2호에 따른 차고·주차장의 바닥면적을 포함한다)의 합계가 1,000㎡ 미만인 경우에는 비상전원수전설비로 설치할 수 있으며, 2이상의 변전소(「전기사업법」제67조에 따른 변전소를 말한다. 이하 같다)에서 전력을 동시에 공급받을 수 있거나 하나의 변전
③ 제2항에 따른 비상전원 중 자가발전설비 또는 축전지설비(내연기관에 따른 펌프를 설치한 경우에는 내연기관의 기동 및 제어용축전지를 말한다)는 다음 각 호의 기준을, 비상전원수전설비는 「소방시설용비상전원수전설비의 화재안전기준(NFSC 602)」에 따라 설치하여야 한다.<개정 2013.6.10>
4. 비상전원(내연기관의 기동 및 제어용 축전기를 제외한다)의 설치장소는 다른 장소와 방화구획 할 것. 이 경우 그 장소에는 비상전원의 공급에 필요한 기구나 설비외의 것(열병합발전설비에 필요한 기구나 설비는 제외한다)을 두어서는 아니 된다.<개정 2008.12.15>
8. 자가발전설비는 부하의 용도와 조건에 따라 다음 각 목 중의 하나를 설치하고 그 부하용도별 표지를 부착하여야 한다. 다만, 자가발전설비의 정격출력용량은 하나의 건축물에 있어서 소방부하의 설비용량을 기준으로 하고, 나목의 경우 비상부하는 국토해양부장관이 정한 건축전기설비설계기준의 수용률 범위 중 최대값 이상을 적용한다.<신설 2011.11.24, 개정 2013.6.10>
가. 소방전용 발전기 : 소방부하용량을 기준으로 정격출력용량을 산정하여 사용하는 발전기<개정 2013.6.10>
나. 소방부하 겸용 발전기 : 소방 및 비상부하 겸용으로서 소방부하와 비상부하의 전원용량을 합산하여 정격출력용량을 산정하여 사용하는 발전기<개정 2013.6.10>
다. 소방전원 보존형 발전기 : 소방 및 비상부하 겸용으로서 소방부하의 전원용량을 기준으로 정격출력용량을 산정하여 사용하는 발전기<신설 2013.6.10>



//     스프링클러설비의 화재안전기준(nfsc 103) 12조 (전원) 2항

Check(NFSC103_12_2){

     IF (!CS1 THEN KS1) OR (CS2 THEN KS2)

}



CS1{

     Tank myTank{

          getObjectProperty(Tank) = "PressurizedTank"

     }



     isInstalled(myTank) = TRUE

}



CS2{

     getBuildingUsage() = "Garage"

     OR getBuildingUsage() = "ParkingLot"



     ParkingLot myParkingLot{

          getResult(Unimplemented_NFSC105_13_2_2) = TRUE

          getSpace(ParkingLot)

     }



     Floor myFloor{

          isInstalled(SprinklerSystem, Floor) = TRUE

     }



     getFloorArea(myFloor) + getFloorArea(myFloor2) >= 1000m2

}



KS1{

     EmergencyPower myEmergencyPower{

          getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"

          OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem"

     }

     isInstalled(myEmergencyPower, SprinklerSystem) = TRUE

}



KS2{

     EmergencyPower myEmergencyPower{

          getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"

          OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem"

          OR getObjectProperty(EmergencyPower.systemType) = "EmergencyPowerReceivingSystem"

     }

     isInstalled(myEmergencyPower, SprinklerSystem) = TRUE

}


//     스프링클러설비의 화재안전기준(nfsc 103) 12조 (전원) 3항 Check(NFSC103_12_3){      IF (CS1 OR CS2 THEN KS1) OR (CS3 THEN KS2) }      Pump myPump{           getObjectProperty(Pump.systemType) = "InternalCombustionEngines"      } CS1{      getResult(Unimplemented_NFSC103_12_2) = TRUE      getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"      OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem" } CS2{      isInstalled(Pump, InternalCombustionEngines) = TRUE      isInstalled(ControlStorageBattery, InternalCombustionEngine) = TRUE } KS1{      getResult(NFSC103_12_3_4) = TRUE      OR getResult(NFSC103_12_3_8) = TRUE } CS3{      getResult(Unimplemented_NFSC103_12_2) = TRUE      getObjectProperty(EmergencyPower.systemType) = "EmergencyPowerReceivingSystem" } KS2{      getResult(Unimplemented_NFSC602) = TRUE }


//     스프링클러설비의 화재안전기준(nfsc 103) 12조 (전원) 3항 4호
Check(NFSC103_12_3_4){
     KS
}

KS{
     Space mySpace{
          isInstalled(EmergencyPower, Space) = TRUE
     }

     isFirePartitioned(mySpace) = TRUE
}



//     스프링클러설비의 화재안전기준(NFSC 103) 12조 (전원) 3항 8호
Check(NFSC103_12_3_8){
     KS
}

KS{
     InhousePowerGeneratingStation myInhousePowerGeneratingStation{
          getResult(NFSC103_12_3_8_1) = TRUE
          OR getResult(NFSC103_12_3_8_2) = TRUE
          OR getResult(NFSC103_12_3_8_3) = TRUE
     }
     isInstalled(myInhousePowerGeneratingStation) = TRUE
}


//     스프링클러설비의 화재안전기준(NFSC 103) 12조 (전원) 3항 8호 가목
Check(NFSC103_12_3_8_1){
     KS
}

KS{
     getObjectProperty() = "DedicatedGeneratorForFireFighting"
}


//     스프링클러설비의 화재안전기준(NFSC 103) 12조 (전원) 3항 8호 나목
Check(NFSC103_12_3_8_2){
     KS
}

KS{
     getObjectProperty() = "FireLoadCombinationGenerator"
}


//     스프링클러설비의 화재안전기준(NFSC 103) 12조 (전원) 3항 8호 다목
Check(NFSC103_12_3_8_3){
     KS
}

KS{
     getObjectProperty() = "EmergencyPowerSystemForReservedFirefightingPower"
}




68
스프링클러설비의 화재안전기준(NFSC 103) 제 15 조
제15조(헤드의 설치제외) ① 스프링클러설비를 설치하여야 할 특정소방대상물에 있어서 다음 각 호의 어느 하나에 해당하는 장소에는 스프링클러헤드를 설치하지 아니할 수 있다.
1. 계단실(특별피난계단의 부속실을 포함한다)·경사로·승강기의 승강로·비상용승강기의 승강장·파이프덕트 및 덕트피트(파이프·덕트를 통과시키기 위한 구획된 구멍에 한한다)·목욕실·수영장(관람석부분을 제외한다)·화장실·직접 외기에 개방되어 있는 복도·기타 이와 유사한 장소<개정 2008.12.15, 2011.11.24>
2. 통신기기실·전자기기실·기타 이와 유사한 장소
3. 발전실·변전실·변압기·기타 이와 유사한 전기설비가 설치되어 있는 장소
4. 병원의 수술실·응급처치실·기타 이와 유사한 장소
5. 천장과 반자 양쪽이 불연재료로 되어 있는 경우로서 그 사이의 거리 및 구조가 다음 각 목의 어느 하나에 해당하는 부분
가. 천장과 반자사이의 거리가 2m 미만인 부분
나. 천장과 반자사이의 벽이 불연재료이고 천장과 반자사이의 거리가 2m 이상으로서 그 사이에 가연물이 존재하지 아니하는 부분
6. 천장·반자중 한쪽이 불연재료로 되어있고 천장과 반자사이의 거리가 1m 미만인 부분
7. 천장 및 반자가 불연재료 외의 것으로 되어 있고 천장과 반자사이의 거리가 0.5m 미만인 부분
8. 펌프실·물탱크실 엘리베이터 권상기실 그 밖의 이와 비슷한 장소<신설 2008.12.15>
10. 현관 또는 로비 등으로서 바닥으로부터 높이가 20m 이상인 장소
11. 영하의 냉장창고의 냉장실 또는 냉동창고의 냉동실<신설 2008.12.15>
13. 불연재료로 된 특정소방대상물 또는 그 부분으로서 다음 각 목의 어느 하나에 해당하는 장소
가. 정수장·오물처리장 그 밖의 이와 비슷한 장소
나. 펄프공장의 작업장·음료수공장의 세정 또는 충전하는 작업장 그 밖의 이와 비슷한 장소
다. 불연성의 금속·석재 등의 가공공장으로서 가연성물질을 저장 또는 취급하지 아니하는 장소
14. 실내에 설치된 테니스장·게이트볼장·정구장 또는 이와 비슷한 장소로서 실내 바닥·벽·천장이 불연재료 또는 준불연재료로 구성되어 있고 가연물이 존재하지 않는 장소로서 관람석이 없는 운동시설(지하층은 제외한다)
15. 「건축법 시행령」제46조제4항에 따른 공동주택 중 아파트의 대피공간<신설 2013.6.10>



//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항
Check(NFSC103_15_1){
     IF !CS THEN KS
}

CS{
     getResult(NFSC103_15_1_1) = TRUE
     OR getResult(NFSC103_15_1_2) = TRUE
     OR getResult(NFSC103_15_1_3) = TRUE
     OR getResult(NFSC103_15_1_4) = TRUE
     OR getResult(NFSC103_15_1_5) = TRUE
     OR getResult(NFSC103_15_1_6) = TRUE
     OR getResult(NFSC103_15_1_7) = TRUE
     OR getResult(NFSC103_15_1_8) = TRUE
     OR getResult(NFSC103_15_1_10) = TRUE
     OR getResult(NFSC103_15_1_11) = TRUE
     OR getResult(NFSC103_15_1_13) = TRUE
     OR getResult(NFSC103_15_1_14) = TRUE
     OR getResult(NFSC103_15_1_15) = TRUE
}

KS{
     isInstalled(SprinklerSystem) = TRUE
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 1호
Check(NFSC103_15_1_1){
     KS
}

KS{
     getBuildingUsage() = "Stair.Space"
     OR getSpaceUsage() = "Ramp"
     OR getSpaceUsage() = "Elevator.ElevatorShaft"
     OR getSpaceUsage() = "EmergencyElevatorPlatform"
     OR getObjectProperty(Duct.isPipeDuct) = TRUE
     OR getObjectProperty(Pit.isPipePit) = TRUE
     OR getBuildingUsage() = "BathRoom"
     OR getBuildingUsage() = "SwimmingPool"
     OR getBuildingUsage() = "Toilet"
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 2호
Check(NFSC103_15_1_2){
     KS
}

KS{
     getBuildingUsage() = "CommunicationsApparatusRoom"
     OR getBuildingUsage() = "ElectronicEquipmentRoom"
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 3호 Check(NFSC103_15_1_3){      KS } KS{      getBuildingUsage() = "GeneratorRoom"      OR getBuildingUsage() = "TransformerRoom"      OR isInstalled( Transformer, Room) = TRUE }


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 4호
Check(NFSC103_15_1_4){
     KS
}

KS{
     getBuildingUsage() = "Hospital.수술실"
     OR getBuildingUsage() = "Hospital.응급처치실"
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 5호
Check(NFSC103_15_1_5){
     IF CS THEN KS
}

CS{
     isObjectProperty(Ceiling.Material.nonCombustibility) = TRUE
     isObjectProperty(CeilingCovering.Material.nonCombustibility) = TRUE
}

KS{
     getResult(NFSC103_15_1_5_1) = TRUE
     OR getResult(NFSC103_15_1_5_2) = TRUE
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 5호 가목
Check(NFSC103_15_1_5_1){
     KS
}

KS{
     getObjectDistance(Ceiling, CeilingCovering) < 2m
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 5호 나목
Check(NFSC103_15_1_5_2){
     KS
}

KS{
     Wall myWall{
          isConnectedTo(Wall, Ceiling) = TRUE
          isConnectedTo(Wall, CeilingCovering) = TRUE
     }

     isObjectProperty(myWall.Material.nonCombustibility) = TRUE
     getObjectDistance(Ceiling, CeilingCovering) >= 2m
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 6호
Check(NFSC103_15_1_6){
     KS
}

KS{
     (isObjectProperty(Ceiling.Material.nonCombustibility) = TRUE
     isObjectProperty(CeilingCovering.Material.nonCombustibility) = FALSE)
     OR (isObjectProperty(Ceiling.Material.nonCombustibility) = FALSE
     isObjectProperty(CeilingCovering.Material.nonCombustibility) = TRUE)
     getObjectDistance(Ceiling, CeilingCovering) < 1m
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 7호
Check(NFSC103_15_1_7){
     KS
}

KS{
     isObjectProperty(Ceiling.Material.nonCombustibility) = FALSE
     isObjectProperty(CeilingCovering.Material.nonCombustibility) = FALSE
     getObjectDistance(Ceiling, CeilingCovering) < 0.5m
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 8호
Check(NFSC103_15_1_8){
     KS
}

KS{
     getBuildingUsage() = "펌프실"
     OR getBuildingUsage() = "물탱크실"
     OR getBuildingUsage() = "엘리베이터 권상기실"
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 10호
Check(NFSC103_15_1_10){
     KS
}

KS{
     getSpaceUsage() = "EntranceHall"
     OR getSpaceUsage() = "Lobby"

     getObjectVerticalLocation(Ground, Space) >= 20m
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 11호
Check(NFSC103_15_1_11){
     KS
}

KS{
     getSpaceUsage() = "ColdStorage"
     OR getSpaceUsage() = "RefrigerationRoom"
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 13호
Check(NFSC103_15_1_13){
     KS
}

KS{
     getObjectMaterial(SpecificFireFightingBuilding.Material.nonCombustibility) = TRUE
     (getResult(NFSC103_15_1_13_1) = TRUE
     OR getResult(NFSC103_15_1_13_2) = TRUE
     OR getResult(NFSC103_15_1_13_3) = TRUE)
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 13호 가목
Check(NFSC103_15_1_13_1){
     KS
}

KS{
     getBuildingUsage() = "PurificationPlant"
     OR getBuildingUsage() = "오물처리장"
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 13호 나목
Check(NFSC103_15_1_13_2){
     KS
}

KS{
     getBuildingUsage() = "PulpMill.WorkPlace"
     OR getBuildingUsage() = "BeverageFactory.WorkPlace"
}



//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 13호 다목
Check(NFSC103_15_1_13_3){
     KS
}

KS{
     getBuildingUsage() = "ProcessingFactory"
     isObjectProperty(Space.hasCombustible) = FALSE
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 14호
Check(NFSC103_15_1_14){
     KS
}

KS{
     (getBuildingUsage() = "Indoor.TennisCourts"
     OR getBuildingUsage() = "Indoor.게이트볼장"
     OR getBuildingUsage() = "Indoor.정구장")

     (getObjectProperty(Floor.InteriorFinish.Material.nonCombustibility) = TRUE
     OR getObjectProperty(Floor.InteriorFinish.Material.quasiNonCombustibility) TRUE)

     (getObjectProperty(Wall.InteriorFinish.Material.nonCombustibility) = TRUE
     OR getObjectProperty(Wall.InteriorFinish.Material.quasiNonCombustibility) TRUE)

     (getObjectProperty(Ceiling.InteriorFinish.Material.nonCombustibility) = TRUE
     OR getObjectProperty(Ceiling.InteriorFinish.Material.quasiNonCombustibility) TRUE)

     isObjectProperty(Space.hasCombustible) = FALSE
     hasSpace(Auditorium, SportsFacility) = FALSE
     getObjectProperty(Floor.number) > 0
}


//     스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 15호
Check(NFSC103_15_1_15){
     KS
}

KS{
     getResult(EDBA_46_4) = TRUE
     getBuildingUsage() = "MultiUnitHouse"
     isObjectProperty(Space.isEscape) = TRUE
}




69
스프링클러설비의 화재안전기준(NFSC 103) 제 16 조
② 스프링클러설비의 가압송수장치로 사용하는 펌프를 옥내소화전설비·간이스프링클러설비·화재조기진압용 스프링클러설비·물분무소화설비·포소화설비 및 옥외소화전설비의 가압송수장치와 겸용하여 설치하는 경우의 펌프의 토출량은 각 소화설비에 해당하는 토출량을 합한 양 이상이 되도록 하여야 한다. 다만, 이들 소화설비 중 고정식 소화설비가 2 이상 설치되어 있고, 그 소화설비가 설치된 부분이 방화벽과 방화문으로 구획되어 있으며 각 소화설비에 지장이 없는 경우에는 펌프의



//     스프링클러설비의 화재안전기준(NFSC 103) 16조 (수원 및 가압송수장치의 펌프 등의 겸용) 2항

Check(NFSC103_16_2){

     IF CS THEN KS

}



     Pump myPump{

          isInstalled(SprinklerSystem, PressurizedWaterSupplySystem) = TRUE

          getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

     }



     Pump myPump2{

          isInstalled(IndoorFireHydrantSystem, PressurizedWaterSupplySystem) = TRUE

          getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

     }



     Pump myPump3{

          isInstalled(SimpleSprinklerSystem, PressurizedWaterSupplySystem) = TRUE

          getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

     }



     Pump myPump4{

          isInstalled(SprinklerSystemForEarlyFireSuppression, PressurizedWaterSupplySystem) = TRUE

          getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

     }



     Pump myPump5{

          isInstalled(WaterSprayExtingushingSystem, PressurizedWaterSupplySystem) = TRUE

          getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

     }



     Pump myPump6{

          isInstalled(FoamExtinguishingSystem, PressurizedWaterSupplySystem) = TRUE

          getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

     }



     Pump myPump7{

          isInstalled(OutdoorFireHydrantSystem, PressurizedWaterSupplySystem) = TRUE

          getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

     }





CS{

     isShared(myPump, myPump2) = TRUE

     OR isShared(myPump, myPump3) = TRUE

     OR isShared(myPump, myPump4) = TRUE

     OR isShared(myPump, myPump5) = TRUE

     OR isShared(myPump, myPump6) = TRUE

     OR isShared(myPump, myPump7) = TRUE

}



KS{

     getObjectProperty(myPump.ratedDischargeRate) = PRD



     getObjectProperty(myPump2.ratedDischargeRate) + getObjectProperty(myPump3.ratedDischargeRate) + getObjectProperty(myPump4.ratedDischargeRate) + getObjectProperty(myPump5.ratedDischargeRate) + getObjectProperty(myPump6.ratedDischargeRate) + getObjectProperty(myPump7.ratedDischargeRate) = TPRD



     PRD >= TPRD

}




70
스프링클러설비의 화재안전기준(NFSC 103) 제 4 조
제4조(수원) ① 스프링클러설비의 수원은 그 저수량이 다음 각 호의 기준에 적합하도록 하여야 한다.
⑤ 스프링클러설비의 수원을 수조로 설치하는 경우에는 소방설비의 전용수조로 하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 경우에는 그러하지 아니하다. [종전의 제4항에서 이동 2012.2.15]
1. 스프링클러펌프의 후드밸브 또는 흡수배관의 흡수구(수직회전축펌프의 흡수구를 포함한다. 이하 같다)를 다른 설비(소방용 설비 외의 것을 말한다. 이하 같다)의 후드밸브 또는 흡수구보다 낮은 위치에 설치한 때
2. 제5조제2항에 따른 고가수조로부터 스프링클러설비의 수직배관에 물을 공급하는 급수구를 다른 설비의 급수구보다 낮은 위치에 설치한 때
⑦ 스프링클러설비용 수조는 다음 각 호의 기준에 따라 설치하여야 한다. [종전의 제6항에서 이동 2012.2.15]



//  스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 1항
Check(NFSC103_4_1){
     KS
}

KS{
     getResult(NFSC103_4_1_1) = TRUE
     getResult(NFSC103_4_1_2) = TRUE
}


// 스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항
Check(NFSC103_4_5){
     IF CS THEN KS
}

CS{
     isObjectProperty(Tank.isWaterSource) = TRUE

     (getResult(NFSC103_4_5_1) = FALSE
     OR getResult(NFSC103_4_5_2) = FALSE)
}

KS{
     isObjectProperty(Tank.isShared) = FALSE
}


// 스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 1호
Check(NFSC103_4_5_1){
     KS
}

Pump myPump{
     isInstalled(Pump, SprinklerSystem) = TRUE
}

Valve myValve{
     isObjectProperty(Valve.isFootValve) = TRUE
     isInstalled(Valve, myPump) = TRUE
}

Valve myValve2{
     isObjectProperty(Valve.isFootValve) = TRUE
     Valve != myValve
}

Pipe myPipe{
     isObjectProperty(Pipe.isObsorptionPipe) = TRUE
}

Obsorption myObsorptionOpening{
     isInstalled(ObsorptionOpening, myPipe) = TRUE
}

Obsorption myObsorptionOpening2{
     ObsorptionOpening != myObsorptionOpening
}

KS{
     getObjectVerticalLocation(myValve, myValve2) < 0
     OR getObjectVerticalLocation(myObsorptionOpening, myOpsorptionOpening2) < 0
}


// 스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 2호
Check(NFSC103_4_5_2){
     KS
}

Pipe myPipe{
     isObjectProperty(Pipe.isRiser) = TRUE
     isInstalled(Pipe, SprinklerSystem) = TRUE
}

Tank myTank{
     getObjectProperty(Tank.operationType) = "ElevatedWaterTank"
}

WaterSupplyOpening myWaterSupplyOpening{
     isConnectedTo(WaterSupplyOpening, myPipe) = TRUE
}

WaterSupplyOpening myWaterSupplyOpening2{
     WaterSupplyOpening != myWaterSupplyOpening
}

KS{
     getObjectVerticalLocation(myWaterSupplyOpening, myWaterSupplyOpening2) < 0
}




// 스프링클러설비의 화재안전기준 (nfsc 103) 4조 (수원) 7항
Check(NFSC103A_4_7){
     KS
}

KS{
     getResult(NFSC103_4_7_3) = TRUE
     getResult(NFSC103_4_7_4) = TRUE
     getResult(NFSC103_4_7_5) = TRUE
     getResult(NFSC103_4_7_6) = TRUE
}




71
스프링클러설비의 화재안전기준(NFSC 103) 제 6 조
제6조(폐쇄형스프링클러설비의 방호구역·유수검지장치) 폐쇄형스프링클러헤드를 사용하는 설비의 방호구역(스프링클러설비의 소화범위에 포함된 영역을 말한다. 이하 같다)·유수검지장치는 다음 각 호의 기준에 적합하여야 한다.<개정 2008.12.15>
1. 하나의 방호구역의 바닥면적은 3,000㎡를 초과하지 아니할 것. 다만, 폐쇄형스프링클러설비에 격자형배관방식(2이상의 수평주행배관 사이를 가지배관으로 연결하는 방식을 말한다)을 채택하는 때에는 3,700㎡ 범위 내에서 펌프용량, 배관의 구경 등을 수리학적으로 계산한 결과 헤드의 방수압 및 방수량이 방호구역 범위 내에서 소화목적을 달성하는 데 충분할 것<개정 2011.11.24>
2. 하나의 방호구역에는 1개 이상의 유수검지장치를 설치하되, 화재발생시 접근이 쉽고 점검하기 편리한 장소에 설치할 것<개정 2008.12.15>
3. 하나의 방호구역은 2개 층에 미치지 아니하도록 할 것. 다만, 1개 층에 설치되는 스프링클러헤드의 수가 10개 이하인 경우와 복층형구조의 공동주택에는 3개 층 이내로 할 수 있다.<개정 2009.10.22>
4. 유수검지장치를 실내에 설치하거나 보호용 철망 등으로 구획하여 바닥으로부터 0.8m 이상 1.5m 이하의 위치에 설치하되, 그 실 등에는 가로 0.5m 이상 세로 1m 이상의 출입문을 설치하고 그 출입문 상단에 "유수검지장치실" 이라고 표시한 표지를 설치할 것. 다만, 유수검지장치를 기계실(공조용기계실을 포함한다)안에 설치하는 경우에는 별도의 실 또는 보호용 철망을 설치하지 아니하고 기계실 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할
7. 조기반응형 스프링클러헤드를 설치하는 경우에는 습식유수검지장치 또는 부압식스프링클러설비를 설치할 것<개정 2011.11.24>



// 스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치) 

Check(NFSC103_6){
IF CS THEN KS
}

CS{

getObjectProperty(SprinklerSystem.Head.openAndCloseType)="EnclosedType"

}

KS{
getResult(NFSC103_6_0_1)=True
getResult(NFSC103_6_0_2)=True
getResult(NFSC103_6_0_3)=True
getResult(NFSC103_6_0_4)=True
getResult(NFSC103_6_0_7)=True
}


//스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치) 1호

Check(NFSC103_6_0_1){
KS
}

KS{
getFloorArea(SprinklerSystme.ProtectionZone.One)<=3000 m2
}


//스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치) 2호

Check(NFSC103_6_0_2){
KS
}

KS{
getObjectCount(SprinklerSystem.ProtectionZonme.One.WaterflowIndicator)>=1
}


//스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치) 3호 Check(NFSC103_6_0_3){ IF CS THEN KS1 ELSE KS2 } CS{ Building myBuilding{ Building.usage = "MultiUnitHouse" } getObjectCount(Floor.One, SprinklerHead)<=10 OR isObjectProperty(myBuilding.isDuplexType)=True } KS1{ getObjectCount(SprinklerSystem.ProtectionZone.One.Floor )<=3 } KS2{ getObjectCount(SprinklerSystem.ProtectionZone.One.Floor )<2 }


//스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치) 4호 Check(NFSC103_6_4){ KS } KS{      Material myMaterial{      getObjectProperty(Object.Material)="ProtectiveWireMesh"      }      isExternal(WaterflowIndicator)=FALSE      OR isPartitioned(WaterflowIndicator, , myMaterial) = TRUE       getObjectVerticalDistance(FloorSlab, WaterflowIndicator, a)0.8m >= getObjectVerticalDistance(FloorSlab, WaterflowIndicator, a)0.8m <= 1.5m      Door myDoor{      getObjectProperty(Door.width) >= 0.5m      getObjectProperty(Door.height) >= 1m      }      hasObject(WaterflowIndicator.Space,myDoor)=TRUE }


//스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치) 7호 Check(NFSC103_6_0_7){ IF CS THEN KS } CS{ SprinklerHead mySprinklerHead{ getObjectProperty(SprinklerHead.responseType)="QuickResponseType" } isExist(mySprinklerHead)=True } KS{ WaterflowIndicator myWaterflowIndicator{ getObjectProperty(WaterflowIndicator.type)="WetWaterflowIndicator" } SprinklerSystem mySprinklerSystem{ getObjectProperty(SprinklerSystem.type)="VacuumSprinklerExtinguishingSystem" } isExist(myWaterflowIndicator)=True OR isExist(mySprinklerSystem)=True }




72
스프링클러설비의 화재안전기준(NFSC 103) 제 7 조
제7조(개방형스프링클러설비의 방수구역 및 일제개방밸브) 개방형스프링클러설비의 방수구역 및 일제개방밸브는 다음 각 호의 기준에 적합하여야 한다.
1. 하나의 방수구역은 2개 층에 미치지 아니 할 것
2. 방수구역마다 일제개방밸브를 설치할 것
3. 하나의 방수구역을 담당하는 헤드의 개수는 50개 이하로 할 것. 다만, 2개 이상의 방수구역으로 나눌 경우에는 하나의 방수구역을 담당하는 헤드의 개수는 25개 이상으로 할 것
4. 일제개방밸브의 설치위치는 제6조제4호의 기준에 따르고, 표지는 "일제개방밸브실"이라고 표시할 것<개정 2008.12.15>



//스프링클러설비의 화재안전기준(NFSC 103) 7조 (개방형스프링클러설비의 방수구역 및 일제개방밸브) 

Check(NFSC103_7){
KS
}

KS{
getResult(NFSC103_7_0_1)=True
getResult(NFSC103_7_0_2)=True
getResult(NFSC103_7_0_3)=True
getResult(NFSC103_7_0_4)=True
}


//스프링클러설비의 화재안전기준(NFSC 103) 7조 (개방형스프링클러설비의 방수구역 및 일제개방밸브) 1호

Check(NFSC103_7_0_1){
KS
}

KS{
Zone myZone{
isObjectProperty(Zone.isWaterProofingZone)=True
}

getObjectCount(myZonme.One.Floor)<2
}


//스프링클러설비의 화재안전기준(NFSC 103) 7조 (개방형스프링클러설비의 방수구역 및 일제개방밸브) 2호

Check(NFSC103_7_0_2){
KS
}

KS{
Zone myZone{
isObjectProperty(Zone.isWaterProofingZone)=True
}

Valve myValve{
isObjectProperty(Valve.isDelugeValve)=True
}
getObjectCount(myValve,myZone)>=1
}


//스프링클러설비의 화재안전기준(NFSC 103) 7조 (개방형스프링클러설비의 방수구역 및 일제개방밸브) 3호 NFSC103_7_0_3{ IF CS THEN KS1 ELSE KS2 } CS{ getObjectCount(myZone)>=2 } KS1{ getObjectCount(SprinklerSystem.Head, myZone.One)>=25 } KS2{ getObjectCount(SprinklerSystem.Head, myZone.One)<=50 }


//스프링클러설비의 화재안전기준(NFSC 103) 7조 (개방형스프링클러설비의 방수구역 및 일제개방밸브) 4호

Check(NFSC103_7_0_4){
KS
}

KS{
getResult(NFSC103_6_0_4)=True
}




73
스프링클러설비의 화재안전기준(NFSC 103) 제 9 조
제9조(음향장치 및 기동장치) ① 스프링클러설비의 음향장치 및 기동장치는 다음 각 호의 기준에 따라 설치하여야 한다.
3. 음향장치는 유수검지장치 및 일제개방밸브 등의 담당구역마다 설치하되 그 구역의 각 부분으로부터 하나의 음향장치까지의 수평거리는 25m 이하가 되도록 할 것<개정 2008.12.15>
4. 음향장치는 경종 또는 사이렌(전자식 사이렌을 포함한다)으로 하되, 주위의 소음 및 다른 용도의 경보와 구별이 가능한 음색으로 할 것. 이 경우 경종 또는 사이렌은 자동화재탐지설비·비상벨설비 또는 자동식사이렌설비의 음향장치와 겸용할 수 있다.
5. 주 음향장치는 수신기의 내부 또는 그 직근에 설치할 것.
③ 준비작동식유수검지장치 또는 일제개방밸브의 작동은 다음 각 호의 기준에 적합하여야 한다.<개정 2008.12.15>
나. 화재감지기를 「자동화재탐지설비의 화재안전기준(NFSC 203)」제7조제1항 단서의 각 호의 감지기로 설치한 때<개정 2013.6.10>
5. 화재감지기 회로에는 다음 각 목의 기준에 따른 발신기를 설치할 것. 다만, 자동화재탐지설비의 발신기가 설치된 경우에는 그러하지 아니하다.<개정 2008.12.15>
가. 조작이 쉬운 장소에 설치하고, 스위치는 바닥으로부터 0.8m 이상 1.5m 이하의 높이에 설치할 것
나. 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 발신기까지의 수평거리가 25m 이하가 되도록 할 것. 다만, 복도 또는 별도로 구획된 실로서 보행거리가 40m 이상일 경우에는 추가로 설치하여야 한다.



// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 1항

Check(NFSC103_9_1){
     KS
}
KS{
     getResult(NFSC103_9_1_3) = TRUE
     getResult(NFSC103_9_1_4) = TRUE
}


// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 1항 3호

Check(NFSC103_9_1_3){
     KS
}
KS{
     Zone myZone{
     isObjectProperty(Zone.isProtectionZone) = TRUE
     }
     isInstalled(AcousticSystem, myZone) = TRUE
     getElementDistance(myZone.Wall|myZone.Column, AcousticSystem.One) <= 25m
}


// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 1항 4호 Check(NFSC103_9_1_4){      KS } KS{      isInstalled(Alarm, SprinklerSystem) = TRUE OR isInstalled(Siren, SprinklerSystem) = TRUE }


//     스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 1항 5호
Check(NFSC103_9_1_5){
     KS
}

KS{
     isInstalled(AcousticSystem, Receiver, a, In) = TRUE
}


// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 3항

Check(NFSC103_9_3){
     IF CS THEN KS
}
CS{
     getObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator"
     OR isObjectProperty(Valve.isDelugeValve) = TRUE
}
KS{
     getResult(NFSC103_9_0_5) = TRUE
}


//     스프링클러설비의 화재안전기준(nfsc 103) 9조 (음향장치 및 기동장치) 3항 2호 나목
Check(NFSC103_9_3_2_2){
     KS
}

KS{
     getResult(NFSC203_7_1_1) = TRUE
     OR getResult(NFSC203_7_1_2) = TRUE
     OR getResult(NFSC203_7_1_3) = TRUE
     OR getResult(NFSC203_7_1_4) = TRUE
     OR getResult(NFSC203_7_1_5) = TRUE
     OR getResult(NFSC203_7_1_6) = TRUE
     OR getResult(NFSC203_7_1_7) = TRUE
     OR getResult(NFSC203_7_1_8) = TRUE
}


// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 3항 5호

Check(NFSC103_9_3_5){
     IF (!CS1 AND CS2) THEN KS
}
CS1{
     isInstalled(Transmitter, Building) = TRUE
     isObjectProperty(Transmitter.systemType) = "자동화재탐지설비"
}
CS2{
     isInstalled(Transmitter, FireDetector.Circuit) = TRUE
}
KS{
     getResult(NFSC103_9_3_5_가) = TRUE
     getResult(NFSC103_9_3_5_나) = TRUE
}


// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 3항 5호 가목 Check(NFSC103_9_3_5_가){      KS } KS{ isInstalled(Transmitter, Switch) = TRUE      getObjectVerticalDistance(Switch, FloorSlab) >= 0.8m      getObjectVerticalDistance(Switch, FloorSlab) <= 1.5m }


// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 3항 5호 나목 Check(NFSC103_9_3_5_나){      IF (CS1 THEN KS1) OR (CS2 THEN KS2) CS1{      getObjectDistance(Corridor | Space, Transmitter) < 40m } KS1{      isInstalled(Transmitter, SpecificFireFightingBuilding.Floor.One) = TRUE      getOjectCount(Transmitter) = 1      getElementDistance(SpecificFireFightingBuilding.Wall | SpecificFireFightingBuilding.Column, Transmitter) <= 25m } CS2{      getObjectDistance(Corridor | Space, Transmitter) >= 40m } KS2{      isInstalled(Transmitter, SpecificFireFightingBuilding.Floor.One) = TRUE      getOjectCount(Transmitter) >= 2      getElementDistance(SpecificFireFightingBuilding.Wall | SpecificFireFightingBuilding.Column, Transmitter) <= 25m }




74
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 4 조
제4조(유도등 및 유도표지의 종류) 특정소방대상물의 용도별로 설치하여야 할 유도등 및 유도표지는 다음 표에 따라 그에 적응하는 종류의 것으로 설치하여야 한다.<개정 2008.12.15, 2012.8.20>



// 유도등 및 유도표지의 화재안전기준(nfsc 303) 4조 (유도등 및 유도표지의 종류) 

Check(NFSC303_4){
KS
}

KS{
LeadingLight myLeadingLight1{
// isObejctProperty(LeadingLight.isForExit)=True, 대형
}

LeadingLight myLeadingLight2{
// isObejctProperty(LeadingLight.isForExit)=True , 중형
}

LeadingLight myLeadingLight3{
// isObejctProperty(LeadingLight.isForExit)=True, 소형
}


LeadingLight myLeadingLight4{
isObejctProperty(LeadingLight.isForPassage)=True
}

LeadingLight myLeadingLight5{
isObjectProperty(LeadingLight.isForSeat)=True
}

LeadingSign myLeadingSign1{

isObjectProperty(LeadingSign.isForExit)=True
}

LeadingSign myLeadingSign2{

isObjectProperty(LeadingSign.isForPassage)=True
}

IF getBuildingUsage()="PerformanceHall"
OR getBuildingUsage()="AssemblyHall"
OR getBuildingUsage()="Auditorium"
OR getBuildingUsage()="SportsFacility"
OR getBuildingUsage()="Tavern"
THEN
isExist(myLeadingLight1)=True
isExist(myLeadingLight4)=True
isExist(myLeadingLight5)=True

ELSE IF getBuildingUsage()="AmusementFacility"
OR getBuildingUsage()="CommercialFacility"
OR getBuildingUsage()="TransportationFacility"
OR getBuildingUsage()="TouristAccommodationBusiness"
OR getBuildingUsage()="MedicalFacility"
OR getBuildingUsage()="FuneralParlor"
OR getBuildingUsage()="FacilityForBroadcastingAndTelecommunication"
OR getBuildingUsage()="ExhibitionHall"
OR getBuildingUsage()="UndergroundShoppingCenter"
OR getBuildingUsage()="SubwayStation"
THEN isExist(myLeadingLight1)=True
isExist(myLeadingLight4)True

ELSE IF getBuildingUsage()="LodgingFacility"
OR getBuildingUsage()="Officetel"
// OR 지하층, 무창층 또는 층수가 11층 이상인 특정소방대상물
THEN isExist(myLeadingLight2)=True
isExist(myLeadingLight4)True


ELSE IF getBuildingUsage()="ClassINeighborhoodLivingFacility"
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility"
OR getBuildingUsage()="FacilitiesForTheAgedAndChildren"
OR getBuildingUsage()="BusinessFacility"
OR getBuildingUsage()="FacilityForPowerGeneration"
OR getBuildingUsage()="ReligiousFacility"
OR getBuildingUsage()="EducationAndResearchFacility"
OR getBuildingUsage()="Trainingfacility"
OR getBuildingUsage()="Factory"
OR getBuildingUsage()="Warehouse"
OR getBuildingUsage()="CorrectionalFacilityAndMilitaryInstallation"
OR getBuildingUsage()="Dormitory"
OR getBuildingUsage()="AutomobileRepairShop"
OR getBuildingUsage()="DrivingSchool"
OR getBuildingUsage()="RepairingSchool"
OR getBuildingUsage()="PubliclyUsedEstablishment"
OR getBuildingUsage()="ComplexBuilding"
OR getBuildingUsage()="ApartmentHouse"

THEN isExist(myLeadingLight3)=True
isExist(myLeadingLight4)True


ELSE THEN isExist(myLeadingSign1)=True
isExist(myLeadingSign2)True
END IF







}




75
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 5 조
제5조(피난구유도등) ①피난구유도등은 다음 각 호의 장소에 설치하여야 한다. <개정 2012.8.20>
1. 옥내로부터 직접 지상으로 통하는 출입구 및 그 부속실의 출입구
2. 직통계단·직통계단의 계단실 및 그 부속실의 출입구
3. 제1호와 제2호에 따른 출입구에 이르는 복도 또는 통로로 통하는 출입구
②피난구유도등은 피난구의 바닥으로부터 높이 1.5m 이상의 곳에 설치하여야 한다.



//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조 (피난구요도등) 1항

Check(NFSC303_5_1){
KS
}

KS{
getResult(NFSC303_5_1_1)=True
getResult(NFSC303_5_1_2)=True
getResult(NFSC303_5_1_3)=True
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조 (피난구유도등) 1항 1호

Check(NFSC303_5_1_1){
KS
}

KS{
Door myDoor {

isObjectProperty(Door.isEntrance)=True
isDirectlyAccessible(Door, Ground)=True
}

LeadingLight myLeadingLight{
isObjectProperty(LeadingLight.isForExit)=True
}

isEnstalled(myLeadingLight,myDoor)=True

IF hasObject(AncillaryRoom, myDoor)=True
THEN isEnstalled(myLeadingLight, AncillaryRoom )=True
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조 (피난구유도등) 1항 2호

Check(NFSC303_5_1_2){
KS
}

KS{
Stair myStair {

isObjectProperty(Stair.isDirect)=True
}

Door myDoor{
isObjectProperty(Door.isEntrance)=True
OR hasObject( myStair, Door)=True
OR hasObject(myStair.Space,Door)=True
OR hasObject(myStair.AncillaryRoom,Door)=True

}

LeadingLight myLight{
isObjectProperty(LeadingLight.isForExit)=True
}

isEnstalled(myLight,myDoor)=True


}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조(피란구유도등) 1항 3호

Check(NFSC303){
KS
}
Door myDoor{
isObjectProperty(Door.isEntrance)=True
(OR hasObject( myStair, Door)=True
OR hasObject(myStair.Space,Door)=True
OR hasObject(myStair.AncillaryRoom,Door)=True)

OR isDirectlyAccessible(Door, Ground)=True
}
LeadingLight myLeadingLight{
isObjectProperty(LeadingLight.isForExit)=True
}

Passage myPassage{
isAccessible(myDoor, Passage)=True
}
Corridor myCorriodr{
isAccessible(myDoor, Corridor)=True
}

Door myDoor2{
isObjectProperty(Door.isEntrance)=True
isAccessible(myPassage, Door)=True
or isAccessible(myCorridor, Door)=True
}

isInstalled(myLeadingLight, myDoor2)=True

}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조 (피난구유도등) 2항

Check(NFSC303_5_2){
KS
}

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

getObjectVerticleDistance(myLeadingLight, myOpening.FloorSlab)>=1.5 m
}




76
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 6 조
제6조(통로유도등 설치기준) ①통로유도등은 특정소방대상물의 각 거실과 그로부터 지상에 이르는 복도 또는 계단의 통로에 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 복도통로유도등은 다음 각 목의 기준에 따라 설치할 것
가. 복도에 설치할 것
다. 바닥으로부터 높이 1m 이하의 위치에 설치할 것. 다만, 지하층 또는 무창층의 용도가 도매시장·소매시장·여객자동차터미널·지하역사 또는 지하상가인 경우에는 복도·통로 중앙부분의 바닥에 설치하여야 한다.
2. 거실통로유도등은 다음 각 목의 기준에 따라 설치할 것
가. 거실의 통로에 설치할 것. 다만, 거실의 통로가 벽체 등으로 구획된 경우에는 복도통로유도등을 설치하여야 한다.
다. 바닥으로부터 높이 1.5m 이상의 위치에 설치할 것. 다만, 거실통로에 기둥이 설치된 경우에는 기둥부분의 바닥으로부터 높이 1.5m 이하의 위치에 설치할 수 있다.<개정 2008.12.15>
3. 계단통로유도등은 다음 각 목의 기준에 따라 설치할 것
가. 각층의 경사로 참 또는 계단참마다(1개층에 경사로 참 또는 계단참이 2 이상 있는 경우에는 2개의 계단참마다)설치할 것
나. 바닥으로부터 높이 1m 이하의 위치에 설치할 것
나. 구부러진 모퉁이 및 보행거리 20m마다 설치할 것
나. 구부러진 모퉁이 및 보행거리 20m마다 설치할 것



//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항

Check(NFSC303_6_1){
KS
}


KS{
Corridor myCorridor{
isGothrough(SpecificFireFightingBuilding.Room, Corridor, Ground)=True
}

Stair myStair{
isGothrough(SpecificFireFightingBuilding.Room, Stair, Ground)=True
}


hasObject(myCorridor, LeadingLight.isForPassage)=True
hasObject(myStair, LeadingLight.isForPassage)=True
getResult(NFSC303_6_1_1)=True
getResult(NFSC303_6_1_2)=True
getResult(NFSC303_6_1_3)=True
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항1호

Check(NFSC303_6_1_1){
KS
}

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

}



//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 1호 가목

Check(NFSC303_6_1_1_가){
KS
}

KS{
isinstalled(Corridor, LeadingLightForCorridors)=True
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 1호 다목

Check(NFSC303_6_1_1_다){
KS
}

KS{
Floor myFloor{
getFloorNumber()<0
OR hasObject(Floor, Window)=False
}

IF getFloorUsage(myFloor)="WholesaleMarket"
OR getFloorUsage(myFloor)="RetailMarket"
OR getFloorUsage(myFloor)="PassengerVehicleTransportTerminal"
OR getFloorUsage(myFloor)="UndergroundStation"
OR getFloorUsage(myFloor)="UndergroundShoppingCenter"
THEN // 복도·통로 중앙부분의 바닥에 설치하여야 한다.
ELSE THEN
getObjectVerticalDistance(FloorSlab, LeadingLightForCorridors )<= 1 m
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 2호

Check(NFSC303_6_1_2){
KS
}

KS{
getResult(NFSC303_6_1_2_가)=True
getResult(NFSC303_6_1_2_나)=True
getResult(NFSC303_6_1_2_다)=True
}


// 유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 2호 가목

Check(NFSC303_6_1_2_가){
KS
}

KS{
IF // isPartitioned(Room.Passage, c)=True type c: 벽체 등으로 구획
THEN isInstalled(Room.Passage,LeadingLightForCorridors)=True
ELSE THEN isInstalled(Room.Passage, LeadingLightForLivingRoom )=True
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 2호 다목

Check(NFSC303_6_1_2_다){
KS
}

KS{

IF hasObject(Room.Passage, Column)=False

THEN getObjectVerticalDistance(FloorSlab,LeadingLightForLivingRoom )>=1.5
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 3호

Check(NFSC303_6_1_3){
KS
}

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


//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 3호 가목

Check (NFSC303_6_1_3_가){
KS
}

KS{
IF // getObjectCount(RampLanding, "1개층" )>=2
// OR getObjectCount(StairLanding, "1개층" )>=2
THEN // isInstalled(StairLanding, LeadingLightForStairs , "2개마다")=True

ELSE THEN isInstalled(RampLanding, LeadingLightForStairs)=True
OR isInstalled(StairLanding, LeadingLightForStairs)=True
END IF

}




//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 3호 나목

Check(NFSC303_6_1_3_나){
KS
}

KS{
getObjectVerticalDistance(FloorSlab, LeadingLightForStairs)=<=1 m
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 1호 나목

Check(NFSC303_6_1_1_나){
KS
}

KS{
isInstalled("구부러진 모퉁이", LeadingLightForCorridor)=True
// 20m마다 설치 , 함수 필요
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 2호 나목

Check(NFSC303_6_1_2_나){
KS
}

KS{
isInstalled("구부러진 모퉁이", LeadingLightForCorridor)=True
// 20m마다 설치 , 함수 필요
}




77
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 7 조
제7조(객석유도등 설치기준) ①객석유도등은 객석의 통로, 바닥 또는 벽에 설치하여야 한다.
②객석내의 통로가 경사로 또는 수평로로 되어 있는 부분은 다음의 식에 따라 산출한 수(소수점 이하의 수는 1로 본다)의 유도등을 설치하고, 그 조도는 통로바닥의 중심선 0.5m 높이에서 측정하여 0.2㏓ 이상이어야 한다. <개정 2012.8.20>
③객석내의 통로가 옥외 또는 이와 유사한 부분에 있는 경우에는 해당 통로 전체에 미칠 수 있는 수의 유도등을 설치하되, 그 조도는 통로바닥의 중심선 0.5m의 높이에서 측정하여 0.2㏓ 이상이 되어야 한다.<개정 2008.12.15, 2012.8.20>



//유도등 및 유도표지의 화재안전기준(nfsc 303) 7조 (객석유도등 설치기준) 1항

Check(NFSC303_7_1){
KS
}

LeadingLight myLight{
isObjectProperty(LeadingLight.isForSeat)=True
}

KS{
isInstalled(myLight, Passage)=True
(
isInstalled(myLight, FloorSlab)=True
OR isInstalled(myLight, Wall)=True
)
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 7조 (객석유도등 설치기준) 2항 Check(NFSC303_7_2){ IF CS THEN KS } CS{ Space mySpace{ Space.usage = "Auditorium" } isInstalled(Passage, mySpace) = TRUE isObjectProperty(Passage.isFlatWay) = TRUE OR isObjectProperty(Passage.isSlopeWay) = TRUE } KS{ LeadingLight myLeadingLight{ isObjectProperty(LeadingLight.isForSeat)=True } isExist(myLeadingLight)=True //LAP means Length of Auditorium passage LAP= getObjectLength(AuditoriumPassage) getObjectCount(myLeadingLight)>= LAP/4-1 // getSpaceIlluminance(AuditoriumPassage, "통로바닥의 중심선 0.5m 높이에서 측정")>0.2 lx , 측정 기준에 관한 파라미터 추가 필요 }


//유도등 및 유도표지의 화재안전기준(nfsc 303) 7조 (객석유도등 설치기준) 3항

Check(NFSC303_7_3){
IF CS THEN KS
}

CS{
isExternal(AuditoriumPassage)=True
}

KS{
getSpaceIlluminance(AuditoriumPassage, "통로바닥의 중심선 0.5m의 높이에서 측정")>0.2 lx
}




78
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 8 조
제8조(유도표지 설치기준) ①유도표지는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 계단에 설치하는 것을 제외하고는 각층마다 복도 및 통로의 각 부분으로부터 하나의 유도표지까지의 보행거리가 15m 이하가 되는 곳과 구부러진 모퉁이의 벽에 설치할 것
2. 피난구유도표지는 출입구 상단에 설치하고, 통로유도표지는 바닥으로부터 높이 1m 이하의 위치에 설치할 것<개정 2008.12.15>
②피난방향을 표시하는 통로유도등을 설치한 부분은 유도표지를 설치하지 아니할 수 있다. <개정 2012.8.20>



//유도등 및 유도표지의 화재안전기준(nfsc 303) 8조 (유도표지 설치기준) 1항 

Check(NFSC303_8_1){
IF !CS THEN KS
}


CS{
getResult(NFSC303_8_2)=True
}


KS{
getResult(NFSC303_8_1_1)=True
getResult(NFSC303_8_1_2)=True
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 8조 (유도표지 설치기준) 1항 1호

Check(NFSC303_8_1_1){
IF ! CS THEN KS
}

CS{
isInstalled(LeadingSign,Stair)=True
}

KS{
getObjectDistance(Floor.One.Corridor.Wall, LeadingSign)<=15 m
getObjectDistance(Floor.One.Corridor.Column, LeadingSign)<=15 m
getObjectDistance(Floor.One.Passage.Wall, LeadingSign)<=15 m
getObjectDistance(Floor.One.Passage.Column, LeadingSign)<=15 m
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 8조 (유도표지 설치기준) 1항 2호

Check(NFSC303_8_1_2){
KS
}

KS{
getObjectVerticleDistance(LeadingSign, FloorSlab)<=1 m
}


//유도등 및 유도표지의 화재안전기준(nfsc 303) 8조 (유도표지 설치기준) 2항

Check(NFSC303_8_2){
KS
}


KS{

LeadingLight myLeadingLight{
isObjectProperty(LeadingLight.isForPassage)=True
}

isExist(myLeadingLight)=True
}






79
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 8조의2 조
②광원점등방식의 피난유도선은 다음 각 호의 기준에 따라 설치하여야 한다.
1. 구획된 각 실로부터 주출입구 또는 비상구까지 설치할 것
2. 피난유도 표시부는 바닥으로부터 높이 1m이하의 위치 또는 바닥 면에 설치할 것
3. 피난유도 표시부는 50㎝이내의 간격으로 연속되도록 설치하되 실내장식물 등으로 설치가 곤란할 경우 1m 이내로 설치할 것
7. 피난유도 제어부는 조작 및 관리가 용이하도록 바닥으로부터 0.8m이상1.5m이하의 높이에 설치할 것



//     유도등 및 유도표지의 화재안전기준(nfsc 303)  8조의2 (피난유도선 설치기준) 2항 

Check(NFSC303_8-2_2){

     IF CS THEN KS

}



CS{

     isObjectProperty(LeadingLine.isLuminousTypeLeadingLine) = TRUE

}



KS{

     getResult(NFSC303_8-2_2_1) = TRUE

     OR getResult(NFSC303_8-2_2_2) = TRUE

     OR getResult(NFSC303_8-2_2_3) = TRUE

     OR getResult(NFSC303_8-2_2_7) = TRUE

}


//     유도등 및 유도표지의 화재안전기준(nfsc 303) 8조의2 (피난유도선 설치기준) 2항 1호 Check(NFSC303_8-2_2_1){      KS } KS{            Door myDoor{           isObjectProperty(Door.isEntrance) = TRUE           getObjectProperty(Door.functionType) = "Main"      }      Door myDoor2{           getObjectProperty(Door.functionType) = "Emergency"      }      getObjectCountInInterval(LeadingLine, Room, myDOor) >=1      OR getObjectCountInInterval(LeadingLine, Rom, myDoor2) >=1 }


//     유도등 및 유도표지의 화재안전기준(nfsc 303) 8조의2 (피난유도선 설치기준) 2항 2호
Check(NFSC303_8-2_2_2){
     KS
}

KS{
     getObjectVerticalLocation(피난유도 표시부, Ground) <= 1m
     OR isInstalled(피난유도 표시부, FloorSurface) = TRUE
}




//     유도등 및 유도표지의 화재안전기준(nfsc 303) 8조의2 (피난유도선 설치기준) 2항 3호 Check(NFSC303_8-2_2_3){      KS } KS{      getObjectInterval(LeadingSignPart) < 50cm }


//     유도등 및 유도표지의 화재안전기준(nfsc 303) 8조의2 (피난유도선 설치기준) 2항 7호 Check(NFSC303_8-2_2_7){      KS } KS{      getObjectVerticalLocation(LeadingControlPart, Ground) >= 0.8m      getObjectVerticalLocation(LeadingControlPart, Ground) <= 1.5m }




  ◁prev 1   2      
 

Related Sites

국토부 BIM과제-1st  |   Ministry of Land, Infrasrtucture and Transport   |   Korea Agency for Infrastructure Technology Advancement  |   Space and Design IT Lab   |   Yonsei University
This is Design IT Lab server's restricted area. Authorized users could access this website.