Ministry of Land, Infrasrtucture and Transport | Korea Agency for Infrastructure Technology Advancement | Space and Design IT Lab | Hanyang University
Open BIM based Technological Environment for Building Design Quality Enhancement
1-2. 설계품질검증 자동화를 위한 각종 법규 및 제기준의 체계화된 논리규칙 데이터베이스 구축 - 건축물 설계품질 혁신을 위한 개방형 BIM 기술 환경 구축 | 국토교통부
  Home Welcome to BIM Project Website - Hanyang University
PAGE MENU   MainPage
전체법규 - 법규데이터베이스
- 대한민국 전체 법규 목록
- 설계품질검토 대상 관련법규
대상법규 - 문장 논리규칙체계화
- 조항단위 논리규칙체계
- 문장단위 논리규칙체계
주어부 - 객체.속성 데이터베이스
- 법규로부터의 객체.속성 분류
- 명칭DB: 객체 | 객체및속성
서술부 - 함수 데이터베이스
- 논리규칙화 함수 분류
- 논리규칙화 함수 DB
관계부 - 문장 내.외 관계논리
- 문장 내.외 관계유형분류
- 법규조항관계도:
1차년도 | 2차년도 | 3차년도
- 문장 내.외관계 논리체계화
문장단위 | 체크리스트 단위
KBIMCode 데이터베이스
- KBIMCode Lang. Definition
- KBIMCode Editor
- KBimCode Database:
문장단위 | 조항단위
- KBimLogic Applications
 
     HOME
설계품질검토용 건축법 및 관련법규 - KBIMCode (조항단위)
  ◁prev 1   2      
2 / 2 page Total 176 records    신규입력    |    엑셀저장
Select
ALL
None
#
ID
법규 및 조항 KBimCode 변환
1
다중이용업소의 안전관리에 관한 특별법 시행령 제 2 조
(3) 하나의 건축물에 제1호, 제2호, 제4호부터 제7호까지, 제7호의2부터 제7호의5까지 및 제8호의 다중이용업 중 어느 하나 이상의 다중이용업과 학원이 함께 있는 경우
4. 목욕장업으로서 다음 각 목에 해당하는 것
가. 하나의 영업장에서 「공중위생관리법」 제2조제1항제3호가목에 따른 목욕장업 중 맥반석이나 대리석 등 돌을 가열하여 발생하는 열기나 원적외선 등을 이용하여 땀을 배출하게 할 수 있는 시설을 갖춘 것으로서 수용인원(물로 목욕을 할 수 있는 시설부분의 수용인원은 제외한다)이 100명 이상인 것
나. 「공중위생관리법」 제2조제1항제3호나목의 시설을 갖춘 목욕장업
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항에 따른 안마시술소
8. 법 제15조제2항에 따른 화재위험평가결과 위험유발지수가 제11조제1항에 해당하거나 화재발생시 인명피해가 발생할 우려가 높은 불특정다수인이 출입하는 영업으로서 국민안전처장관이 관계 중앙행정기관의 장과 협의하여 총리령으로 정하는 영업
제2조의2(안전시설등) 법 제2조제1항제2호에서 "대통령령으로 정하는 것"이란 별표 1의 시설을 말한다.
[본조신설 2014.12.23.]
제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호에 따른 식품접객업 중 다음 각 목의 어느 하나에 해당하는 것
가. 휴게음식점영업ㆍ제과점영업 또는 일반음식점영업으로서 영업장으로 사용하는 바닥면적(「건축법 시행령」 제119조제1항제3호에 따라 산정한 면적을 말한다. 이하 같다)의 합계가 100제곱미터(영업장이 지하층에 설치된 경우에는 그 영업장의 바닥면적 합계가 66제곱미터) 이상인 것. 다만, 영업장(내부계단으로 연결된 복층구조의 영업장을 제외한다)이 지상 1층 또는 지상과 직접 접하는 층에 설치되고 그 영업장의 주된 출입구가 건축물 외부의 지면과 직접 연결되는 곳에서 하는 영업을 제외한다.
나. 단란주점영업과 유흥주점영업
2. 「영화 및 비디오물의 진흥에 관한 법률」 제2조제10호, 같은 조 제16호가목ㆍ나목 및 라목에 따른 영화상영관ㆍ비디오물감상실업ㆍ비디오물소극장업 및 복합영상물제공업
3. 「학원의 설립ㆍ운영 및 과외교습에 관한 법률」 제2조제1호에 따른 학원(이하 "학원"이라 한다)으로서 다음 각 목의 어느 하나에 해당하는 것
가. 「소방시설 설치유지 및 안전관리에 관한 법률 시행령」 별표 4에 따라 산정된 수용인원(이하 "수용인원"이라 한다)이 300명 이상인 것
나. 수용인원 100명 이상 300명 미만으로서 다음의 어느 하나에 해당하는 것. 다만, 학원으로 사용하는 부분과 다른 용도로 사용하는 부분(학원의 운영권자를 달리하는 학원과 학원을 포함한다)이 「건축법 시행령」 제46조에 따른 방화구획으로 나누어진 경우는 제외한다.
(1) 하나의 건축물에 학원과 기숙사가 함께 있는 학원
(2) 하나의 건축물에 학원이 둘 이상 있는 경우로서 학원의 수용인원이 300명 이상인 학원



//다중이용업소의 안전관리에 관한 특별법 시행령 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

}









}


//다중이용업소의 안전관리에 관한 특별법 시행령 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
소방시설 설치ㆍ유지 및 안전관리에 관한 법률 제 11 조

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



//  소방시설 설치ㆍ유지 및 안전관리에 관한 법률 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
}




3
소방시설 설치ㆍ유지 및 안전관리에 관한 법률 제 8 조

제8조(주택에 설치하는 소방시설) ① 다음 각 호의 주택의 소유자는 소방시설 중 소화기구 및 단독경보형감지기를 설치하여야 한다.
1.「건축법」 제2조제2항제1호의 단독주택
2.「건축법」 제2조제2항제2호의 공동주택(아파트 및 기숙사는 제외한다)
② 국가 및 지방자치단체는 제1항의 소화기구와 단독경보형감지기의 설치 및 국민의 자율적인 안전관리를 촉진하기 위하여 필요한 시책을 마련하여야 한다.
③ 제1항의 소화기구 및 단독경보형감지기 등 소방시설의 설치기준에 관한 사항은 특별시·광역시·도 또는 특별자치도의 조례로 정한다.
[본조신설 2011.8.4.]



//     소방시설 설치ㆍ유지 및 안전관리에 관한 법률 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"
}




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



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

KS{
     getResult(EDIMSFA_*_6) = TRUE
}




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



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

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




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




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


Check(ERCDAPA_2_1){
KS
}

KS{
getResult(ERCDAPA_*_1)=TRUE
}




7
장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행규칙 제 별표1 조
1. 장애인등의 통행이 가능한 접근로 가. 유효폭 및 활동공간 (1) 휠체어사용자가 통행할 수 있도록 접근로의 유효폭은 1.2미터 이상으로 하여야 한다. (2) 휠체어사용자가 다른 휠체어 또는 유모차 등과 교행할 수 있도록 50미터마다 1.5미터×1.5미터 이상의 교행구역을 설치할 수 있다. (3) 경사진 접근로가 연속될 경우에는 휠체어사용자가 휴식할 수 있도록 30미터마다 1.5미터×1.5미터 이상의 수평면으로 된 참을 설치할 수 있다. 나. 기울기 등 (1) 접근로의 기울기는 18분의 1이하로 하여야 한다. 다만, 지형상 곤란한 경우에는 12분의 1까지 완화할 수 있다. (2) 대지 내를 연결하는 주접근로에 단차가 있을 경우 그 높이 차이는 2센티미터 이하로 하여야 한다. 다. 경계 (1) 접근로와 차도의 경계부분에는 연석·울타리 기타 차도와 분리할 수 있는 공작물을 설치하여야 한다. 다만, 차도와 구별하기 위한 공작물을 설치하기 곤란한 경우에는 시각장애인이 감지할 수 있도록 바닥재의 질감을 달리하여야 한다. (2) 연석의 높이는 6센티미터 이상 15센티미터 이하로 할 수 있으며, 색상은 접근로의 바닥재색상과 달리 설치할 수 있다. 라. 재질과 마감 (1) 접근로의 바닥표면은 장애인 등이 넘어지지 아니하도록 잘 미끄러지지 아니하는 재질로 평탄하게 마감하여야 한다. (2) 블록 등으로 접근로를 포장하는 경우에는 이음새의 틈이 벌어지지 아니하도록 하고, 면이 평탄하게 시공하여야 한다. (3) 장애인 등이 빠질 위험이 있는 곳에는 덮개를 설치하되, 그 표면은 접근로와 동일한 높이가 되도록 하고 덮개에 격자구멍 또는 틈새가 있는 경우에는 그 간격이 2센티미터 이하가 되도록 하여야 한다. 마. 보행장애물 (1) 접근로에 가로등·전주·간판 등을 설치하는 경우에는 장애인 등의 통행에 지장을 주지 아니하도록 설치하여야 한다. (2) 가로수는 지면에서 2.1미터까지 가지치기를 하여야 한다. 2. 삭제 <2007.3.9> 3. 삭제 <2007.3.9> 4. 장애인전용주차구역 가. 설치장소 (1) 건축물의 부설주차장과 영 별표 1 제2호하목(1)의 주차장의 경우 장애인전용주차구역은 장애인 등의 출입이 가능한 건축물의 출입구 또는 장애인용 승강설비와 가장 가까운 장소에 설치하여야 한다. (2) 장애인전용주차구역에서 건축물의 출입구 또는 장애인용 승강설비에 이르는 통로는 장애인이 통행할 수 있도록 가급적 높이차이를 없애고, 그 유효폭은 1.2미터 이상으로 하여야 한다. 나. 주차공간 (1) 장애인전용주차구역의 크기는 주차대수 1대에 대하여 폭 3.3미터 이상, 길이 5미터 이상으로 하여야 한다. 다만, 평행주차형식인 경우에는 주차대수 1대에 대하여 폭 2미터 이상, 길이 6미터 이상으로 하여야 한다. (2) 주차공간의 바닥면은 장애인 등의 승하차에 지장을 주는 높이차이가 없어야 하며, 기울기는 50분의 1 이하로 할 수 있다. (3) 주차공간의 바닥표면은 미끄러지지 아니하는 재질로 평탄하게 마감하여야 한다. 다. 유도 및 표시 (1) 장애인전용주차구역의 바닥면에는 아래의 그림과 같이 장애인전용표시를 하여야 하며, 주차구역선 또는 바닥면은 운전자가 식별하기 쉬운 색상으로 표시하여야 한다. <그림-ERCDAPA_*_1_F1> (2) 장애인전용주차구역 안내표지를 주차장 안의 식별하기 쉬운 장소에 부착하거나 설치하여야 한다. 이 경우 안내표지의 규격과 안내표지에 기재될 내용은 다음과 같다. (가) 장애인전용주차구역 안내표지의 규격은 가로 0.7미터, 세로 0.6미터로 하고, 지면에서 표지판까지의 높이는 1.5미터로 한다. (나) 안내표지에 기재될 내용은 다음과 같다. 장애인전용주차구역 ○ 장애인자동차표지가 부착된 자동차에 보행상장애가 있는 자가 탑승한 경우에만 주차할 수 있습니다. ○ 이를 위반한 자에 대하여는 10만원 이하의 과태료를 부과합니다. ○ 위반사항을 발견하신 분은 신고전화번호 ○○○ - ○○○○로 신고해주시기 바랍니다. 5. 높이차이가 제거된 건축물 출입구 가. 턱낮추기 건축물의 주출입구와 통로의 높이차이는 2센티미터 이하가 되도록 설치하여야 한다. 나. 휠체어리프트 또는 경사로 설치 휠체어리프트 및 경사로에 관한 세부기준은 제11호 및 제12호의 휠체어리프트 및 경사로에 관한 규정을 각각 적용한다. 6. 장애인 등의 출입이 가능한 출입구(문) 가. 유효폭 및 활동공간 (1) 출입구(문)은 아래의 그림과 같이 그 통과유효폭을 0.8미터 이상으로 하여야 하며, 출입구(문)의 전면 유효거리는 1.2미터 이상으로 하여야 한다. 다만, 연속된 출입문의 경우 문의 개폐에 소요되는 공간은 유효거리에 포함하지 아니한다. <그림-ERCDAPA_*_1_F2> (2) 자동문이 아닌 경우에는 아래의 그림과 같이 출입문옆에 0.6미터 이상의 활동공간을 확보할 수 있다. <그림--ERCDAPA_*_1_F3> (3) 출입구의 바닥면에는 문턱이나 높이차이를 두어서는 아니된다. 나. 문의 형태 (1) 출입문은 회전문을 제외한 다른 형태의 문을 설치하여야 한다. (2) 미닫이문은 가벼운 재질로 하며, 턱이 있는 문지방이나 홈을 설치하여서는 아니된다. (3) 여닫이문에 도어체크를 설치하는 경우에는 문이 닫히는 시간이 3초 이상 충분하게 확보되도록 하여야 한다. (4) 자동문은 휠체어사용자의 통행을 고려하여 문의 개방시간이 충분하게 확보되도록 설치하여야 하며, 개폐기의 작동장치는 가급적 감지범위를 넓게 하여야 한다. 다. 손잡이 및 점자표지판 (1) 출입문의 손잡이는 중앙지점이 바닥면으로부터 0.8미터와 0.9미터사이에 위치하도록 설치하여야 하며, 그 형태는 레버형이나 수평 또는 수직막대형으로 할 수 있다. (2) 건축물안의 공중의 이용을 주목적으로 하는 사무실 등의 출입문옆 벽면의 1.5미터 높이에는 방이름을 표기한 점자표지판을 부착하여야 한다. 라. 기타 설비 (1) 건축물 주출입구의 0.3미터 전면에는 점형블록을 설치하거나 시각장애인이 감지할 수 있도록 바닥재의 질감 등을 달리하여야 한다. (2) 건축물의 주출입문이 자동문인 경우에는 문이 자동으로 작동되지 아니할 경우에 대비하여 시설관리자 등을 호출할 수 있는 벨을 자동문옆에 설치할 수 있다. 7. 장애인 등의 통행이 가능한 복도 및 통로 가. 유효폭 복도의 유효폭은 1.2미터 이상으로 하되, 복도의 양옆에 거실이 있는 경우에는 1.5미터 이상으로 할 수 있다. 나. 바닥 (1) 복도의 바닥면에는 높이차이를 두어서는 아니된다. 다만, 부득이한 사정으로 높이차이를 두는 경우에는 경사로를 설치하여야 한다. (2) 바닥표면은 미끄러지지 아니하는 재질로 평탄하게 마감하여야 하며, 넘어졌을 경우 가급적 충격이 적은 재료를 사용하여야 한다. (3) 삭제 <2007.3.9> 다. 손잡이 (1) 장애인전용시설의 복도측면에는 손잡이를 연속하여 설치하여야 한다. 다만, 방화문 등의 설치로 손잡이를 연속하여 설치할 수 없는 경우에는 방화문 등의 설치에 소요되는 부분에 한하여 손잡이를 설치하지 아니할 수 있다. (2) 손잡이의 높이는 아래의 그림과 같이 바닥면으로부터 0.8미터 이상 0.9미터 이하로 하여야 하며, 2중으로 설치하는 경우에는 윗쪽 손잡이는 0.85미터 내외, 아랫쪽 손잡이는 0.65미터 내외로 하여야 한다. (3) 손잡이의 지름은 아래의 그림과 같이 3.2센티미터 이상 3.8센티미터 이하로 하여야 한다. (4) 손잡이를 벽에 설치하는 경우 벽과 손잡이의 간격은 5센티미터 내외로 하여야 한다. (5) 손잡이의 양끝부분 및 굴절부분에는 점자표지판을 부착하여야 한다. <그림-ERCDAPA_*_1_F4> 라. 보행장애물 (1) 통로의 바닥면으로부터 높이 0.6미터에서 2.1미터 이내의 벽면으로부터 돌출된 물체의 돌출폭은 0.1미터 이하로 할 수 있다. (2) 통로의 바닥면으로부터 높이 0.6미터에서 2.1미터 이내의 독립기둥이나 받침대에 부착된 설치물의 돌출폭은 0.3미터 이하로 할 수 있다. (3) 통로상부는 바닥면으로부터 2.1미터 이상의 유효높이를 확보하여야 한다. 다만, 유효높이 2.1미터 이내에 장애물이 있는 경우에는 바닥면으로부터 높이 0.6미터 이하에 접근방지용난간 또는 보호벽을 설치하여야 한다. <그림-ERCDAPA_*_1_F5> 마. 안전성 확보 (1) 휠체어사용자의 안전을 위하여 복도의 벽면에는 바닥면으로부터 0.15미터에서 0.35미터까지 킥플레이트를 설치할 수 있다. (2) 복도의 모서리 부분은 둥글게 마감할 수 있다. 8. 장애인 등의 통행이 가능한 계단 가. 계단의 형태 (1) 계단은 직선 또는 꺾임형태로 설치할 수 있다. (2) 바닥면으로부터 높이 1.8미터 이내마다 휴식을 할 수 있도록 수평면으로된 참을 설치할 수 있다. 나. 유효폭 계단 및 참의 유효폭은 1.2미터 이상으로 하여야 한다. 다만, 건축물의 옥외피난계단은 0.9미터 이상으로 할 수 있다. 다. 디딤판과 챌면 (1) 계단에는 챌면을 반드시 설치하여야 한다. (2) 디딤판의 너비는 0.28미터 이상, 챌면의 높이는 0.18미터 이하로 하되, 동일한 계단(참을 설치하는 경우에는 참까지의 계단을 말한다)에서 디딤판의 너비와 챌면의 높이는 균일하게 하여야 한다. (3) 디딤판의 끝부분에 아래의 그림과 같이 발끝이나 목발의 끝이 걸리지 아니하도록 챌면의 기울기는 디딤판의 수평면으로부터 60도 이상으로 하여야 하며, 계단코는 3센티미터 이상 돌출하여서는 아니된다. <그림-ERCDAPA_*_1_F6> 라. 손잡이 및 점자표지판 (1) 계단의 측면에는 손잡이를 연속하여 설치하여야 한다. 다만, 방화문 등의 설치로 손잡이를 연속하여 설치할 수 없는 경우에는 방화문 등의 설치에 소요되는 부분에 한하여 손잡이를 설치하지 아니할 수 있다. (2) 경사면에 설치된 손잡이의 끝부분에는 0.3미터 이상의 수평손잡이를 설치하여야 한다. (3) 손잡이의 양끝부분 및 굴절부분에는 층수·위치 등을 나타내는 점자표지판을 부착하여야 한다. (4) 손잡이에 관한 기타 세부기준은 제7호의 복도의 손잡이에 관한 규정을 적용한다. 마. 재질과 마감 (1) 계단의 바닥표면은 미끄러지지 아니하는 재질로 평탄하게 마감할 수 있다. (2) 계단코에는 줄눈넣기를 하거나 경질고무류 등의 미끄럼방지재로 마감하여야 한다. 다만, 바닥표면 전체를 미끄러지지 아니하는 재질로 마감한 경우에는 그러하지 아니하다. (3) 계단이 시작되는 지점과 끝나는 지점의 0.3미터 전면에는 계단의 폭만큼 점형블록을 설치하거나 시각장애인이 감지할 수 있도록 바닥재의 질감 등을 달리하여야 한다. 바. 기타 설비 (1) 계단의 측면에 난간을 설치하는 경우에는 난간하부에 바닥면으로부터 높이 2센티미터 이상의 추락방지턱을 설치할 수 있다. (2) 계단코의 색상은 계단의 바닥재색상과 달리 할 수 있다. 9. 장애인용 승강기 가. 설치장소 및 활동공간 (1) 장애인용 승강기는 장애인 등의 접근이 가능한 통로에 연결하여 설치하되, 가급적 건축물 출입구와 가까운 위치에 설치하여야 한다. (2) 승강기의 전면에는 1.4미터×1.4미터 이상의 활동공간을 확보하여야 한다. (3) 승강장바닥과 승강기바닥의 틈은 3센티미터 이하로 하여야 한다. 나. 크기 (1) 승강기내부의 유효바닥면적은 폭 1.1미터 이상, 깊이 1.35미터 이상으로 하여야 한다. 다만, 신축하는 건물의 경우에는 폭을 1.6미터 이상으로 하여야 한다. (2) 출입문의 통과유효폭은 0.8미터 이상으로 하되, 신축한 건물의 경우에는 출입문의 통과유효폭을 0.9미터 이상으로 할 수 있다. 다. 이용자 조작설비 (1) 호출버튼·조작반·통화장치 등 승강기의 안팎에 설치되는 모든 스위치의 높이는 바닥면으로부터 0.8미터 이상 1.2미터 이하로 설치하여야 한다. 다만, 스위치는 수가 많아 1.2미터 이내에 설치하는 것이 곤란한 경우에는 1.4미터 이하까지 완화할 수 있다. (2) 승강기내부의 휠체어사용자용 조작반은 진입방향 우측면에 가로형으로 설치하고, 그 높이는 바닥면으로부터 0.85미터 내외로 하여야 한다. 다만, 승강기의 유효바닥면적이 1.4미터×1.4미터 이상인 경우에는 진입방향 좌측면에 설치할 수 있다. (3) 조작설비의 형태는 버튼식으로 하되, 시각장애인 등이 감지할 수 있도록 층수 등을 점자로 표시하여야 한다. (4) 조작반·통화장치 등에는 점자표지판을 부착하여야 한다. 라. 기타 설비 (1) 승강기의 내부에는 수평손잡이를 바닥에서 0.8미터 이상 0.9미터 이하의 위치에 연속하여 설치하거나, 수평손잡이 사이에 3센티미터 이내의 간격을 두고 측면과 후면에 각각 설치하되, 손잡이에 관한 세부기준은 제7호의 복도의 손잡이에 관한 규정을 적용한다. (2) 승강기 내부의 후면에는 내부에서 휠체어가 180도 회전이 불가능할 경우에는 휠체어가 후진하여 문의 개폐여부를 확인하거나 내릴 수 있도록 승강기 후면의 0.6미터 이상의 높이에 견고한 재질의 거울을 설치하여야 한다. (3) 각 층의 승강장에는 승강기의 도착여부를 표시하는 점멸등 및 음향신호장치를 설치하여야 하며, 승강기의 내부에는 도착층 및 운행상황을 표시하는 점멸등 및 음성신호장치를 설치하여야 한다. (4) 광감지식개폐장치를 설치하는 경우에는 바닥면으로부터 0.3미터에서 1.4미터 이내의 물체를 감지할 수 있도록 하여야 한다. (5) 사람이나 물체가 승강기문의 중간에 끼었을 경우 문의 작동이 자동적으로 멈추고 다시 열리는 되열림장치를 설치하여야 한다. (6) 각 층의 장애인용 승강기의 호출버튼의 0.3미터 전면에는 점형블록을 설치하거나 시각장애인이 감지할 수 있도록 바닥재의 질감 등을 달리하여야 한다. (7) 승강기내부의 상황을 외부에서 알 수 있도록 승강기전면의 일부에 유리를 사용할 수 있다. (8) 승강기 내부의 층수 선택버튼을 누르면 점멸등이 켜짐과 동시에 음성으로 선택된 층수를 안내해주어야 한다. 또한, 층수선택버튼이 토글방식인 경우에는 처음 눌렀을 때에는 점멸등이 켜지면서 선택한 층수에 대한 음성안내가, 두 번째 눌렀을 때에는 점멸등이 꺼지면서 취소라는 음성안내가 나오도록 하여야 한다. (9) 층별로 출입구가 다른 경우에는 반드시 음성으로 출입구의 방향을 알려주어야 한다. (10) 출입구, 승강대, 조작기의 조도는 저시력인 등 장애인의 안전을 위하여 최소 150LX 이상으로 하여야 한다. 10. 장애인용 에스컬레이터 가. 유효폭 및 속도 (1) 장애인용 에스컬레이터의 유효폭은 0.8미터 이상으로 하여야 한다. (2) 속도는 분당 30미터 이내로 하여야 한다. 나. 디딤판 (1) 휠체어사용자가 승·하강할 수 있도록 에스컬레이터의 디딤판은 3매 이상 수평상태로 이용할 수 있게 하여야 한다. (2) 디딤판 시작과 끝부분의 바닥판은 얇게 할 수 있다. 다. 손잡이 (1) 에스컬레이터의 양측면에는 디딤판과 같은 속도로 움직이는 이동손잡이를 설치하여야 한다. (2) 에스컬레이터의 양끝부분에는 수평이동손잡이를 1.2미터 이상 설치하여야 한다. (3) 수평이동손잡이 전면에는 1미터 이상의 수평고정손잡이를 설치할 수 있으며, 수평고정손잡이에는 층수·위치 등을 나타내는 점자표지판을 부착하여야 한다. 11. 휠체어리프트 가. 일반사항 (1) 계단 상부 및 하부 각 1개소에 탑승자 스스로 휠체어리프트를 사용할 수 있는 설비를 1.4미터×1.4미터 이상의 승강장을 갖추어야 한다. (2) 승강장에는 휠체어리프트사용자의 이용편의를 위하여 시설관리자 등을 호출할 수 있는 벨을 설치하고, 작동설명서를 부착하여야 한다. (3) 운행중 돌발상태가 발생하는 경우 비상정지시킬 수 있고, 과속을 제한할 수 있는 장치를 설치하여야 한다. 나. 경사형 휠체어리프트 (1) 경사형 휠체어리프트는 휠체어받침판의 유효면적을 폭 0.76미터 이상, 길이 1.05미터 이상으로 하여야 하며, 휠체어사용자가 탑승가능한 구조로 하여야 한다. (2) 운행중 휠체어가 구르거나 장애물과 접촉하는 경우 자동정지가 가능하도록 감지장치를 설치하여야 하며, 안전판이 열린 상태로 운행되지 아니하도록 내부잠금장치를 갖추어야 한다. (3) 휠체어리프트를 사용하지 아니할 때에는 지정장소에 접어서 보관할 수 있도록 하되, 벽면으로부터 0.6미터 이상 돌출되지 아니하도록 하여야 한다. 다. 수직형 휠체어리프트 수직형 휠체어리프트는 내부의 유효바닥면적을 폭 0.9미터 이상, 깊이 1.2미터 이상으로 하여야 한다. 12. 경사로 가. 유효폭 및 활동공간 (1) 경사로의 유효폭은 1.2미터 이상으로 하여야 한다. 다만, 건축물을 증축·개축·재축·이전·대수선 또는 용도변경하는 경우로서 1.2미터 이상의 유효폭을 확보하기 곤란한 때에는 0.9미터까지 완화할 수 있다. (2) 바닥면으로부터 높이 0.75미터 이내마다 휴식을 할 수 있도록 수평면으로된 참을 설치하여야 한다. (3) 경사로의 시작과 끝, 굴절부분 및 참에는 1.5미터×1.5미터 이상의 활동공간을 확보하여야 한다. 다만, 경사로가 직선인 경우에 참의 활동공간의 폭은 (1)에 따른 경사로의 유효폭과 같게 할 수 있다. 나. 기울기 (1) 경사로의 기울기는 12분의 1 이하로 하여야 한다. (2) 다음의 요건을 모두 충족하는 경우에는 경사로의 기울기를 8분의 1까지 완화할 수 있다. (가) 신축이 아닌 기존시설에 설치되는 경사로일 것 (나) 높이가 1미터 이하인 경사로로서 시설의 구조 등의 이유로 기울기를 12분의 1이하로 설치하기가 어려울 것 (다) 시설관리자 등으로부터 상시보조서비스가 제공될 것 다. 손잡이 (1) 경사로의 길이가 1.8미터 이상이거나 높이가 0.15미터 이상인 경우에는 양측면에 손잡이를 연속하여 설치하여야 한다. (2) 손잡이를 설치하는 경우에는 경사로의 시작과 끝부분에 수평손잡이를 0.3미터 이상 연장하여 설치하여야 한다. (3) 손잡이에 관한 기타 세부기준은 제7호의 복도의 손잡이에 관한 규정을 적용한다. 라. 재질과 마감 (1) 경사로의 바닥표면은 잘 미끄러지지 아니하는 재질로 평탄하게 마감하여야 한다. (2) 양측면에는 휠체어의 바퀴가 경사로 밖으로 미끄러져 나가지 아니하도록 5센티미터 이상의 추락방지턱 또는 측벽을 설치할 수 있다. (3) 휠체어의 벽면충돌에 따른 충격을 완화하기 위하여 벽에 매트를 부착할 수 있다. 마. 기타 시설 건물과 연결된 경사로를 외부에 설치하는 경우 햇볕, 눈, 비 등을 가릴 수 있도록 지붕과 차양을 설치할 수 있다. 13. 장애인등의 이용이 가능한 화장실 가. 일반사항 (1) 설치장소 (가) 장애인등의 이용이 가능한 화장실은 장애인 등의 접근이 가능한 통로에 연결하여 설치하여야 한다. (나) 장애인용 변기와 세면대는 출입구(문)와 가까운 위치에 설치하여야 한다. (2) 재질과 마감 (가) 화장실의 바닥면에는 높이차이를 두어서는 아니되며, 바닥표면은 물 에 젖어도 미끄러지지 아니하는 재질로 마감하여야 한다. (나) 화장실(장애인용 변기·세면대가 설치된 화장실이 일반 화장실과 별도로 설치된 경우에는 일반 화장실을 말한다)의 0.3미터 전면에는 점형블록을 설치하거나 시각장애인이 감지할 수 있도록 바닥재의 질감 등을 달리하여야 한다. (3) 기타 설비 (가) 화장실(장애인용 변기·세면대가 설치된 화장실이 일반 화장실과 별도로 설치된 경우에는 일반 화장실을 말한다)의 출입구(문)옆 벽면의 1.5미터 높이에는 남자용과 여자용을 구별할 수 있는 점자표지판을 부착하여야 한다. (나) 세정장치·수도꼭지 등은 광감지식·누름버튼식·레버식 등 사용하기 쉬운 형태로 설치하여야 한다. (다) 장애인복지시설은 시각장애인이 화장실(장애인용 변기·세면대가 설치된 화장실이 일반 화장실과 별도로 설치된 경우에는 일반 화장실을 말한다)의 위치를 쉽게 알 수 있도록 하기 위하여 안내표시와 함께 음성유도장치를 설치하여야 한다. 나. 대변기 (1) 활동공간 (가) 건물을 신축하는 경우에는 대변기의 유효바닥면적이 폭 1.4미터 이상, 깊이 1.8미터 이상이 되도록 설치하여야 하며, 대변기의 좌측 또는 우측에는 휠체어의 측면접근을 위하여 유효폭 0.75미터 이상의 활동공간을 확보하여야 한다. 이 경우 대변기의 전면에는 휠체어가 회전할 수 있도록 1.4미터×1.4미터 이상의 활동공간을 확보할 수 있다. (나) 신축이 아닌 기존시설에 설치하는 경우로서 시설의 구조 등의 이유로 (가)의 기준에 따라 설치하기가 어려운 경우에 한하여 유효바닥면적이 폭 1.0미터 이상, 깊이 1.8미터 이상이 되도록 설치하여야 한다. (다) 출입문의 통과유효폭은 0.8미터 이상으로 하여야 한다. (라) 출입문의 형태는 미닫이문 또는 접이문으로 할 수 있으며, 여닫이문을 설치하는 경우에는 바깥쪽으로 개폐되도록 하여야 한다. 다만, 휠체어사용자를 위하여 충분한 활동공간을 확보한 경우에는 안쪽으로 개폐되도록 할 수 있다. (2) 구조 (가) 대변기는 양변기형태로 하되, 바닥부착형으로 하는 경우에는 변기 전면의 트랩부분에 휠체어의 발판이 닿지 아니하는 형태로 하여야 한다. (나) 대변기의 좌대의 높이는 바닥면으로부터 0.4미터 이상 0.45미터 이하로 하여야 한다. (3) 손잡이 (가) 대변기의 양옆에는 아래의 그림과 같이 수평 및 수직손잡이를 설치하되, 수평손잡이는 양쪽에 모두 설치하여야 하며, 수직손잡이는 한쪽에만 설치할 수 있다. (나) 수평손잡이는 바닥면으로부터 0.6미터 이상 0.7미터 이하의 높이에 설치하되, 한쪽 손잡이는 변기중심에서 0.4미터 이내의 지점에 고정하여 설치하여야 하며, 다른쪽 손잡이는 0.6미터 내외의 길이로 회전식으로 설치하여야 한다. 이 경우 손잡이간의 간격은 0.7미터 내외로 할 수 있다. (다) 수직손잡이의 길이는 0.9미터 이상으로 하되, 손잡이의 제일 아랫부분이 바닥면으로부터 0.6미터 내외의 높이에 오도록 벽에 고정하여 설치하여야 한다. 다만, 손잡이의 안전성 등 부득이한 사유로 벽에 설치하는 것이 곤란한 경우에는 바닥에 고정하여 설치하되, 손잡이의 아랫부분이 휠체어의 이동에 방해가 되지 아니하도록 하여야 한다. (라) 장애인 등의 이용편의를 위하여 수평손잡이와 수직손잡이는 이를 연결하여 설치할 수 있다. 이 경우 (다)의 수직손잡이의 제일 아랫부분의 높이는 연결되는 수평손잡이의 높이로 한다. (마) 화장실의 크기가 2미터×2미터 이상인 경우에는 천장에 부착된 사다리형태의 손잡이를 설치할 수 있다. <그림-ERCDAPA_*_1_F7:장애인등의 이용이 가능한 화장실(신축건물)> <그림-ERCDAPA_*_1_F8: 장애인등의 이용이 가능한 화장실 (신축이 아닌 기존시설)> <그림-ERCDAPA_*_1_F9: 장애인등의 이용이 가능한 화장실> (4) 기타 설비 (가) 세정장치·휴지걸이 등은 대변기에 앉은 상태에서 이용할 수 있는 위치에 설치하여야 한다. (나) 출입문에는 화장실사용여부를 시각적으로 알 수 있는 설비 및 잠금장치를 갖추어야 한다. (다) 공공업무시설, 병원, 문화 및 집회시설, 장애인복지시설, 휴게소 등은 대변기 칸막이 내부에 세면기와 샤워기를 설치할 수 있다. 이 경우 세면기는 변기의 앞쪽에 최소 규모로 설치하여 대변기 칸막이 내부에서 휠체어가 회전하는데 불편이 없도록 하여야 하며, 세면기에 연결된 샤워기를 설치하되 바닥으로부터 0.8미터에서 1.2미터 높이에 설치하여야 한다. 다. 소변기 (1) 구조 소변기는 바닥부착형으로 할 수 있다. (2) 손잡이 (가) 소변기의 양옆에는 아래의 그림과 같이 수평 및 수직손잡이를 설치하여야 한다. (나) 수평손잡이의 높이는 바닥면으로부터 0.8미터 이상 0.9미터 이하, 길이는 벽면으로부터 0.55미터 내외, 좌우 손잡이의 간격은 0.6미터 내외로 하여야 한다. (다) 수직손잡이의 높이는 바닥면으로부터 1.1미터 이상 1.2미터 이하, 돌출폭은 벽면으로부터 0.25미터 내외로 하여야 하며, 하단부가 휠체어의 이동에 방해가 되지 아니하도록 하여야 한다. <그림-ERCDAPA_*_1_F10> 라. 세면대 (1) 구조 (가) 휠체어사용자용 세면대의 상단높이는 바닥면으로부터 0.85미터, 하단 높이는 0.65미터 이상으로 하여야 한다. (나) 세면대의 하부는 무릎 및 휠체어의 발판이 들어갈 수 있도록 하여야 한다. (2) 손잡이 및 기타 설비 (가) 목발사용자 등 보행곤란자를 위하여 세면대의 양옆에는 수평손잡이를 설치할 수 있다. (나) 수도꼭지는 냉·온수의 구분을 점자로 표시하여야 한다. (다) 휠체어사용자용 세면대의 거울은 아래의 그림과 같이 세로길이 0.65미터 이상, 하단 높이는 바닥면으로부터 0.9미터 내외로 설치할 수 있으며, 거울상단부분은 15도정도 앞으로 경사지게 하거나 전면거울을 설치할 수 있다. <그림-ERCDAPA_*_1_F11> 14. 장애인 등의 이용이 가능한 욕실 가. 설치장소 욕실은 장애인 등의 접근이 가능한 통로에 연결하여 설치하여야 한다. 나. 구조 (1) 출입문의 형태는 미닫이문 또는 접이문으로 할 수 있다. (2) 욕조의 전면에는 휠체어를 탄 채 접근이 가능한 활동공간을 확보하여야 한다. (3) 욕조의 높이는 바닥면으로부터 0.4미터 이상 0.45미터 이하로 하여야 한다. 다. 바닥 (1) 욕실의 바닥면높이는 탈의실의 바닥면과 동일하게 할 수 있다. (2) 바닥면의 기울기는 30분의 1 이하로 하여야 한다. (3) 욕실 및 욕조의 바닥표면은 물에 젖어도 미끄러지지 아니하는 재질로 마감하여야 한다. 라. 손잡이 욕조주위에는 수평 및 수직손잡이를 설치할 수 있다. 마. 기타 설비 (1) 수도꼭지는 광감지식·누름버튼식·레버식 등 사용하기 쉬운 형태로 설치 하여야 하며, 냉·온수의 구분은 점자로 표시할 수 있다. (2) 샤워기는 앉은 채 손이 도달할 수 있는 위치에 레버식 등 사용하기 쉬운 형태로 설치하여야 한다. (3) 욕조에는 휠체어에서 옮겨 앉을 수 있는 좌대를 욕조와 동일한 높이로 설치할 수 있다. (4) 욕실내에서의 비상사태에 대비하여 욕조로부터 손이 쉽게 닿는 위치에 비상용 벨을 설치하여야 한다. 15. 장애인 등의 이용이 가능한 샤워실 및 탈의실 가. 설치장소 샤워실 및 탈의실은 장애인 등의 접근이 가능한 통로에 연결하여 설치하여야 한다. 나. 구조 (1) 출입문의 형태는 미닫이문 또는 접이문으로 할 수 있다. (2) 샤워실(샤워부스를 포함한다)의 유효바닥면적은 0.9미터×0.9미터 또는 0.75미터×1.3미터 이상으로 하여야 한다. 다. 바닥 (1) 샤워실의 바닥면의 기울기는 30분의 1 이하로 하여야 한다. (2) 샤워실의 바닥표면은 물에 젖어도 미끄러지지 아니하는 재질로 마감하여야 한다. 라. 손잡이 샤워실에는 장애인 등이 신체일부를 지지할 수 있도록 수평 또는 수직손잡이를 설치할 수 있다. 마. 기타 설비 (1) 수도꼭지는 광감지식·누름버튼식·레버식 등 사용하기 쉬운 형태로 설치하여야 하며, 냉·온수의 구분은 점자로 표시할 수 있다. (2) 샤워기는 앉은 채 손이 도달할 수 있는 위치에 레버식 등 사용하기 쉬운 형태로 설치하여야 한다. (3) 샤워실에는 아래의 그림과 같이 샤워용 접이식의자를 바닥면으로부터 0.4미터 이상 0.45미터 이하의 높이로 설치하여야 한다. <그림-ERCDAPA_*_1_F12> (4) 탈의실의 수납공간의 높이는 휠체어사용자가 이용할 수 있도록 바닥면으로부터 0.4미터 이상 1.2미터 이하로 설치하여야 하며, 그 하부는 무릎 및 휠체어의 발판이 들어갈 수 있도록 하여야 한다. 16. 점자블록 가. 규격 및 색상 (1) 시각장애인의 보행편의를 위하여 점자블록은 아래의 그림과 같은 감지용점형블록과 유도용 선형블록을 사용하여야 한다. (2) 점자블록의 크기는 0.3미터×0.3미터인 것을 표준형으로 하며, 그 높이는 바닥재의 높이와 동일하게 하여야 한다. (3) 점형블록은 블록당 36개의 돌출점을 가진 것을 표준형으로 한다. (4) 점형블록의 돌출점은 반구형·원뿔절단형 또는 이 두가지의 혼합배열형으로 하며, 돌출점의 높이는 0.6±0.1센티미터로 하여야 한다. (5) 선형블록은 블록당 4개의 돌출선을 가진 것을 표준형으로 한다. (6) 선형블록의 돌출선은 상단부평면형으로 하며, 돌출선의 높이는 0.5±0.1센티미터로 하여야 한다. (7) 점자블록의 색상은 원칙적으로 황색으로 사용하되, 바닥재의 색상과 비슷하여 구별하기 어려운 경우에는 다른 색상으로 할 수 있다. <그림-ERCDAPA_*_1_F13:점형블록> <그림-ERCDAPA_*_1_F14:선형블록> (8) 실외에 설치하는 점자블록의 경우 햇빛이나 불빛 등에 반사되거나 눈, 비 등에 미끄러지기 쉬운 재질을 사용하여서는 아니 된다. 나. 설치방법 (1) 점형블록은 계단·장애인용 승강기·화장실·승강장 등 시각장애인을 유도할 필요가 있거나 시각장애인에게 위험한 장소의 0.3미터 전면, 선형블록이 시작·교차·굴절되는 지점에 이를 설치하여야 한다. 다만, 시각장애인의 통행상 안전을 위하여 필요한 경우에는 0.3미터 내지 0.9미터의 범위안에서 설치할 수 있다. (2) 선형블록은 대상시설의 주출입구와 연결된 접근로에서 시각장애인을 유도하는 용도로 사용하며, 유도방향에 따라 평행하게 연속해서 설치하여야 한다. 17. 시각장애인 유도·안내설비 가. 점자안내판 또는 촉지도식 안내판 (1) 점자안내판 또는 촉지도식 안내판에는 주요시설 또는 방의 배치를 점자, 양각면 또는 선으로 간략하게 표시하여야 한다. (2) 일반안내도가 설치되어 있는 경우에는 점자를 병기하여 점자안내판에 갈음할 수 있다. (3) 점자안내판 또는 촉지도식 안내판은 점자안내표시 또는 촉지도의 중심선이 바닥면으로부터 1.0미터 내지 1.2미터의 범위안에 있도록 설치하여야 한다. 다만, 점자안내판 또는 촉지도식 안내판을 수직으로 설치하거나 점자안내표시 또는 촉지도의 내용이 많아 1.0미터 내지 1.2미터의 범위 안에 설치하는 것이 곤란한 경우에는 점자안내표시 또는 촉지도의 중심선이 1.0미터 내지 1.5미터의 범위에 있도록 설치할 수 있다. 나. 음성안내장치 시각장애인용 음성안내장치는 주요시설 또는 방의 배치를 음성으로 안내하여야 한다. 다. 기타 유도신호장치 시각장애인용 유도신호장치는 음향·시각·음색 등을 고려하여 설치하여야 하고, 특수신호장치를 소지한 시각장애인이 접근할 경우 대상시설의 이름을 안내하는 전자식 신호장치를 설치할 수 있다. 18. 시각 및 청각장애인 경보·피난 설비 시각 및 청각장애인 경보·피난 설비는 「소방시설설치유지 및 안전관리에 관한 법률」에 따른다. 이 경우 청각장애인을 위하여 비상벨설비 주변에는 점멸형태의 비상경보 등을 함께 설치하여야 한다. 19. 장애인 등의 이용이 가능한 객실 또는 침실 가. 설치장소 장애인용 객실 또는 침실(이하 "객실등"이라 한다)은 식당·로비 등 공용공간에 접근하기 쉬운 곳에 설치하여야 하며, 승강기가 가동되지 아니할 때에도 접근이 가능하도록 주출입층에 설치할 수 있다. 나. 구조 (1) 휠체어사용자를 위한 객실등은 온돌방보다 침대방으로 할 수 있다. (2) 객실등의 내부에는 휠체어가 회전할 수 있는 공간을 확보하여야 한다. (3) 침대의 높이는 바닥면으로부터 0.4미터 이상 0.45미터 이하로 하여야 하며, 그 측면에는 1.2미터 이상의 활동공간을 확보하여야 한다. <그림-ERCDAPA_*_1_F15> 다. 바닥 (1) 객실등의 바닥면에는 높이차이를 두어서는 아니된다. (2) 바닥표면은 미끄러지지 아니하는 재질로 평탄하게 마감하여야 한다. 라. 기타 설비 (1) 객실등의 출입문옆 벽면의 1.5미터 높이에는 방이름을 표기한 점자표지판을 부착하여야 한다. (2) 객실등에 화장실 및 욕실을 설치하는 경우에는 제13호 및 제14호의 장애인등의 이용이 가능한 화장실의 가. 일반사항 중 (2)의 (가)·(3)의 (나), 나. 대변기 중 (1)내지 (3)·(4)의 (가), 라. 세면대 및 장애인 등의 이용이 가능한 욕실의 나. 내지 마.의 규정을 적용한다. (3) 콘센트·스위치·수납선반·옷걸이 등의 높이는 바닥면으로부터 0.8미터 이상 1.2미터 이하로 설치하여야 한다. (4) 객실등·화장실 및 욕실에는 초인종과 함께 청각장애인용 초인등을 설치하여야 한다. (5) 객실등에는 건축물전체의 비상경보시스템과 연결된 청각장애인용 경보설비를 설치하여야 한다. 20. 장애인 등의 이용이 가능한 관람석 또는 열람석 가. 설치장소 휠체어사용자를 위한 관람석 또는 열람석은 출입구 및 피난통로에서 접근하기 쉬운 위치에 설치하여야 한다. 나. 관람석의 구조 (1) 휠체어사용자를 위한 관람석의 유효바닥면적은 1석당 폭 0.9미터 이상, 깊이 1.3미터 이상으로 하여야 한다. (2) 휠체어사용자를 위한 관람석은 항상 비워 놓거나, 이동식 좌석을 사용하여 휠체어사용자를 위한 관람석을 마련하여야 한다. (3) 난청자를 위하여 자기(磁氣)루프, FM송수신장치 등 집단보청장치를 설치할 수 있다. 다. 열람석의 구조 (1) 열람석상단까지의 높이는 바닥면으로부터 0.7미터 이상 0.9미터 이하로 하여야 한다. (2) 열람석의 하부에는 무릎 및 휠체어의 발판이 들어갈 수 있도록 바닥면으로부터 높이 0.65미터 이상, 깊이 0.45미터 이상의 공간을 확보하여야 한다. 21. 장애인 등의 이용이 가능한 접수대 또는 작업대 가. 활동공간 접수대 또는 작업대의 전면에는 휠체어를 탄 채 접근이 가능한 활동공간을 확보하여야 한다. 나. 구조 (1) 접수대 또는 작업대상단까지의 높이는 아래의 그림과 같이 바닥면으로부터 0.7미터 이상 0.9미터 이하로 하여야 한다. (2) 접수대 또는 작업대의 하부에는 무릎 및 휠체어의 발판이 들어갈 수 있도록 바닥면으로부터 높이 0.65미터 이상, 깊이 0.45미터 이상의 공간을 확보하여야 한다. <그림-ERCDAPA_*_1_F16> 22. 장애인 등의 이용이 가능한 매표소·판매기 또는 음료대 가. 활동공간 매표소·판매기 또는 음료대의 전면에는 휠체어를 탄 채 접근이 가능한 활동공간을 확보하여야 한다. 나. 구조 (1) 매표소의 높이는 바닥면으로부터 0.7미터 이상 0.9미터 이하로 하여야 하며, 하부에는 무릎 및 휠체어의 발판이 들어갈 수 있도록 바닥면으로부터 0.65미터 이상, 깊이 0.45미터 이상의 공간을 확보하여야 한다. (2) 자동판매기 또는 자동발매기의 동전투입구·조작버튼·상품출구의 높이는 0.4미터 이상 1.2미터 이하로 하여야 한다. (3) 음료대의 분출구의 높이는 0.7미터 이상 0.8미터 이하로 하여야 한다. <그림-ERCDAPA_*_1_F17> 다. 기타 설비 (1) 자동판매기 및 자동발매기의 조작버튼에는 품목·금액·행선지 등을 점자로 표시하여야 한다. (2) 음료대의 조작기는 광감지식·누름버튼식·레버식 등 사용하기 쉬운 형태로 설치하여야 한다. (3) 매표소 또는 자동발매기의 0.3미터 전면에는 점형블록을 설치하거나 시각장애인이 감지할 수 있도록 바닥재의 질감등을 달리하여야 한다. 23. 삭제 <2007.3.9> 24. 삭제 <2007.3.9> 25. 삭제 <2007.3.9> 26. 삭제 <2007.3.9> 27. 장애인 등의 이용이 가능한 공중전화 가. 설치장소 공중전화는 장애인 등의 접근이 가능한 보도 또는 통로에 설치하여야 한다. 나. 구조 (1) 전화대의 하부에는 무릎 및 휠체어의 발판이 들어갈 수 있도록 바닥면으로부터 높이 0.65미터 이상, 깊이 0.25미터 이상의 공간을 확보하여야 한다. (2) 전화부스를 설치하는 경우에는 보도 또는 통로와 높이차이를 두어서는 아니된다. 다. 이용자 조작설비 아래의 그림과 같이 동전 또는 전화카드투입구, 전화다이얼 및 누름버튼 등의 높이는 바닥면으로부터 0.9미터 이상 1.4미터 이하로 하여야 한다. <그림-ERCDAPA_*_1_F18> 라. 기타 설비 지팡이 및 목발사용자가 몸을 지지할 수 있도록 전화부스의 양쪽에 손잡이를 설치하거나, 지팡이 및 목발을 세울 곳을 마련할 수 있다. 28. 장애인 등의 이용이 가능한 우체통 가. 설치장소 우체통은 장애인 등의 접근이 가능한 보도 또는 통로에 설치하여야 한다. 나. 구조 우체통투입구의 높이는 0.9미터 이상 1.2미터 이하로 하여야 한다. 비고 : 위의 편의시설의 구조·재질 등에 관한 세부기준의 항목 중 " · · 할 수 있다"로 규정된 사항은 장애인 등의 이용편의를 위한 권장사항임 29. 임산부 등을 위한 휴게시설 가. 설치장소 임산부 등을 위한 휴게시설은 휠체어 사용자 및 유모차가 접근가능한 위치에 설치하여야 한다. 나. 구조 (1) 임산부 등을 위한 휴게시설에는 수유실로 사용할 수 있는 장소를 별도로 마련하되, 기저귀교환대, 세면대 등의 설비를 갖추어야 한다. (2) 기저귀교환대, 세면대 등은 휠체어사용자가 접근 가능하도록 가로 1.4미터, 세로 1.4미터의 공간을 확보하고, 기저귀교환대 및 세면대의 상단 높이는 바닥면으로부터 0.85미터 이하, 하단 높이는 0.65미터 이상으로 하여야 하며, 하부에는 휠체어의 발판이 들어갈 수 있도록 설치하여야 한다. (3) 공간의 효율적인 이용을 위하여 기저귀교환대는 접이식으로 설치할 수 있다.



//장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행규칙 별표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
}




8
장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 제 3 조

제3조(대상시설) 법 제7조 본문의 규정에 의하여 편의시설을 설치하여야 하는 대상시설은 별표 1과 같다.



// 장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 3조 (대상시설)


Check(EDCDAPA_3){
KS
}

KS{
getResult(EDCDAPA_*_1)=TRUE
}





9
장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 제 4 조
제4조(편의시설의 종류) 법 제8조제1항의 규정에 의하여 대상시설별로 설치하여야 하는 편의시설의 종류 및 그 설치기준은 별표 2와 같다.



// 장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 4조 (편의시설의 종류)

Check(EDCDAPA_4){
KS
}

KS{
getResult(EDCDAPA_*_2)=TRUE
}




10
장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 제 별표1 조
1. 공원 2. 공공건물 및 공중이용시설 가. 제1종 근린생활시설 (1) 수퍼마켓·일용품(식품·잡화·의류·완구·서적·건축자재·의약품ㆍ의료기기 등) 등의 소매점으로서 동일한 건축물(하나의 대지 안에 2동 이상의 건축물이 있는 경우에는 이를 동일한 건축물로 본다. 이하 같다) 안에서 당해 용도에 쓰이는 바닥면적의 합계가 300제곱미터 이상 1천제곱미터 미만인 시설 (2) 이용원·미용원·목욕장으로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 500제곱미터 이상인 시설 (3) 지역자치센터, 파출소, 지구대, 우체국, 보건소, 공공도서관, 국민건강보험공단ㆍ국민연금공단ㆍ한국장애인고용공단ㆍ근로복지공단의 지사, 그 밖에 이와 유사한 용도로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 1천제곱미터 미만인 시설 (4) 대피소 (5) 공중화장실 (6) 의원·치과의원·한의원·조산소(산후조리원을 포함한다)로서 동일한 건축물 안에서 당해 용도로 쓰이는 바닥면적의 합계가 500제곱미터 이상인 시설 (7) 지역아동센터로서 바닥면적의 합계가 300제곱미터 이상인 시설 나. 제2종 근린생활시설 (1) 일반음식점으로서 동일한 건축물 안에서 당해 용도로 쓰이는 바닥면적의 합계가 300제곱미터 이상인 시설 (2) 휴게음식점·제과점으로서 제1종 근린생활시설에 해당하지 아니하는 것으로서 동일한 건축물 안에서 당해 용도로 쓰이는 바닥면적의 합계가 300제곱미터 이상인 시설 (3) 안마시술소로서 동일한 건축물 안에서 당해 용도로 쓰이는 바닥면적의 합계가 500제곱미터 이상인 시설 다. 문화 및 집회시설 (1) 공연장(극장·영화관·연예장·음악당·서어커스장 기타 이와 유사한 것을 말한다)으로서 관람석의 바닥면적의 합계가 300제곱미터 이상인 시설 (2) 집회장(예식장·공회장·회의장 기타 이와 유사한 것을 말한다)으로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 500제곱미터 이상인 시설 (3) 관람장(경마장·자동차경주장 기타 이와 유사한 것을 말한다) (4) 전시장(박물관·미술관·과학관·기념관·산업전시장·박람회장 기타 이와 유사한 것을 말한다)으로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 500제곱미터 이상인 시설 (5) 동·식물원(동물원·식물원·수족관 기타 이와 유사한 것을 말한다)으로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 300제곱미터 이상인 시설 라. 종교시설 종교집회장(교회·성당·사찰·기도원 기타 이와 유사한 것을 말한다)으로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 500제곱미터 이상인 시설 마. 판매시설 도매시장·소매시장·상점으로서 동일한 건축물 안에서 당해 용도로 쓰이는 바닥면적의 합계가 1천제곱미터 이상인 시설 바. 의료시설 (1) 병원(종합병원·병원·치과병원·한방병원·정신병원 및 요양병원을 말한다) (2) 격리병원(전염병원·마약진료소 기타 이와 유사한 것을 말한다) (3) 삭제 <2012.8.22> 사. 교육연구시설(제2종 근린생활시설에 해당하는 것을 제외한다) (1) 학교(유치원ㆍ초등학교·중학교·고등학교·전문대학·대학교, 그 밖에 이에 준하는 각종 학교를 말한다) (2) 교육원(연수원 기타 이와 유사한 것을 포함한다)·직업훈련소·학원(자동차학원과 무도학원을 제외한다) 기타 이와 유사한 용도로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 500제곱미터 이상인 시설 (3) 도서관으로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 1천제곱미터 이상인 시설 아. 노유자시설 (1) 아동관련 시설(어린이집·아동복지시설, 그 밖에 이와 유사한 것으로서 제1종 근린생활시설에 해당하지 아니하는 것) (2) 노인복지시설 및 장애인복지시설 (3) 그 밖에 다른 용도로 분류되지 아니한 사회복지시설 자. 수련시설 (1) 생활권수련시설(청소년수련관·청소년문화의 집·유스호스텔 그 밖에 이와 유사한 것) (2) 자연권수련시설(청소년수련원·청소년야영장, 그 밖에 이와 유사한 것) 차. 운동시설(동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 500제곱미터 이상인 시설에 한한다) (1) 체육관 (2) 운동장(육상·구기·볼링·수영·스케이트·로울러스케이트·승마·사격·궁도·골프 등의 운동장을 말한다)과 운동장에 부수되는 건축물 카. 업무시설 (1) 공공업무시설 중 국가 또는 지방자치단체의 청사로서 제1종 근린생활시설에 해당하지 아니하는 것 (2) 일반업무시설로서 금융업소·사무소·신문사·오피스텔(업무를 주로 하는 건축물이고, 분양 또는 임대하는 구획에서 일부 숙식을 할 수 있도록 한 건축물로서 국토해양부장관이 고시하는 기준에 적합한 것을 말한다) 그 밖에 이와 유사한 용도로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 500제곱미터 이상인 시설 (3) 일반업무시설로서 국민건강보험공단ㆍ국민연금공단ㆍ한국장애인고용공단ㆍ근로복지공단 및 그 지사(동일한 건축물 안에서 해당 용도에 쓰이는 바닥면적의 합계가 1천 제곱미터 이상인 시설만 해당한다) 타. 숙박시설 (1) 일반숙박시설(호텔 및 여관으로서 객실수가 30실 이상인 시설에 한한다) (2) 관광숙박시설(관광호텔·수상관광호텔·한국전통호텔·가족호텔 및 휴양콘도미니엄) 파. 공장 물품의 제조·가공(염색·도장·표백·재봉·건조·인쇄 등을 포함한다) 또는 수리에 계속적으로 이용되는 건출물로서 「장애인고용촉진 및 직업재활법」에 따라 장애인고용의무가 있는 사업주가 운영하는 시설 하. 자동차관련시설 (1) 주차장 (2) 운전학원 거. 교정시설 교도소 및 구치소 너. 방송통신시설 방송국·전신전화국 그 밖에 이와 유사한 용도로서 동일한 건축물 안에서 당해 용도로 쓰이는 바닥면적의 합계가 1천제곱미터 이상인 시설 더. 묘지관련시설 (1) 화장시설 (2) 봉안당(종교시설에 해당하는 것을 제외한다) 러. 관광휴게시설 (1) 야외음악당·야외극장·어린이회관 기타 이와 유사한 용도로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 1천제곱미터 이상인 시설 (2) 휴게소로서 동일한 건축물 안에서 당해 용도에 쓰이는 바닥면적의 합계가 300제곱미터 이상인 시설 머. 장례식장[의료시설의 부수시설(「의료법」 제36조제1호에 따른 의료기관의 종류에 따른 시설을 말한다)에 해당하는 것은 제외한다]으로서 동일한 건축물 안에서 해당 용도에 쓰이는 바닥면적의 합계가 500제곱미터 이상인 시설 3. 공동주택 가. 아파트 나. 연립주택(세대수가 10세대 이상인 주택에 한한다) 다. 다세대주택(세대수가 10세대 이상인 주택에 한한다) 라. 기숙사 : 학교 또는 공장 등의 학생 또는 종업원 등을 위하여 사용되는 것으로서 공동취사 등을 할 수 있는 구조이되, 독립된 주거의 형태를 갖추지 아니한 것으로 30인 이상이 기숙하는 시설에 한한다. 4. 통신시설 가. 공중전화 나. 우체통



// 장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 별표1 편의시설 설치 대상시설(제3조 관련)


Check(EDCDAPA_*_1_2_가_1){
getBuildingUsage()=“RetailStore”
Floor myFloor{
     getFloorUsage(Floor)=”RetailStore”
}
getTotalFloorArea(myFloor)>=300 m2
getTotalFloorArea(myFloor)<1000 m2
}


Check(EDCDAPA_*_1_2_가_2){
Building myBuilding {
getBuildingUsage()=“Barbershop”
OR getBuildingUsage()=“BeautyShop”
OR getBuildingUsage()=“Bathhouse”
}
Floor myFloor{
     getFloorUsage(Floor)= myBuilding.usage
}
getTotalFloorArea(myFloor)>=500 m2
}

Check(EDCDAPA_*_1_2_가_3){
Building myBuilding{
getBuildingUsage()=“CommunityCenter”
OR getBuildingUsage()=“PoliceBox”
OR getBuildingUsage()=“PoliceSubstation”
OR getBuildingUsage()=“PostOffice”
OR getBuildingUsage()=“HealthCenter”
OR getBuildingUsage()=“PublicLibrary”
OR getBuildingUsage()=“NationalHealthInsuranceService_NationalPensionService_Korea EmploymentAgencyForTheDisabled_KoreaWorkersCompensationAndWelfareServiceOffice”
}
Floor myFloor{
     getFloorUsage(Floor)= myBuilding.usage
}
getTotalFloorArea(myFloor)<1000 m2
}


Check(EDCDAPA_*_1_2_가_4){
getBuildingUsage()=“Shelter”
}

Check(EDCDAPA_*_1_2_가_5){
getBuildingUsage()=“PublicToilet”
}

Check(EDCDAPA_*_1_2_가_6){
Building myBuilding{
getBuildingUsage()=“Clinic_ DentalClinic_OrientalMedicalClinic_MaternityClinic”
}
Floor myFloor{
     getFloorUsage(Floor)= myBuilding.usage
}
getTotalFloorArea(myFloor)>=500 m2
}

Check(EDCDAPA_*_1_2_가_7){
getBuildingUsage()=“CommunityChildCenter”
Floor myFloor{
     getFloorUsage(Floor)= “CommunityChildCenter”
}
getTotalFloorArea(myFloor)>=300 m2
}


Check(EDCDAPA_*_1_2_나_1){
getBuildingUsage()=“Restaurant”
Floor myFloor{
     getFloorUsage(Floor)= “CommunityChildCenter”
}
getTotalFloorArea(myFloor)>=300 m2
}

Check(EDCDAPA_*_1_2_나_2){
Building myBuilding {
(getBuildingUsage()=“RestingRestaurant”
OR getBuildingUsage()=“Bakery”)
getBuildingUsage() !=”ClassINeighborhoodLivingFacility”
}
Floor myFloor{
     getFloorUsage(Floor)= myBuilding.usage
}
getTotalFloorArea(myFloor)>=300 m2

}

Check(EDCDAPA_*_1_2_나_2){
getBuildingUsage()=“MassageParlor”
Floor myFloor{
     getFloorUsage(Floor)= “MassageParlor”
}
getTotalFloorArea(myFloor)>=500 m2

}

Check(EDCDAPA_*_1_2_카_1){
getBuildingUsage()=“PublicOfficeBuilding. OfficeBuildingOfLocalGovernment ”
getBuildingUsage() !=”ClassINeighborhoodLivingFacility”
}

Check(EDCDAPA_*_1_2_카_2){
Building myBuilding{
getBuildingUsage()=“GeneralBusinessFacility.FinanceBusiness”
OR getBuildingUsage()=“GeneralBusinessFacility.Office”
OR getBuildingUsage()=“GeneralBusinessFacility.NewspaperOffice”
OR getBuildingUsage()=“GeneralBusinessFacility. Officetel”
}
Floor myFloor {
getFloorUsage()=myBuilding.usage
}
getTotalFloorArea(myFloor)>=500 m2
}

Check(EDCDAPA_*_1_2_카_3){
Building myBuilding{
getBuildingUsage()=“GeneralBusinessFacility.NationalHealthInsuranceService_NationalPensionService_Korea EmploymentAgencyForTheDisabled_KoreaWorkersCompensationAndWelfareServiceOffice”
}
Floor myFloor {
getFloorUsage()=myBuilding.usage
}
getTotalFloorArea(myFloor)>=1000 m2
}





11
장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 제 별표2 조
1. 삭제 <2006.1.19> 2. 공원<표-EDCDAPA_*_2_T1> (편의시설의 종류 :설치기준) 가. 장애인 등의 출입이 가능한 출입구 :공원 외부에서 내부로 이르는 출입구는 주출입구를 포함하여 적어도 하나 이상을 장애인등의 출입이 가능하도록 유효폭·형태 및 부착물 등을 고려하여 설치하여야 한다. 나. 장애인등의 통행이 가능한 보도 :공원시설(공중이 직접 이용하는 시설에 한한다)에 접근할 수 있는 공원안의 보도중 적어도 하나는 장애인등이 통행할 수 있도록 유효폭·기울기와 바닥의 재질 및 마감 등을 고려하여 설치하여야 한다. 다. 장애인 등의 이용이 가능한 화장실 :장애인 등이 편리하게 이용할 수 있도록 구조, 바닥의 재질 및 마감과 부착물 등을 고려하여 설치하되, 장애인용 대변기는 남자용 및 여자용 각 1개 이상을 설치하여야 하며, 영유아용 거치대 등 임산부 및 영유아가 안전하고 편리하게 이용할 수 있는 시설을 구비하여 설치하여야 한다. 라. 점자블록 :공원과 도로 또는 교통시설을 연결하는 보도에는 점자블록을 설치하여야 한다. 마. 시각장애인 유도 및 안내설비 :시각장애인의 공원이용 편의를 위하여 공원의 주출입구부근에 점자안내판·촉지도식 안내판·음성안내장치 또는 기타 유도신호장치를 설치할 수 있다. 바. 장애인등의 이용이 가능한 매표소·판매기 또는 음료대 :매표소(장애인등의 이용이 가능한 자동발매기를 설치한 경우와 시설관리자등으로부터 별도의 상시서비스가 제공되는 경우를 제외한다)·판매기 및 음료대는 장애인등이 편리하게 이용할 수 있도록 형태·규격 및 부착물등을 고려하여 설치하여야 한다. 다만, 동일한 장소에 2곳 또는 2대이상을 각각 설치하는 경우에는 그중 1곳 또는 1대만을 장애인등의 이용을 고려하여 설치할 수 있다. 사. 장애인 등의 이용이 가능한 공원시설 :(1) 「자연공원법」 제2조제10호에 따른 공원시설과 「도시공원 및 녹지 등에 관한 법률」 제2조제4호에 따른 공원시설에 대하여는 공원시설의 종류에 따라 제3호 및 제6호에 따른 공공건물 및 공중이용시설과 통신시설의 설치기준을 각각 적용한다. (2) 공원의 효용증진을 위하여 설치하는 주차장에는 장애인전용 주차구역을 주차장법령이 정하는 설치기준에 따라 구분·설치하여야 한다. 3. 공공건물 및 공중이용시설 가. 일반사항 <표-EDCDAPA_*_2_T2> (편의시설의 종류 :설치기준) (1) 장애인등의 통행이 가능한 접근로 :(가) 대상시설 외부에서 건축물의 주출입구에 이르는 접근로는 장애인등이 안전하고 편리하게 통행할 수 있도록 유효폭·기울기와 바닥의 재질 및 마감등을 고려하여 설치하여야 한다. (나) 접근로를 (가)의 주출입구에 연결하여 시공하는 것이 구조적으로 곤란하거나 주출입구보다 부출입구가 장애인등의 이용에 편리하고 안전한 경우에는 주출입구 대신 부출입구에 연결하여 접근로를 설치할 수 있다. (2) 장애인전용 주차구역 :(가) 부설주차장에는 장애인전용 주차구역을 주차장법령이 정하는 설치비율에 따라 장애인의 이용이 편리한 위치에 구분·설치하여야 한다. 다만, 부설주차장의 주차대수가 10대 미만인 경우를 제외하며, 산정된 장애인전용주차구역의 주차대수중 소수점이하의 끝수는 이를 1대로 본다. (나) 자동차관련시설중 특별시장·광역시장·시장·군수 또는 구청장이 설치하는 노외주차장에는 장애인전용 주차구역을 주차장법령이 정하는 설치기준에 따라 장애인의 이용이 편리한 위치에 구분·설치하여야 한다. (3) 높이차이가 제거된 건축물 출입구 :(가) 건축물의 주출입구와 통로에 높이차이가 있는 경우에는 턱낮추기를 하거나 휠체어리프트 또는 경사로를 설치하여야 한다. (나) (가)의 주출입구의 높이차이를 없애는 것이 구조적으로 곤란하거나 주출입구보다 부출입구가 장애인등의 이용에 편리하고 안전한 경우에는 주출입구 대신 부출입구의 높이차이를 없앨 수 있다. (4) 장애인등의 출입이 가능한 출입구 등 :(가) 건축물의 주출입구와 건축물 안의 공중의 이용을 주목적으로 하는 사무실 등의 출입구(문) 중 적어도 하나는 장애인등의 출입이 가능하도록 유효폭ㆍ형태 및 부착물 등을 고려하여 설치하여야 한다. 이 경우 제7조의2제6호에 따른 국가 또는 지방자치단체의 청사(공중이 직접 이용하는 시설만 해당한다) 중 「건축법 시행령」 별표 1 제3호에 따른 제1종 근린생활시설에 해당하지 아니하는 시설의 경우에는 장애인등의 출입이 가능하도록 설치하는 출입구를 자동문 형태로 하여야 한다. (나) 교통시설의 승강장에 이르는 개찰구중 적어도 하나는 장애인등의 출입이 가능하도록 너비등을 고려하여 편리한 구조로 설치하여야 한다. (5) 장애인등의 통행이 가능한 복도 등 :(가) 복도는 장애인등의 통행이 가능하도록 유효폭, 바닥의 재질 및 마감과 부착물 등을 고려하여 설치하여야 한다. (나) 교통시설의 주출입구로부터 대합실 및 승강장에 이르는 통로는 유효폭, 바닥의 재질 및 마감과 부착물 등을 고려하여 설치하여야 한다. (6) 장애인등의 통행이 가능한 계단, 장애인용 승강기, 장애 인용 에스컬레이터, 휠체어리프트, 경사로 또는 승강장 :(가) 장애인등이 건축물의 1개층에서 다른 층으로 편리하게 이동할 수 있도록 그 이용에 편리한 구조로 계단을 설치하거나 장애인용 승강기, 장애인용 에스컬레이터, 휠체어리프트 또는 경사로를 1대 또는 1곳이상 설치하여야 한다. 다만, 장애인등이 이용하는 시설이 1층에만 있는 경우에는 그러하지 아니하다. (나) (가)의 건축물중 6층 이상의 연면적이 2천제곱미터 이상인 건축물(층수가 6층인 건축물로서 각층 거실의 바닥면적 300제곱미터이내마다 1개소이상의 직통계단을 설치한 경우를 제외한다)에 근린공공시설, 노유자시설 중 노인복지시설 및 장애인복지시설, 의료시설, 교육연구시설 중 학교 및 도서관, 공공업무시설, 숙박시설, 판매시설, 문화 및 집회시설 중 공연장·관람장·전시장, 방송통신시설중 방송국, 수련시설이 있는 경우에는 장애인용 승강기, 장애인용 에스컬레이터, 휠체어리프트 또는 경사로를 1대 또는 1곳이상 설치하여야 한다. (다) 층수가 2층이상인 교통시설에는 장애인등이 주출입구로부터 대합실 및 승강장이 있는 층까지 편리하게 이동할 수 있도록 장애인용 승강기, 장애인용 에스컬레이터, 휠체어리프트 또는 경사로를 1대 또는 1곳이상 설치하여야 한다. (라) 교통시설의 승강장은 장애인등이 안전하게 승·하차할 수 있도록 기울기, 바닥의 재질 및 마감과 차량과의 간격등을 고려하여 설치하여야 한다. (마) 교통시설중 택시승강장과 차도의 경계에 높이차이가 있는 때에는 턱낮추기를 하거나 연석경사로를 설치하여야 한다. (7) 장애인 등의 이용이 가능한 화장실 :장애인 등이 편리하게 이용할 수 있도록 구조, 바닥의 재질 및 마감과 부착물 등을 고려하여 설치하되, 장애인용 대변기는 남자용 및 여자용 각 1개 이상을 설치하여야 하며, 영유아용 거치대 등 임산부 및 영유아가 안전하고 편리하게 이용할 수 있는 시설을 구비하여 설치하여야 한다. (8) 장애인등의 이용이 가능한 욕실 :욕실은 1개실 이상을 장애인등이 편리하게 이용할 수 있도록 구조, 바닥의 재질 및 마감과 부착물등을 고려하여 설치하여야 한다. (9) 장애인등의 이용이 가능한 샤워실 및 탈의실 :샤워실 및 탈의실은 1개이상을 장애인등이 편리하게 이용할 수 있도록 구조, 바닥의 재질 및 마감과 부착물 등을 고려하여 설치하여야 한다. (10) 점자블록 :건축물의 주출입구와 도로 또는 교통시설을 연결하는 보도에는 점자블록을 설치하여야 한다. (11) 시각 및 청각장애인 유도·안내설비 :(가) 시각장애인의 시설이용 편의를 위하여 건축물의 주출입구 부근에 점자안내판, 촉지도식 안내판, 음성안내장치 또는 그 밖의 유도신호장치를 점자블록과 연계하여 1개 이상 설치하여야 한다. (나) 삭제<2007.2.12> (다) 공원·근린공공시설·장애인복지시설·교육연구시설·공공업무시설, 시각장애인 밀집거주지역등 시각장애인의 이용이 많거나 타당성이 있는 설치요구가 있는 곳에는 교통신호기가 설치되어 있는 횡단보도에 시각장애인을 위한 음향신호기를 설치하여야 한다. (라) 청각장애인의 시설이용 편의를 위하여 청각장애인 등의 이용이 많은 곳에는 전자문자안내판 또는 기타 전자문자안내설비를 설치하여야 한다. (12) 시각 및 청각장애인 경보·피난설비 (가) 시각 및 청각장애인등이 위급한 상황에 대피할 수 있도록 청각장애인용 피난구유도등·통로유도등 및 시각장애인용 경보설비 등을 설치하여야 한다. (나) 교통시설의 승강장에서 장애인 등이 추락할 우려가 있는 경우에는 난간 등 추락방지설비를 갖추어야 한다. (13) 장애인등의 이용이 가능한 객실 또는 침실 기숙사 및 숙박시설등의 전체 침실수 또는 객실의 1퍼센트 이상(숙박시설은 0.5퍼센트 이상)은 장애인등이 편리하게 이용할 수 있도록 구조, 바닥의 재질 및 마감과 부착물등을 고려하여 설치하되, 산정된 객실 또는 침실수 중 소수점 이하의 끝수는 이를 1실로 본다. (14) 장애인등의 이용이 가능한 관람석 또는 열람석 관람장 및 도서관등의 전체 관람석 또는 열람석수의 1퍼센트 이상(전체 관람석 또는 열람석수가 2천석이상인 경우에는 20석 이상)은 장애인등이 편리하게 이용할 수 있도록 구조등을 고려하여 설치하되, 산정된 관람석 또는 열람석수 중 소수점이하의 끝수는 이를 1석으로 본다. (15) 장애인등의 이용이 가능한 접수대 또는 작업대 지역자치센터 및 장애인복지시설 등의 접수대 또는 작업대는 장애인등이 편리하게 이용할 수 있도록 형태·규격 등을 고려하여 설치하여야 한다. 다만, 동일한 장소에 각각 2대이상을 설치하는 경우에는 그 중 1대만을 장애인등의 이용을 고려하여 설치할 수 있다. (16) 장애인등의 이용이 가능한 매표소·판매기 또는 음료대 교통시설등의 매표소(장애인등의 이용이 가능한 자동발매기를 설치한 경우와 시설관리자등으로부터 별도의 상시서비스가 제공되는 경우를 제외한다)·판매기 및 음료대는 장애인등이 편리하게 이용할 수 있도록 형태·규격 및 부착물등을 고려하여 설치하여야 한다. 다만, 동일한 장소에 2곳 또는 2대이상을 각각 설치하는 경우에는 그 중 1곳 또는 1대만을 장애인 등의 이용을 고려하여 설치할 수 있다. (17) 임산부 등을 위한 휴게시설 등 임산부와 영유아가 편리하고 안전하게 휴식을 취할 수 있도록 구조와 재질 등을 고려하여 휴게시설을 설치하고, 휴게시설 내에는 모유수유를 위한 별도의 장소를 마련하여야 한다. 다만, 「문화재보호법」 제2조에 따른 지정문화재(보호구역을 포함한다)에 설치하는 시설물은 제외한다. 나. 대상시설별로 설치하여야 하는 편의시설의 종류 <표-EDCDAPA_*_2_T3> 4. 공동주택 가. 일반 사항<표-EDCDAPA_*_2_T4> (편의시설의 종류 :설치기준) (1) 장애인등의 통행이 가능한 접근로 :(가) 대상시설 외부에서 건축물의 주출입구에 이르는 접근로는 장애인등이 안전하고 편리하게 통행할 수 있도록 유효폭·기울기와 바닥의 재질 및 마감 등을 고려하여 설치하여야 한다. (나) 접근로를 (가)의 주출입구에 연결하여 시공하는 것이 구조적으로 곤란하거나 주출입구보다 부출입구가 장애인등의 이용에 편리하고 안전한 경우에는 주출입구 대신 부출입구에 연결하여 접근로를 설치할 수 있다. (2) 장애인전용주차구역 :(가) 부설주차장에는 장애인전용주차구역을 주차장법령이 정하는 설치비율에 따라 장애인의 이용이 편리한 위치에 구분·설치하여야 한다. 다만, 부설주차장의 주차대수가 10대 미만인 경우를 제외하며, 산정된 장애인전용주차구역의 주차대수 중 소수점 이하의 끝수는 이를 1대로 본다. (나) 장애인전용주차구역은 입주한 장애인가구의 동별 거주현황 등을 고려하여 설치한다. (3) 높이차이가 제거된 건축물 출입구 :(가) 건축물의 주출입구와 통로에 높이차이가 있는 경우에는 턱낮추기를 하거나 휠체어리프트 또는 경사로를 설치하여야 한다. (나) (가)의 주출입구의 높이 차이를 없애는 것이 구조적으로 곤란하거나 주출입구보다 부출입구가 장애인등의 이용에 편리하고 안전한 경우에는 주출입구 대신 부출입구의 높이 차이를 없앨 수 있다. (4) 장애인등의 출입이 가능한 출입구(문) :(가) 건축물의 주출입구는 장애인등의 출입이 가능하도록 유효폭·형태 및 부착물 등을 고려하여 설치하여야 한다. (나) 장애인전용주택의 세대내 출입문은 장애인등의 출입이 가능하도록 유효폭·형태 및 부착물 등을 고려하여 설치할 수 있다. (5) 장애인등의 통행이 가능한 복도 :복도는 장애인등의 통행이 가능하도록 유효폭, 바닥의 재질 및 마감과 부착물 등을 고려하여 설치할 수 있다. (6) 장애인 등의 통행이 가능한 계단·장애인용 승강기, 장애인용 에스컬레이터, 휠체어리프트 또는 경사로 :아파트는 장애인등이 건축물의 1개층에서 다른 층으로 편리하게 이동할 수 있도록 그 이용에 편리한 구조로 계단을 설치하거나 장애인용 승강기, 장애인용 에스컬레이터, 휠체어리프트 또는 경사로를 1대 또는 1곳 이상 설치하여야 한다. (7) 장애인 등의 이용이 가능한 화장실 및 욕실 :장애인전용주택의 화장실 및 욕실은 장애인등이 편리하게 이용할 수 있도록 구조, 바닥의 재질 및 마감과 부착물 등을 고려하여 설치할 수 있다. (8) 점자블록 :시각장애인을 위한 장애인전용주택의 주출입구와 도로 또는 교통시설을 연결하는 보도에는 점자블록을 설치할 수 있다. (9) 시각 및 청각장애인 경보·피난설비 :시각 및 청각장애인을 위한 장애인전용주택에는 위급한 상황에 대피할 수 있도록 청각장애인용 피난구유도등·통로유도등 및 시각장애인용 경보설비 등을 설치할 수 있다. (10) 장애인 등의 이용이 가능한 부대시설 및 복리시설 :(가) 「주택법」 제2조제6호에 따른 주택단지안의 관리사무소·경로당·의원·치과의원·한의원·조산소·약국·목욕장·슈퍼마켓, 일용품 등의 소매점, 일반음식점·휴게음식점·제과점·학원·금융업소·사무소 또는 사회복지관이 있는 건축물에 대하여는 제3호가목(1), (3) 내지 (7)의 규정을 적용한다. 다만, 당해 주택단지에 건설하는 주택의 총세대수가 300세대 미만인 경우에는 그러하지 아니하다. (나) 「주택법」 제2조제8호 또는 제9호에 따른 부대시설 및 복리시설 중 (가)에 따른 시설을 제외한 시설(별표 1 제2호 및 제4호에 따른 편의시설 설치 대상시설에 해당하는 경우로 한정한다)에 대해서는 용도 및 규모에 따라 별표 1 제2호 및 제4호에 따른 공공건물·공중이용시설 및 통신시설의 설치기준을 각각 적용한다. 나. 대상시설별로 설치하여야 하는 편의시설의 종류 <표-EDCDAPA_*_2_T5> 5. 삭제 <2006.1.19> 6. 통신시설<표-EDCDAPA_*_2_T6> (편의시설의 종류 :설치기준) 가. 장애인등의 이용이 가능한 공중전화 :(1) 공원, 공공건물 및 공중이용시설과 공동주택에 공중전화를 설치하거나, 장애인의 타당성 있는 설치요구가 있는 경우에는 휠체어사용자등이 이용할 수 있는 전화기를 1대 이상 설치하여야 한다. 다만, 주변소음도가 75데시벨이상인 경우에는 그러하지 아니하다. (2) 장애인등의 이용이 많은 곳에는 시각 및 청각장애인을 위하여 점자표시전화기, 큰문자버튼전화기, 음량증폭전화기, 보청기 호환성 전화기, 골도전화기(청각장애인을 위하여 두개골에 진동을 주는 방법으로 통화가 가능한 전화기를 말한다)등을 설치할 수 있다. 나. 장애인등의 이용이 가능한 우체통 :우체통은 장애인등의 접근 및 이용이 용이하도록 위치 및 구조등을 고려하여 설치하여야 한다.



// 장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 별표2 대상시설별 편의시설의 종류 및 설치기준(제4조관련)



Check(EDCDAPA_*_2_3_가_2_가){

IF CS1 AND CS2 THEN KS

}



ParkingLot myParkingLot{

isObjectProperty(ParkingLot.isAttachedParking) = TRUE

}

CS1 {

isExist(myParkingLot) = TRUE

}

CS2 {

getObjectProperty(myParkingLot.numberOfParkingUnit) >= 10

}

KS1 {

Area myArea{

isObjectProperty(ParkingLotArea.isHandicapParking)=TRUE

}

hasSpace(myParkingLot, myArea) = TRUE

getResult(EDPA_*_1) = TRUE

}



Check(EDCDAPA_*_2_3_가_4_가){

KS1 IF CS1 THEN KS2

}



Door myDoor1{

     isObjectProperty(Door.isEntrance)=TRUE

     isObjectProperty(myDoor1.isHandicapAccessible)=TRUE

}

Door myDoor2{

Door.Space.usage = “Office”

isObjectProperty(myDoo2.isHandicapAccessible)=TRUE

}

KS1 {

isExist(myDoor1) = TRUE

isExist(myDoor2) = TRUE

}

CS1{

Building.usage = “BusinessFacility.GovernmentOfficeBuilding”

Building.usage != “ClassINeighborhoodLivingFacility”

}

KS2 {

isObjectProperty(myDoor1.isAutomatic)=TRUE

isObjectProperty(myDoo2.isAutomatic)=TRUE

}







ParkingLot myParkingLot{

isObjectProperty(ParkingLotArea.isHandicapParking)=TRUE

}





Building myBuilding1_1{

     Building.usage = “ClassINeighborhoodLivingFacility.RetailStore”

     Building.usage = “ClassINeighborhoodLivingFacility.Barbershop”

     Building.usage = “ClassINeighborhoodLivingFacility.BeautyShop”

     Building.usage = “ClassINeighborhoodLivingFacility.Bathhouse”

}

Building myBuilding1_2{

     Building.usage = “ClassINeighborhoodLivingFacility.CommunityCenter”

     Building.usage = “ClassINeighborhoodLivingFacility.PoliceBox”

     Building.usage = “ClassINeighborhoodLivingFacility.PoliceSubstation”

     Building.usage = “ClassINeighborhoodLivingFacility.PostOffice”

Building.usage = “ClassINeighborhoodLivingFacility.HealthCenter”

     Building.usage = “ClassINeighborhoodLivingFacility.PublicLibrary”

     Building.usage = “ClassINeighborhoodLivingFacility.NationalHealthInsuranceService_NationalPensionService_Korea EmploymentAgencyForTheDisabled_KoreaWorkersCompensationAndWelfareServiceOffice”

}

Building myBuilding1_3{

     Building.usage = “ClassINeighborhoodLivingFacility.Clinic_ DentalClinic_OrientalMedicalClinic_MaternityClinic”

}

Building myBuilding1_4{

     Building.usage = “ClassINeighborhoodLivingFacility.CommunityChildCenter”

     Building.facilityArea >= 300 m2

}

Building myBuilding1_5{

     Building.usage = “ClassINeighborhoodLivingFacility.Shelter”

}

Building myBuilding1_6{

     Building.usage = “ClassINeighborhoodLivingFacility.PublicToilet”

}

Building myBuilding2_1{

     Building.usage = “ClassIINeighborhoodLivingFacility.Restaurant”

     Building.usage = “ClassIINeighborhoodLivingFacility.RestingRestaurant”

     Building.usage = “ClassIINeighborhoodLivingFacility.Bakery”

     Building.usage != “ClassINeighborhoodLivingFacility”

Building.facilityArea >= 300 m2

}

Building myBuilding2_2{

     Building.usage = “ClassIINeighborhoodLivingFacility.MassageParlor”

}

Building myBuilding3_1{

     Building.usage = “CulturalAndAssemblyFacility.PerformanceHall”

Building.usage = “CulturalAndAssemblyFacility.Auditorium”

}

Building myBuilding3_2{

     Building.usage = “CulturalAndAssemblyFacility.AssemblyHall”

}

Building myBuilding3_3{

     Building.usage = “CulturalAndAssemblyFacility.ExhibitionHall”

Building.usage = “CulturalAndAssemblyFacility.ZoologicalAndBotanicalGarden”

}

Building myBuilding4_1{

     Building.usage = “ReligiousFacility.ReligiousAssemblyFacility”

     Building.facilityArea >= 500 m2

}

Building myBuilding5_1{

     Building.usage = “CommercialFacility.WholesaleMarket”

     Building.usage = “CommercialFacility.RetailMarket”

     Building.usage = “CommercialFacility.Shop”

     Building.facilityArea >= 1000 m2

}

Building myBuilding6_1{

     Building.usage = “MedicalFacility.Hospital”

     Building.usage = “MedicalFacility.DetentionHospital”

}

Building myBuilding7_1{

     Building.usage = “EducationAndResearchFacility.School”

     Building.usage = “EducationAndResearchFacility.SpecialSchool”

     Building.usage != “EducationAndResearchFacility.Kindergarten”

}

Building myBuilding7_2{

     Building.usage = “EducationAndResearchFacility.Kindergarten”

}

Building myBuilding7_3{

     Building.usage = “EducationAndResearchFacility.TrainingInstitute”

     Building.usage = “EducationAndResearchFacility.VocationalTrainingCenter”

     Building.usage != “EducationAndResearchFacility.EducationalInstitute”

Building.facilityArea >= 500 m2

}

Building myBuilding8_1{

     Building.usage = “FacilitiesForTheAgedAndChildren.ChildrenRelatedFacility”

Building.usage = “FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged”

Building.usage = “FacilitiesForTheAgedAndChildren.SocialWelfareFacility”

Building.usage = “경로당”

Building.usage = “ResidentialFacilityForTheDisabled”

Building.facilityArea >= 500 m2

}

Building myBuilding9_1{

     Building.usage = “Trainingfacility.TrainingFacilityInLivingZone”

     Building.usage = “Trainingfacility.TrainingFacilityInNatureZone”

}

Building myBuilding10_1{

     Building.usage = “SportsFacility”

Building.facilityArea >= 500 m2

}

Building myBuilding11_1{

     Building.usage = “BusinessFacility.GovernmentOfficeBuilding”

Building.facilityArea >= 500 m2

}

Building myBuilding11_2{

     Building.usage = “BusinessFacility.FinanceBusiness”

     Building.usage = “BusinessFacility.Office”

     Building.usage = “BusinessFacility.NewspaperOffice”

     Building.usage = “BusinessFacility.Officetel”

Building.facilityArea >= 500 m2

}

Building myBuilding12_1{

     Building.usage = “LodgingFacility.GeneralLodgingFacility”

}

Building myBuilding12_2{

     Building.usage = “LodgingFacility.TouristAccommodation”

}

Building myBuilding13_1{

     Building.usage = “Factory”

}

Building myBuilding14_1{

     Building.usage = “FacilityForMotorVehicle.ParkingLot”

Building.usage = “FacilityForMotorVehicle.DrivingSchool”

}

Building myBuilding15_1{

     Building.usage = “FacilityForBroadcastingAndTelecommunication.BroadcastingStation”

Building.facilityArea >= 1000 m2

}

Building myBuilding15_2{

     Building.usage = “FacilityForBroadcastingAndTelecommunication.TelegraphAndTelephoneStation”

Building.facilityArea >= 1000 m2

}

Building myBuilding16_1{

     Building.usage = “CorrectionalFacilityAndMilitaryInstallation.Prison”

Building.usage = “CorrectionalFacilityAndMilitaryInstallation.DetentionCenter”

}

Building myBuilding17_1{

     Building.usage = “CemeteryAndRelatedFacility.CremationFacility”

     Building.usage = “CemeteryAndRelatedFacility.CharnelHouse”

     Building.usage != “ReligiousFacility”

}

Building myBuilding18_1{

     Building.usage = “FacilityForTourismAndRelaxation.BandStand”

     Building.usage = “FacilityForTourismAndRelaxation.OutdoorTheater”

     Building.usage = “FacilityForTourismAndRelaxation.ChildrenCenter”

}

Building myBuilding18_2{

     Building.usage = “FacilityForTourismAndRelaxation.RestArea”

}

Building myBuilding19_1{

     Building.usage = “FuneralParlor”

}







Check(EDCDAPA_*_2_3_나){

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

}



CS1{

Building myBuilding20_1 {

getObject(myBuilding1_1 | myBuilding12_2)

}

KS1{

hasSpace(myBuilding20_1, myParkingLot) = TRUE

OR hasSpace(myBuilding20_1, myParkingLot) = FALSE

}

CS2{

Building myBuilding20_2 {

getObject(myBuilding1_2 | myBuilding1_3 | myBuilding1_4 | myBuilding2_1 | myBuilding2_2 | myBuilding3_1 | myBuilding3_2 | myBuilding3_3 | myBuilding4_1 | myBuilding5_1 | Building myBuilding6_1 | Building myBuilding7_1 | myBuilding7_2 | myBuilding7_3 | myBuilding8_1 | myBuilding9_1 | myBuilding10_1 | myBuilding11_1 | myBuilding11_2 | myBuilding12_1 | myBuilding13_1 | myBuilding14_1 | myBuilding15_1 | myBuilding15_2 | myBuilding16_1 | myBuilding17_1 | myBuilding18_1 | myBuilding18_2 | myBuilding19_1)

}

KS2{

hasSpace(Building20_2, myParkingLot) = TRUE

}



Check(EDCDAPA_*_2_3_나){

IF CS THEN KS



CS{

Building myBuilding20_3{

getObject(myBuilding1_1 | myBuilding1_2 | myBuilding1_3 | myBuilding1_4 | myBuilding1_5 | myBuilding1_6 | myBuilding2_1 | myBuilding2_2 | myBuilding3_1 | myBuilding3_2 | myBuilding3_3 | myBuilding4_1 | myBuilding5_1 | Building myBuilding6_1 | Building myBuilding7_1 | myBuilding7_2 | myBuilding7_3 | myBuilding8_1 | myBuilding9_1 | myBuilding10_1 | myBuilding11_1 | myBuilding11_2 | myBuilding12_1 | myBuilding13_1 | myBuilding14_1 | myBuilding15_1 | myBuilding15_2 | myBuilding16_1 | myBuilding17_1 | myBuilding18_1 | myBuilding18_2 | myBuilding19_1)

}

KS{

isObjectProperty(myBuilding20_3.Door.isSillFree) = TRUE

}




12
장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 제 7 조
제7조(대상시설) 편의시설을 설치하여야 하는 대상(이하 "대상시설"이라 한다)은 다음 각호의 1에 해당하는 것으로서 대통령령으로 정하는 것을 말한다.
1. 삭제 <2005.1.27.>
2. 공원
3. 공공건물 및 공중이용시설
4. 공동주택
5. 삭제 <2005.1.27.>
6. 통신시설
7. 기타 장애인등의 편의를 위하여 편의시설의 설치가 필요한 건물·시설 및 그 부대시설
제7조(대상시설) 편의시설을 설치하여야 하는 대상(이하 "대상시설"이라 한다)은 다음 각 호의 어느 하나에 해당하는 것으로서 대통령령으로 정하는 것을 말한다.
1. 공원
2. 공공건물 및 공중이용시설
3. 공동주택
4. 통신시설
5. 그 밖에 장애인등의 편의를 위하여 편의시설을 설치할 필요가 있는 건물·시설 및 그 부대시설
[전문개정 2015.1.28.]
[시행일 : 2015.7.29.] 제7조



//     장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설) 2호
Check(CDAPA_7_0_2){
     KS
}

KS{
     getBuildingUsage() = "Park"
}


//     장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설) 3호
Check(CDAPA_7_0_3){
     KS
}

KS{
     getBuildingUsage() = "PublicFacilities"
}


//     장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설) 4호
Check(CDAPA_7_0_4){
     KS
}

KS{
     getBuildingUsage() = "MultiUnitHouse"
}


//     장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설) 6호
Check(CDAPA_7_0_6){
     KS
}

KS{
     getBuildingUsage() = "CommunicationFacility"
}



//     장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설) Check(CDAPA_7){      IF CS THEN KS } CS{      getResult(CDAPA_7_0_1) = TRUE      OR getResult(CDAOA_7_0_2) = TRUE      OR getResult(CDAOA_7_0_3) = TRUE      OR getResult(CDAOA_7_0_4) = TRUE } KS{      isInstalled(ConvenientFacility) = TRUE }


//     장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설) 1호
Check(CDAPA_7_0_1){
     KS
}

KS{
     getBuildingUsage() = "Park"
}


//     장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설) 2호
Check(CDAPA_7_0_2){
     KS
}

KS{
     getBuildingUsage() = "PublicFacility"
}


//     장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설) 3호
Check(CDAPA_7_0_3){
     KS
}

KS{
     getBuildingUsage() = "MultiUnitHouse"
}


//     장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설) 4호
Check(CDAPA_7_0_4){
     KS
}

KS{
     getBuildingUsage() = "CommunicationFacility"
}




13
장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 제 8 조
제8조(편의시설의 설치기준) ①대상시설별로 설치하여야 하는 편의시설의 종류는 대상시설의 규모, 용도등을 고려하여 대통령령으로 정한다.
②편의시설의 구조·재질등에 관한 세부기준(이하 "세부기준"이라 한다)은 보건복지부령으로 정한다. 이 경우 편의시설에 대한 안내표시에 관한 사항을 함께 정할 수 있다. <개정 1999.1.21., 2008.2.29., 2010.1.18.>
제8조(편의시설의 설치기준) ① 대상시설별로 설치하여야 하는 편의시설의 종류는 대상시설의 규모, 용도 등을 고려하여 대통령령으로 정한다.
② 편의시설의 구조와 재질 등에 관한 세부기준은 보건복지부령으로 정한다. 이 경우 편의시설에 대한 안내 표시에 관한 사항을 함께 정할 수 있다.
[전문개정 2015.1.28.]
[시행일 : 2015.7.29.] 제8조




//  장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 8조 (편의시설의 설치기준) 1항
Check(CDAPA_8_1){
     KS
}

KS{
     getResult(EDCDAPA_4) = TRUE
}




14
주차장법 제 12조의2 조
제12조의2(다른 법률과의 관계) 노외주차장인 주차전용건축물의 건폐율, 용적률, 대지면적의 최소한도 및 높이 제한 등 건축 제한에 대하여는 「국토의 계획 및 이용에 관한 법률」 제76조부터 제78조까지, 「건축법」 제57조 및 제60조에도 불구하고 다음 각 호의 기준에 따른다.
1. 건폐율: 100분의 90 이하
2. 용적률: 1천500퍼센트 이하
3. 대지면적의 최소한도: 45제곱미터 이상
4. 높이 제한: 다음 각 목의 배율 이하
가. 대지가 너비 12미터 미만의 도로에 접하는 경우: 건축물의 각 부분의 높이는 그 부분으로부터 대지에 접한 도로(대지가 둘 이상의 도로에 접하는 경우에는 가장 넓은 도로를 말한다. 이하 이 호에서 같다)의 반대쪽 경계선까지의 수평거리의 3배
나. 대지가 너비 12미터 이상의 도로에 접하는 경우: 건축물의 각 부분의 높이는 그 부분으로부터 대지에 접한 도로의 반대쪽 경계선까지의 수평거리의 36/도로의 너비(미터를 단위로한다)배. 다만, 배율이 1.8배 미만인 경우에는 1.8배로 한다.
[전문개정 2010.3.22.]



// 주차장법 12조의2 (다른 법률과의 관계)

Check(PLA_12-2){
IF CS THEN KS
}

CS{
isObjectProperty(Building.isExclusiveUseOfParkingLot)=True
}

KS{
getResult(PLA_12-2_0_1)=True
getResult(PLA_12-2_0_2)=True
getResult(PLA_12-2_0_3)=True
}


//주차장법 12조의2 (다른 법률과의 관계) 1호

Check(PLA_12-2_0_1){
KS
}

KS{

getBuildingToLandRatio() <90/100
}




//주차장법 12조의2 (다른 법률과의 관계)2호

Check(PLA_12-2_0_2){
KS
}

KS{
getFloorAreaRatio()<1500%
}




//주차장법 12조의2 (다른 법률과의 관계) 3호

Check(PLA_12-2_0_3){
KS
}

KS{
getSiteArea()>45 m2
}






15
주차장법 제 19 조
제19조(부설주차장의 설치) ① 「국토의 계획 및 이용에 관한 법률」에 따른 도시지역, 같은 법 제51조제3항에 따른 지구단위계획구역 및 지방자치단체의 조례로 정하는 관리지역에서 건축물, 골프연습장, 그 밖에 주차수요를 유발하는 시설(이하 "시설물"이라 한다)을 건축하거나 설치하려는 자는 그 시설물의 내부 또는 그 부지에 부설주차장(화물의 하역과 그 밖의 사업 수행을 위한 주차장을 포함한다. 이하 같다)을 설치하여야 한다. <개정 2011.4.14.>
② 부설주차장은 해당 시설물의 이용자 또는 일반의 이용에 제공할 수 있다.
③ 제1항에 따른 시설물의 종류와 부설주차장의 설치기준은 대통령령으로 정한다.
④ 제1항의 경우에 부설주차장이 대통령령으로 정하는 규모 이하이면 같은 항에도 불구하고 시설물의 부지 인근에 단독 또는 공동으로 부설주차장을 설치할 수 있다. 이 경우 시설물의 부지 인근의 범위는 대통령령으로 정하는 범위에서 지방자치단체의 조례로 정한다.
⑤ 제1항의 경우에 시설물의 위치·용도·규모 및 부설주차장의 규모 등이 대통령령으로 정하는 기준에 해당할 때에는 해당 주차장의 설치에 드는 비용을 시장·군수 또는 구청장에게 납부하는 것으로 부설주차장의 설치를 갈음할 수 있다. 이 경우 부설주차장의 설치를 갈음하여 납부된 비용은 노외주차장의 설치 외의 목적으로 사용할 수 없다.
⑥ 시장·군수 또는 구청장은 제5항에 따라 주차장의 설치비용을 납부한 자에게 대통령령으로 정하는 바에 따라 납부한 설치비용에 상응하는 범위에서 노외주차장(특별시장·광역시장, 시장·군수 또는 구청장이 설치한 노외주차장만 해당한다)을 무상으로 사용할 수 있는 권리(이하 이 조에서 "노외주차장 무상사용권"이라 한다)를 주어야 한다. 다만, 시설물의 부지로부터 제4항 후단에 따른 범위에 노외주차장 무상사용권을 줄 수 있는 노외주차장이 없는 경우에는 그러하지 아니하다.
⑦ 시장·군수 또는 구청장은 제6항 단서에 따라 노외주차장 무상사용권을 줄 수 없는 경우에는 제5항에 따른 주차장 설치비용을 줄여 줄 수 있다.
⑧ 시설물의 소유자가 변경되는 경우에는 노외주차장 무상사용권은 새로운 소유자가 승계한다.
⑨ 제5항과 제7항에 따른 설치비용의 산정기준 및 감액기준 등에 관하여 필요한 사항은 해당 지방자치단체의 조례로 정한다.
⑩ 특별시장·광역시장·특별자치도지사 또는 시장은 부설주차장을 설치하면 교통 혼잡이 가중될 우려가 있는 지역에 대하여는 제1항 및 제3항에도 불구하고 부설주차장의 설치를 제한할 수 있다. 이 경우 제한지역의 지정 및 설치 제한의 기준은 국토교통부령으로 정하는 바에 따라 해당 지방자치단체의 조례로 정한다. <개정 2013.3.23.>
⑪ 시장·군수 또는 구청장은 설치기준에 적합한 부설주차장이 제3항에 따른 부설주차장 설치기준의 개정으로 인하여 설치기준에 미달하게 된 기존 시설물 중 대통령령으로 정하는 시설물에 대하여는 그 소유자에게 개정된 설치기준에 맞게 부설주차장을 설치하도록 권고할 수 있다.
⑫ 시장·군수 또는 구청장은 제11항에 따라 부설주차장의 설치권고를 받은 자가 부설주차장을 설치하려는 경우 제21조의2제6항에 따라 부설주차장의 설치비용을 우선적으로 보조할 수 있다.
[전문개정 2010.3.22.]




//주차장법 19조 (부설주차장의 설치) 1항



Check(PLA_19_1){

   IF CS THEN KS 

}



CS{

   getSiteUsage()="UrbanArea"

   OR getSiteUsage()="DistrictUnitPlanningZone"

   OR getSiteUsage()="ControlArea"

}



KS{

   ParkingLot myParkingLot{

     isObjectProperty(ParkingLot.isAttachedParking)=True

   }

   isInstalled(myParkingLot, Facility)=True

   isInstalled(myParkingLot, Site)=True

}




16
주차장법 제 19조의5 조
제19조의5(기계식주차장의 설치기준) 기계식주차장의 설치기준은 국토교통부령으로 정한다. <개정 2013.3.23.>
[전문개정 2010.3.22.]



//주차장법 19조의5 (기계식주차장의 설치기준)

Check(PLA_19-5){
IF CS THEN KS
}

CS{
getSpaceUsage()="MechanicalParking"
}

KS{
getResult(ERPA_16-2_0_1)=True
}




17
주차장법 제 6 조

제6조(주차장설비기준 등) ① 주차장의 구조·설비기준 등에 관하여 필요한 사항은 국토교통부령으로 정한다. 이 경우 「자동차관리법」에 따른 배기량 1천시시 미만의 자동차(이하 "경형자동차"라 한다)에 대하여는 전용주차구획을 일정 비율 이상 정할 수 있다. <개정 2013.3.23.>
② 특별시·광역시·특별자치도·시·군 또는 자치구는 해당 지역의 주차장 실태 등을 고려하여 필요하다고 인정하는 경우에는 제1항 전단에도 불구하고 주차장의 구조·설비기준 등에 관하여 필요한 사항을 해당 지방자치단체의 조례로 달리 정할 수 있다.
③ 특별시장·광역시장, 시장·군수 또는 구청장은 노상주차장 또는 노외주차장을 설치하는 경우에는 도시·군관리계획과 「도시교통정비 촉진법」에 따른 도시교통정비 기본계획에 따라야 하며, 노상주차장을 설치하는 경우에는 미리 관할 경찰서장의 의견을 들어야 한다. <개정 2011.4.14.>
[전문개정 2010.3.22.]



//주차장법 6조 (주차장설비기준 등) 1항

Check(PLA_6_1){
KS
}

KS{

getResult(ERPA_2)=TRUE
getResult(ERPA_3)=TRUE
getResult(ERPA_4)=TRUE
getResult(ERPA_6)=TRUE
getResult(ERPA_11)=TRUE
}




18
주차장법 시행규칙 제 11 조

1. 주차대수 30대를 초과하는 지하식 또는 건축물식 형태의 자주식주차장으로서 판매시설, 숙박시설, 운동시설, 위락시설, 문화 및 집회시설, 종교시설 또는 업무시설(이하 이 항에서 "판매시설등"이라 한다)의 용도로 이용되는 건축물의 부설주차장
2. 제1호에 따른 규모의 주차장을 설치한 판매시설등과 다른 용도의 시설이 복합적으로 설치된 건축물의 부설주차장으로서 각각의 시설에 대한 부설주차장을 구분하여 사용·관리하는 것이 곤란한 건축물의 부설주차장
③ 제2항에 따른 건축물 외의 건축물(단독주택 및 다세대주택은 제외한다)의 부설주차장으로서 지하식 또는 건축물식 형태의 자주식주차장에는 벽면에서부터 50센티미터 이내를 제외한 바닥면의 최소 조도와 최대 조도를 제6조제1항제9호 각 목과 같이 하여야 한다. <개정 2013.1.25.>
④ 주차대수 50대 이상의 부설주차장에 설치되는 확장형 주차단위구역에 관하여는 제6조제1항제14호를 준용한다. <신설 2012.7.2.>
⑤ 부설주차장의 총주차대수 규모가 8대 이하인 자주식주차장(지평식 및 건축물식 중 필로티 구조만 해당한다)의 구조 및 설비기준은 제1항 본문에도 불구하고 다음 각 호에 따른다. <개정 2012.7.2., 2013.1.25.>
1. 차로의 너비는 2.5미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 따른 기준 이상으로 하여야 한다. (표)
2. 보도와 차도의 구분이 없는 너비 12미터 미만의 도로에 접하여 있는 부설주차장은 그 도로를 차로로 하여 주차단위구획을 배치할 수 있다. 이 경우 차로의 너비는 도로를 포함하여 6미터 이상(평행주차형식인 경우에는 도로를 포함하여 4미터 이상)으로 하며, 도로의 포함 범위는 중앙선까지로 하되, 중앙선이 없는 경우에는 도로 반대쪽 경계선까지로 한다.
3. 보도와 차도의 구분이 있는 12미터 이상의 도로에 접하여 있고 주차대수가 5대 이하인 부설주차장은 그 주차장의 이용에 지장이 없는 경우만 그 도로를 차로로 하여 직각주차형식으로 주차단위구획을 배치할 수 있다.
4. 주차대수 5대 이하의 주차단위구획은 차로를 기준으로 하여 세로로 2대까지 접하여 배치할 수 있다.
5. 출입구의 너비는 3미터 이상으로 한다. 다만, 막다른 도로에 접하여 있는 부설주차장으로서 시장·군수 또는 구청장이 차량의 소통에 지장이 없다고 인정하는 경우에는 2.5미터 이상으로 할 수 있다.
6. 보행인의 통행로가 필요한 경우에는 시설물과 주차단위구획 사이에 0.5미터 이상의 거리를 두어야 한다.
⑥ 제1항 및 제5항에 따라 도로를 차로로 하여 설치한 부설주차장의 경우 도로와 주차구획선 사이에는 담장 등 주차장의 이용을 곤란하게 하는 장애물을 설치할 수 없다. <개정 2012.7.2.>
[전문개정 2010.10.29.]
제11조(부설주차장의 구조·설비기준) ① 법 제6조제1항에 따른 부설주차장의 구조·설비기준에 대해서는 제5조제6호 및 제7호와 제6조제1항제1호부터 제8호까지·제10호·제12호·제13호 및 같은 조 제7항을 준용한다. 다만, 단독주택 및 다세대주택으로서 해당 부설주차장을 이용하는 차량의 소통에 지장을 주지 아니한다고 시장·군수 또는 구청장이 인정하는 주택의 부설주차장의 경우에는 그러하지 아니하다.
② 다음 각 호의 부설주차장에 대해서는 제6조제1항제9호 및 제11호를 준용한다.



//주차장법 시행규칙 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항
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항 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항 5호

Check(ERPA_11_5_5){
KS
}

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




19
주차장법 시행규칙 제 16조의2 조
제16조의2(기계식주차장의 설치기준) 법 제19조의5에 따른 기계식주차장의 설치기준은 다음 각 호와 같다. 다만, 이 조에 규정된 사항 외에 기계식주차장의 설치기준에 대해서는 제6조(같은 조 제1항제3호·제7호 및 제8호는 제외한다)에 따른다. 제11조제1항에서 이를 준용하는 경우에도 또한 같다. <개정 2012.7.2.>
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호를 준용한다.
3. 기계식주차장에는 도로에서 기계식주차장치 출입구까지의 차로(이하 "진입로"라 한다) 또는 전면공지와 접하는 장소에 자동차가 대기할 수 있는 장소(이하 "정류장"이라 한다)를 설치하여야 한다. 이 경우 주차대수 20대를 초과하는 20대마다 한 대분의 정류장을 확보하여야 하며, 정류장의 규모는 다음 각 목과 같다. 다만, 주차장의 출구와 입구가 따로 설치되어 있거나 진입로의 너비가 6미터 이상인 경우에는 종단경사도가 6퍼센트 이하인 진입로의 길이 6미터마다 한 대분의 정류장을 확보한 것으로 본다.
가. 중형 기계식주차장: 길이 5.05미터 이상, 너비 1.85미터 이상
나. 대형 기계식주차장: 길이 5.3미터 이상, 너비 2.15미터 이상
[전문개정 2010.10.29.]



//주차장법 시행규칙 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)="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 (기계식주차장의 설치기준) 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)="MiddleSize" } KS{ myParking.length>=5.05 m myParking.width>1.85 m }


//주차장법 시행규칙 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 }




20
주차장법 시행규칙 제 3 조

제3조(주차장의 주차구획) ① 법 제6조제1항에 따른 주차장의 주차단위구획은 다음 각 호와 같다. <개정 2012.7.2.>
1. 평행주차형식의 경우 (표)
2. 평행주차형식 외의 경우 (표)
② 제1항에 따른 주차단위구획은 흰색 실선(경형자동차 전용주차구획의 주차단위구획은 파란색 실선)으로 표시하여야 한다.
[전문개정 2010.10.29.]
제3조(주차장의 주차구획) ① 법 제6조제1항에 따른 주차장의 주차단위구획은 다음 각 호와 같다. <개정 2012.7.2.>
1. 평행주차형식의 경우 (표)
2. 평행주차형식 외의 경우 (표)
② 제1항에 따른 주차단위구획은 흰색 실선(경형자동차 전용주차구획의 주차단위구획은 파란색 실선)으로 표시하여야 한다.
③ 둘 이상의 연속된 주차단위구획의 총 너비 또는 총 길이는 제1항에 따른 주차단위구획의 너비 또는 길이에 주차단위구획의 개수를 곱한 것 이상이 되어야 한다. <신설 2015.3.23.>
[전문개정 2010.10.29.]
[시행일 : 2015.9.24.] 제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"
}




21
주차장법 시행규칙 제 4 조

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



//주차장법 시행규칙 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
}



//주차장법 시행규칙 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

}




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



//주차장법 시행규칙 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
}






23
주차장법 시행규칙 제 6 조

제6조(노외주차장의 구조·설비기준) ① 법 제6조제1항에 따른 노외주차장의 구조·설비기준은 다음 각 호와 같다. <개정 2010.10.29., 2012.7.2., 2013.1.25., 2013.3.23., 2014.7.15.>
1. 노외주차장의 출구와 입구에서 자동차의 회전을 쉽게 하기 위하여 필요한 경우에는 차로와 도로가 접하는 부분을 곡선형으로 하여야 한다.
⑦ 제1항제12호에 따른 추락방지 안전시설의 설계 및 설치 등에 관한 세부적인 사항은 국토교통부장관이 정하여 고시한다. <개정 2010.10.29., 2013.3.23.>
[제목개정 2010.10.29.]
나. 「도로법 시행령」 제3조제4호에 따른 방호(防護) 울타리
다. 2톤 차량이 시속 20킬로미터의 주행속도로 정면충돌하는 경우에 견딜 수 있는 강도의 구조물로서 한국도로공사, 교통안전공단, 그 밖에 국토교통부장관이 정하여 고시하는 전문연구기관에서 인정하는 제품
라. 그 밖에 국토교통부장관이 정하여 고시하는 추락방지 안전시설
13. 노외주차장의 주차단위구획은 평평한 장소에 설치하여야 한다. 다만, 경사도가 7퍼센트 이하인 경우로서 시장·군수 또는 구청장이 안전에 지장이 없다고 인정하는 경우에는 그러하지 아니하다.
14. 노외주차장에는 제3조제1항제2호에 따른 확장형 주차단위구획을 주차단위구획 총수(평행주차형식의 주차단위구획 수는 제외한다)의 30퍼센트 이상 설치하여야 한다.
② 시장·군수 또는 구청장은 제1항제11호의 준수사항에 대하여 매년 한 번 이상 지도점검을 실시하여야 한다. <개정 2010.10.29.>
③ 삭제 <1996.6.29.>
④ 노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적(주차장으로 사용되는 면적과 주차장 외의 용도로 사용되는 면적을 합한 면적을 말한다. 이하 같다)의 20퍼센트를 초과하여서는 아니 된다. <개정 2010.10.29., 2012.7.2.>
1. 관리사무소, 휴게소 및 공중화장실
2. 간이매점, 자동차 장식품 판매점 및 전기자동차 충전시설(특별시장·광역시장, 시장·군수 또는 구청장이 설치한 노외주차장만 해당한다)
2의2. 「석유 및 석유대체연료 사업법 시행령」 제2조제3호에 따른 주유소(특별시장·광역시장, 시장·군수 또는 구청장이 설치한 노외주차장만 해당한다)
3. 노외주차장의 관리·운영상 필요한 편의시설
4. 특별자치도·시·군 또는 자치구(이하 "시·군 또는 구"라 한다)의 조례로 정하는 이용자 편의시설
⑤ 법 제20조제2항 또는 제3항에 따른 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적 중 부대시설이 차지하는 비율에 대해서는 제4항에도 불구하고 특별시·광역시, 시·군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29.>
⑥ 시장·군수 또는 구청장이 노외주차장 안에 「국토의 계획 및 이용에 관한 법률」 제2조제7호의 도시·군계획시설을 부대시설로서 중복하여 설치하려는 경우에는 노외주차장 외의 용도로 사용하려는 도시·군계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29., 2012.4.13.>
2. 노외주차장의 출구 부근의 구조는 해당 출구로부터 2미터(이륜자동차전용 출구의 경우에는 1.3미터)를 후퇴한 노외주차장의 차로의 중심선상 1.4미터의 높이에서 도로의 중심선에 직각으로 향한 왼쪽·오른쪽 각각 60도의 범위에서 해당 도로를 통행하는 자를 확인할 수 있도록 하여야 한다.
3. 노외주차장에는 자동차의 안전하고 원활한 통행을 확보하기 위하여 다음 각 목에서 정하는 바에 따라 차로를 설치하여야 한다.
가. 주차구획선의 긴 변과 짧은 변 중 한 변 이상이 차로에 접하여야 한다.
나. 차로의 너비는 주차형식 및 출입구(지하식 또는 건축물식 주차장의 출입구를 포함한다. 제4호에서 또한 같다)의 개수에 따라 다음 구분에 따른 기준 이상으로 하여야 한다.
1) 이륜자동차전용 노외주차장 (표)
2) 1) 외의 노외주차장 (표)
4. 노외주차장의 출입구 너비는 3.5미터 이상으로 하여야 하며, 주차대수 규모가 50대 이상인 경우에는 출구와 입구를 분리하거나 너비 5.5미터 이상의 출입구를 설치하여 소통이 원활하도록 하여야 한다.
5. 지하식 또는 건축물식 노외주차장의 차로는 제3호의 기준에 따르는 외에 다음 각 목에서 정하는 바에 따른다.
가. 높이는 주차바닥면으로부터 2.3미터 이상으로 하여야 한다.
나. 곡선 부분은 자동차가 6미터(같은 경사로를 이용하는 주차장의 총주차대수가 50대 이하인 경우에는 5미터, 이륜자동차전용 노외주차장의 경우에는 3미터) 이상의 내변반경으로 회전할 수 있도록 하여야 한다.
다. 경사로의 차로 너비는 직선형인 경우에는 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. 자주식주차장으로서 지하식 또는 건축물식 노외주차장에는 벽면에서부터 50센티미터 이내를 제외한 바닥면의 최소 조도(照度)와 최대 조도를 다음 각 목과 같이 한다.
가. 주차구획 및 차로: 최소 조도는 10럭스 이상, 최대 조도는 최소 조도의 10배 이내
나. 주차장 출구 및 입구: 최소 조도는 300럭스 이상, 최대 조도는 없음
다. 사람이 출입하는 통로: 최소 조도는 50럭스 이상, 최대 조도는 없음
10. 노외주차장에는 자동차의 출입 또는 도로교통의 안전을 확보하기 위하여 필요한 경보장치를 설치하여야 한다.
11. 주차대수 30대를 초과하는 규모의 자주식주차장으로서 지하식 또는 건축물식 노외주차장에는 관리사무소에서 주차장 내부 전체를 볼 수 있는 폐쇄회로 텔레비전 및 녹화장치를 포함하는 방범설비를 설치·관리하여야 하되, 다음 각 목의 사항을 준수하여야 한다.
가. 방범설비는 주차장의 바닥면으로부터 170센티미터의 높이에 있는 사물을 알아볼 수 있도록 설치하여야 한다.
나. 폐쇄회로 텔레비전과 녹화장치의 모니터 수가 같아야 한다.
다. 선명한 화질이 유지될 수 있도록 관리하여야 한다.
라. 촬영된 자료는 컴퓨터보안시스템을 설치하여 1개월 이상 보관하여야 한다.
12. 2층 이상의 건축물식 주차장 및 특별시장·광역시장·특별자치도지사·시장·군수가 정하여 고시하는 주차장에는 다음 각 목의 어느 하나에 해당하는 추락방지 안전시설을 설치하여야 한다.
가. 2톤 차량이 시속 20킬로미터의 주행속도로 정면충돌하는 경우에 견딜 수 있는 강도의 구조물로서 구조계산에 의하여 안전하다고 확인된 구조물



//주차장법 시행규칙 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항 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 }


//주차장법 시행규칙 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조 (노외주차장의 구조·설비기준) 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항

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항 3호

Check(ERPA_6_4_3){

     KS

}



KS{

     getSpaceUsage(ParkingLotSubsidiaryFacility) = "GasStation"

}


//주차장법 시행규칙 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 }




24
주차장법 시행령 제 4 조
제4조(경형자동차 전용주차구획의 설치비율) 법 제12조의3제3항에서 "대통령령으로 정하는 비율"이란 노외주차장 총주차대수의 5퍼센트를 말한다.
[전문개정 2010.10.21.]



//주차장법 시행령 4조 (경형자동차 전용주차구획의 설치비율)


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

Rate EDPA_4_rate= myParkingLot.numberOfPakingUnit*0.05







25
주차장법 시행령 제 6 조

제6조(부설주차장의 설치기준) ① 법 제19조제3항에 따라 부설주차장을 설치하여야 할 시설물의 종류와 부설주차장의 설치기준은 별표 1과 같다. 다만, 다음 각 호의 경우에는 특별시·광역시·특별자치도·시 또는 군(광역시의 군은 제외한다. 이하 이 조에서 같다)의 조례로 시설물의 종류를 세분하거나 부설주차장의 설치기준을 따로 정할 수 있다.
1. 오지·벽지·섬 지역, 도심지의 간선도로변이나 그 밖에 해당 지역의 특수성으로 인하여 별표 1의 기준을 적용하는 것이 현저히 부적합한 경우
2. 「국토의 계획 및 이용에 관한 법률」 제6조제2호에 따른 관리지역으로서 주차난이 발생할 우려가 없는 경우
3. 단독주택·공동주택의 부설주차장 설치기준을 세대별로 정하거나 업무시설 중 오피스텔의 부설주차장 설치기준을 호실별로 정하려는 경우
4. 기계식주차장을 설치하는 경우로서 해당 지역의 주차장 확보율, 주차장 이용 실태, 교통 여건 등을 고려하여 별표 1의 부설주차장 설치기준과 다르게 정하려는 경우
5. 대한민국 주재 외국공관 안의 외교관 또는 그 가족이 거주하는 구역 등 일반인의 출입이 통제되는 구역에 주택 등의 시설물을 건축하는 경우
6. 시설면적이 1만제곱미터 이상인 공장을 건축하는 경우
② 특별시·광역시·특별자치도·시 또는 군은 주차수요의 특성 또는 증감에 효율적으로 대처하기 위하여 필요하다고 인정하는 경우에는 별표 1의 부설주차장 설치기준의 2분의 1의 범위에서 그 설치기준을 해당 지방자치단체의 조례로 강화하거나 완화할 수 있다. 이 경우 별표 1의 시설물의 종류·규모를 세분하여 각 시설물의 종류·규모별로 강화 또는 완화의 정도를 다르게 정할 수 있다.
③ 제1항 단서 및 제2항에 따라 부설주차장의 설치기준을 조례로 정하는 경우 해당 지방자치단체는 해당 지역의 구역별로 부설주차장 설치기준을 각각 다르게 정할 수 있다.
④ 건축물의 용도를 변경하는 경우에는 용도변경 시점의 주차장 설치기준에 따라 변경 후 용도의 주차대수와 변경 전 용도의 주차대수를 산정하여 그 차이에 해당하는 부설주차장을 추가로 확보하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 경우에는 부설주차장을 추가로 확보하지 아니하고 건축물의 용도를 변경할 수 있다.
1. 사용승인 후 5년이 지난 연면적 1천제곱미터 미만의 건축물의 용도를 변경하는 경우. 다만, 문화 및 집회시설 중 공연장·집회장·관람장, 위락시설 및 주택 중 다세대주택·다가구주택의 용도로 변경하는 경우는 제외한다.
2. 해당 건축물 안에서 용도 상호간의 변경을 하는 경우. 다만, 부설주차장 설치기준이 높은 용도의 면적이 증가하는 경우는 제외한다.
[전문개정 2010.10.21.]



//주차장법 시행령 6조 (부설주차장의 설치) 1항


Check(ERPA_6_1){
IF !CS THEN KS
}


CS{
getResult(ERPA_6_1_1)=TRUE
OR getResult(ERPA_6_1_2)=TRUE
OR getResult(ERPA_6_1_3)=TRUE
OR getResult(ERPA_6_1_4)=TRUE
OR getResult(ERPA_6_1_5)=TRUE
OR getResult(ERPA_6_1_6)=TRUE
}


KS{
getResult(ERPA_*_1)=TRUE
}


//주차장법 시행령 6조 (부설주차장의 설치) 1항 6호

Check(EDPA_6_1_6){
KS
}

KS{
getBuildingUsage()= "Factory"
getObjectProperty(Building.facilityArea)>= 10000m2
}




26
주차장법 시행령 제 별표1 조
부설주차장의 설치대상 시설물 종류 및 설치기준(제6조제1항 관련) (시설물 :설치기준) 1. 위락시설 :○ 시설면적 100㎡당 1대(시설면적/100㎡) 2. 문화 및 집회시설(관람장은 제외한다), 종교시설, 판매시설, 운수시설, 의료시설(정신병원·요양병원 및 격리병원은 제외한다), 운동시설(골프장·골프연습장 및 옥외수영장은 제외한다), 업무시설(외국공관 및 오피스텔은 제외한다), 방송통신시설 중 방송국, 장례식장 :○ 시설면적 150㎡당 1대(시설면적/150㎡) 3. 제1종 근린생활시설[「건축법 시행령」 별표 1 제3호바목 및 사목(공중화장실, 대피소, 지역아동센터는 제외한다)은 제외한다], 제2종 근린생활시설, 숙박시설 :○ 시설면적 200㎡당 1대(시설면적/200㎡) 4. 단독주택(다가구주택은 제외한다) :○ 시설면적 50㎡ 초과 150㎡ 이하: 1대 :○ 시설면적 150㎡ 초과: 1대에 150㎡를 초과하는 100㎡당 1대를 더한 대수[1+{(시설면적-150㎡)/100㎡}] 5. 다가구주택, 공동주택(기숙사는 제외한다), 업무시설 중 오피스텔 :○ 「주택건설기준 등에 관한 규정」 제27조제1항에 따라 산정된 주차대수. 이 경우 다가구주택 및 오피스텔의 전용면적은 공동주택의 전용면적 산정방법을 따른다. 6. 골프장, 골프연습장, 옥외수영장, 관람장 :○ 골프장: 1홀당 10대(홀의 수×10) ○ 골프연습장: 1타석당 1대(타석의 수×1) ○ 옥외수영장: 정원 15명당 1대(정원/15명) ○ 관람장: 정원 100명당 1대(정원/100명) 7. 수련시설, 공장(아파트형은 제외한다), 발전시설 :○ 시설면적 350㎡당 1대(시설면적/350㎡) 8. 창고시설 :○ 시설면적 400㎡당 1대(시설면적/400㎡) 9. 학생용 기숙사 :○ 시설면적 400㎡당 1대(시설면적/400㎡) 10. 그 밖의 건축물 :○ 시설면적 300㎡당 1대(시설면적/300㎡) 비고 1. 시설물의 종류는 다른 법령에 특별한 규정이 없으면 「건축법 시행령」 별표 1에 따르되, 다음 각 목의 어느 하나에 해당하는 시설물을 건축하거나 설치하려는 경우에는 부설주차장을 설치하지 않을 수 있다. 가. 제1종 근린생활시설 중 변전소·양수장·정수장·대피소·공중화장실, 그 밖에 이와 유사한 시설 나. 종교시설 중 수도원·수녀원·제실(祭室) 및 사당 다. 동물 및 식물 관련 시설(도축장 및 도계장은 제외한다) 라. 방송통신시설(방송국, 전신전화국, 통신용 시설 및 촬영소만을 말한다) 중 송신·수신 및 중계시설 마. 주차전용건축물(노외주차장인 주차전용건축물만을 말한다)에 주차장 외의 용도로 설치하는 시설물(판매시설 중 백화점·쇼핑센터·대형점과 문화 및 집회시설 중 영화관·전시장·예식장은 제외한다) 바. 「도시철도법」에 따른 역사(「철도건설법」 제2조제7호에 따른 철도건설사업으로 건설되는 역사를 포함한다) 사. 「건축법 시행령」 제6조제1항제4호에 따른 전통한옥 밀집지역 안에 있는 전통한옥 2. 시설물의 시설면적은 공용면적을 포함한 바닥면적의 합계를 말하되, 하나의 부지 안에 둘 이상의 시설물이 있는 경우에는 각 시설물의 시설면적을 합한 면적을 시설면적으로 하며, 시설물 안의 주차를 위한 시설의 바닥면적은 그 시설물의 시설면적에서 제외한다. 3. 시설물의 소유자는 부설주차장(해당 시설물의 부지에 설치하는 부설주차장은 제외한다)의 부지(「공간정보의 구축 및 관리 등에 관한 법률」 제67조제1항에 따른 주차장 지목만을 말한다)의 소유권을 취득하여 이를 주차장전용으로 제공해야 한다. 다만, 주차전용건축물에 부설주차장을 설치하는 경우에는 그 건축물의 소유권을 취득해야 한다. 4. 용도가 다른 시설물이 복합된 시설물에 설치해야 하는 부설주차장의 주차대수는 용도가 다른 시설물별 설치기준에 따라 산정(위 표 제5호의 시설물은 주차대수의 산정대상에서 제외하되, 비고 제8호에서 정한 기준을 적용하여 산정된 주차대수는 따로 합산한다)한 소수점 이하 첫째자리까지의 주차대수를 합하여 산정한다. 다만, 단독주택(다가구주택은 제외한다. 이하 이 호에서 같다)의 용도로 사용되는 시설의 면적이 50제곱미터 이하인 경우 단독주택의 용도로 사용되는 시설의 면적에 대한 부설주차장의 주차대수는 단독주택의 용도로 사용되는 시설의 면적을 100제곱미터로 나눈 대수로 한다. 5. 시설물을 용도변경하거나 증축함에 따라 추가로 설치해야 하는 부설주차장의 주차대수는 용도변경하는 부분 또는 증축으로 인하여 면적이 증가하는 부분(이하 "증축하는 부분”이라 한다)에 대해서만 설치기준을 적용하여 산정한다. 다만, 위 표 제5호에 따른 시설물을 증축하는 경우에는 증축 후 시설물의 전체면적에 대하여 위 표 제5호에 따른 설치기준을 적용하여 산정한 주차대수에서 증축 전 시설물의 면적에 대하여 증축 시점의 위 표 제5호에 따른 설치기준을 적용하여 산정한 주차대수를 뺀 대수로 한다. 6. 설치기준(위 표 제5호에 따른 설치기준은 제외한다. 이하 이 호에서 같다)에 따라 주차대수를 산정할 때 소수점 이하의 수(시설물을 증축하는 경우 먼저 증축하는 부분에 대하여 설치기준을 적용하여 산정한 수가 0.5 미만일 때에는 그 수와 나중에 증축하는 부분들에 대하여 설치기준을 적용하여 산정한 수를 합산한 수의 소수점 이하의 수. 이 경우 합산한 수가 0.5 미만일 때에는 0.5 이상이 될 때까지 합산해야 한다)가 0.5 이상인 경우에는 이를 1로 본다. 다만, 해당 시설물 전체에 대하여 설치기준(시설물을 설치한 후 법령·조례의 개정 등으로 설치기준 또는 설치제한기준이 변경된 경우에는 변경된 설치기준 또는 설치제한기준을 말한다)을 적용하여 산정한 총주차대수가 1대 미만인 경우에는 주차대수를 0으로 본다. 7. 용도변경되는 부분에 대하여 설치기준을 적용하여 산정한 주차대수가 1대 미만인 경우에는 주차대수를 0으로 본다. 다만, 용도변경되는 부분에 대하여 설치기준을 적용하여 산정한 주차대수의 합(2회 이상 나누어 용도변경하는 경우를 포함한다)이 1대 이상인 경우에는 그러하지 아니하다. 8. 단독주택 및 공동주택 중 「주택건설기준 등에 관한 규정」이 적용되는 주택에 대해서는 같은 규정에 따른 기준을 적용한다. 9. 승용차와 승용차 외의 자동차를 함께 주차하는 부설주차장의 경우에는 승용차 외의 자동차의 주차가 가능하도록 하여야 하며, 승용차 외의 자동차를 더 많이 주차하는 부설주차장의 경우에는 그 이용 빈도에 따라 승용차 외의 자동차의 주차에 적합하도록 승용차 외의 자동차를 주차할 주차장을 승용차용 주차장과 구분하여 설치해야 한다. 이 경우 주차대수의 산정은 승용차를 기준으로 한다. 10. 「장애인·노인·임산부 등의 편의증진 보장에 관한 법률 시행령」 제4조 또는 「교통약자의 이동편의 증진법 시행령」 제12조에 따라 장애인전용 주차구역을 설치해야 하는 시설물에는 부설주차장 설치기준에 따른 부설주차장 주차대수의 2퍼센트부터 4퍼센트까지의 범위에서 장애인의 주차수요를 고려하여 지방자치단체의 조례로 정하는 비율 이상을 장애인전용 주차구획으로 구분·설치해야 한다. 다만, 부설주차장의 설치기준에 따른 부설주차장의 주차대수가 10대 미만인 경우에는 그러하지 아니하다. 11. 제6조제2항에 따라 지방자치단체의 조례로 부설주차장 설치기준을 강화 또는 완화하는 때에는 시설물의 시설면적·홀·타석·정원을 기준으로 한다. 12. 경형자동차의 전용주차구획으로 설치된 주차단위구획은 전체 주차단위구획 수의 10퍼센트까지 부설주차장 설치기준에 따라 설치된 것으로 본다. 13. 2008년 1월 1일 전에 설치된 기계식주차장치로서 다음 각 목에 열거된 형태의 기계식주차장치를 설치한 주차장을 다른 형태의 주차장으로 변경하여 설치하는 경우에는 변경 전의 주차대수의 2분의 1에 해당하는 주차대수를 설치하더라도 변경 전의 주차대수로 인정한다. 가. 2단 단순승강 기계식주차장치: 주차구획이 2층으로 되어 있고 위층에 주차된 자동차를 출고하기 위하여는 반드시 아래층에 주차되어 있는 자동차를 출고해야 하는 형태로서, 주차구획 안에 있는 평평한 운반기구를 위·아래로만 이동하여 자동차를 주차하는 기계식주차장치 나. 2단 경사승강 기계식주차장치: 주차구획이 2층으로 되어 있고 주차구획 안에 있는 경사진 운반기구를 위·아래로만 이동하여 자동차를 주차하는 기계식주차장치 14. 비고 제13호에 따라 기계식주차장치를 설치한 주차장을 변경하여 변경 전의 주차대수로 인정받은 후 해당 시설물의 용도변경 또는 증축 등으로 인하여 주차장을 추가로 설치해야 하는 경우에는 비고 제13호 각 목의 기계식주차장치를 설치한 주차장을 변경하면서 줄어든 주차대수도 포함하여 설치해야 한다. 15. "학생용 기숙사"란 기숙사 중 「초·중등교육법」 제2조 및 「고등교육법」 제2조에 따른 학교에 재학 중인 학생을 위한 기숙사를 말한다.



//주차장법 시행령 별표1 부설주차장의 설치대상 시설물 종류 및 설치기준





Check(EDPA_*_1_1){

IF CS THEN KS

}

Space mySpace1{

getBuildingUsage()=” AmusementFacility”

myTotalFloorArea = getTotalFloorArea(mySpace1)

CS{

isExist(mySpace1)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea/100

}





Check(EDPA_*_1_2){

IF CS THEN KS

}

Space mySpace2{

(getBuildingUsage()= “CulturalAndAssemblyFacility”

AND getBuildingUsage() !=” Auditorium”)

OR (getBuildingUsage() = “ReligiousFacility | CommercialFacility | TransportationFacilit”

OR getBuildingUsage() = ”MedicalFacility”

AND getBuildingUsage() != “MentalHospital | ConvalescentHospital | DetentionHoispital”)

OR (getBuildingUsage() = “SportsFacility” 

AND getBuildingUsage() != “GolfCourse | GolfDrivingRange | OurdoorSwimmingPool”)

OR (getBuildingUsage()= “BusinessFacility”

AND getBuildingUsage() != “ForeignOfficialResidence | Officetels” )

}

myTotalFloorArea2 = getTotalFloorArea(mySpace2)

}

CS{

isExist(mySpace2)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea2/150

}



Check(EDPA_*_1_3){

IF CS THEN KS

}

Space mySpace3{

 ((getBuildingUsage ()=” ClassINeighborhoodLivingFacility”

AND getSpaceUsage != “PublicToilet | Shelter | CommunityChildCenter”)

OR getBuildingUsage ()=”ClassIINeighborhoodLivingFacility”

OR getBuildingUsage ()=”LodgingFacility”)

}

myTotalFloorArea3 = getTotalFloorArea(mySpace3)

}

CS{

isExist(mySpace3)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea3/200

}





Check(EDPA_*_1_4){

IF CS1 THEN KS1 OR CS2 THEN KS2

}

Space mySpace1{

getBuildingUsage ()=” DetachedHouse”

}

myTotalFloorArea = getTotalFloorArea(mySpace1)

}

CS1{

myTotalFloorArea>50 

AND myTotalFloorArea<=150

}

KS1{

isObjectProperty(parkingLot.numberofParkingUnit)=1

}

CS2{

myTotalFloorArea>150 

}

KS2{

(myTotalFloorArea-150)/100+1=ParkingLot.numberofParkingUnit

}





Check(EDPA_*_1_7){

IF CS THEN KS

}

Space mySpace7{

getBuildingUsage ()=”Trainingfacility” 

getBuildingUsage ()=”Factory”

getBuildingUsage () != ”AptartmentTypeFactory”

}

myTotalFloorArea7 = getTotalFloorArea(myspace7)

CS{

isExist(mySpace7)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea7/400

}



Check(EDPA_*_1_8){

IF CS THEN KS

}

Space mySpace8{

getBuildingUsage ()= “Warehouse”

}

myTotalFloorArea8 = getTotalFloorArea(mySpace8)

}

CS{

isExist(mySpace8)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea8/400

}



Check(EDPA_*_1_9){

IF CS THEN KS

}

Space mySpace9{

getBuildingUsage ()= “DormitoryForStudents”

}

myTotalFloorArea9 = getTotalFloorArea(myspace9)

CS{

isExist(mySpace9)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea9/400

}





Check(EDPA_*_1_10){

IF CS THEN KS

}

Space mySpace10 { 

getObject(Space) != myspace1 | myspace2 | myspace3 | myspace4 | myspace5 | myspace6 | myspace7 | myspace8 | myspace9 |

}

myTotalFloorArea10 = getTotalFloorArea(mySpace10)

}

CS{

isExist(mySpace9)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea10/300

}





Check(EDPA_*_1_0_1){

IF CS THEN KS

}

CS{

getResult(EDPA_*_1_0_1_가)= TRUE

OR getResult(EDPA_*_1_0_1_나)= TRUE

OR getResult(EDPA_*_1_0_1_다)= TRUE

OR getResult(EDPA_*_1_0_1_라)= TRUE

OR getResult(EDPA_*_1_0_1_마)= TRUE

OR getResult(EDPA_*_1_0_1_바)= TRUE

OR getResult(EDPA_*_1_0_1_사)= TRUE

}

KS{

isExist(ParkingLot.isAttachedParking)=FALSE

}



Check(EDPA_*_1_0_1_가){

KS

}

isExist(ClassINeighborhoodLivingFacility.Substation)=TRUE

OR isExist(ClassINeighborhoodLivingFacility.PumpingStation)=TRUE

OR isExist(ClassINeighborhoodLivingFacility.PurificationPlant)=TRUE

OR isExist(ClassINeighborhoodLivingFacility.Shelter)=TRUE

OR isExist(ClassINeighborhoodLivingFacility.PublicToilet)=TRUE

Check(EDPA_*_1_0_1_나){

KS

}

isExist(ReligiousFacility.Monastery)=TRUE

OR isExist(ReligiousFacility.Convent)=TRUE

OR isExist(ReligiousFacility.Chapel)=TRUE

OR isExist(ReligiousFacility.Shrine)=TRUE

Check(EDPA_*_1_0_1_다){

KS

}

isExist(getBuildingUsage()=”FacilityForAnimalAndPlant”)=TRUE

AND isExist(getBuildingUsage()=”SlaughterHouse”)=FALSE

AND isExist(getBuildingUsage()=”ChickenSlaughterHouse”)=FALSE

Check(EDPA_*_1_0_1_라){

KS

}

isExist(FacilityForBroadcastingAndTelecommunication.TransmitAndReceptionAndTransitFacility)=TRUE

Check(EDPA_*_1_0_1_마){

KS

}

getObjectProperty(Building.isExclusiveUseOfParkingLot) = FALSE

(getBuildingUsage() != "CommercialFacility.DepartmentStore" OR "CommercialFacility.ShoppingCenter" OR  "LargeStore"

OR getBuildingUsage() != "CulturalAndAssemblyFacility.MovieTheater" OR  "CulturalAndAssemblyFacility.ExhibitionHall" OR "CulturalAndAssemblyFacility.WeddingHall"

Check(EDPA_*_1_0_1_바){

KS

}

getBuildingUsage()= “Station”

Check(EDPA_*_1_0_1_사){

KS

}

getResult(EDBA_6_1_4)=TRUE









Check(EDPA_*_1_0_4){

KS

}

Space mySpace{

getBuildingUsage()= “DetachedHouse”

getBuildingUsage() !=”Multi-familyHouses”

}

getTotalArea(mySpace)<=50m2

getTotalArea(mySpace)/100 = ParkingLot.numberOfParkingUnit




27
주택건설기준 등에 관한 규정 제 11 조
제11조(지하층의 활용) 공동주택을 건설하는 주택단지에 설치하는 지하층은 근린생활시설(변전소ㆍ정수장 및 양수장을 제외한다. 다만, 변전소의 경우 「전기사업법」 제2조제2호에 따른 전기사업자가 자신의 소유 토지에 「전원개발촉진법 시행령」 제3조제1호에 따른 시설의 설치ㆍ운영에 종사하는 자를 위하여 건설하는 공동주택 및 주택과 주택 외의 건축물을 동일건축물에 복합하여 건설하는 경우로서 사업계획승인권자가 주거안정에 지장이 없다고 인정하는 건축물의 변전소는 포함한다)ㆍ주차장ㆍ주민공동시설 및 주택(사업계획승인권자가 해당 주택의 주거환경에 지장이 없다고 인정하는 경우로서 1층 세대의 주거전용부분으로 사용되는 구조만 해당한다) 그 밖에 관계 법령에 따라 허용되는 용도로 사용할 수 있으며, 그 구조 및 설비는 「건축법」제53조에 따른 기준에 적합하여야 한다. <개정 2005.6.30., 2006.1.6., 2008.10.29., 2009.10.19., 2013.6.17.>
[전문개정 1999.9.29.]



//주택건설기준 등에 관한 규정 11조 (지하층의 활용) 

Check(RHC_11){
IF CS THEN KS
}

CS{

getBuildingUsage()="     MultiUnitHouse"
getFloorNumber(Space)<0
}

KS{
getResult(BA_53)=True
}




28
주택건설기준 등에 관한 규정 제 15 조

제15조(승강기등) ①6층 이상인 공동주택에는 국토교통부령이 정하는 기준에 따라 대당 6인승 이상인 승용승강기를 설치하여야 한다. 다만, 「건축법 시행령」 제89조의 규정에 해당하는 공동주택의 경우에는 그러하지 아니하다. <개정 1992.5.30., 1994.12.23., 1994.12.30., 1999.9.29., 2005.6.30., 2008.2.29., 2013.3.23.>
②10층 이상인 공동주택의 경우에는 제1항의 승용승강기를 비상용승강기의 구조로 하여야 한다. <개정 2007.7.24.>
③7층 이상인 공동주택에는 이사짐등을 운반할 수 있는 다음 각호의 기준에 적합한 화물용승강기를 설치하여야 한다. <개정 1993.9.27., 2001.4.30.>
1. 적재하중이 0.9톤 이상일 것
2. 승강기의 폭 또는 너비중 한변은 1.35미터 이상, 다른 한변은 1.6미터 이상일 것
3. 계단실형인 공동주택의 경우에는 계단실마다 설치할 것
4. 복도형인 공동주택의 경우에는 100세대까지 1대를 설치하되, 100세대를 넘는 경우에는 100세대마다 1대를 추가로 설치할 것
④제1항 또는 제2항의 규정에 의한 승용승강기 또는 비상용승강기로서 제3항 각호의 기준에 적합한 것은 화물용승강기로 겸용할 수 있다.
⑤「건축법」 제64조는 제1항 내지 제3항의 규정에 의한 승용승강기ㆍ비상용승강기 및 화물용승강기의 구조 및 그 승강장의 구조에 관하여 이를 준용한다. <개정 1992.5.30., 2005.6.30., 2008.10.29.>



//주택건설기준 등에 관한 규정 15조 (승강기등) 1항
Check(RHC_15_1){
     getResult(RHC_15_5) = TRUE AND IF (CS1 AND !CS2) THEN KS
}

CS1{
     getBuildingUsage() = "MultiUnitHouse"
     getBuildingStoriesCount() >= 6
}

CS2{
     getBuildingStoriesCount = 6
     
     Stair myStair{
          isObjectProperty(Stair.isDirect) = TRUE
     }

     getFloorArea() = FA
     FA / 300 = FA2
     getIntegeralNumber(FA2) = FA3
     getObjectCount(myStair) >= FA3
}

KS{
     Elevator myElevator{
          getObjectProperty(Elevator.occupancy) >= 6
     }

     isExist(myElevator) = TRUE
}


//주택건설기준 등에 관한 규정 15조 (승강기등) 2항
Check(RHC_15_2){
     IF CS THEN KS
}

CS{
     getBuildingUsage() = "MultiUnitHouse"
     getBuildingStoriesCount() >= 10
}

KS{
     Elevator myElevator{
          getObjectProperty(Elevator.cooupancy) >= 6
          isObjectProperty(Elevator.isEmergency) = TRUE
     }

     isExist(myElevator) = TRUE
}


//주택건설기준 등에 관한 규정 15조 (승강기등) 3항
Check(RHC_15_3){
     getResult(RHC_15_5) = TRUE AND IF CS THEN KS
}

CS{
     getBuildingUsage() = "MultiUnitHouse"
     getBuildingStoriesCount() >= 7
}

KS{
     getResult(RHC_15_3_1) = TRUE
     getResult(RHC_15_3_2) = TRUE
     getResult(RHC_15_3_3) = TRUE
     getResult(RHC_15_3_4) = TRUE
}


// 주택건설기준 등에 관한 규정 15조 (승강기등) 3항 1호
Check(RHC_15_3_1){
     KS
}

KS{
     getObjectProperty(Elevator.loadingCapacity) >= 0.9
}


//주택건설기준 등에 관한 규정 15조 (승강기등) 3항 2호
Check(RHC_15_3_2){
     KS
}

KS{
     Elevator myElevator{
          getObjectProperty(Elevator.usage) = "FreightElevator"
     }

     (getObjectWidth(myElevator) >= 1.35m
     getObjectDepth(myElevator) >= 1.6m)
     OR(getObjectWidth(myElevator) >= 1.6m
     getObjectDepth(myElevator) >= 1.35m)
}


//주택건설기준 등에 관한 규정 15조 (승강기등) 3항 3호
Check(RHC_15_3_3){
     IF CS THEN KS
}

CS{
     
}

KS{
     Elevator myElevator{
          getObjectProperty(Elevator.usage) = "FreightElevator"
     }

     isInstalled(myElevator, Stair.Space) = TRUE
}


//주택건설기준 등에 관한 규정 15조 (승강기등) 3항 4호
Check(RHC_15_3_4){
     IF CS THEN KS
}

CS{
     
}

KS{
     Elevator myElevator{
          getObjectProperty(Elevator.usage) = "FreightElevator"
     }

     getObjectCount(myElevator) = ELV
     100*n <= getObjectProperty(Building.numberOfHousehold) <100*(n+1)
     n <= ELV
}



//주택건설기준 등에 관한 규정 15조 (승강기등) 4항
Check(RHC_15_4){
     IF CS THEN KS
}

CS{
     Elevator myElevator{
          isObjectProperty(Elevator.isEmergency) = TRUE
          OR getObjectProperty(Elevator.usage) = "PassengerElevator"
     }

     getResult(RHC_15_1) = TRUE
     getResult(RHC_15_2) = TRUE
     getResult(RHC_15_3_1) = TRUE
     getResult(RHC_15_3_2) = TRUE
     getResult(RHC_15_3_3) = TRUE
     getResult(RHC_15_3_4) = TRUE
}

KS{
     Elevator myElevator{
          isObjectProperty(Elevator.isEmergency) = TRUE
          OR getObjectProperty(Elevator.usage) = "PassengerElevator"
     }

     Elevator myElevator2{
          getObjectProperty(Elevator.usage) = "FreightElevator"
     }

     isReplaced(myElevator2, myElevator) = TRUE
}


//주택건설기준 등에 관한 규정 15조 (승강기등) 5항

Check(RHC_15_5){
KS
}
KS{
     getResult(RHC_15_1) = TRUE
     getResult(RHC_15_2) = TRUE
     getResult(RHC_15_3) = TRUE
}





29
주택법 시행령 제 47 조

제47조(행위허가 등의 기준 등) ①법 제42조제2항 각호의 행위에 대한 허가 또는 신고의 기준은 별표 3과 같다.
②법 제42조제2항제4호에서 "대통령령이 정하는 행위"라 함은 다음 각호의 행위를 말한다. <개정 2014.11.4.>
1. 공동주택의 용도폐지
2. 공동주택의 재축 및 비내력벽의 철거(입주자 공유가 아닌 복리시설의 비내력벽의 철거는 제외한다)
③법 제42조제2항의 규정에 의하여 공동주택의 용도외 사용 등에 대하여 허가를 받거나 신고를 하고자 하는 자는 허가신청서 또는 신고서에 국토교통부령이 정하는 서류를 첨부하여 시장ㆍ군수ㆍ구청장에게 제출하여야 한다. <개정 2008.2.29., 2013.3.23., 2015.3.30.>
④다음 각 호의 어느 하나에 해당하는 자는 법 제42조제3항에 따라 시장ㆍ군수ㆍ구청장의 허가를 받아 리모델링을 할 수 있다. 다만, 다음 각 호에 따라 리모델링에 동의한 입주자는 리모델링주택조합 또는 입주자대표회의에서 제3항에 따라 시장ㆍ군수ㆍ구청장에게 허가신청서를 제출하기 전까지 서면으로 그 동의를 철회할 수 있다. <개정 2010.7.6., 2015.3.30.>
1. 법 제32조제1항의 규정에 의하여 동별 또는 주택단지별로 설립된 리모델링주택조합. 이 경우 다음 각목의 사항이 기재된 결의서에 주택단지 전체를 리모델링하고자 하는 경우에는 주택단지 전체 구분소유자 및 의결권의 각 5분의 4 이상의 동의와 각 동별 구분소유자 및 의결권의 각 3분의 2 이상의 동의를 얻어야 하며, 동을 리모델링하고자 하는 경우에는 그 동의 구분소유자 및 의결권의 각 5분의 4 이상의 동의를 얻어야 한다.
가. 리모델링 설계의 개요
나. 공사비
다. 조합원의 비용분담내역
2. 주택단지의 주택소유자 전원의 동의를 얻은 입주자대표회의
⑤공동주택의 지하층은 「주택건설기준 등에 관한 규정」 제2조제3호에 따른 주민공동시설(이하 "주민공동시설"이라 한다)로 활용할 수 있다. 이 경우 관리주체는 대피시설로 사용하는데 지장이 없도록 이를 유지ㆍ관리하여야 한다. <개정 2006.2.24., 2014.11.4.>



//주택법 시행령 47조 (행위허가 등의 기준 등) 5항
Check(NFSC506_47_5){
     IF !CS THEN KS
}

CS{
     getBuildingUsage() = "MultiUnitHouse"
     getObjectProperty(Floor.number) < 0
}

KS{
     Floor myFloor{
          getObjectProperty(Floor.number) < 0
     }

     getFloorUsage(myFloor) != "ResidentsCommonSpace"
}




30
소화기구 및 자동 소화장치의 화재안전기준(NFSC 101) 제 4 조
다. 가스차단장치는 주방배관의 개폐밸브로부터 2m 이하의 위치에 설치하되, 상시 확인 및 점검이 가능하도록 설치할 것<개정 2012.6.11>
라. 탐지부는 수신부와 분리하여 설치하되, 공기보다 가벼운 가스를 사용하는 경우에는 천장 면으로부터 30㎝ 이하의 위치에 설치하고, 공기보다 무거운 가스를 사용하는 장소에는 바닥 면으로부터 30㎝ 이하의 위치에 설치할 것<개정 2012.6.11>
마. 수신부는 주위의 열기류 또는 습기 등과 주위온도에 영향을 받지 아니하고 사용자가 상시 볼 수 있는 장소에 설치할 것<개정 2012.6.11>
8. 캐비넷형자동소화장치는 다음 각 목의 기준에 따라 설치하여야 한다.<전문개정 2012.6.11>
가. 분사헤드의 설치 높이는 방호구역의 바닥으로부터 최소 0.2m 이상 최대 3.7m 이하로 하여야 한다. 다만, 별도의 높이로 형식승인 받은 경우에는 그 범위 내에서 설치할 수 있다.
나. 화재감지기는 방호구역내의 천장 또는 옥내에 면하는 부분에 설치하되 「자동화재탐지설비의 화재안전기준(NFSC 203)」 제7조에 적합하도록 설치할 것
다. 방호구역내의 화재감지기의 감지에 따라 작동되도록 할 것<신설 2012.6.11>
라. 화재감지기의 회로는 교차회로방식으로 설치할 것. 다만, 화재감지기를 「자동화재탐지설비의 화재안전기준(NFSC 203)」 제7조제1항 단서의 각 호의 감지기로 설치하는 경우에는 그러하지 아니하다.<신설 2012.6.11>
마. 교차회로내의 각 화재감지기회로별로 설치된 화재감지기 1개가 담당하는 바닥면적은 「자동화재탐지설비의 화재안전기준(NFSC 203)」 제7조제3항제5호·제8호 및 제10호에 따른 바닥면적으로 할 것<신설 2012.6.11>
바. 개구부 및 통기구(환기장치를 포함한다. 이하 같다)를 설치한 것에 있어서는 약제가 방사되기 전에 해당 개구부 및 통기구를 자동으로 폐쇄할 수 있도록 할 것. 다만, 가스압에 의하여 폐쇄되는 것은 소화약제방출과 동시에 폐쇄할 수 있다.<신설 2012.6.11>
사. 작동에 지장이 없도록 견고하게 고정시킬 것<신설 2012.6.11>
아. 구획된 장소의 방호체적 이상을 방호할 수 있는 소화성능이 있을 것<신설 2012.6.11>
9. 가스식, 분말식, 고체에어로졸식 자동소화장치는 다음 각 목의 기준에 따라 설치하여야 한다.<신설 2010.12.27, 개정 2012.6.11>
가. 소화약제 방출구는 형식승인 받은 유효설치범위 내에 설치할 것<개정 2012.6.11>
나. 자동소화장치는 방호구역내에 형식승인 된 1개의 제품을 설치할 것. 이 경우 연동방식으로서 하나의 형식을 받은 경우에는 1개의 제품으로 본다.<개정 2012.6.11>
다. 감지부는 형식승인된 유효설치범위 내에 설치하여야 하며 설치장소의 평상시 최고주위온도에 따라 다음 표에 따른 표시온도의 것으로 설치할 것. 다만, 열감지선의 감지부는 형식승인 받은 최고주위온도범위 내에 설치하여야 한다.<개정 2012.6.11>
라. 다목에도 불구하고 화재감지기를 감지부를 사용하는 경우에는 제8호 나목부터 마목까지의 설치방법에 따를 것<개정 2012.6.11>
② 이산화탄소 또는 할로겐화합물(할론 1301과 청정소화약제를 제외한다)을 방사하는 소화기구(자동확산소화장치를 제외한다)는 지하층이나 무창층 또는 밀폐된 거실로서 그 바닥면적이 20㎡ 미만의 장소에는 설치할 수 없다. 다만, 배기를 위한 유효한 개구부가 있는 장소인 경우에는 그러하지 아니하다.<개정 2008.12.15, 2012.6.11>
1. 특정소방대상물의 설치장소에 따라 별표 1에 적합한 종류의 것으로 할 것<개정 2012.6.11>
2. 특정소방대상물에 따라 소화기구의 능력단위는 별표 3의 기준에 따를 것<개정 2012.6.11>
3. 제2호에 따른 능력단위 외에 별표 4에 따라 부속용도별로 사용되는 부분에 대하여는 소화기구를 추가하여 설치할 것<개정 2012.6.11>
4. 소화기는 다음 각 목의 기준에 따라 설치할 것<개정 2012.6.11>
가. 각층마다 설치하되, 특정소방대상물의 각 부분으로부터 1개의 소화기까지의 보행거리가 소형소화기의 경우에는 20m 이내, 대형소화기의 경우에는 30m 이내가 되도록 배치할 것. 다만, 가연성물질이 없는 작업장의 경우에는 작업장의 실정에 맞게 보행거리를 완화하여 배치할 수 있으며, 지하구의 경우에는 화재발생의 우려가 있거나 사람의 접근이 쉬운 장소에 한하여 설치할 수 있다<개정 2012.6.11>
나. 특정소방대상물의 각층이 2 이상의 거실로 구획된 경우에는 가목의 규정에 따라 각 층마다 설치하는 것 외에 바닥면적이 33㎡ 이상으로 구획된 각 거실(아파트의 경우에는 각 세대를 말한다)에도 배치할 것<개정 2012.6.11>
다. <삭제><2008.12.15>
5. 능력단위가 2단위 이상이 되도록 소화기를 설치하여야 할 특정소방대상물 또는 그 부분에 있어서는 간이소화용구의 능력단위가 전체 능력단위의 2분의 1을 초과하지 아니하게 할 것 다만, 노유자시설의 경우에는 그렇지 않다.<개정 2012.6.11>
6. 소화기구(자동소화장치를 제외한다)는 거주자 등이 손쉽게 사용할 수 있는 장소에 바닥으로부터 높이 1.5m 이하의 곳에 비치하고, 소화기에 있어서는 "소화기", 투척용소화용구에 있어서는 "투척용소화용구", 마른모래에 있어서는 "소화용모래", 팽창질석 및 팽창진주암에 있어서는 "소화질석"이라고 표시한 표지를 보기 쉬운 곳에 부착할 것<개정 2010.12.27, 2012.6.11>
7. 주방용자동소화장치는 아파트의 각 세대별 주방 및 오피스텔의 각실 별 주방에 다음 각 목의 기준에 따라 설치할 것<개정 2012.6.11>
가. 소화약제 방출구는 환기구(주방에서 발생하는 열기류 등을 밖으로 배출하는 장치를 말한다. 이하 같다)의 청소부분과 분리되어 있어야 하며, 형식승인 받은 유효설치 높이 및 방호면적에 따라 설치할 것<개정 2008.12.15, 2012.6.11>
나. 감지부는 형식승인 받은 유효한 높이 및 위치에 설치할 것<개정 2012.6.11>
제4조(설치기준) ①소화기구는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 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 }




31
연결살수설비의 화재안전기준(NFSC 503) 제 4 조
제4조(송수구 등) ①연결살수설비의 송수구는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 소방차가 쉽게 접근할 수 있고 노출된 장소에 설치할 것. 이 경우 가연성가스의 저장·취급시설에 설치하는 연결살수설비의 송수구는 그 방호대상물로부터 20m 이상의 거리를 두거나 방호대상물에 면하는 부분이 높이 1.5m 이상 폭 2.5m 이상의 철근콘크리트 벽으로 가려진 장소에 설치하여야 한다.
2. 송수구는 구경 65㎜의 쌍구형으로 설치할 것. 다만, 하나의 송수구역에 부착하는 살수헤드의 수가 10개 이하인 것은 단구형의 것으로 할 수 있다.
3. 개방형헤드를 사용하는 송수구의 호스접결구는 각 송수구역마다 설치할 것. 다만, 송수구역을 선택할 수 있는 선택밸브가 설치되어 있고 각 송수구역의 주요구조부가 내화구조로 되어 있는 경우에는 그러하지 아니하다.
4. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것
5. 송수구로부터 주배관에 이르는 연결배관에는 개폐밸브를 설치하지 아니 할 것. 다만, 스프링클러설비·물분무소화설비·포소화설비 또는 연결송수관설비의 배관과 겸용하는 경우에는 그러하지 아니하다.
6. 송수구의 부근에는 "연결살수설비 송수구"라고 표시한 표지와 송수구역 일람표를 설치할 것. 다만, 제2항에 따른 선택밸브를 설치한 경우에는 그러하지 아니하다.<개정 2008.12.15>
7. 송수구에는 이물질을 막기 위한 마개를 씌워야 한다.<신설 2008.12.15>
②연결살수설비의 선택밸브는 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 송수구를 송수구역마다 설치한 때에는 그러하지 아니하다. <개정 2012.8.20>
1. 화재 시 연소의 우려가 없는 장소로서 조작 및 점검이 쉬운 위치에 설치할 것
2. 자동개방밸브에 따른 선택밸브를 사용하는 경우에는 송수구역에 방수하지 아니하고 자동밸브의 작동시험이 가능하도록 할 것
3. 선택밸브의 부근에는 송수구역 일람표를 설치할 것
③ 연결살수설비에는 송수구의 가까운 부분에 자동배수밸브와 체크밸브를 다음 각 목의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 폐쇄형헤드를 사용하는 설비의 경우에는 송수구·자동배수밸브·체크밸브의 순으로 설치할 것
2. 개방형헤드를 사용하는 설비의 경우에는 송수구·자동배수밸브의 순으로 설치할 것
3. 자동배수밸브는 배관안의 물이 잘 빠질 수 있는 위치에 설치하되, 배수로 인하여 다른 물건 또는 장소에 피해를 주지 아니할 것
④개방형헤드를 사용하는 연결살수설비에 있어서 하나의 송수구역에 설치하는 살수헤드의 수는 10개 이하가 되도록 하여야 한다.




//      연결살수설비의 화재안전기준(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 }


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 }


// 연결살수설비의 화재안전기준(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
}




32
연결살수설비의 화재안전기준(NFSC 503) 제 5 조
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개 이상 설치할 것
⑪ 기계실·공동구 또는 덕트에 설치되는 배관은 다른 설비의 배관과 쉽게 구분이 될 수 있는 위치에 설치하거나 그 배관표면 또는 배관보온재의 색상을 달리하는 방법 등으로 소방용설비의 배관임을 표시하여야 한다.
⑫분기배관을 사용할 경우에는 법 제39조에 따라 제품검사에 합격한 것으로 설치하여야 한다. <개정 2012.8.20>
제5조(배관 등) ①배관은 배관용탄소강관(KS D 3507) 또는 압력배관용탄소강관(KS D 3562)이나 이와 동등 이상의 강도·내식성 및 내열성을 가진 것으로 하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 장소에는 법 제39조에 따라 제품검사에 합격한 소방용 합성수지배관으로 설치할 수 있다. <개정 2012.8.20>
1. 배관을 지하에 매설하는 경우
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우
②연결살수설비의 배관의 구경은 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 연결살수설비 전용헤드를 사용하는 경우에는 다음 표에 따른 구경 이상으로 할 것
(표)
2. 스프링클러헤드를 사용하는 경우에는 「스프링클러설비의 화재안전기준(NFSC 103)」 별표 1의 기준에 따를 것
③폐쇄형헤드를 사용하는 연결살수설비의 주배관은 옥내소화전설비의 주배관(옥내소화전설비가 설치된 경우에 한한다) 및 수도배관(연결살수설비가 설치된 건축물 안에 설치된 수도배관 중 구경이 가장 큰 배관을 말한다) 또는 옥상에 설치된 수조(다른 설비의 수조를 포함한다)에 접속하여야 한다. 이 경우 연결살수설비의 주배관과 옥내소화전설비의 주배관·수도배관·옥상에 설치된 수조의 접속부분에는 체크밸브를 설치하되, 점검하기 쉽게 하여야 한다.
④폐쇄형헤드를 사용하는 연결살수설비에는 다음 각 호의 기준에 따른 시험배관을 설치하여야 한다. <개정 2012.8.20>
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항 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조 (배관 등) 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조 (배관 등) 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


}




33
연결살수설비의 화재안전기준(NFSC 503) 제 6 조

제6조(연결살수설비의 헤드) ①연결살수설비의 헤드는 연결살수설비전용헤드 또는 스프링클러헤드로 설치하여야 한다.
②건축물에 설치하는 연결살수설비의 헤드는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 천장 또는 반자의 실내에 면하는 부분에 설치할 것
2. 천장 또는 반자의 각 부분으로부터 하나의 살수헤드까지의 수평거리가 연결살수설비전용헤드의 경우은 3.7m 이하, 스프링클러헤드의 경우는 2.3m 이하로 할 것. 다만, 살수헤드의 부착면과 바닥과의 높이가 2.1m 이하인 부분은 살수헤드의 살수분포에 따른 거리로 할 수 있다.
③폐쇄형스프링클러헤드를 설치하는 경우에는 제2항의 규정 외에 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 그 설치장소의 평상시 최고 주위온도에 따라 다음 표에 따른 표시온도의 것으로 설치할 것. 다만, 높이가 4m 이상인 공장 및 창고(랙크식창고를 포함한다)에 설치하는 스프링클러헤드는 그 설치장소의 평상시 최고 주위온도에 관계없이 표시온도 121℃ 이상의 것으로 할 수 있다.
(표)
2. 살수가 방해되지 아니하도록 스프링클러헤드로부터 반경 60㎝ 이상의 공간을 보유할 것. 다만, 벽과 스프링클러헤드간의 공간은 10㎝이상으로 한다.
3. 스프링클러헤드와 그 부착면(상향식헤드의 경우에는 그 헤드의 직상부의 천장·반자 또는 이와 비슷한 것을 말한다. 이하 같다)과의 거리는 30㎝ 이하로 할 것
4. 배관·행가 및 조명기구등 살수를 방해하는 것이 있는 경우에는 제2호에도 불구하고 그로부터 아래에 설치하여 살수에 장애가 없도록 할 것. 다만, 연결살수헤드와 장애물과의 이격거리를 장애물 폭의 3배 이상 확보한 경우에는 그러하지 아니하다.
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 이하로 할 것
3. 헤드의 살수범위는 가스저장탱크·가스홀더 및 가스발생기의 몸체의 중간 윗부분의 모든 부분이 포함되도록 하여야 하고 살수된 물이 흘러내리면서 살수범위에 포함되지 아니한 부분에도 모두 적셔질 수 있도록 할 것



//연결살수설비의 화재안전기준(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
}




34
연결살수설비의 화재안전기준(NFSC 503) 제 7 조
제7조(헤드의 설치제외) 연결살수설비를 설치하여야 할 특정소방대상물 또는 그 부분으로서 다음 각 호의 어느 하나에 해당하는 장소에는 연결살수설비의 헤드를 설치하지 아니할 수 있다. <개정 2012.8.20>
1. 상점(영 별표 2 제5호와 제6호의 판매시설과 운수시설을 말하며, 바닥면적이 150㎡ 이상인 지하층에 설치된 것을 제외한다)으로서 주요구조부가 내화구조 또는 방화구조로 되어 있고 바닥면적이 500㎡ 미만으로 방화구획되어 있는 특정소방대상물 또는 그 부분
2. 계단실(특별피난계단의 부속실을 포함한다)·경사로·승강기의 승강로·파이프덕트·목욕실·수영장(관람석부분을 제외한다)·화장실·직접 외기에 개방되어 있는 복도 기타 이와 유사한 장소
3. 통신기기실·전자기기실·기타 이와 유사한 장소
4. 발전실·변전실·변압기·기타 이와 유사한 전기설비가 설치되어 있는 장소
5. 병원의 수술실·응급처치실·기타 이와 유사한 장소
6. 천장과 반자 양쪽이 불연재료로 되어 있는 경우로서 그 사이의 거리 및 구조가 다음 각 목의 어느 하나에 해당하는 부분
가. 천장과 반자사이의 거리가 2m 미만인 부분
나. 천장과 반자사이의 벽이 불연재료이고 천장과 반자사이의 거리가 2m 이상으로서 그 사이에 가연물이 존재하지 아니하는 부분
7. 천장·반자중 한쪽이 불연재료로 되어있고 천장과 반자사이의 거리가 1m 미만인 부분
8. 천장 및 반자가 불연재료외의 것으로 되어 있고 천장과 반자사이의 거리가 0.5m 미만인 부분
9. 펌프실·물탱크실 그 밖의 이와 비슷한 장소
10. 현관 또는 로비등으로서 바닥으로부터 높이가 20m 이상인 장소
11. 냉장창고의 냉장실 또는 냉동창고의 냉동실
12. 고온의 노가 설치된 장소 또는 물과 격렬하게 반응하는 물품의 저장 또는 취급장소
13. 불연재료로 된 특정소방대상물 또는 그 부분으로서 다음 각 목의 어느 하나에 해당하는 장소
가. 정수장·오물처리장 그 밖의 이와 비슷한 장소
나. 펄프공장의 작업장·음료수공장의 세정 또는 충전하는 작업장 그 밖의 이와 비슷한 장소
다. 불연성의 금속·석재 등의 가공공장으로서 가연성물질을 저장 또는 취급하지 아니하는 장소
14. 실내에 설치된 테니스장·게이트볼장·정구장 또는 이와 비슷한 장소로서 실내바닥·벽·천장이 불연재료 또는 준불연재료로 구성되어 있고 가연물이 존재하지 않는 장소로서 관람석이 없는 운동시설 부분(지하층은 제외한다)



//연결살수설비의 화재안전기준(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"
}




35
연결송수관설비의 화재안전기준(NFSC 502) 제 4 조
 제4조(송수구) 연결송수관설비의 송수구는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 소방차가 쉽게 접근할 수 있고 잘 보이는 장소에 설치하되 화재층으로부터 지면으로 떨어지는 유리창 등이 송수 및 그 밖의 소화작업에 지장을 주지 아니하는 장소에 설치할 것 <개정 2014.8.18>
2. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것
3. 송수구는 화재층으로부터 지면으로 떨어지는 유리창 등이 송수 및 그 밖의 소화작업에 지장을 주지 아니하는 장소에 설치할 것
4. 송수구로부터 연결송수관설비의 주배관에 이르는 연결배관에 개폐밸브를 설치한 때에는 그 개폐상태를 쉽게 확인 및 조작할 수 있는 옥외 또는 기계실 등의 장소에 설치할 것. 이 경우 개폐밸브에는 그 밸브의 개폐상태를 감시제어반에서 확인할 수 있도록 급수개폐밸브 작동표시 스위치를 다음 각 목의 기준에 따라 설치하여야 한다. <개정 2014.8.18>
가. 급수개폐밸브가 잠길 경우 탬퍼 스위치의 동작으로 인하여 감시제어반 또는 수신기에 표시되어야 하며 경보음을 발할 것 <신설 2014.8.18>
나. 탬퍼 스위치는 감시제어반 또는 수신기에서 동작의 유무확인과 동작시험, 도통시험을 할 수 있을 것 <신설 2014.8.18>
다. 급수개폐밸브의 작동표시 스위치에 사용되는 전기배선은 내화전선 또는 내열전선으로 설치할 것 <신설 2014.8.18>
5. 구경 65㎜의 쌍구형으로 할 것
6. 송수구에는 그 가까운 곳의 보기 쉬운 곳에 송수압력범위를 표시한 표지를 할 것
7. 송수구는 연결송수관의 수직배관마다 1개 이상을 설치할 것. 다만, 하나의 건축물에 설치된 각 수직배관이 중간에 개폐밸브가 설치되지 아니한 배관으로 상호 연결되어 있는 경우에는 건축물마다 1개씩 설치할 수 있다.
8. 송수구의 부근에는 자동배수밸브 및 체크밸브를 다음 각목의 기준에 따라 설치할 것. 이 경우 자동배수밸브는 배관안의 물이 잘빠질 수 있는 위치에 설치하되, 배수로 인하여 다른 물건이나 장소에 피해를 주지 아니하여야 한다.
가. 습식의 경우에는 송수구·자동배수밸브·체크밸브의 순으로 설치할 것
나. 건식의 경우에는 송수구·자동배수밸브·체크밸브·자동배수밸브의 순으로 설치할 것
9. 송수구에는 가까운 곳의 보기 쉬운 곳에 "연결송수관설비송수구"라고 표시한 표지를 설치할 것
10. 송수구에는 이물질을 막기 위한 마개를 씌울 것<신설 2008.12.15>



//연결송수관설비의 화재안전기준(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{ // 송수구·자동배수밸브·체크밸브·자동배수밸브의 순으로 설치할 것 }




36
연결송수관설비의 화재안전기준(NFSC 502) 제 5 조

 제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.>
1. 배관을 지하에 매설하는 경우
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 소화배관 내부에 항상 소화수가 채워진 상태로 설치하는 경우
④ 연결송수관설비의 배관은 주배관의 구경이 100㎜ 이상인 옥내소화전설비·스프링클러설비 또는 물분무등소화설비의 배관과 겸용할 수 있다.[종전의 제2항에서 이동 2014.8.18]
⑤ 연결송수관설비의 수직배관은 내화구조로 구획된 계단실(부속실을 포함한다) 또는 파이프덕트 등 화재의 우려가 없는 장소에 설치하여야 한다. 다만, 학교 또는 공장이거나 배관주위를 1시간 이상의 내화성능이 있는 재료로 보호하는 경우에는 그러하지 아니하다.[종전의 제3항에서 이동 2014.8.18]
⑥ 분기배관을 사용할 경우에는 국민안전처장관이 정하여 고시한「분기배관의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치하여야 한다.[종전의 제4항에서 이동·개정 2014.8.18., 개정 2015.1.6]
⑦ 배관은 다른 설비의 배관과 쉽게 구분이 될 수 있는 위치에 설치하거나, 그 배관표면 또는 배관 보온재표면의 색상은 「한국산업표준(배관계의 식별 표시,KS A 0503)」 또는 적색으로 식별이 가능하도록 소방용설비의 배관임을 표시하여야 한다. <신설 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항 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

}


//연결송수관설비의 화재안전기준(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
}




37
연결송수관설비의 화재안전기준(NFSC 502) 제 6 조
 제6조(방수구) 연결송수관설비의 방수구는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 연결송수관설비의 방수구는 그 특정소방대상물의 층마다 설치할 것. 다만, 다음 각목의 어느 하나에 해당하는 층에는 설치하지 아니할 수 있다.
가. 아파트의 1층 및 2층
나. 소방차의 접근이 가능하고 소방대원이 소방차로부터 각 부분에 쉽게 도달할 수 있는 피난층
다. 송수구가 부설된 옥내소화전을 설치한 특정소방대상물(집회장·관람장·백화점·도매시장·소매시장·판매시설·공장·창고시설 또는 지하가를 제외한다)로서 다음의 어느 하나에 해당하는 층 (1) 지하층을 제외한 층수가 4층 이하이고 연면적이 6,000㎡ 미만인 특정소방대상물의 지상층 (2) 지하층의 층수가 2 이하인 특정소방대상물의 지하층
2. 방수구는 아파트 또는 바닥면적이 1,000㎡ 미만인 층에 있어서는 계단(계단의 부속실을 포함하며 계단이 2 이상 있는 경우에는 그 중 1개의 계단을 말한다)으로부터 5m 이내에, 바닥면적 1,000㎡ 이상인 층(아파트를 제외한다)에 있어서는 각 계단(계단의 부속실을 포함하며 계단이 3 이상 있는 층의 경우에는 그 중 2개의 계단을 말한다)으로부터 5m 이내에 설치하되, 그 방수구로부터 그 층의 각 부분까지의 거리가 다음 각목의 기준을 초과하는 경우에는 그 기준 이하가 되도록 방수구를 추가하여 설치할 것
가. 지하가(터널은 제외한다) 또는 지하층의 바닥면적의 합계가 3,000㎡ 이상인 것은 수평거리 25m
나. 가목에 해당하지 아니하는 것은 수평거리 50m
다.<삭제 2008.12.15>
3. 11층 이상의 부분에 설치하는 방수구는 쌍구형으로 할 것. 다만, 다음 각목의 어느 하나에 해당하는 층에는 단구형으로 설치할 수 있다.
가. 아파트의 용도로 사용되는 층
나. 스프링클러설비가 유효하게 설치되어 있고 방수구가 2개소 이상 설치된 층
4. 방수구의 호스접결구는 바닥으로부터 높이 0.5m 이상 1m 이하의 위치에 설치할 것
5. 방수구는 연결송수관설비의 전용방수구 또는 옥내소화전방수구로서 구경 65㎜의 것으로 설치할 것
6. 방수구의 위치표시는 표시등 또는 축광식표지로 하되 다음 각 목의 기준에 따라 설치할 것 <개정 2014.8.18>
가. 표시등을 설치하는 경우에는 함의 상부에 설치하되, 국민안전처장관이 고시한 「표시등의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치하여야 한다. <개정 2014.8.18., 2015.1.6.>
나. 삭제 <2014.8.18>
다. 축광식표지를 설치하는 경우에는 국민안전처장관이 고시한 「축광표지의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치하여야 한다. <개정 2014.8.18., 2015.1.6.>
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조 (방수구) 2호 나목

Check(NFSC502_6_0_2_가){

KS
}


KS{

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

}


//연결송수관설비의 화재안전기준(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
}




38
연결송수관설비의 화재안전기준(NFSC 502) 제 7 조
 제7조(방수기구함) 연결송수관설비의 방수용기구함을 다음 각 호의 기준에 따라 설치하여야 한다.
1. 방수기구함은 피난층과 가장 가까운 층을 기준으로 3개층마다 설치하되, 그 층의 방수구마다 보행거리 5m 이내에 설치할 것 <개정 2014.8.18>
2. 방수기구함에는 길이 15m의 호스와 방사형 관창을 다음 각목의 기준에 따라 비치할 것
가. 호스는 방수구에 연결하였을 때 그 방수구가 담당하는 구역의 각 부분에 유효하게 물이 뿌려질 수 있는 개수 이상을 비치할 것. 이 경우 쌍구형 방수구는 단구형 방수구의 2배 이상의 개수를 설치하여야 한다.
나. 방사형 관창은 단구형 방수구의 경우에는 1개, 쌍구형 방수구의 경우에는 2개 이상 비치할 것
3. 방수기구함에는 "방수기구함"이라고 표시한 축광식 표지를 할 것. 이 경우 축광식 표지는 국민안전처장관이 고시한 「축광표지의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치하여야 한다. <개정 2014.8.18., 2015.1.6.>



//연결송수관설비의 화재안전기준(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 }




39
유도등 및 유도표지의 화재안전기준(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







}




40
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 5 조

제5조(피난구유도등) ①피난구유도등은 다음 각 호의 장소에 설치하여야 한다. <개정 2012.8.20>
1. 옥내로부터 직접 지상으로 통하는 출입구 및 그 부속실의 출입구
2. 직통계단·직통계단의 계단실 및 그 부속실의 출입구
3. 제1호와 제2호에 따른 출입구에 이르는 복도 또는 통로로 통하는 출입구
4. 안전구획된 거실로 통하는 출입구
②피난구유도등은 피난구의 바닥으로부터 높이 1.5m 이상의 곳에 설치하여야 한다.
③ <삭제><개정 2008.12.15>



//유도등 및 유도표지의 화재안전기준(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
}




41
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 6 조
제6조(통로유도등 설치기준) ①통로유도등은 특정소방대상물의 각 거실과 그로부터 지상에 이르는 복도 또는 계단의 통로에 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 복도통로유도등은 다음 각 목의 기준에 따라 설치할 것
가. 복도에 설치할 것
나. 구부러진 모퉁이 및 보행거리 20m마다 설치할 것
다. 바닥으로부터 높이 1m 이하의 위치에 설치할 것. 다만, 지하층 또는 무창층의 용도가 도매시장·소매시장·여객자동차터미널·지하역사 또는 지하상가인 경우에는 복도·통로 중앙부분의 바닥에 설치하여야 한다.
라. 바닥에 설치하는 통로유도등은 하중에 따라 파괴되지 아니하는 강도의 것으로 할 것
2. 거실통로유도등은 다음 각 목의 기준에 따라 설치할 것
가. 거실의 통로에 설치할 것. 다만, 거실의 통로가 벽체 등으로 구획된 경우에는 복도통로유도등을 설치하여야 한다.
나. 구부러진 모퉁이 및 보행거리 20m마다 설치할 것
다. 바닥으로부터 높이 1.5m 이상의 위치에 설치할 것. 다만, 거실통로에 기둥이 설치된 경우에는 기둥부분의 바닥으로부터 높이 1.5m 이하의 위치에 설치할 수 있다.<개정 2008.12.15>
3. 계단통로유도등은 다음 각 목의 기준에 따라 설치할 것
가. 각층의 경사로 참 또는 계단참마다(1개층에 경사로 참 또는 계단참이 2 이상 있는 경우에는 2개의 계단참마다)설치할 것
나. 바닥으로부터 높이 1m 이하의 위치에 설치할 것
4. 통행에 지장이 없도록 설치할 것
5. 주위에 이와 유사한 등화광고물·게시물 등을 설치하지 아니할 것
②조도는 통로유도등의 바로 밑의 바닥으로부터 수평으로 0.5m 떨어진 지점에서 측정하여 1㏓ 이상(바닥에 매설한 것은 통로유도등의 직상부 1m의 높이에서 측정하여 1㏓ 이상)이어야 한다. <개정 2012.8.20>
③통로유도등은 백색바탕에 녹색으로 피난방향을 표시한 등으로 하여야 한다. 다만, 계단에 설치하는 것은 피난의 방향을 표시하지 아니할 수 있다. <개정 2012.8.20>




//유도등 및 유도표지의 화재안전기준(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{
isInstalled("구부러진 모퉁이", LeadingLightForCorridor)=True
// 20m마다 설치 , 함수 필요
}


//유도등 및 유도표지의 화재안전기준(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{
isInstalled("구부러진 모퉁이", LeadingLightForCorridor)=True
// 20m마다 설치 , 함수 필요
}


//유도등 및 유도표지의 화재안전기준(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
}




42
유도등 및 유도표지의 화재안전기준(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
}




43
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 8 조
1. 계단에 설치하는 것을 제외하고는 각층마다 복도 및 통로의 각 부분으로부터 하나의 유도표지까지의 보행거리가 15m 이하가 되는 곳과 구부러진 모퉁이의 벽에 설치할 것
2. 피난구유도표지는 출입구 상단에 설치하고, 통로유도표지는 바닥으로부터 높이 1m 이하의 위치에 설치할 것<개정 2008.12.15>
3. 주위에는 이와 유사한 등화·광고물·게시물 등을 설치하지 아니할 것
4. 유도표지는 부착판 등을 사용하여 쉽게 떨어지지 아니하도록 설치할 것
5. 축광방식의 유도표지는 외광 또는 조명장치에 의하여 상시 조명이 제공되거나 비상조명등에 의한 조명이 제공되도록 설치 할 것<신설 2009.10.22>
②피난방향을 표시하는 통로유도등을 설치한 부분은 유도표지를 설치하지 아니할 수 있다. <개정 2012.8.20>
③유도표지는 다음 각 호 기준에 적합한 것이어야 한다. <개정 2012.8.20>
1. 방사성물질을 사용하는 유도표지는 쉽게 파괴되지 아니하는 재질로 처리할 것
2. 유도표지는 주위 조도 0㏓에서 60분간 발광 후 직선거리 20m 떨어진 위치에서 보통시력으로 유도표지가 있다는 것이 식별되어야 하고 3m거리에서 표시면의 문자 또는 화살표등을 쉽게 식별할 수 있는 것으로 할 것<개정 2008.12.15>
3. 유도표지의 표시면은 쉽게 변형·변질 또는 변색되지 아니할 것
4. 유도표지의 표지면의 휘도는 주위 조도 0㏓에서 60분간 발광 후 7m㏅/㎡ 이상으로 할 것<개정 2008.12.15>
5. 유도표지의 크기는 다음 표의 기준에 따를 것
표

제8조(유도표지 설치기준) ①유도표지는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 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
}






44
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 8조의2 조
제8조의2(피난유도선 설치기준)<신설 2009.10.22> ①축광방식의 피난유도선은 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 구획된 각 실로부터 주출입구 또는 비상구까지 설치할 것
2. 바닥으로부터 높이 50㎝이하의 위치 또는 바닥 면에 설치할 것
3. 피난유도 표시부는 50㎝ 이내의 간격으로 연속되도록 설치
4. 부착대에 의하여 견고하게 설치할 것
5. 외광 또는 조명장치에 의하여 상시 조명이 제공되거나 비상조명등에 의한 조명이 제공되도록 설치 할 것
②광원점등방식의 피난유도선은 다음 각 호의 기준에 따라 설치하여야 한다.
1. 구획된 각 실로부터 주출입구 또는 비상구까지 설치할 것
2. 피난유도 표시부는 바닥으로부터 높이 1m이하의 위치 또는 바닥 면에 설치할 것
3. 피난유도 표시부는 50㎝이내의 간격으로 연속되도록 설치하되 실내장식물 등으로 설치가 곤란할 경우 1m 이내로 설치할 것
4. 수신기로부터의 화재신호 및 수동조작에 의하여 광원이 점등되도록 설치할 것
5. 비상전원이 상시 충전상태를 유지하도록 설치할 것
6. 바닥에 설치되는 피난유도 표시부는 매립하는 방식을 사용할 것
7. 피난유도 제어부는 조작 및 관리가 용이하도록 바닥으로부터 0.8m이상1.5m이하의 높이에 설치할 것
③피난유도선은 법 제39조에 따라 제품검사에 합격한 것으로 설치하여야 한다. <개정 2012.8.20>




//     유도등 및 유도표지의 화재안전기준(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 }




45
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 14 조
제14조(수직풍도에 따른 배출) 수직풍도에 따른 배출은 다음 각 호의 기준에 적합하여야 한다.
1. 수직풍도는 내화구조로 하되 「건축물의 피난·방화구조 등의 기준에 관한 규칙」제3조제1호 또는 제2호의 기준 이상의 성능으로 할 것<개정 2013.9.3>
2. 수직풍도의 내부면은 두께 0.5㎜ 이상의 아연도금강판 또는 동등이상의 내식성·내열성이 있는 것으로 마감되는 접합부에 대하여는 통기성이 없도록 조치할 것<개정 2008.12.15>
3. 각층의 옥내와 면하는 수직풍도의 관통부에는 다음 각목의 기준에 적합한 댐퍼 (이하 "배출댐퍼"라 한다)를 설치하여야 한다.
가. 배출댐퍼는 두께 1.5㎜ 이상의 강판 또는 이와 동등 이상의 성능이 있는 것으로 설치하여야 하며 비 내식성 재료의 경우에는 부식방지 조치를 할 것
나. 평상시 닫힌 구조로 기밀상태를 유지할 것
다. 개폐여부를 당해 장치 및 제어반에서 확인할 수 있는 감지기능을 내장하고 있을 것
라. 구동부의 작동상태와 닫혀 있을 때의 기밀상태를 수시로 점검할 수 있는 구조일 것
마. 풍도의 내부마감상태에 대한 점검 및 댐퍼의 정비가 가능한 이·탈착구조로 할 것
바. 화재층의 옥내에 설치된 화재감지기의 동작에 따라 당해층의 댐퍼가 개방될 것.<개정 2008.12.15>
사. 개방 시의 실제개구부(개구율을 감안한 것을 말한다)의 크기는 수직풍도의 내부단면적과 같도록 할 것
아. 댐퍼는 풍도내의 공기흐름에 지장을 주지 않도록 수직풍도의 내부로 돌출하지 않게 설치할 것
4. 수직풍도의 내부단면적은 다음 각 목의 기준에 적합할 것
가. 자연배출식의 경우 다음 식에 따라 산출하는 수치 이상으로 할 것. 다만, 수직풍도의 길이가 100m를 초과하는 경우에는 산출수치의 1.2배 이상의 수치를 기준으로 하여야 한다.<개정 2013.9.3>
표
나. 송풍기를 이용한 기계배출식의 경우 풍속 15㎧ 이하로 할 것<개정 2013.9.3>
5. 기계배출식에 따라 배출하는 경우 배출용 송풍기는 다음 각 목의 기준에 적합할 것
가. 열기류에 노출되는 송풍기 및 그 부품들은 250℃의 온도에서 1시간 이상 가동상태를 유지할 것
나. 송풍기의 풍량은 제4호가목의 기준에 따른 QN에 여유량을 더한 양을 기준으로 할 것<개정 2013.9.3>
다. 송풍기는 옥내의 화재감지기의 동작에 따라 연동하도록 할 것
6. 수직풍도의 상부의 말단(기계배출식의 송풍기도 포함한다)은 빗물이 흘러들지 아니하는 구조로 하고, 옥외의 풍압에 따라 배출성능이 감소하지 아니하도록 유효한 조치를 할 것



//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(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 조
1. 배출구에는 다음 각 목의 기준에 적합한 장치(이하 "개폐기"라 한다)를 설치할 것
가. 빗물과 이물질이 유입하지 아니하는 구조로 할 것
나. 옥 외쪽으로만 열리도록 하고 옥외의 풍압에 따라 자동으로 닫히도록 할 것
다. 그 밖의 설치기준은 제14조제3호가목 내지 사목의 기준을 준용할 것
2. 개폐기의 개구면적은 다음식에 따라 산출한 수치 이상으로 할 것
표
제15조(배출구에 따른 배출) 배출구에 따른 배출은 다음 각 호의 기준에 적합하여야 한다.



//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(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조(급기구) 제연구역에 설치하는 급기구는 다음 각 호의 기준에 적합하여야 한다.
1. 급기용 수직풍도와 직접 면하는 벽체 또는 천장(당해 수직풍도와 천장급기구 사이의 풍도를 포함한다)에 고정하되, 급기되는 기류 흐름이 출입문으로 인하여 차단되거나 방해받지 아니하도록 옥내와 면하는 출입문으로부터 가능한 먼 위치에 설치할 것<개정 2013.9.3>
2.계단실과 그 부속실을 동시에 제연하거나 또는 계단실만을 제연하는 경우 급기구는 계단실 매 3개층 이하의 높이마다 설치할 것. 다만, 계단실의 높이가 31m 이하로서 계단실만을 제연하는 경우에는 하나의 계단실에 하나의 급기구만을 설치할 수 있다.
3. 급기구의 댐퍼설치는 다음 각 목의 기준에 적합할 것
가. 급기댐퍼는 두께 1.5㎜ 이상의 강판 또는 이와 동등 이상의 강도가 있는 것으로 설치하여야 하며, 비 내식성 재료의 경우에는 부식방지조치를 할 것
나. 자동차압·과압조절형 댐퍼를 설치하는 경우 차압범위의 수동설정기능과 설정범위의 차압이 유지되도록 개구율을 자동조절하는 기능이 있을 것
다. 자동차압·과압조절형 댐퍼는 옥내와 면하는 개방된 출입문이 완전히 닫히기 전에 개구율을 자동감소시켜 과압을 방지하는 기능이 있을 것
라. 자동차압·과압조절형 댐퍼는 주위온도 및 습도의 변화에 의해 기능이 영향을 받지 아니하는 구조일 것
마. 자동차압·과압조절형댐퍼는 「자동차압·과압조절형댐퍼의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치할 것<개정 2013.9.3>
바. 자동차압·과압조절형이 아닌 댐퍼는 개구율을 수동으로 조절할 수 있는 구조로 할 것
사. 옥내에 설치된 화재감지기에 따라 모든 제연구역의 댐퍼가 개방되도록 할 것. 다만, 둘 이상의 특정소방대상물이 지하에 설치된 주차장으로 연결되어 있는 경우에는 주차장에서 하나의 특정소방대상물의 제연구역으로 들어가는 입구에 설치된 제연용 연기감지기의 작동에 따라 특정소방대상물의 해당 수직풍도에 연결된 모든 제연구역의 댐퍼가 개방되도록 할 것<개정 2013.9.3>
아. 댐퍼의 작동이 전기적 방식에 의하는 경우 제14조제3호의 나목 내지 마목의 기준을, 기계적 방식에 따른 경우 제14조제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호의 기준을 준용할 것
2. 수직풍도 이외의 풍도로서 금속판으로 설치하는 풍도는 다음 각 목의 기준에 적합할 것
가. 풍도는 아연도금강판 또는 이와 동등 이상의 내식성·내열성이 있는 것으로 하며, 불연재료(석면재료를 제외한다)인 단열재로 유효한 단열처리를 하고, 강판의 두께는 풍도의 크기에 따라 다음표에 따른 기준 이상으로 할 것. 다만, 방화구획이 되는 전용실에 급기송풍기와 연결되는 닥트는 단열이 필요 없다.<개정 2008.12.15, 2013.9.3>
표
나. 풍도에서의 누설량은 급기량의 10%를 초과하지 아니할 것
3. 풍도는 정기적으로 풍도내부를 청소할 수 있는 구조로 설치할 것



//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(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조(급기송풍기) 급기송풍기의 설치는 다음 각 호의 기준에 적합하여야 한다.
1. 송풍기의 송풍능력은 송풍기가 담당하는 제연구역에 대한 급기량의 1.15배 이상으로 할 것. 다만, 풍도에서의 누설을 실측하여 조정하는 경우에는 그러하지 아니한다.
2. 송풍기에는 풍량조절장치를 설치하여 풍량조절을 할 수 있도록 할 것<개정 2013.9.3>
3. 송풍기에는 풍량을 실측할 수 있는 유효한 조치를 할 것<개정 2013.9.3>
4. 송풍기는 인접장소의 화재로부터 영향을 받지 아니하고 접근 및 점검이 용이한 곳에 설치할 것<개정 2013.9.3>
5. 송풍기는 옥내의 화재감지기의 동작에 따라 작동하도록 할 것
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 506) 제 4 조

제4조(배관) ①배관은 배관용탄소강관(KS D 3507) 또는 압력배관용탄소강관(KS D 3562)이나 이와 동등 이상의 강도·내식성 및 내열성을 가진 것으로 하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 장소에는 법 제39조에 따라 제품검사에 합격한 소방용 합성수지배관으로 설치할 수 있다.<개정 2012.8.20>
1. 배관을 지하에 매설하는 경우
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
②급수배관(송수구로부터 연소방지설비방수구에 급수하는 배관을 말한다. 이하 같다)은 전용으로 하여야 한다.
③급수배관에 설치되어 급수를 차단할 수 있는 개폐밸브는 개폐표시형으로 하여야 한다.
④연소방지설비의 배관의 구경은 다음 각 호의 기준에 적합한 것이어야 한다.<개정 2012.8.20>
1. 연소방지설비전용헤드를 사용하는 경우에는 다음 표에 따른 구경 이상으로 할 것
(표)
2. 스프링클러헤드를 사용하는 경우에는 「스프링클러설비의 화재안전기준(NFSC 103)」별표 1의 기준에 따를 것<개정 2012.8.20>
⑤연소방지설비에 있어서의 수평주행배관의 구경은 100㎜ 이상의 것으로 하되, 연소방지설비전용헤드 및 스프링클러헤드("방수헤드"라 한다. 이하 같다)를 향하여 상향으로 1,000분의 1 이상의 기울기로 설치하여야 한다.<개정 2012.8.20>
⑥연소방지설비 교차배관의 위치·청소구 및 가지배관의 헤드설치는 다음 각 호의 기준에 따른다.<개정 2012.8.20>
1. 교차배관은 가지배관과 수평으로 설치하거나 또는 가지배관 밑에 설치하고, 그 구경은 제4항에 따르되, 최소구경이 40㎜ 이상이 되도록 할 것<개정 2012.8.20>
2. 청소구는 주배관 또는 교차배관(교차배관을 설치하는 경우에 한한다) 끝에 40㎜ 이상 크기의 개폐밸브를 설치하고, 호스접결이 가능한 나사식 또는 고정배수 배관식으로 할 것. 이 경우 나사식의 개폐밸브는 옥내소화전 호스접결용의 것으로 하고, 나사보호용의 캡으로 마감하여야 한다.
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>
⑧연소방지설비는 습식외의 방식으로 하여야 한다.
⑨기계실·공동구 또는 덕트에 설치되는 배관은 다른 설비의 배관과 쉽게 구분이 될 수 있는 위치에 설치하거나 그 배관표면 또는 배관 보온재 표면의 색상을 달리하는 방법 등으로 소방용설비의 배관임을 표시하여야 한다.
⑩분기배관을 사용할 경우에는 법 제39조에 따라 제품검사에 합격한 것으로 설치하여야 한다.<개정 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"
}




51
연소방지설비의 화재안전기준(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


}




52
연소방지설비의 화재안전기준(NFSC 506) 제 6 조
제6조(송수구) 연소방지설비의 송수구는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>
1. 소방차가 쉽게 접근할 수 있는 노출된 장소에 설치하되, 눈에 띄기 쉬운 보도 또는 차도에 설치할 것
2. 송수구는 구경 65㎜의 쌍구형으로 할 것
3. 송수구로부터 1m이내에 살수구역 안내표지를 설치할 것
4. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것
5. 송수구의 가까운 부분에 자동배수밸브(또는 직경 5㎜의 배수공)를 설치할 것. 이 경우 자동배수밸브는 배관안의 물이 잘 빠질 수 있는 위치에 설치하되, 배수로 인하여 다른 물건 또는 장소에 피해를 주지 아니하여야 한다.<개정 2008.12.15>
6. 송수구로부터 주배관에 이르는 연결배관에는 개폐밸브를 설치하지 아니할 것
7. 송수구에는 이물질을 막기 위한 마개를 씌어야 한다<신설 2008.12.15>



//     연소방지설비의 화재안전기준(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조 (송수구) 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
}



//     연소방지설비의 화재안전기준(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
}




53
연소방지설비의 화재안전기준(NFSC 506) 제 8 조
제8조(방화벽의 설치기준) 방화벽의 설치기준은 다음 각 호에 따른다.<개정 2012.8.20>
1. 내화구조로서 홀로 설 수 있는 구조일 것
2. 방화벽에 출입문을 설치하는 경우에는 방화문으로 할 것
3. 방화벽을 관통하는 케이블·전선 등에는 내화성이 있는 화재차단재로 마감할 것
4. 방화벽의 위치는 분기구 및 환기구 등의 구조를 고려하여 설치할 것



//     연소방지설비의 화재안전기준(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조 (방화벽의 설치기준) 1호
Check(NFSC506_8_0_1){
     KS
}

KS{
     Wall myWall{
          isObjectProperty(Wall.isFireProofStructure) = TRUE
     }

     isObjectProperty(myWall.isfireResistantStructure) = TRUE
}



//     연소방지설비의 화재안전기준(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 }




54
비상경보설비의 화재안전기준(NFSC 201) 제 4 조

제4조(비상벨설비 또는 자동식사이렌설비) ①비상벨설비 또는 자동식사이렌설비는 부식성가스 또는 습기 등으로 인하여 부식의 우려가 없는 장소에 설치하여야 한다.
②지구음향장치는 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 음향장치까지의 수평거리가 25m 이하가 되도록 하고, 해당층의 각 부분에 유효하게 경보를 발할 수 있도록 설치하여야 한다. 다만, 「비상방송설비의 화재안전기준(NFSC 202)」에 적합한 방송설비를 비상벨설비 또는 자동식사이렌설비와 연동하여 작동하도록 설치한 경우에는 지구음향장치를 설치하지 아니할 수 있다.<개정 2008.12.15, 2012.8.20>
③음향장치는 정격전압의 80% 전압에서 음향을 발할 수 있도록 하여야 한다.
④음향장치의 음량은 부착된 음향장치의 중심으로부터 1m 떨어진 위치에서 90dB 이상이 되는 것으로 하여야 한다.<개정 2008.12.15>
⑤발신기는 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 지하구의 경우에는 발신기를 설치하지 아니할 수 있다. <개정 2012.8.20>
1. 조작이 쉬운 장소에 설치하고, 조작스위치는 바닥으로부터 0.8m 이상 1.5m 이하의 높이에 설치할 것
2. 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 발신기까지의 수평거리가 25m 이하가 되도록 할 것. 다만, 복도 또는 별도로 구획된 실로서 보행거리가 40m 이상일 경우에는 추가로 설치하여야 한다.
<개정 2008.12.15>
3. 발신기의 위치표시등은 함의 상부에 설치하되, 그 불빛은 부착 면으로부터 15° 이상의 범위 안에서 부착지점으로부터 10m 이내의 어느 곳에서도 쉽게 식별할 수 있는 적색등으로 할 것
⑥비상벨설비 또는 자동식사이렌설비의 상용전원은 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 전원은 전기가 정상적으로 공급되는 축전지 또는 교류전압의 옥내 간선으로 하고, 전원까지의 배선은 전용으로 할 것
2. 개폐기에는 "비상벨설비 또는 자동식사이렌설비용"이라고 표시한 표지를 할 것
⑦비상벨설비 또는 자동식사이렌설비에는 그 설비에 대한 감시상태를 60분간 지속한 후 유효하게 10분 이상 경보할 수 있는 축전지설비(수신기에 내장하는 경우를 포함한다)를 설치하여야 한다.
⑧비상벨설비 또는 자동식사이렌설비의 배선은 「전기사업법」제67조에 따른 기술기준에서 정한 것 외에 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 전원회로의 배선은 「옥내소화전설비의 화재안전기준(NFSC 102)」별표 1에 따른 내화배선에 의하고 그 밖의 배선은 「옥내소화전설비의 화재안전기준(NFSC 102)」별표 1에 따른 내화배선 또는 내열배선에 따를 것
2. 전원회로의 전로와 대지 사이 및 배선상호간의 절연저항은 「전기사업법」제67조에 따른 기술기준이 정하는 바에 의하고, 부속회로의 전로와 대지 사이 및 배선 상호간의 절연저항은 1경계구역마다 직류 250V의 절연저항측정기를 사용하여 측정한 절연저항이 0.1㏁ 이상이 되도록 할 것
3. 배선은 다른 전선과 별도의 관·덕트(절연효력이 있는 것으로 구획한 때에는 그 구획된 부분은 별개의 덕트로 본다)·몰드 또는 풀박스 등에 설치할 것. 다만, 60V 미만의 약전류회로에 사용하는 전선으로서 각각의 전압이 같을 때에는 그러하지 아니하다.



//     비상경보설비의 화재안전기준 (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 }




55
비상경보설비의 화재안전기준(NFSC 201) 제 5 조
제5조(단독경보형감지기) 단독경보형감지기는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
1. 각 실(이웃하는 실내의 바닥면적이 각각 30㎡ 미만이고 벽체의 상부의 전부 또는 일부가 개방되어 이웃하는 실내와 공기가 상호유통되는 경우에는 이를 1개의 실로 본다)마다 설치하되, 바닥면적이 150㎡를 초과하는 경우에는 150㎡마다 1개 이상 설치할 것
2. 최상층의 계단실의 천장(외기가 상통하는 계단실의 경우를 제외한다)에 설치할 것
3. 건전지를 주전원으로 사용하는 단독경보형감지기는 정상적인 작동상태를 유지할 수 있도록 건전지를 교환할 것
4. 상용전원을 주전원으로 사용하는 단독경보형감지기의 2차전지는 법 제39조에 따라 제품검사에 합격한 것을 사용할 것



//     비상경보설비의 화재안전기준(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

}




56
비상콘센트설비의 화재안전기준(NFSC 504) 제 4 조

라. 비상전원의 설치장소는 다른 장소와 방화구획 할 것. 이 경우 그 장소에는 비상전원의 공급에 필요한 기구나 설비외의 것(열병합발전설비에 필요한 기구나 설비는 제외한다)을 두어서는 아니 된다.
마. 비상전원을 실내에 설치하는 때에는 그 실내에 비상조명등을 설치할 것
②비상콘센트설비의 전원회로(비상콘센트에 전력을 공급하는 회로를 말한다)는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>
1. 비상콘센트설비의 전원회로는 단상교류 220 V인 것으로서, 그 공급용량은 1.5 kVA 이상인 것으로 할 것.<개정 2008.12.15, 2013.9.3.>
2. 전원회로는 각층에 2 이상이 되도록 설치할 것. 다만, 설치하여야 할 층의 비상콘센트가 1개인 때에는 하나의 회로로 할 수 있다.<개정 2012.8.20.>
3. 전원회로는 주배전반에서 전용회로로 할 것. 다만, 다른 설비의 회로의 사고에 따른 영향을 받지 아니하도록 되어 있는 것은 그러하지 아니하다.<개정 2012.8.20>
4. 전원으로부터 각 층의 비상콘센트에 분기되는 경우에는 분기배선용 차단기를 보호함안에 설치할 것<개정 2013.9.3.>
5. 콘센트마다 배선용 차단기(KS C 8321)를 설치하여야 하며, 충전부가 노출되지 아니하도록 할 것
6. 개폐기에는 "비상콘센트"라고 표시한 표지를 할 것
7. 비상콘센트용의 풀박스 등은 방청도장을 한 것으로서, 두께 1.6㎜ 이상의 철판으로 할 것
8. 하나의 전용회로에 설치하는 비상콘센트는 10개 이하로 할 것. 이 경우 전선의 용량은 각 비상콘센트(비상콘센트가 3개 이상인 경우에는 3개)의 공급용량을 합한 용량 이상의 것으로 하여야 한다.
③비상콘센트의 플러그접속기는 접지형2극 플러그접속기(KS C 8305)를 사용하여야 한다.<개정 2008.12.15, 2012.8.20, 2013.9.3.>
④비상콘센트의 플러그접속기의 칼받이의 접지극에는 접지공사를 하여야 한다.
⑤비상콘센트는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>
1. <삭제>
2. 바닥으로부터 높이 0.8m 이상 1.5m 이하의 위치에 설치할 것<개정 2008.12.15>
3. 비상콘센트의 배치는 아파트 또는 바닥면적이 1,000㎡ 미만인 층은 계단의 출입구(계단의 부속실을 포함하며 계단이 2 이상 있는 경우에는 그중 1개의 계단을 말한다)로부터 5m이내에, 바닥면적 1,000㎡ 이상인 층(아파트를 제외한다)은 각 계단의 출입구 또는 계단부속실의 출입구(계단의 부속실을 포함하며 계단이 3 이상 있는 층의 경우에는 그중 2개의 계단을 말한다)로부터 5m이내에 설치하되, 그 비상콘센트로부터 그 층의 각 부분까지의 거리가 다음 각 목의 기준을 초과하는 경우에는 그 기준 이하가 되도록 비상콘센트를 추가하여 설치할 것<개정 2012.8.20>
가. 지하상가 또는 지하층의 바닥면적의 합계가 3,000㎡ 이상인 것은 수평거리 25m
나. 가목에 해당하지 아니하는 것은 수평거리 50m
다. <삭제 2008.12.15>
⑥비상콘센트설비의 전원부와 외함 사이의 절연저항 및 절연내력은 다음 각 호의 기준에 적합하여야 한다.<개정 2012.8.20>
1. 절연저항은 전원부와 외함 사이를 500V 절연저항계로 측정할 때 20㏁ 이상일 것<개정 2012.8.20>
2. 절연내력은 전원부와 외함 사이에 정격전압이 150V 이하인 경우에는 1,000V의 실효전압을, 정격전압이 150V 이상인 경우에는 그 정격전압에 2를 곱하여 1,000을 더한 실효전압을 가하는 시험에서 1분 이상 견디는 것으로 할 것
제4조(전원 및 콘센트 등) ①비상콘센트설비에는 다음 각 호의 기준에 따른 전원을 설치하여야 한다.<개정 2012.8.20>
1. 상용전원회로의 배선은 저압수전인 경우에는 인입개폐기의 직후에서, 고압수전 또는 특고압수전인 경우에는 전력용변압기 2차측의 주차단기 1차측 또는 2차측에서 분기하여 전용배선으로 할 것 <개정 2013.9.3.>
2. 지하층을 제외한 층수가 7층 이상으로서 연면적이 2,000㎡ 이상이거나 지하층의 바닥면적의 합계가 3,000㎡ 이상인 특정소방대상물의 비상콘센트설비에는 자가발전설비 또는 비상전원수전설비를 비상전원으로 설치할 것. 다만, 둘 이상의 변전소에서 전력을 동시에 공급받을 수 있거나 하나의 변전소로부터 전력의 공급이 중단되는 때에는 자동으로 다른 변전소로부터 전력을 공급받은 수 있도록 상용전원을 설치한 경우에는 비상전원을 설치하지 아니할 수 있다.<개정 2012.8.20, 2013.9.3.>
3. 제2호에 따른 비상전원 중 자가발전설비는 다음 각 목의 기준에 따라 설치하고, 비상전원수전설비는 「소방시설용비상전원수전설비의 화재안전기준(NFSC 602)」에 따라 설치할 것<개정 2012.8.20>
가. 점검에 편리하고 화재 및 침수 등의 재해로 인한 피해를 받을 우려가 없는 곳에 설치할 것
나. 비상콘센트설비를 유효하게 20분 이상 작동시킬 수 있는 용량으로 할 것
다. 상용전원으로부터 전력의 공급이 중단된 때에는 자동으로 비상전원으로부터 전력을 공급받을 수 있도록 할 것



//     비상콘센트설비의 화재안전기준(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
}





57
비상콘센트설비의 화재안전기준(NFSC 504) 제 5 조
제5조(보호함) 비상콘센트를 보호하기 위하여 비상콘센트보호함은 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>
1. 보호함에는 쉽게 개폐할 수 있는 문을 설치할 것
2. 보호함 표면에 "비상콘센트"라고 표시한 표지를 할 것
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 }




58
옥내소화전설비의 화재안전기준(NFSC 102) 제 6 조
제6조(배관 등) ① 배관은 다음 각 호의 어느 하나에 해당하는 것을 사용하여야 한다. 다만, 배관 이음은 각 배관과 동등 이상의 성능에 적합한 배관이음쇠를 사용하고 배관용 스테인리스강관(KS D 3576)의 이음을 용접으로 할 경우에는 알곤용접방식에 따른다.<개정 2008.12.15, 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>
② 제1항에도 불구하고 다음 각 호의 어느 하나에 해당하는 장소에는 국민안전처장관이 정하여 고시한 「소방용합성수지배관의 성능인증 및 제품검사의 기술기준」에 적합한 소방용 합성수지배관으로 설치할 수 있다.<개정 2013.6.10, 2015.1.23.>
1. 배관을 지하에 매설하는 경우
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
3.천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연 재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우
③ 급수배관은 전용으로 하여야 한다. 다만, 옥내소화전의 기동장치의 조작과 동시에 다른 설비의 용도에 사용하는 배관의 송수를 차단할 수 있거나, 옥내소화전설비의 성능에 지장이 없는 경우에는 다른 설비와 겸용할 수 있다.
④ 삭제<2013.6.11>
⑤ 펌프의 흡입 측 배관은 다음 각 호의 기준에 따라 설치하여야 한다.
[종전의 제4항에서 이동 2012.2.15]
1. 공기고임이 생기지 아니하는 구조로 하고 여과장치를 설치할 것
2. 수조가 펌프보다 낮게 설치된 경우에는 각 펌프(충압펌프를 포함한다)마다 수조로부터 별도로 설치할 것

⑥ 펌프의 토출 측 주배관의 구경은 유속이 4㎧ 이하가 될 수 있는 크기 이상으로 하여야 하고, 옥내소화전방수구와 연결되는 가지배관의 구경은 40㎜(호스릴옥내소화전설비의 경우에는 25㎜) 이상으로 하여야 하며, 주배관중 수직배관의 구경은 50㎜(호스릴옥내소화전설비의 경우에는 32㎜) 이상으로 하여야 한다.<개정 2008.12.15.>
[종전의 제5항에서 이동 2012.2.15]
⑦ 연결송수관설비의 배관과 겸용할 경우의 주배관은 구경 100㎜ 이상, 방수구로 연결되는 배관의 구경은 65㎜ 이상의 것으로 하여야 한다.
[종전의 제6항에서 이동 2012.2.15]
⑧ 펌프의 성능은 체절운전 시 정격토출압력의 140%를 초과하지 아니하고, 정격토출량의 150%로 운전 시 정격토출압력의 65% 이상이 되어야 하며, 펌프의 성능시험배관은 다음 각 호의 기준에 적합하여야 한다. [종전의 제7항에서 이동 2012.2.15]
1. 성능시험배관은 펌프의 토출측에 설치된 개폐밸브 이전에서 분기하여 설치하고, 유량측정장치를 기준으로 전단 직관부에 개폐밸브를 후단 직관부에는 유량조절밸브를 설치할 것
2. 유량측정장치는 성능시험배관의 직관부에 설치하되, 펌프의 정격토출량의 175% 이상 측정할 수 있는 성능이 있을 것
⑨ 가압송수장치의 체절운전 시 수온의 상승을 방지하기 위하여 체크밸브와 펌프사이에서 분기한 구경 20㎜ 이상의 배관에 체절압력 미만에서 개방되는 릴리프밸브를 설치하여야 한다.
[종전의 제8항에서 이동 2012.2.15]
⑩ 동결방지조치를 하거나 동결의 우려가 없는 장소에 설치하여야 한다. 다만, 보온재를 사용할 경우에는 난연재료 성능이상의 것으로 하여야 한다. <개정 2012.2.15, 2015.1.23.>
⑪ 급수배관에 설치되어 급수를 차단할 수 있는 개폐밸브(옥내소화전방수구를 제외한다)는 개폐표시형으로 하여야 한다. 이 경우 펌프의 흡입측 배관에는 버터플라이밸브 외의 개폐표시형밸브를 설치하여야 한다.
[종전의 제10항에서 이동 2012.2.15]
⑫ 배관은 다른 설비의 배관과 쉽게 구분이 될 수 있는 위치에 설치하거나, 그 배관표면 또는 배관 보온재표면의 색상은 「한국산업표준(배관계의 식별 표시, KS A 0503)」 또는 적색으로 식별이 가능하도록 소방용설비의 배관임을 표시하여야 한다.<개정 2008.12.15.>
[종전의 제11항에서 이동 2012.2.15]<개정 2013.6.10>
⑬ 옥내소화전설비에는 소방차로부터 그 설비에 송수할 수 있는 송수구를 다음 각 호의 기준에 의하여 설치하여야 한다.
[종전의 제12항에서 이동 2012.2.15]<개정 2013.6.10>
1. 송수구는 소방차가 쉽게 접근할 수 있는 잘 보이는 장소에 설치하되 화재층으로부터 지면으로 떨어지는 유리창 등이 송수 및 그 밖의 소화작업에 지장을 주지 아니하는 장소에 설치할 것<개정 2013.6.10>
2. 송수구로부터 주 배관에 이르는 연결배관에는 개폐밸브를 설치하지 아니할 것. 다만, 스프링클러설비·물분무소화설비·포소화설비 또는 연결송수관 설비의 배관과 겸용하는 경우에는 그러하지 아니하다.
3. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것
4. 구경 65㎜의 쌍구형 또는 단구형으로 할 것
5. 송수구의 가까운 부분에 자동배수밸브(또는 직경 5㎜의 배수공) 및 체크밸브를 설치할 것. 이 경우 자동배수밸브는 배관안의 물이 잘 빠질 수 있는 위치에 설치하되, 배수로 인하여 다른 물건 또는 장소에 피해를 주지 아니하여야 한다.
6. 송수구에는 이물질을 막기 위한 마개를 씌울 것<신설 2008.12.15>
⑭ 분기배관을 사용할 경우에는 국민안전처장관이 정하여 고시한「분기배관의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치하여야 한다. <개정 2012.2.15, 2013.6.10, 2015.1.23.>



//  옥내소화전설비의 화재안전기준(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조 (배관 등) 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조 (배관 등) 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조 (배관 등) 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조 (배관 등) 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조 (배관 등) 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조 (배관 등) 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"
}




59
옥내소화전설비의 화재안전기준(NFSC 102) 제 7 조

2. 바닥으로부터의 높이가 1.5m 이하가 되도록 할 것
3. 호스는 구경 40㎜(호스릴옥내소화전설비의 경우에는 25㎜) 이상의 것으로서 특정소방대상물의 각 부분에 물이 유효하게 뿌려질 수 있는 길이로 설치할 것
4. 호스릴옥내소화전설비의 경우 그 노즐에는 노즐을 쉽게 개폐할 수 있는 장치를 부착할 것
③ 표시등은 다음 각 호의 기준에 따라 설치하여야 한다.
1. 옥내소화전설비의 위치를 표시하는 표시등은 함의 상부에 설치하되, 국민안전처장관이 고시하는 「표시등의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 할 것<개정 2015.1.23.>
2. 가압송수장치의 기동을 표시하는 표시등은 옥내소화전함의 상부 또는 그 직근에 설치하되 적색등으로 할 것. 다만, 자체소방대를 구성하여 운영하는 경우(「위험물 안전관리법 시행령」별표8에서 정한 소방자동차와 자체소방대원의 규모를 말한다) 가압송수장치의 기동표시등을 설치하지 않을 수 있다.<개정 2013.6.10>
3. 삭 제<2015.1.23.>
④ 옥내소화전설비의 함에는 그 표면에 "소화전"이라는 표시와 그 사용요령을 기재한 표지판(외국어 병기)을 붙여야 한다.<개정 2010.12.27>
제7조(함 및 방수구 등) ① 옥내소화전설비의 함은 다음 각 호의 기준에 따라 설치하여야 한다.
1. 함은 국민안전처장관이 정하여 고시한 「소화전함 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치하되 밸브의 조작, 호스의 수납 등에 충분한 여유를 가질 수 있도록 할 것. 연결송수관의 방수구를 같이 설치하는 경우에도 또한 같다.<개정 2015.1.23.>
2. 삭 제<2015.1.23.>
3. 제1호와 제2호에도 불구하고 제2항제1호의 기준을 초과하는 경우로서 기둥 또는 벽이 설치되지 아니한 대형공간의 경우는 다음 각 목의 기준에 따라 설치할 수 있다.<개정 2013.6.10>
가. 호스 및 관창은 방수구의 가장 가까운 장소의 벽 또는 기둥 등에 함을 설치하여 비치 할 것
나. 방수구의 위치표지는 표시등 또는 축광도료 등으로 상시 확인이 가능토록 할 것
② 옥내소화전방수구는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 옥내소화전방수구까지의 수평거리가 25m(호스릴옥내소화전설비를 포함한다) 이하가 되도록 할 것. 다만, 복층형 구조의 공동주택의 경우에는 세대의 출입구가 설치된 층에만 설치할 수 있다.<개정 2008.12.15, 2009.10.22>



//  옥내소화전설비의 화재안전기준(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 }




60
스프링클러설비의 화재안전기준(NFSC 103) 제 10 조
② 랙크식창고의 경우로서「소방기본법시행령」별표 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 이하)
④ 영 별표 4 소화설비의 소방시설 적용기준란 제3호가목에 따른 무대부 또는 연소할 우려가 있는 개구부에 있어서는 개방형스프링클러헤드를 설치하여야 한다.
⑤ 다음 각 호의 어느 하나에 해당하는 장소에는 조기반응형 스프링클러헤드를 설치하여야 한다.
1. 공동주택·노유자시설의 거실
2. 오피스텔·숙박시설의 침실, 병원의 입원실
⑥ 폐쇄형스프링클러헤드는 그 설치장소의 평상시 최고 주위온도에 따라 다음 표에 따른 표시온도의 것으로 설치하여야 한다. 다만, 높이가 4m 이상인 공장 및 창고(랙크식창고를 포함한다)에 설치하는 스프링클러헤드는 그 설치장소의 평상시 최고 주위온도에 관계없이 표시온도 121℃ 이상의 것으로 할 수 있다. (표)
⑦ 스프링클러헤드는 다음 각 호의 방법에 따라 설치하여야 한다.
1. 살수가 방해되지 아니하도록 스프링클러헤드로부터 반경 60㎝ 이상의 공간을 보유할 것. 다만, 벽과 스프링클러헤드간의 공간은 10㎝ 이상으로 한다.
2. 스프링클러헤드와 그 부착면(상향식헤드의 경우에는 그 헤드의 직상부의 천장·반자 또는 이와 비슷한 것을 말한다. 이하 같다)과의 거리는 30㎝ 이하로 할 것.
3. 배관·행가 및 조명기구 등 살수를 방해하는 것이 있는 경우에는 제1호 및 제2호에도 불구하고 그로부터 아래에 설치하여 살수에 장애가 없도록 할 것. 다만, 스프링클러헤드와 장애물과의 이격거리를 장애물 폭의 3배 이상 확보한 경우에는 그러하지 아니하다.<개정 2008.12.15>
4. 스프링클러헤드의 반사판은 그 부착 면과 평행하게 설치할 것. 다만, 측벽형헤드 또는 제6호에 따른 연소할 우려가 있는 개구부에 설치하는 스프링클러헤드의 경우에는 그러하지 아니하다.
5. 천장의 기울기가 10분의 1을 초과하는 경우에는 가지관을 천장의 마루와 평행하게 설치하고, 스프링클러헤드는 다음 각 목의 어느 하나의 기준에 적합하게 설치할 것
가. 천장의 최상부에 스프링클러헤드를 설치하는 경우에는 최상부에 설치하는 스프링클러헤드의 반사판을 수평으로 설치할 것
나. 천장의 최상부를 중심으로 가지관을 서로 마주보게 설치하는 경우에는 최상부의 가지관 상호간의 거리가 가지관상의 스프링클러헤드 상호간의 거리의 2분의 1이하(최소 1m 이상이 되어야 한다)가 되게 스프링클러헤드를 설치하고, 가지관의 최상부에 설치하는 스프링클러헤드는 천장의 최상부로부터의 수직거리가 90㎝ 이하가 되도록 할 것. 톱날지붕, 둥근지붕 기타 이와 유사한 지붕의 경우에도 이에 준한다.
6. 연소할 우려가 있는 개구부에는 그 상하좌우에 2.5m 간격으로(개구부의 폭이 2.5m 이하인 경우에는 그 중앙에) 스프링클러헤드를 설치하되, 스프링클러헤드와 개구부의 내측 면으로부터 직선거리는 15㎝ 이하가 되도록 할 것. 이 경우 사람이 상시 출입하는 개구부로서 통행에 지장이 있는 때에는 개구부의 상부 또는 측면(개구부의 폭이 9m 이하인 경우에 한한다)에 설치하되, 헤드 상호간의 간격은 1.2m 이하로 설치하여야 한다.
7. 습식스프링클러설비 및 부압식스프링클러설비 외의 설비에는 상향식스프링클러헤드를 설치할 것. 다만, 다음 각 목의 어느 하나에 해당하는 경우에는 그러하지 아니하다.<개정 2011.11.24>
가. 드라이펜던트스프링클러헤드를 사용하는 경우
나. 스프링클러헤드의 설치장소가 동파의 우려가 없는 곳인 경우
다. 개방형스프링클러헤드를 사용하는 경우
8. 측벽형스프링클러헤드를 설치하는 경우 긴 변의 한쪽 벽에 일렬로 설치(폭이 4.5m 이상 9m 이하인 실에 있어서는 긴변의 양쪽에 각각 일렬로 설치하되 마주보는 스프링클러헤드가 나란히꼴이 되도록 설치)하고 3.6m 이내마다 설치할 것
9. 상부에 설치된 헤드의 방출수에 따라 감열부에 영향을 받을 우려가 있는 헤드에는 방출수를 차단할 수 있는 유효한 차폐판을 설치할 것
⑧ 제7항제2호에도 불구하고 특정소방대상물의 보와 가장 가까운 스프링클러 헤드는 다음 표의 기준에 따라 설치하여야 한다. 다만, 천장 면에서 보의 하단까지의 길이가 55㎝를 초과하고 보의 하단 측면 끝부분으로부터 스프링클러헤드까지의 거리가 스프링클러헤드 상호간 거리의 2분의 1 이하가 되는 경우에는 스프링클러헤드와 그 부착 면과의 거리를 55㎝ 이하로 할 수 있다.<개정 2013.6.10> (표)

제10조(헤드) ① 스프링클러헤드는 특정소방대상물의 천장·반자·천장과 반자사이·덕트·선반 기타 이와 유사한 부분(폭이 1.2m를 초과하는 것에 한한다)에 설치하여야 한다. 다만, 폭이 9m 이하인 실내에 있어서는 측벽에 설치할 수 있다.



//스프링클러설비의 화재안전기준(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항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항 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 }


//스프링클러설비의 화재안전기준(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
}


//스프링클러설비의 화재안전기준 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
}




61
스프링클러설비의 화재안전기준(NFSC 103) 제 11 조
제11조(송수구) 스프링클러설비에는 소방차로부터 그 설비에 송수할 수 있는 송수구를 다음 각 호의 기준에 따라 설치하여야 한다.
1. 송수구는 소방차가 쉽게 접근할 수 있는 잘 보이는 장소에 설치하되 화재 층으로부터 지면으로 떨어지는 유리창 등이 송수 및 그 밖의 소화작업에 지장을 주지 아니하는 장소에 설치할 것<개정 2013.6.10>
2. 송수구로부터 스프링클러설비의 주배관에 이르는 연결배관에 개폐밸브를 설치한 때에는 그 개폐상태를 쉽게 확인 및 조작할 수 있는 옥외 또는 기계실 등의 장소에 설치할 것
3. 구경 65㎜의 쌍구형으로 할 것
4. 송수구에는 그 가까운 곳의 보기 쉬운 곳에 송수압력범위를 표시한 표지를 할 것
5. 폐쇄형스프링클러헤드를 사용하는 스프링클러설비의 송수구는 하나의 층의 바닥면적이 3,000㎡를 넘을 때마다 1개 이상(5개를 넘을 경우에는 5개로 한다)을 설치할 것
6. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것
7. 송수구의 가까운 부분에 자동배수밸브(또는 직경 5㎜의 배수공) 및 체크밸브를 설치할 것. 이 경우 자동배수밸브는 배관안의 물이 잘 빠질 수 있는 위치에 설치하되, 배수로 인하여 다른 물건 또는 장소에 피해를 주지 아니하여야 한다.
8. 송수구에는 이물질을 막기 위한 마개를 씌워야 한다.<개정 2008.12.15>



//스프링클러설비의 화재안전기준 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
}




62
스프링클러설비의 화재안전기준(NFSC 103) 제 12 조

9. 비상전원실의 출입구 외부에는 실의 위치와 비상전원의 종류를 식별할 수 있도록 표지판을 부착할 것<신설 2011.11.24>
제12조(전원) ① 스프링클러설비에는 다음 각 호의 기준에 따른 상용전원회로의 배선을 설치하여야 한다. 다만, 가압수조방식으로서 모든 기능이 20분 이상 유효하게 지속될 수 있는 경우에는 그러하지 아니하다.<개정 2008.12.15, 2012.2.15, 2013.6.11>
1. 저압수전인 경우에는 인입개폐기의 직후에서 분기하여 전용배선으로 하여야 하며, 전용의 전선관에 보호 되도록 할 것
2. 특별고압수전 또는 고압수전일 경우에는 전력용 변압기 2차측의 주차단기 1차측에서 분기하여 전용배선으로 하되, 상용전원의 상시공급에 지장이 없을 경우에는 주차단기 2차측에서 분기하여 전용배선으로 할 것. 다만, 가압송수장치의 정격입력전압이 수전전압과 같은 경우에는 제1호의 기준에 따른다.
② 스프링클러설비에는 자가발전설비 또는 축전지설비에 따른 비상전원을 설치하여야 한다. 다만, 차고·주차장으로서 스프링클러설비가 설치된 부분의 바닥면적(「포소화설비의 화재안전기준(NFSC 105)」제13조제2항제2호에 따른 차고·주차장의 바닥면적을 포함한다)의 합계가 1,000㎡ 미만인 경우에는 비상전원수전설비로 설치할 수 있으며, 2이상의 변전소(「전기사업법」제67조에 따른 변전소를 말한다. 이하 같다)에서 전력을 동시에 공급받을 수 있거나 하나의 변전소로부터 전력의 공급이 중단되는 때에는 자동으로 다른 변전소로부터 전력을 공급받을 수 있도록 상용전원을 설치한 경우와 가압수조방식에는 비상전원을 설치하지 아니할 수 있다.<개정 2008.12.15, 2013.6.10>
③ 제2항에 따른 비상전원 중 자가발전설비 또는 축전지설비(내연기관에 따른 펌프를 설치한 경우에는 내연기관의 기동 및 제어용축전지를 말한다)는 다음 각 호의 기준을, 비상전원수전설비는 「소방시설용비상전원수전설비의 화재안전기준(NFSC 602)」에 따라 설치하여야 한다.<개정 2013.6.10>
1. 점검에 편리하고 화재 및 침수 등의 재해로 인한 피해를 받을 우려가 없는 곳에 설치할 것
2. 스프링클러설비를 유효하게 20분 이상 작동할 수 있어야 할 것<개정 2013.6.11>
3. 상용전원으로부터 전력의 공급이 중단된 때에는 자동으로 비상전원으로부터 전력을 공급받을 수 있도록 할 것
4. 비상전원(내연기관의 기동 및 제어용 축전기를 제외한다)의 설치장소는 다른 장소와 방화구획 할 것. 이 경우 그 장소에는 비상전원의 공급에 필요한 기구나 설비외의 것(열병합발전설비에 필요한 기구나 설비는 제외한다)을 두어서는 아니 된다.<개정 2008.12.15>
5. 비상전원을 실내에 설치하는 때에는 그 실내에 비상조명등을 설치할 것
6. 옥내에 설치하는 비상전원실에는 옥외로 직접 통하는 충분한 용량의 급배기설비를 설치할 것<개정 2011.11.24>
7. 비상전원의 출력용량은 다음 각 목의 기준을 충족할 것<신설 2011.11.24>
가. 비상전원 설비에 설치되어 동시에 운전될 수 있는 모든 부하의 합계 입력용량을 기준으로 정격출력을 선정할 것. 다만, 소방전원 보존형발전기를 사용할 경우에는 그러하지 아니하다.
나. 기동전류가 가장 큰 부하가 기동될 때에도 부하의 허용 최저입력전압이상의 출력전압을 유지할 것
다. 단시간 과전류에 견디는 내력은 입력용량이 가장 큰 부하가 최종 기동할 경우에도 견딜 수 있을 것
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"
}




63
스프링클러설비의 화재안전기준(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>
9. 삭제<2013.6.10>
10. 현관 또는 로비 등으로서 바닥으로부터 높이가 20m 이상인 장소
11. 영하의 냉장창고의 냉장실 또는 냉동창고의 냉동실<신설 2008.12.15>
12. 고온의 노가 설치된 장소 또는 물과 격렬하게 반응하는 물품의 저장 또는 취급장소
13. 불연재료로 된 특정소방대상물 또는 그 부분으로서 다음 각 목의 어느 하나에 해당하는 장소
가. 정수장·오물처리장 그 밖의 이와 비슷한 장소
나. 펄프공장의 작업장·음료수공장의 세정 또는 충전하는 작업장 그 밖의 이와 비슷한 장소
다. 불연성의 금속·석재 등의 가공공장으로서 가연성물질을 저장 또는 취급하지 아니하는 장소
14. 실내에 설치된 테니스장·게이트볼장·정구장 또는 이와 비슷한 장소로서 실내 바닥·벽·천장이 불연재료 또는 준불연재료로 구성되어 있고 가연물이 존재하지 않는 장소로서 관람석이 없는 운동시설(지하층은 제외한다)
15. 「건축법 시행령」제46조제4항에 따른 공동주택 중 아파트의 대피공간<신설 2013.6.10>
② 제10조제7항제6호의 연소할 우려가 있는 개구부에 다음 각 호의 기준에 따른 드렌처설비를 설치한 경우에는 해당 개구부에 한하여 스프링클러헤드를 설치하지 아니할 수 있다.
1. 드렌처헤드는 개구부 위 측에 2.5m 이내마다 1개를 설치할 것
2. 제어밸브(일제개방밸브·개폐표시형밸브 및 수동조작부를 합한 것을 말한다. 이하 같다)는 특정소방대상물 층마다에 바닥 면으로부터 0.8m 이상 1.5m 이하의 위치에 설치할 것
3. 수원의 수량은 드렌처헤드가 가장 많이 설치된 제어밸브의 드렌처헤드의 설치개수에 1.6㎥를 곱하여 얻은 수치 이상이 되도록 할 것
4. 드렌처설비는 드렌처헤드가 가장 많이 설치된 제어밸브에 설치된 드렌처헤드를 동시에 사용하는 경우에 각각의 헤드선단에 방수압력이 0.1 ㎫ 이상, 방수량이 80ℓ/min 이상이 되도록 할 것
5. 수원에 연결하는 가압송수장치는 점검이 쉽고 화재 등의 재해로 인한 피해우려가 없는 장소에 설치할 것



//     스프링클러설비의 화재안전기준(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
}




64
스프링클러설비의 화재안전기준(NFSC 103) 제 16 조

제16조(수원 및 가압송수장치의 펌프 등의 겸용) ① 스프링클러설비의 수원을 옥내소화전설비·간이스프링클러설비·화재조기진압용 스프링클러설비·물분무소화설비·포소화전설비 및 옥외소화전설비의 수원과 겸용하여 설치하는 경우의 저수량은 각 소화설비에 필요한 저수량을 합한 양 이상이 되도록 하여야 한다. 다만, 이들 소화설비중 고정식 소화설비(펌프·배관과 소화수 또는 소화약제를 최종 방출하는 방출구가 고정된 설비를 말한다. 이하 같다)가 2 이상 설치되어 있고, 그 소화설비가 설치된 부분이 방화벽과 방화문으로 구획되어 있는 경우에는 각 고정식 소화설비에 필요한 저수량 중 최대의 것 이상으로 할 수 있다.
② 스프링클러설비의 가압송수장치로 사용하는 펌프를 옥내소화전설비·간이스프링클러설비·화재조기진압용 스프링클러설비·물분무소화설비·포소화설비 및 옥외소화전설비의 가압송수장치와 겸용하여 설치하는 경우의 펌프의 토출량은 각 소화설비에 해당하는 토출량을 합한 양 이상이 되도록 하여야 한다. 다만, 이들 소화설비 중 고정식 소화설비가 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

}




65
스프링클러설비의 화재안전기준(NFSC 103) 제 4 조

제4조(수원) ① 스프링클러설비의 수원은 그 저수량이 다음 각 호의 기준에 적합하도록 하여야 한다.
1. 폐쇄형스프링클러헤드를 사용하는 경우에는 다음 표의 스프링클러설비 설치장소별 스프링클러헤드의 기준개수[스프링클러헤드의 설치개수가 가장 많은 층(아파트의 경우에는 설치개수가 가장 많은 세대)에 설치된 스프링클러헤드의 개수가 기준개수보다 작은 경우에는 그 설치개수를 말한다. 이하 같다]에 1.6㎥를 곱한 양 이상이 되도록 할 것 <개정 2013.6.10> (표)
2. 개방형스프링클러헤드를 사용하는 스프링클러설비의 수원은 최대 방수구역에 설치된 스프링클러헤드의 개수가 30개 이하일 경우에는 설치헤드수에 1.6㎥를 곱한 양 이상으로 하고, 30개를 초과하는 경우에는 제5조제1항제9호 및 제10호에 따라 산출된 가압송수장치의 1분당 송수량에 20을 곱한 양 이상이 되도록 할 것
3. 삭제<2013.6.11>
② 스프링클러설비의 수원은 제1항에 따라 산출된 유효수량 외에 유효수량의 3분의 1 이상을 옥상(스프링클러설비가 설치된 건축물의 주된 옥상을 말한다. 이하 같다)에 설치하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 경우에는 그러하지 아니하다.
1. 삭제<2013.6.10>
2. 지하층만 있는 건축물
3. 제5조제2항에 따라 고가수조를 가압송수장치로 설치한 스프링클러설비
4. 수원이 건축물의 최상층에 설치된 헤드보다 높은 위치에 설치된 경우<개정 2015.1.23.>
5. 건축물의 높이가 지표면으로부터 10m 이하인 경우
6. 주펌프와 동등 이상의 성능이 있는 별도의 펌프로서 내연기관의 기동과 연동하여 작동되거나 비상전원을 연결하여 설치한 경우
7.제5조제4항에 따라 가압수조를 가압송수장치로 설치한 스프링클러설비<신설 2009.10.22>
③ 삭제<2013.6.11>
④ 옥상수조(제1항에 따라 산출된 유효수량의 3분의 1 이상을 옥상에 설치한 설비를 말한다)는 이와 연결된 배관을 통하여 상시 소화수를 공급할 수 있는 구조인 특정소방대상물인 경우에는 둘 이상의 특정소방대상물이 있더라도 하나의 특정소방대상물에만 이를 설치할 수 있다. [종전의 제3항에서 이동 2012.2.15]
⑤ 스프링클러설비의 수원을 수조로 설치하는 경우에는 소방설비의 전용수조로 하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 경우에는 그러하지 아니하다. [종전의 제4항에서 이동 2012.2.15]
1. 스프링클러펌프의 후드밸브 또는 흡수배관의 흡수구(수직회전축펌프의 흡수구를 포함한다. 이하 같다)를 다른 설비(소방용 설비 외의 것을 말한다. 이하 같다)의 후드밸브 또는 흡수구보다 낮은 위치에 설치한 때
2. 제5조제2항에 따른 고가수조로부터 스프링클러설비의 수직배관에 물을 공급하는 급수구를 다른 설비의 급수구보다 낮은 위치에 설치한 때
⑥ 제1항 및 제2항에 따른 저수량을 산정함에 있어서 다른 설비와 겸용하여 스프링클러설비용 수조를 설치하는 경우에는 스프링클러설비의 후드밸브·흡수구 또는 수직배관의 급수구와 다른 설비의 후드밸브·흡수구 또는 수직배관의 급수구와의 사이의 수량을 그 유효수량으로 한다. [종전의 제5항에서 이동 2012.2.15]
⑦ 스프링클러설비용 수조는 다음 각 호의 기준에 따라 설치하여야 한다. [종전의 제6항에서 이동 2012.2.15]
1. 점검에 편리한 곳에 설치할 것
2. 동결방지조치를 하거나 동결의 우려가 없는 장소에 설치할 것
3. 수조의 외측에 수위계를 설치할 것. 다만, 구조상 불가피한 경우에는 수조의 맨홀 등을 통하여 수조 안의 물의 양을 쉽게 확인할 수 있도록 하여야 한다.
4. 수조의 상단이 바닥보다 높은 때에는 수조의 외측에 고정식 사다리를 설치할 것
5. 수조가 실내에 설치된 때에는 그 실내에 조명설비를 설치할 것
6. 수조의 밑부분에는 청소용 배수밸브 또는 배수관을 설치할 것
7. 수조의 외측의 보기 쉬운 곳에 "스프링클러설비용 수조"라고 표시한 표지를 할 것. 이 경우 그 수조를 다른 설비와 겸용하는 때에는 그 겸용되는 설비의 이름을 표시한 표지를 함께 하여야 한다.
8. 스프링클러펌프의 흡수배관 또는 스프링클러설비의 수직배관과 수조의 접속부분에는 "스프링클러설비용 배관"이라고 표시한 표지를 할 것. 다만, 수조와 가까운 장소에 스프링클러펌프가 설치되고 스프링클러펌프에 제5조제1항제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
}




66
스프링클러설비의 화재안전기준(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 이상의 출입문을 설치하고 그 출입문 상단에 "유수검지장치실" 이라고 표시한 표지를 설치할 것. 다만, 유수검지장치를 기계실(공조용기계실을 포함한다)안에 설치하는 경우에는 별도의 실 또는 보호용 철망을 설치하지 아니하고 기계실 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 수 있다.<개정 2008.12.15>
5. 스프링클러헤드에 공급되는 물은 유수검지장치를 지나도록 할 것. 다만, 송수구를 통하여 공급되는 물은 그러하지 아니하다.
6. 자연낙차에 따른 압력수가 흐르는 배관 상에 설치된 유수검지장치는 화재시 물의 흐름을 검지할 수 있는 최소한의 압력이 얻어질 수 있도록 수조의 하단으로부터 낙차를 두어 설치할 것<개정 2008.12.15>
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 }




67
스프링클러설비의 화재안전기준(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
}




68
스프링클러설비의 화재안전기준(NFSC 103) 제 9 조
제9조(음향장치 및 기동장치) ① 스프링클러설비의 음향장치 및 기동장치는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 습식유수검지장치 또는 건식유수검지장치를 사용하는 설비에 있어서는 헤드가 개방되면 유수검지장치가 화재신호를 발신하고 그에 따라 음향장치가 경보되도록 할 것<개정 2008.12.15>

2. 준비작동식유수검지장치 또는 일제개방밸브를 사용하는 설비에는 화재감지기의 감지에 따라 음향장치가 경보되도록 할 것. 이 경우 화재감지기회로를 교차회로방식(하나의 준비작동식유수검지장치 또는 일제개방밸브의 담당구역 내에 2 이상의 화재감지기회로를 설치하고 인접한 2 이상의 화재감지기가 동시에 감지되는 때에 준비작동식유수검지장치 또는 일제개방밸브가 개방·작동되는 방식을 말한다)으로 하는 때에는 하나의 화재감지기회로가 화재를 감지하는 때에도 음향장치가 경보되도록 하여야 한다.<개정 2008.12.15>
3. 음향장치는 유수검지장치 및 일제개방밸브 등의 담당구역마다 설치하되 그 구역의 각 부분으로부터 하나의 음향장치까지의 수평거리는 25m 이하가 되도록 할 것<개정 2008.12.15>
4. 음향장치는 경종 또는 사이렌(전자식 사이렌을 포함한다)으로 하되, 주위의 소음 및 다른 용도의 경보와 구별이 가능한 음색으로 할 것. 이 경우 경종 또는 사이렌은 자동화재탐지설비·비상벨설비 또는 자동식사이렌설비의 음향장치와 겸용할 수 있다.
5. 주 음향장치는 수신기의 내부 또는 그 직근에 설치할 것.
6. 층수가 5층 이상으로서 연면적이 3,000㎡를 초과하는 특정소방대상물은 다음 각목에 따라 경보를 발할 수 있도록 하여야 한다.<개정 2012.2.15>
가. 2층 이상의 층에서 발화한 때에는 발화층 및 그 직상층에 경보를 발할 것
나. 1층에서 발화한 때에는 발화층·그 직상층 및 지하층에 경보를 발할 것
다. 지하층에서 발화한 때에는 발화층·그 직상층 및 기타의 지하층에 경보를 발할 것
6의2. 삭제<2013.6.11>
7. 음향장치는 다음 각 목의 기준에 따른 구조 및 성능의 것으로 할 것
가. 정격전압의 80% 전압에서 음향을 발할 수 있는 것으로 할 것
나. 음량은 부착된 음향장치의 중심으로부터 1m 떨어진 위치에서 90dB 이상이 되는 것으로 할<개정 2008.12.15>
② 스프링클러설비의 가압송수장치로서 펌프가 설치되는 경우에는 그 펌프의 작동은 다음 각 호의 어느 하나의 기준에 적합하여야 한다.
1. 습식유수검지장치 또는 건식유수검지장치를 사용하는 설비에 있어서는 유수검지장치의 발신이나 기동용수압개폐장치에 의하여 작동되거나 또는 이 두 가지의 혼용에 따라 작동 될 수 있도록 할 것<개정 2008.12.15, 2013.6.10>
2. 준비작동식유수검지장치 또는 일제개방밸브를 사용하는 설비에 있어서는 화재감지기의 화재감지나 기동용수압개폐장치에 따라 작동되거나 또는 이 두 가지의 혼용에 따라 작동할 수 있도록 할 것<개정 2009.10.22>
③ 준비작동식유수검지장치 또는 일제개방밸브의 작동은 다음 각 호의 기준에 적합하여야 한다.<개정 2008.12.15>
1. 담당구역내의 화재감지기의 동작에 따라 개방 및 작동될 것
2. 화재감지회로는 교차회로방식으로 할 것. 다만, 다음 각 목의 어느 하나에 해당하는 경우에는 그러하지 아니하다.
가. 스프링클러설비의 배관 또는 헤드에 누설경보용 물 또는 압축공기가 채워지거나부압식스프링클러설비의 경우<개정 2011.11.24>
나. 화재감지기를 「자동화재탐지설비의 화재안전기준(NFSC 203)」제7조제1항 단서의 각 호의 감지기로 설치한 때<개정 2013.6.10>
3. 준비작동식유수검지장치 또는 일제개방밸브의 인근에서 수동기동(전기식 및 배수식)에 따라서도 개방 및 작동될 수 있게 할 것<개정 2008.12.15>
4. 제1호 및 제2호에 따른 화재감지기의 설치기준에 관하여는 「자동화재탐지설비의 화재안전기준(NFSC 203)」제7조 및 제11조를 준용할 것. 이 경우 교차회로방식에 있어서의 화재감지기의 설치는 각 화재감지기 회로별로 설치하되, 각 화재감지기회로별 화재감지기 1개가 담당하는 바닥면적은 「자동화재탐지설비의 화재안전기준(NFSC 203)」제7조제3항제5호·제8호부터 제10호까지에 따른 바닥면적으로 한다.<개정 2013.6.10>
5. 화재감지기 회로에는 다음 각 목의 기준에 따른 발신기를 설치할 것. 다만, 자동화재탐지설비의 발신기가 설치된 경우에는 그러하지 아니하다.<개정 2008.12.15>
가. 조작이 쉬운 장소에 설치하고, 스위치는 바닥으로부터 0.8m 이상 1.5m 이하의 높이에 설치할 것
나. 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 발신기까지의 수평거리가 25m 이하가 되도록 할 것. 다만, 복도 또는 별도로 구획된 실로서 보행거리가 40m 이상일 경우에는 추가로 설치하여야 한다.
다. 발신기의 위치를 표시하는 표시등은 함의 상부에 설치하되, 그 불빛은 부착 면으로부터 15° 이상의 범위 안에서 부착지점으로부터 10m 이내의 어느 곳에서도 쉽게 식별할 수 있는 적색등으로 할 것



// 스프링클러설비의 화재안전기준(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 }




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




//     간이스프링클러설비의 화재안전기준(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
}





70
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 5 조
⑦ 영 별표 5 제1호마목1) 또는 6)과 7)에 해당하는 특정소방대상물의 경우에는 상수도직결형 및 캐비닛형 간이스프링클러설비를 제외한 가압송수장치를 설치하여야 한다.<신설 2013.6.10, 개정 2015.1.23.>

제5조(가압송수장치) ① 방수압력(상수도직결형의 상수도압력)은 가장 먼 가지배관에서 2개[영 별표 5 제1호마목1) 또는 6)과 7)에 해당하는 경우에는 5개]의 간이헤드를 동시에 개방할 경우 각각의 간이헤드 선단 방수압력은 0.1 ㎫ 이상, 방수량은 50 L/min 이상이어야 한다. 다만, 제6조제7호에 따른 주차장에 표준반응형스프링클러헤드를 사용할 경우 헤드 1개의 방수량은 80 L/min 이상이어야 한다.<개정 2011.11.24, 2013.6.10., 2015.1.23.>
② 전동기 또는 내연기관에 따른 펌프를 이용하는 가압송수장치는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 쉽게 접근할 수 있고 점검하기에 충분한 공간이 있는 장소로서 화재 및 침수등의 재해로 인한 피해를 받을 우려가 없는 곳에 설치할 것
2. 동결방지조치를 하거나 동결의 우려가 없는 장소에 설치할 것
3. 펌프는 전용으로 할 것. 다만, 다른 소화설비와 겸용하는 경우 각각의 소화설비의 성능에 지장이 없을 때에는 그러하지 아니하다.
4. 펌프의 토출측에는 압력계를 체크밸브 이전에 펌프토출측 플랜지에서 가까운 곳에 설치하고, 흡입측에는 연성계 또는 진공계를 설치할 것. 다만, 수원의 수위가 펌프의 위치보다 높거나 수직회전축 펌프의 경우에는 연성계 또는 진공계를 설치하지 아니할 수 있다.
5. 가압송수장치에는 정격부하운전 시 펌프의 성능을 시험하기 위한 배관을 설치할 것 <개정 2011.11.24>
6. 가압송수장치에는 체절운전시 수온의 상승을 방지하기 위한 순환배관을 설치할 것 <개정 2011.11.24>
7. 기동장치로는 기동용수압개폐장치 또는 이와 동등 이상의 성능이 있는 것을 설치하고 다음 각 목의 기준에 따른 충압펌프를 설치할 것. 다만, 캐비닛형의 경우에는 그러하지 아니하다.<개정 2013.6.10>
가. 펌프의 토출압력은 그 설비의 최고위 살수장치의 자연압보다 적어도 0.2 ㎫이 더 크도록 하거나 가압송수장치의 정격토출압력과 같게할 것<신설 2013.6.10>
나. 펌프의 정격토출량은 정상적인 누설량보다 적어서는 아니되며 간이스프링클러설비가 자동적으로 작동할 수 있도록 충분한 토출량을 유지할 것<신설 2013.6.10>
8. 수원의 수위가 펌프보다 낮은 위치에 있는 가압송수장치에는 다음 각 목의 기준에 따른 물올림장치를 설치할 것 다만, 캐비닛형일 경우에는 그러하지 아니하다. <개정 2011.11.24>
가. 물올림장치에는 전용의 탱크를 설치할 것
나. 탱크의 유효수량은 100 L 이상으로 하되, 구경 15㎜ 이상의 급수배관에 따라 당해탱크에 물이 계속 보급되도록 할 것
9. 내연기관을 사용하는 경우에는 제어반에 따라 내연기관의 자동기동 및 수동기동이 가능하고, 상시 충전되어 있는 축전지설비를 갖출 것
10. 삭제 <2011.11.24>
11. 가압송수장치에는 "간이스프링클러펌프"라고 표시한 표지를 할 것. 이 경우 그 가압송수장치를 다른 설비와 겸용하는 때에는 그 겸용되는 설비의 이름을 함께 표시한 표지를 하여야 한다.
③ 고가수조의 자연낙차를 이용한 가압송수장치는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 고가수조의 자연낙차수두(수조의 하단으로부터 최고층에 설치된 헤드까지의 수직거리를 말한다)는 다음의 식에 따라 산출한 수치 이상이 되도록 할 것 H = h₁+ 10 H : 필요한 낙차(m) h₁: 배관의 마찰손실수두(m)
2. 고가수조에는 수위계·배수관·급수관·오버플로우관 및 맨홀을 설치할 것
④ 압력수조를 이용한 가압송수장치는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 압력수조의 압력은 다음의 식에 따라 산출한 수치 이상으로 할 것 P = p₁+ p₂+ 0.1 P : 필요한 압력(㎫) p₁: 낙차의 환산수두압(㎫) p₂: 배관의 마찰손실수두압(㎫)
2. 압력수조에는 수위계·급수관·배수관·급기관·맨홀·압력계· 안전장치 및 압력저하 방지를 위한 자동식 공기압축기를 설치 할 것
⑤ 가압수조를 이용한 가압송수장치는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 가압수조의 압력은 간이헤드 2개를 동시에 개방할 때 적정방수량 및 방수압이 10분[영 별표 5 제1호마목1) 또는 6)과 7)에 해당하는 경우에는 5개의 간이헤드에서 최소 20분] 이상 유지되도록 할 것<개정 2011.11.24, 2015.1.23.>
2. 삭 제<2015.1.23.>
3. 삭 제<2015.1.23.>
4. 국민안전처장관이 정하여 고시한 「가압수조식가압송수장치의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치할 것<신설 2011.11.24, 2013.6.10, 2015.1.23.>
⑥ 캐비닛형 간이스프링클러설비를 사용할 경우 국민안전처장관이 정하여 고시한「캐비넷형간이스프링클러설비 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치하여야 한다.<신설 2011.11.24, 개정 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
}
     




71
간이스프링클러설비의 화재안전기준(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 이상의 출입문을 설치하고 그 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 것. 다만, 유수검지장치를 기계실(공조용기계실을 포함한다)안에 설치하는 경우에는 별도의 실 또는 보호용 철망을 설치하지 아니하고 기계실 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 수 있다. <개정 2008.12.15, 2013.6.10>
5. 간이헤드에 공급되는 물은 유수검지장치를 지나도록 할 것. 다만, 송수구를 통하여 공급되는 물은 그러하지 아니하다. <개정 2008.12.15>
6. 자연낙차에 따른 압력수가 흐르는 배관 상에 설치된 유수검지장치는 화재 시 물의 흐름을 검지할 수 있는 최소한의 압력이 얻어질 수 있도록 수조의 하단으로부터 낙차를 두어 설치할 것 <개정 2008.12.15>
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"
}




72
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 7 조
제7조(제어반) 간이스프링클러설비에는 다음 각 호의 어느 하나의 기준에 따른 제어반을 설치하여야 한다. 다만, 캐비닛형 간이스프링클러설비의 경우에는 그러하지 아니하다.<신설 2013.6.10>
1. 상수도 직결형의 경우에는 급수배관에 설치되어 급수를 차단할 수 있는 개폐밸브(제8조제16항제1호나목의 급수차단장치를 포함한다) 및 유수검지장치의 작동상태를 확인할 수 있어야 하며, 예비전원이 확보되고 예비전원의 적합여부를 시험할 수 있어야 한다.<신설 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
}




73
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8 조
제8조(배관 및 밸브) ① 배관은 다음 각 호의 어느 하나에 해당하는 것을 사용하여야 하며 배관 이음은 각 배관과 동등 이상의 성능에 적합한 배관이음쇠를 사용하고 배관용 스테인리스강관(KS D 3576)의 이음을 용접으로 할 경우에는 알곤용접방식에 따른다. 다만, 상수도직결형에 사용하는 배관 및 밸브는 「수도법」제14조(수도용 자재와 제품의 인증 등)에 적합한 제품을 사용하여야 한다. <개정 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>
② 제1항에도 불구하고 다음 각 호의 어느 하나에 해당하는 장소에는 국민안전처장관이 정하여 고시한 「소방용합성수지배관의 성능인증 및 제품검사의 기술기준」에 적합한 소방용 합성수지배관으로 설치할 수 있다.<개정 2013.6.10, 2015.1.23.>
1. 배관을 지하에 매설하는 경우
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우
③ 급수배관은 다음 각 호의 기준에 따라 설치하여야 한다.
1. 전용으로 할 것. 다만, 상수도직결형의 경우에는 수도배관 호칭지름 32㎜ 이상의 배관이어야 하고, 간이헤드가 개방될 경우에는 유수신호 작동과 동시에 다른 용도로 사용하는 배관의 송수를 자동 차단할 수 있도록 하여야 하며, 배관과 연결되는 이음쇠 등의 부속품은 물이 고이는 현상을 방지하는 조치를 하여야 한다. <개정 2011.11.24>

⑤ 연결송수관설비의 배관과 겸용할 경우의 주배관은 구경 100㎜ 이상, 방수구로 연결되는 배관의 구경은 65㎜ 이상의 것으로 하여야 한다.
⑥ 펌프의 성능은 체절운전 시 정격토출압력의 140%를 초과하지 아니하고, 정격토출량의 150%로 운전 시 정격토출압력의 65% 이상이 되어야 하며, 펌프의 성능시험배관은 다음 각호의 기준에 적합하여야 한다.
1. 성능시험배관은 펌프의 토출측에 설치된 개폐밸브 이전에서 분기하여 설치하고, 유량측정장치를 기준으로 전단 직관부에 개폐밸브를 후단 직관부에는 유량조절밸브를 설치할 것
2. 유량측정장치는 성능시험배관의 직관부에 설치하되, 펌프의 정격토출량의 175% 이상 측정할 수 있는 성능이 있을 것
⑦가압송수장치의 체절운전 시 수온의 상승을 방지하기 위하여 체크밸브와 펌프사이에서 분기한 구경 20㎜ 이상의 배관에 체절압력 미만에서 개방되는 릴리프밸브를 설치하여야 한다.
⑧ 동결방지조치를 하거나 동결의 우려가 없는 장소에 설치하여야 한다. 다만, 보온재를 사용할 경우에는 난연재료 성능 이상의 것으로 하여야 한다.<개정 2015.1.23.>
⑨ 가지배관의 배열은 다음 각 호의 기준에 따른다.
1. 토너먼트(tournament)방식이 아닐 것
2. 교차배관에서 분기되는 지점을 기점으로 한쪽 가지배관에 설치되는 간이헤드의 개수(반자 아래와 반자속의 헤드를 하나의 가지배관 상에 병설하는 경우에는 반자 아래에 설치하는 헤드의 개수)는 8개 이하로 할 것. 다만, 다음 각 목의 어느 하나에 해당하는 경우에는 그러하지 아니하다.
가. 기존의 방호구역 안에서 칸막이 등으로 구획하여 1개의 간이헤드를 증설하는 경우
나. 격자형 배관방식(2 이상의 수평주행배관 사이를 가지배관으로 연결하는 방식을 말한다)을 채택하는 때에는 펌프의 용량, 배관의 구경 등을 수리학적으로 계산한 결과 간이헤드의 방수압 및 방수량이 소화목적을 달성하는 데 충분하다고 인정되는 경우 <개정 2011.11.24>
3. 가지배관과 간이헤드 사이의 배관을 신축배관으로 하는 경우에는 국민안전처장관이 정하여 고시한 「스프링클러설비신축배관 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치할 것. 이 경우 신축배관의 설치길이는 국민안전처장관이 정하여 고시한「스프링클러설비의 화재안전기준」제10조제3항의 거리를 초과하지 아니할 것
[본호 전문개정 2015.1.23.]
⑩ 가지배관에 하향식간이헤드를 설치하는 경우에 가지배관으로부터 간이헤드에 이르는 헤드접속배관은 가지관상부에서 분기할 것. 다만, 소화설비용 수원의 수질이「먹는물관리법」제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. 급수개폐밸브가 잠길 경우 탬퍼스위치의 동작으로 인하여 감시제어반 또는 수신기에 표시 되어야 하며 경보음을 발할 것
2. 탬퍼스위치는 감시제어반 또는 수신기에서 동작의 유무확인과 동작시험, 도통시험을 할 수 있을 것
3. 급수개폐밸브의 작동표시 스위치에 사용되는 전기배선은 내화전선 또는 내열전선으로 설치할 것
⑮ 간이스프링클러설비 배관의 배수를 위한 기울기는 다음 각 호의 기준에 따른다.
2. 급수를 차단할 수 있는 개폐밸브는 개폐표시형으로 할 것. 이 경우 펌프의 흡입측배관에는 버터플라이밸브외의 개폐표시형밸브를 설치하여야 한다.
3. 배관의 구경은 제5조제1항에 적합하도록 수리계산에 의하거나 별표 1의 기준에 따라 설치할 것. 다만, 수리계산에 의하는 경우 가지배관의 유속은 6㎧, 그 밖의 배관의 유속은 10㎧를 초과할 수 없다.
④ 펌프의 흡입측배관은 다음 각 호의 기준에 따라 설치하여야 한다.
1. 공기고임이 생기지 아니하는 구조로 하고 여과장치를 설치할 것
2. 수조가 펌프보다 낮게 설치된 경우에는 각 펌프(충압펌프를 포함한다)마다 수조로부터 별도로 설치할 것
1. 간이스프링클러설비의 배관을 수평으로 할 것. 다만, 배관의 구조상 소화수가 남아 있는 곳에는 배수밸브를 설치하여야 한다.<개정 2011.11.24>
2. 삭제 <2011.11.24>
<16> 간이스프링클러설비의 배관 및 밸브 등의 순서는 다음 각 호의 기준에 따라 설치하여야 한다.
1. 상수도직결형은 다음 각 목의 기준에 따라 설치할 것<개정 2011.11.24>
가. 수도용계량기, 급수차단장치, 개폐표시형밸브, 체크밸브, 압력계, 유수검지장치(압력스위치 등 유수검지장치와 동등 이상의 기능과 성능이 있는 것을 포함한다. 이하 같다), 2개의 시험밸브의 순으로 설치할 것 <개정 2011.11.24>
나. 간이스프링클러설비 이외의 배관에는 화재시 배관을 차단할 수 있는 급수차단장치를 설치할 것 <개정 2011.11.24>
2. 펌프 등의 가압송수장치를 이용하여 배관 및 밸브 등을 설치하는 경우에는 수원, 연성계 또는 진공계(수원이 펌프보다 높은 경우를 제외한다. 이하 같다), 펌프 또는 압력수조, 압력계, 체크밸브, 성능시험배관, 개폐표시형밸브, 유수검지장치, 시험밸브의 순으로 설치할 것 <개정 2011.11.24>
가. 삭제 <2011.11.24>
나. 삭제 <2011.11.24>
3. 가압수조를 가압송수장치로 이용하여 배관 및 밸브등을 설치하는 경우에는 수원, 가압수조, 압력계, 체크밸브, 성능시험배관, 개폐표시형밸브, 유수검지장치, 2개의 시험밸브의 순으로 설치할 것 <개정 2011.11.24>
가. 삭제 <2011.11.24>
나. 삭제 <2011.11.24>
4. 캐비닛형의 가압송수장치에 배관 및 밸브 등을 설치하는 경우에는 수원, 연성계 또는 진공계(수원이 펌프보다 높은 경우를 제외한다. 이하 같다), 펌프 또는 압력수조, 압력계, 체크밸브, 개폐표시형밸브, 2개의 시험밸브의 순으로 설치할 것. 다만, 소화용수의 공급은 상수도와 직결된 바이패스관 또는 펌프에서 공급받아야 한다. <신설 2011.11.24, 개정 2013.6.10>
<17> 배관은 다른 설비의 배관과 쉽게 구분이 될 수 있는 위치에 설치하거나 그 배관표면 또는 배관 보온재표면은 「한국산업표준(배관계의 식별 표시,KS A 0503)」 또는 적색으로 식별이 가능하도록 소방용설비의 배관임을 표시하여야 한다.<개정 2008.12.15, 2013.6.10>
<18> 분기배관을 사용할 경우에는 국민안전처장관이 정하여 고시한「분기배관의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치하여야 한다.<개정 2013.6.10, 2015.1.23.>



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

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



//간이스프링클러설비의 화재안전기준(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조 (배관 및 밸브) 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조 (배관 및 밸브) 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 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 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조 (배관 및 밸브) 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 }




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



// 간이스프링클러설비의 화재안전기준(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
}




75
간이스프링클러설비의 화재안전기준(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

}




76
자동화재탐지설비의 화재안전기준(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. 감지기는 천장 또는 반자의 옥내에 면하는 부분에 설치할 것
3. 보상식스포트형감지기는 정온점이 감지기 주위의 평상시 최고온도보다 20℃ 이상 높은 것으로 설치할 것
4. 정온식감지기는 주방·보일러실 등으로서 다량의 화기를 취급하는 장소에 설치하되, 공칭작동온도가 최고주위온도보다 20℃ 이상 높은 것으로 설치할 것
5. 차동식스포트형·보상식스포트형 및 정온식스포트형 감지기는 그 부착 높이 및 특정소방대상물에 따라 다음 표에 따른 바닥면적마다 1개 이상을 설치할 것
바. 그 밖의 설치기준은 형식승인 내용에 따르며 형식승인 사항이 아닌 것은 제조사의 시방에 따라 설치할 것
14. 아날로그방식의 감지기는 공칭감지온도범위 및 공칭감지농도범위에 적합한 장소에, 다신호방식의 감지기는 화재신호를 발신하는 감도에 적합한 장소에 설치할 것. 다만, 이 기준에서 정하지 않는 설치방법에 대하여는 형식승인 사항이나 제조사의 시방에 따라 설치할 수 있다.
15. 광전식분리형감지기는 다음의 기준에 따라 설치할 것
가. 감지기의 수광면은 햇빛을 직접 받지 않도록 설치할 것
나. 광축(송광면과 수광면의 중심을 연결한 선)은 나란한 벽으로부터 0.6m 이상 이격하여 설치할 것
다. 감지기의 송광부와 수광부는 설치된 뒷벽으로부터 1m이내 위치에 설치할 것
라. 광축의 높이는 천장 등(천장의 실내에 면한 부분 또는 상층의 바닥하부면을 말한다) 높이의 80 % 이상일 것
마. 감지기의 광축의 길이는 공칭감시거리 범위이내 일 것
바. 그 밖의 설치기준은 형식승인 내용에 따르며 형식승인 사항이 아닌 것은 제조사의 시방에 따라 설치할 것
④ 제3항에도 불구하고 다음 각 호의 장소에는 각각 광전식분리형감지기 또는 불꽂감지기를 설치하거나 광전식공기흡입형감지기를 설치할 수 있다.
1. 화학공장·격납고·제련소등 : 광전식분리형감지기 또는 불꽃감지기. 이 경우 각 감지기의 공칭감시거리 및 공칭시야각등 감지기의 성능을 고려하여야 한다.
2. 전산실 또는 반도체 공장등 : 광전식공기흡입형감지기. 이 경우 설치장소·감지면적 및 공기흡입관의 이격거리등은 형식승인 내용에 따르며 형식승인 사항이 아닌 것은 제조사의 시방에 따라 설치하여야 한다.
⑤ 다음 각 호의 장소에는 감지기를 설치하지 아니한다.
1. 천장 또는 반자의 높이가 20m 이상인 장소. 다만, 제1항 단서 각호의 감지기로서 부착높이에 따라 적응성이 있는 장소는 제외한다.
2. 헛간 등 외부와 기류가 통하는 장소로서 감지기에 따라 화재발생을 유효하게 감지할 수 없는 장소
3. 부식성가스가 체류하고 있는 장소
4. 고온도 및 저온도로서 감지기의 기능이 정지되기 쉽거나 감지기의 유지관리가 어려운 장소
5. 목욕실·욕조나 샤워시설이 있는 화장실·기타 이와 유사한 장소
6. 파이프덕트 등 그 밖의 이와 비슷한 것으로서 2개층 마다 방화구획된 것이나 수평단면적이 5㎡ 이하인 것
7. 먼지·가루 또는 수증기가 다량으로 체류하는 장소 또는 주방 등 평시에 연기가 발생하는 장소(연기감지기에 한한다)
8. 실내의 용적이 20㎥ 이하인 장소
9. 프레스공장·주조공장 등 화재발생의 위험이 적은 장소로서 감지기의 유지관리가 어려운 장소
⑥ 지하구에 설치하는 감지기는 제1항 각 호의 감지기로서 먼지·습기등의 영향을 받지 아니하고 발화지점을 확인할 수 있는 감지기를 설치하여야 한다.<개정 2008.12.15>
⑦ 제1항 단서에도 불구하고 일시적으로 발생한 열·연기 또는 먼지 등으로 인하여 화재신호를 발신할 우려가 있는 장소에는 별표 1 및 별표 2에 따라 그 장소에 적응성 있는 감지기를 설치할 수 있으며, 연기감지기를 설치할 수 없는 장소에는 별표 1을 적용하여 설치할 수 있다.
⑧ 삭제 <2013.6.11>
표
6. 스포트형감지기는 45° 이상 경사되지 아니하도록 부착할 것
7. 공기관식 차동식분포형감지기는 다음의 기준에 따를 것
가. 공기관의 노출부분은 감지구역마다 20m 이상이 되도록 할 것
나. 공기관과 감지구역의 각 변과의 수평거리는 1.5m 이하가 되도록 하고, 공기관 상호간의 거리는 6m(주요 구조부를 내화구조로 한 특정소방대상물 또는 그 부분에 있어서는 9m) 이하가 되도록 할 것
다. 공기관은 도중에서 분기하지 아니하도록 할 것
라. 하나의 검출부분에 접속하는 공기관의 길이는 100m 이하로 할 것
마. 검출부는 5° 이상 경사되지 아니하도록 부착할 것
바. 검출부는 바닥으로부터 0.8m 이상 1.5m 이하의 위치에 설치할 것
8. 열전대식 차동식분포형감지기는 다음의 기준에 따를 것
가. 열전대부는 감지구역의 바닥면적 18㎡(주요구조부가 내화구조로 된 특정소방대상물에 있어서는 22㎡)마다 1개 이상으로 할 것. 다만, 바닥면적이 72㎡(주요구조부가 내화구조로 된 특정소방대상물에 있어서는 88㎡) 이하인 특정소방대상물에 있어서는 4개 이상으로 하여야 한다.
나. 하나의 검출부에 접속하는 열전대부는 20개 이하로 할 것. 다만, 각각의 열전대부에 대한 작동여부를 검출부에서 표시할 수 있는 것(주소형)은 형식승인 받은 성능인정범위내의 수량으로 설치할 수 있다.
9. 열반도체식 차동식분포형감지기는 다음의 기준에 따를 것
가. 감지부는 그 부착높이 및 특정소방대상물에 따라 다음 표에 따른 바닥면적마다 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. 정온식감지선형감지기는 다음의 기준에 따라 설치할 것
가. 보조선이나 고정금구를 사용하여 감지선이 늘어지지 않도록 설치할 것
나. 단자부와 마감 고정금구와의 설치간격은 10㎝ 이내로 설치할 것
다. 감지선형 감지기의 굴곡반경은 5㎝ 이상으로 할 것
라. 감지기와 감지구역의 각부분과의 수평거리가 내화구조의 경우 1종 4.5m 이하, 2종 3m 이하로 할 것. 기타 구조의 경우 1종 3m 이하, 2종 1m 이하로 할 것
마. 케이블트레이에 감지기를 설치하는 경우에는 케이블트레이 받침대에 마감금구를 사용하여 설치할 것
바. 지하구나 창고의 천장 등에 지지물이 적당하지 않는 장소에서는 보조선을 설치하고 그 보조선에 설치할 것
사. 분전반 내부에 설치하는 경우 접착제를 이용하여 돌기를 바닥에 고정시키고 그 곳에 감지기를 설치할 것
아. 그 밖의 설치방법은 형식승인 내용에 따르며 형식승인 사항이 아닌 것은 제조사의 시방(示方)에 따라 설치할 것
13. 불꽃감지기는 다음의 기준에 따라 설치할 것
가. 공칭감시거리 및 공칭시야각은 형식승인 내용에 따를 것
나. 감지기는 공칭감시거리와 공칭시야각을 기준으로 감시구역이 모두 포용될 수 있도록 설치할 것
다. 감지기는 화재감지를 유효하게 감지할 수 있는 모서리 또는 벽 등에 설치할 것
라. 감지기를 천장에 설치하는 경우에는 감지기는 바닥을 향하여 설치할 것
마. 수분이 많이 발생할 우려가 있는 장소에는 방수형으로 설치할 것



자동화재탐지설비의 화재안전기준(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
}


자동화재탐지설비의 화재안전기준(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
}





  ◁prev 1   2      
 
This is Design IT Lab server's restricted area. Authorized users could access this website.