개방형BIM 기반의 건축설계 적법성 평가 자동화 기술 및 응용기술 개발
Development of OpenBIM based Architectural Design Code Checking and Evaluation Technology
  Welcome to BIM - 2nd Project Website - Yonsei University
PAGE MENU  
전체법규 - 법규데이터베이스
- 대한민국 전체 법규 목록
- 설계품질검토 대상 관련법규
- 관련법규 변동 현황
대상법규 - 문장 논리규칙체계화
- 조항단위 논리규칙체계
- 문장단위 논리규칙체계
주어부 - 객체.속성 데이터베이스
- 법규로부터의 객체.속성 분류
- 명칭DB: 객체 | 객체및속성
서술부 - 함수 데이터베이스
- 논리규칙화 함수 분류
- 논리규칙화 함수 DB
관계부 - 문장 내.외 관계논리
- 문장 내.외 관계유형분류
- 문장 내.외관계 논리체계화
문장단위 | 체크리스트 단위
KBimCode 데이터베이스
- KBimCode Lang. Definition
- KBimCode Editor:
전체 개발항목 단위
우선순위 개발항목 단위
- KBimCode DB 2단계:
문장단위 | 조항단위 |
분야/용도/단계 체크리스트 단위
- KBimLogic Applications
KBimAssess Code 데이터베이스
- Executable KBimAssess Code
- KBimCode-Assess 연동모듈
 
(2025-06-27 기준) 설계품질검토용 건축법 및 관련법규 - KBIMCode (문장단위)
    1      
1 / 1 page Total 2500 / 4000 records    신규입력
Select
ALL
None
#
ID
Law
Jo
JO Name
HANG
HO
MOK
Text
Search!
1
19389 건축물의 설비기준 등에 관한 규칙 제 13조 1 항 2호

2. 보일러실의 윗부분에는 그 면적이 0.5제곱미터 이상인 환기창을 설치하고, 보일러실의 윗부분과 아랫부분에는 각각 지름 10센티미터 이상의 공기흡입구 및 배기구를 항상 열려있는 상태로 바깥공기에 접하도록 설치할 것. 다만, 전기보일러의 경우에는 그러하지 아니하다.





//	건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 2호

Check(RFB_13_1_2){

	IF CS THEN KS

}



CS{

	isExist(Boiler) = TRUE
isObjectProperty(Boiler.isElectricBoiler) = FALSE
}



KS{

	Ventilator myVentilator{

		getObjectArea(Ventilator) >= 0.5cm2

	}


Space mySpace{
getSpaceUsage(Space) = "BoilerRoom"  
}
	isInstalled(myVentilator, mySpace, a, top) = TRUE



	AirInlet myAirInlet{

		getObjectDiameter(AirInlet, b) >= 10cm

	}



	AirOutlet myAirOutlet{

		getObjectDiameter(AirOutlet, b) >= 10cm

	}



	(isInstalled(myAirInlet, mySpace, a, top) = TRUE

	OR isInstalled(myAirOutlet, mySpace, a, top) = TRUE)



	(isInstalled(myAirInlet, mySpace, a, bottom) = TRUE

	OR isInstalled(myAirOutlet, mySpace, a, bottom) = TRUE)

} 




Python Code 변환 예정



Modify
2
19390 건축물의 설비기준 등에 관한 규칙 제 13조 1 항 5호

5. 기름보일러를 설치하는 경우에는 기름저장소를 보일러실외의 다른 곳에 설치할 것





//	건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 5호

Check(RFB_13_1_5){

	IF CS THEN KS

}



CS{
isObjectProperty(Boiler.isOilBoiler) = FALSE

}



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

Space mySpace2{
getSpaceUsage(Space) = "OilStorageFacilities"
}
	hasSpace(mySpace1, mySpace2) = FALSE

} 




Python Code 변환 예정



Modify
3
25135 건축물의 설비기준 등에 관한 규칙 제 14조 1 항 2호

2. 배연창의 유효면적은 별표 2의 산정기준에 의하여 산정된 면적이 1제곱미터 이상으로서 그 면적의 합계가 당해 건축물의 바닥면적(영 제46조제1항 또는 제3항의 규정에 의하여 방화구획이 설치된 경우에는 그 구획된 부분의 바닥면적을 말한다)의 100분의 1이상일 것. 이 경우 바닥면적의 산정에 있어서 거실바닥면적의 20분의 1 이상으로 환기창을 설치한 거실의 면적은 이에 산입하지 아니한다.





//건축물의 설비기준 등에 관한 규칙 14조 (배연설비) 1항 2호
Check(RFB_14_1_2){
	IF (CS) THEN (KS1 OR KS2)
}

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

Space mySpace{
	getSpaceUsage(Space) = "Room"
	getTotalElementArea(Ventilator) >= getFloorArea(Space)*0.05
}

Space mySpace2{
	hasSpace(Space, myZone) = TRUE
	getResult(EDBA_46_1) = TRUE 
	getREsult(EDBA_46_3) = TRUE
}

CS{
	getElementArea(SmokeVentilator) >= 1 m2
	getResult(RFB_*_2) = TRUE
}

KS1{
	getTotalElementArea(Ventilator) >= (getBuildingArea()-getFloorArea(mySpace))*0.01
}

KS2{
	getTotalElementArea(Ventilator) >= (getFloorArea(myZone)-getFloorArea(mySpace))*0.01
} 




Python Code 변환 예정



Modify
4
72742 건축물의 에너지절약설계기준 제 6조 4호 다 목

다. 건축물 외피 단열부위의 접합부, 틈 등은 밀폐될 수 있도록 코킹과 가스켓 등을 사용하여 기밀하게 처리하여야 한다.





Check(NFCS103_10_5_1_1){
KS
}


KS{
getSpaceUsage()= "MultiUnitHouse.LivingRoom"
OR getSpaceUsage()="FacilitiesForTheAgedAndChildren.LivingRoom"
}
 




Python Code 변환 예정



Modify
5
72743 건축물의 에너지절약설계기준 제 6조 4호 라 목

라. 외기에 직접 면하고 1층 또는 지상으로 연결된 출입문은 제5조제9호아목에 따른 방풍구조로 하여야 한다. 다만, 다음 각 호에 해당하는 경우에는 그러하지 않을 수 있다.





Check(NFCS103){
KS
}



KS{
getSpaceUsage()="Officetels.BedRoom"
OR getSpaceUsage()="LodgingFacility.BedRoom"
OR getSpaceUsage()="Hospital.HospitalRoom"
} 




Python Code 변환 예정



Modify
6
72771 건축물의 에너지절약설계기준 제 7조 4호 가 목

가. 틈새바람에 의한 열손실을 방지하기 위하여 외기에 직접 또는 간접으로 면하는 거실 부위에는 기밀성 창 및 문을 사용한다.





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




Python Code 변환 예정



Modify
7
72781 건축물의 에너지절약설계기준 제 8조

제8조(기계부문의 의무사항) 에너지절약계획서 제출대상 건축물의 건축주와 설계자 등은 다음 각 호에서 정하는 기계부문의 설계기준을 따라야 한다.





//	스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 10호
Check(NFSC103_15_1_10){
	KS
}

KS{
	getSpaceUsage() = "EntranceHall"
	OR getSpaceUsage() = "Lobby"

	getObjectVerticalLocation(Ground, Space) >= 20m
} 




Python Code 변환 예정



Modify
8
72782 건축물의 에너지절약설계기준 제 8조 1호

1. 설계용 외기조건





//	스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 11호
Check(NFSC103_15_1_11){
	KS
}

KS{
	getSpaceUsage() = "ColdStorage"
	OR getSpaceUsage() = "RefrigerationRoom"
} 




Python Code 변환 예정



Modify
9
72892 건축물의 에너지절약설계기준 제 28조 1 항 2호

2. 제로에너지빌딩 인정 등 인센티브 지원에 관한 업무





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




Python Code 변환 예정



Modify
10
25290 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 15조의2조 3 항

③문화 및 집회시설중 공연장에 설치하는 복도는 다음 각 호의 기준에 적합하여야 한다.





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

CS{
   getSpaceUsage(Space)="CulturalAndAssemblyFacility.PerformanceHall"
   isExist(Corridor)=TRUE
}
KS{
    
     getResult(REFB_15-2_3_1) = TRUE
     getResult(REFB_15-2_3_2) = TRUE
} 








corridor_code = '33105'
theater_code = '00000'
std_floor_area = 200

corridor_code_label = '복도 공간분류코드'
theater_code_label = '관람석 공간분류코드'
std_floor_area_label = '기준 연면적'

def Check():
    for building in SELECT('building'):
        if building.SELECT('prop', '연면적').NUMBER() <= std_floor_area:
            continue

        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()

        if not (bldg_use == '문화 및 집회시설' and sub_use == '공연장'):
            continue

        for storey in building.SELECT('storey'):
            for space in storey.SELECT('space'):
                if space.SELECT('class code').STRING() != theater_code:
                    continue
                
                area = space.SELECT('area').UNIT('m2').NUMBER()
                side_corridors = []
                fb_corridors = []

                for s in space.SELECT('side space'):
                    if s.SELECT('class code').STRING() == corridor_code:
                        side_corridors.append(s)

                for s in space.SELECT('front back space'):
                    if s.SELECT('class code').STRING() == corridor_code:
                        fb_corridors.append(s)

                if area >= 300:
                    if len(side_corridors) + len(fb_corridors) < 3:
                        space.ERROR('관람석의 양쪽과 뒤쪽 중 복도가 존재하지 않는 곳이 있습니다.')
                    else:
                        space.SUCCESS('관람석의 양쪽과 뒤쪽에 복도가 존재합니다.')
                else:
                    if len(side_corridors) == 2 or len(fb_corridors) == 2:
                        space.SUCCESS('관람석의 앞뒤쪽에 복도가 존재합니다.')
                    else:
                        space.ERROR('관람석의 앞뒤쪽 중 복도가 존재하지 않는 곳이 있습니다.') 





Modify
11
25291 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 15조의2조 3 항 1호

1. 공연장의 개별 관람석(바닥면적이 300제곱미터 이상인 경우에 한한다)의 바깥쪽에는 그 양쪽 및 뒤쪽에 각각 복도를 설치할 것





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

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

    getFloorArea(mySpace)>300 m2
}

KS{

} 








corridor_code = '33105'
theater_code = '00000'
std_floor_area = 200

corridor_code_label = '복도 공간분류코드'
theater_code_label = '관람석 공간분류코드'
std_floor_area_label = '기준 연면적'

def Check():
    for building in SELECT('building'):
        if building.SELECT('prop', '연면적').NUMBER() <= std_floor_area:
            continue

        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()

        if not (bldg_use == '문화 및 집회시설' and sub_use == '공연장'):
            continue

        for storey in building.SELECT('storey'):
            for space in storey.SELECT('space'):
                if space.SELECT('class code').STRING() != theater_code:
                    continue
                
                area = space.SELECT('area').UNIT('m2').NUMBER()
                side_corridors = []
                fb_corridors = []

                for s in space.SELECT('side space'):
                    if s.SELECT('class code').STRING() == corridor_code:
                        side_corridors.append(s)

                for s in space.SELECT('front back space'):
                    if s.SELECT('class code').STRING() == corridor_code:
                        fb_corridors.append(s)

                if area >= 300:
                    if len(side_corridors) + len(fb_corridors) < 3:
                        space.ERROR('관람석의 양쪽과 뒤쪽 중 복도가 존재하지 않는 곳이 있습니다.')
                    else:
                        space.SUCCESS('관람석의 양쪽과 뒤쪽에 복도가 존재합니다.')
                else:
                    if len(side_corridors) == 2 or len(fb_corridors) == 2:
                        space.SUCCESS('관람석의 앞뒤쪽에 복도가 존재합니다.')
                    else:
                        space.ERROR('관람석의 앞뒤쪽 중 복도가 존재하지 않는 곳이 있습니다.') 





Modify
12
25292 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 15조의2조 3 항 2호

2. 하나의 층에 개별 관람석(바닥면적이 300제곱미터 미만인 경우에 한한다)을 2개소 이상 연속하여 설치하는 경우에는 그 관람석의 바깥쪽의 앞쪽과 뒤쪽에 각각 복도를 설치할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 3항2호



Check(REFB_15-2_3_2){

  IF CS THEN KS

}







CS{

    Space mySpace{

       getSpaceUsage(Space)="IndividualAuditorium"

    }



    getFloorArea(mySpace)>300 m2

    getObjectCount(Floor.One.mySpace)>=2 



}



KS{



} 








corridor_code = '33105'
theater_code = '00000'
std_floor_area = 200

corridor_code_label = '복도 공간분류코드'
theater_code_label = '관람석 공간분류코드'
std_floor_area_label = '기준 연면적'

def Check():
    for building in SELECT('building'):
        if building.SELECT('prop', '연면적').NUMBER() <= std_floor_area:
            continue

        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()

        if not (bldg_use == '문화 및 집회시설' and sub_use == '공연장'):
            continue

        for storey in building.SELECT('storey'):
            for space in storey.SELECT('space'):
                if space.SELECT('class code').STRING() != theater_code:
                    continue
                
                area = space.SELECT('area').UNIT('m2').NUMBER()
                side_corridors = []
                fb_corridors = []

                for s in space.SELECT('side space'):
                    if s.SELECT('class code').STRING() == corridor_code:
                        side_corridors.append(s)

                for s in space.SELECT('front back space'):
                    if s.SELECT('class code').STRING() == corridor_code:
                        fb_corridors.append(s)

                if area >= 300:
                    if len(side_corridors) + len(fb_corridors) < 3:
                        space.ERROR('관람석의 양쪽과 뒤쪽 중 복도가 존재하지 않는 곳이 있습니다.')
                    else:
                        space.SUCCESS('관람석의 양쪽과 뒤쪽에 복도가 존재합니다.')
                else:
                    if len(side_corridors) == 2 or len(fb_corridors) == 2:
                        space.SUCCESS('관람석의 앞뒤쪽에 복도가 존재합니다.')
                    else:
                        space.ERROR('관람석의 앞뒤쪽 중 복도가 존재하지 않는 곳이 있습니다.') 





Modify
13
25295 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 16조 2 항

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





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

check(REFB_16_2){

IF (CS1 AND CS2) THEN KS

}



CS1{



VentilatorEquipment myVentilatorEquipemnt{

isObjectProperty(VentilatorEquipment.isMechanical)=TRUE

}

	isExist(myVentilatorEquipemn) = FALSE 

}



CS2{

	Space mySpace{

		getSpaceUsage(Space) = “Auditorium”

		OR getSpaceUsage(Space) = “AssemblyHall”

	}



	((getBuildingUsage() = “CulturalAndAssemblyFacilities.Tavern”

	getBuildingUsage() != “ExhibitionHalls.Tavern”

	getBuildingUsage() != “ZoologicalAndBotanicalGardens.Tavern”)

	OR getBuildingUsage() = "ReligiousFacilities.Tavern” 








target_space_codes = ['33703', '33708']
min_h = 4.0
min_h_bal = 2.7
target_space_codes_label = '대상 공간분류코드'
min_h_label = '최소 반자 높이'
min_h_bal_label = '최소 반자 높이(노대 밑)'

def Check():
    for building in SELECT('building'):
        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()

        if not ((bldg_use == '문화 및 집회시설' and not sub_use in ['전시장', '동물원', '식물원'])
                or (bldg_use in ['종교시설', '장례시설'])
                or (bldg_use == '위락시설' and sub_use == '유흥주점')):
            continue
        spaces = building.SELECT('space');

        for space in spaces:
            code = space.SELECT('class code').STRING()
            if not code in target_space_codes:
                continue
            area = space.SELECT('area').UNIT('m2').NUMBER()
            if area < 200:
                continue

            dist = space.SELECT('ceiling height')
            height = dist.UNIT('m').NUMBER()
            if height < min_h:
                dist.ERROR('반자 높이 : ' + str(height) + ' < ' + str(min_h))
            else:
                dist.SUCCESS('반자 높이 : ' + str(height) + ' >= ' + str(min_h))

        for space in spaces:
            if not '노대' in space.SELECT('name').STRING():
                continue
            for lower in space.SELECT('lower space'):
                code = lower.SELECT('class code').STRING()
                if not code in target_space_codes:
                    continue
                area = lower.SELECT('area').UNIT('m2').NUMBER()
                if area < 200:
                    continue
                pos = space.SELECT('center')
                dist = lower.SELECT('ceiling height', pos)
                height = dist.UNIT('m').NUMBER()
                if height < min_h_bal:
                    dist.ERROR('반자 높이 : ' + str(height) + ' < ' + str(min_h_bal))
                else:
                    dist.SUCCESS('반자 높이 : ' + str(height) + ' >= ' + str(min_h_bal)) 





Modify
14
25304 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 18조 2 항 1호

1. 제1종 근린생활시설중 목욕장의 욕실과 휴게음식점의 조리장





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





Check(REFB_18_2_1){

KS

}







KS{

Space mySpace1{
getSpaceUsage() = "Bathroom"
}
Space mySpace2{
getSpaceUsage() = "Kitchen"
}

getBuildingUsage(mySpace1.Building) = "ClassINeighborhoodLivingFacility.BathHouse"
OR 
 getBuildingUsage(mySpace2.Building) = "ClassINeighborhoodLivingFacility.RestingRestaurant"


} 




Python Code 변환 예정



Modify
15
25305 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 18조 2 항 2호

2. 제2종 근린생활시설중 일반음식점 및 휴게음식점의 조리장과 숙박시설의 욕실





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



Check(REFB_18_2_2){

KS

}



KS{

Space mySpace1{
getSpaceUsage() = "Kitchen"
}
Space mySpace2{
getSpaceUsage() = "Bathroom"
}

getBuildingUsage(mySpace1.Building) = "ClassINeighborhoodLivingFacility.Restarant"
OR 
 getBuildingUsage(mySpace2.Building) = "ClassINeighborhoodLivingFacility.LodgingFacilities"

} 




Python Code 변환 예정



Modify
16
25369 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 24조 2 항 2호

2. 영 제61조제1항제6호에 따른 용도에 쓰이는 건축물의 거실





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

KS{
     Building myBuilding{
       getResult(EDBA_61_1_1)=TRUE
    }
      
    str= myBuilding.usage

    getSpaceUsage(Room)=str
}

 




Python Code 변환 예정



Modify
17
25587 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 24조의2조 1 항

①영 제61조제1항제4호가목 및 제2항제1호나목에서 "국토교통부령으로 정하는 화재위험이 적은 공장"이란 각각 별표 3의 업종에 해당하는 공장을 말한다. 다만, 공장의 일부 또는 전체를 기숙사 및 구내식당의 용도로 사용하는 건축물을 제외한다. <개정 2008.3.14, 2010.12.30, 2012.1.6, 2013.3.23>





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

check(REFB_24-2_1){

      KS

}

KS{

	getResult(REFB_*_3) = TRUE

	(getBuildingUsage() != "Dormitory"

	OR getBuildingUsage() != "Cafeteria"

	OR getSpaceUsage() != "Dormitory"

	OR getSpaceUsage() != "Cafeteria")

} 




Python Code 변환 예정



Modify
18
25611 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 15조의2조 2 항

②문화 및 집회시설(공연장ㆍ집회장ㆍ관람장ㆍ전시장에 한한다), 종교시설 중 종교집회장, 노유자시설 중 아동 관련 시설ㆍ노인복지시설, 수련시설 중 생활권수련시설, 위락시설 중 유흥주점 및 장례식장의 관람석 또는 집회실과 접하는 복도의 유효너비는 제1항의 규정에 불구하고 다음 각 호에서 정하는 너비로 하여야 한다. <개정 2010.4.7>





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 2항

check(REFB_15-2_2){

     IF CS THEN KS 

}



CS{

Space  mySpace{

getSpaceUsage(Space) = “AssemblyHall”

OR getSpaceUsage(Space) = “PerformanceHall”

}

    Corridor myCorridor{

       isAdjacent(mySpace,Corridor) = TRUE

    }



    (getBuildingUsage()="CulturalAndAssemblyFacility.PerformanceHall"

    OR getBuildingUsage()="CulturalAndAssemblyFacility.AssemblyHall"

    OR getBuildingUsage()="CulturalAndAssemblyFacility.Auditorium"

    OR getBuildingUsage()="CulturalAndAssemblyFacility.ExhibitionHall"

    OR getBuildingUsage()="ReligiousFacility.ReligiousAssemblyFacility"

    OR getBuildingUsage()="FacilitiesForTheAgedAndChildren.ChildrenRelatedFacility"

    OR getBuildingUsage()="FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged"

    OR getBuildingUsage()="Trainingfacility.TrainingFacilitiesInLiving "

    OR getBuildingUsage()="AmusementFacility.tavern"

    OR getBuildingUsage()="AmusementFacility.FuneralParlors" )

     

    isExist(myCorridor)=TRUE   

}



KS{



 

   getResult(REFB_15-2_2_1)=TRUE

   getResult(REFB_15-2_2_2)=TRUE

   getResult(REFB_15-2_2_3)=TRUE

} 








corridor_code = '33105'
std_floor_area = 200

corridor_code_label = '복도 공간분류코드'
std_floor_area_label = '기준 연면적'

def Check():
    for building in SELECT('building'):
        if building.SELECT('prop', '연면적').NUMBER() <= std_floor_area:
            continue

        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()
        if not ((bldg_use == '문화 및 집회시설' and sub_use in ['공연장' ,'집회장', '관람장', '전시장'])
            or (bldg_use == '종교시설' and sub_use == '종교집회장')
            or (bldg_use == '노유자시설' and sub_use in ['아동관련시설' ,'노인복지시설'])
            or (bldg_use == '수련시설' and sub_use == '생활권수련시설')
            or (bldg_use == '위락시설' and sub_use == '유흥주점')
            or (bldg_use == '장례시설' and sub_use == '장례식장')):
            continue

        for storey in building.SELECT('storey'):
            area = 0.0
            corridors = []
            for space in storey.SELECT('space'):
                if space.SELECT('class code').STRING() == corridor_code:
                    corridors.append(space)
                
                area += space.SELECT('area').UNIT('m2').NUMBER()
            
            min_cor_w = 1.8
            if area < 500:
                min_cor_w = 1.5
            elif area >= 1000:
                min_cor_w = 2.4

            for space in corridors:    
                width = space.SELECT('min clear width').UNIT('m')
                w = width.NUMBER()

                if w < min_cor_w:
                    width.ERROR('유효너비: ' + str(w) + ' < ' + str(min_cor_w))
                else:
                    width.SUCCESS('유효너비: ' + str(w) + ' >= ' + str(min_cor_w)) 





Modify
19
19640 건축법 시행령 제 38조 1호

1. 제2종 근린생활시설 중 공연장ㆍ종교집회장(해당 용도로 쓰는 바닥면적의 합계가 각각 300제곱미터 이상인 경우만 해당한다)





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

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

     getTotalFloorArea(mySpace) > 300
}

 








identified_space_codes =['33703', '33708']
min_area = 300
min_door_width = 1.5
min_door_count = 2
identified_space_codes_label ='해당 공간 명칭'
min_area_label = '바닥면적이 다음 미만일 경우 제외(m2)'
min_door_width_label = '출구 유효너비'
min_door_count_label = '유효너비 이상 최소 출구 개수'

def Check():
    for space in SELECT('space'):
        name = space.SELECT('name').STRING()
        code = space.SELECT('class code').STRING()

        if not code in identified_space_codes:
            continue
                
        area = space.SELECT('area').UNIT('m2').NUMBER()
        if area >= min_area:
            exitCnt = 0
            door_width_sum = 0
            inward_exist = False

            for door in space.SELECT('space door'):
                if door.SELECT('is inward', space).BOOL() == False:
                    door_width = door.SELECT('width').UNIT('m2').NUMBER()
                    if door_width >= min_door_width:
                        exitCnt += 1
                        door_width_sum += door_width
                else:
                    door.ERROR('안여닫이 출구')
                    inward_exist = True
                    
            if inward_exist == True:
                continue

            if exitCnt >= min_door_count:
                if door_width_sum >= (area / 100) * 0.6:
                    space.SUCCESS(name)
                else:
                    space.ERROR(name + ', 출구유효너비 합: ' + str(door_width_sum) + 'm, 바닥면적: ' + str(area) + 'm2')
            else:
                space.ERROR(name + ', 출구 수 : ' + str(exitCnt) + '( < ' + str(min_door_count) + ')')
        else:
            space.SUCCESS('바닥면적:' + str(area) + '㎡ ( < ' + str(min_area) + '㎡)') 





Modify
20
19714 건축법 시행령 제 52조 2호

2. 제1종 근린생활시설 중 목욕장의 욕실과 휴게음식점 및 제과점의 조리장





//건축법 시행령 52조 (거실 등의 방습) 2호

Check(EDBA_52_0_2){

KS

}



KS{

Building myBuilding1{
Building.usage = "ClassiNeighborhoodLivingFacilites.BathHouse"
}
Building myBuilding2{
Building.usage = "ClassiNeighborhoodLivingFacilites" OR "RestingRestaurant"
}

getSpaceUsage(myBuilding1.Space)="BathRoom"

getSpaceUsage(myBuilding2.Space)="Kitchen"

} 




Python Code 변환 예정



Modify
21
19715 건축법 시행령 제 52조 3호

3. 제2종 근린생활시설 중 일반음식점, 휴게음식점 및 제과점의 조리장과 숙박시설의 욕실





//건축법 시행령 52조 (거실 등의 방습) 3호

Check(EDBA_52_0_3){

KS

}



KS{

Building myBuilding1{
Building.usage = "ClassiiNeighborhoodLivingFacilites.Restaurant" OR "ClassiiNeighborhoodLivingFacilites.RestingRestaurant" OR "ClassiiNeighborhoodLivingFacilites.Bakery"
}
Building myBuilding2{
Building.usage = "ClassiiNeighborhoodLivingFacilites.LodgingFacility" 
}

getSpaceUsage(myBuilding1.Space)="Kitchen"

getSpaceUsage(myBuilding2.Space)="BathRoom"


} 




Python Code 변환 예정



Modify
22
36613 건축법 시행령 제 46조 2 항 4호

4. 건축물의 최상층 또는 피난층으로서 대규모 회의장·강당·스카이라운지·로비 등의 용도로 쓰는 부분으로서 그 용도로 사용하기 위하여 불가피한 부분





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

check(EDBA_46_2_4){

KS

}



KS{
Floor myFloor{
getObject(TopFloor)
OR  isObjectProperty(Floor.isEscape)=TRUE
}


 AND 

 (getSpaceUsage(myFloor.Space)="ConferenceRoom"

 OR getSpaceUsage(myFloor.Space)="Hall"

 OR getSpaceUsage(myFloor.Space)="SkyLounge"

 OR getSpaceUsage(myFloor.Space)="Lobby"

 OR isObjectProperty(Zone.isEgressSafetyZone)= TRUE

} 




Python Code 변환 예정



Modify
23
36615 건축법 시행령 제 46조 2 항 6호

6. 주요구조부가 내화구조 또는 불연재료로 된 주차장





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

check(EDBA_46_2_6){

KS

}



KS{

  isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE

  AND isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE

  AND getSpaceUsage()=ParkingLot

} 




Python Code 변환 예정



Modify
24
36616 건축법 시행령 제 46조 2 항 7호

7. 단독주택, 동물 및 식물 관련 시설 또는 교정 및 군사시설 중 군사시설(집회, 체육, 창고 등의 용도로 사용되는 시설만 해당한다)로 쓰는 건축물





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

check(EDBA_46_2_7){

KS

}



KS{

getBuildingUsage()="DetachedHouses"

OR getBuildingUsage()="FacilitiesForAnimalsAndPlants"

OR (getBuildingUsage()="CorrectionalFacilityANDMilitaryFacilities" and (getSpaceUsage()= "Assembly" OR "Gymnasium" OR "Warehouses")

} 




Python Code 변환 예정



Modify
25
36626 건축법 시행령 제 47조 1 항 1호

1. 공동주택(기숙사만 해당한다)과 공장이 같은 건축물에 있는 경우





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

Check(EDBA_47_1_1){
       KS
}

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


    isExistTogether(mySpace1, mySpace2)=True
       
} 




Python Code 변환 예정



Modify
26
37355 건축법 시행령 제 34조 2 항 2호

2. 단독주택 중 다중주택·다가구주택, 제2종 근린생활시설 중 학원·독서실, 판매시설, 운수시설(여객용 시설만 해당한다), 의료시설(입원실이 없는 치과병원은 제외한다), 교육연구시설 중 학원, 노유자시설 중 아동 관련 시설·노인복지시설, 수련시설 중 유스호스텔, 숙박시설 또는 장례식장의 용도로 쓰는 3층 이상의 층으로서 그 층의 해당 용도로 쓰는 거실의 바닥면적의 합계가 200제곱미터 이상인 것





//건축법 시행령 34조 (직통계단의 설치) 2항2호

Check(EDBA_34_2_2){



        Building myBuilding{

              getBuildingUsage()="DentalClinic"

        }


Space mySpace{
getSpaceUsage() = "Ward"
}
	Floor myFloor1 {

		getObjectProperty(Floor.number)>=3

                getObjectUsage(Floor)  = “DetachedHouse.MultiUserHouse”

		OR getObjectUsage(Floor)  = “DetachedHouse.MultiFamilyHouse”

		OR getObjectUsage(Floor)  = “ClassIINeighborhoodLivingFacility.EducationalInstitute”

		OR getObjectUsage(Floor)  = “ClassIINeighborhoodLivingFacility.ReadingRooms” 

                OR getObjectUsage(Floor)  = “CommercialFacility”

                OR getObjectUsage(Floor)  = “TransportationFacility.PassengerTrafficFacilities”

                OR ( getObjectUsage(Floor)  = “MedicalFacility” ADN hasObject(myBuilding, mySpace)=TRUE )

                OR getObjectUsage(Floor)  = “EducationAndResearchFacility.EducationalInstitutes” 

		OR getObjectUsage(Floor)  = “FacilitiesForTheAgedAndChildren.ChildrenRelatedFacilities” 

		OR getObjectUsage(Floor)  = “EducationAndResearchFacility.WelfareFacilityForTheAged” 

		OR getObjectUsage(Floor)  = “Trainingfacility.YouthHostel” 

		OR getObjectUsage(Floor)  = “LodgingFacility”

                

	}



	Floor myFloor2{

		 getObjectUsage(Floor)  = “ClassIINeighborhoodLivingFacility.FacilityForProvidingInternetComputerGameService”

		}



           getTotalFloorArea(myFloor1.Room)>= 200 m2

          OR getTotalFloorArea(myFloor2.Room)>= 300 m2	

} 




Python Code 변환 예정



Modify
27
37375 건축법 시행령 제 47조 1 항

① 법 제49조제2항에 따라 의료시설, 노유자시설(아동 관련 시설 및 노인복지시설만 해당한다), 공동주택 또는 장례식장과 위락시설, 위험물저장 및 처리시설, 공장 또는 자동차 관련 시설(정비공장만 해당한다)은 같은 건축물에 함께 설치할 수 없다. 다만, 다음 각 호의 어느 하나에 해당하는 경우로서 국토해양부령으로 정하는 경우에는 그러하지 아니하다. <개정 2009.7.16>





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

Check(EDBA_47_1){
   IF !CS THEN KS
}

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

   getResult(REFB_14-2)=True
}

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

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

    
   isExistTogether(mySpace1, mySpace2)=False
    
   }
   
}  




Python Code 변환 예정



Modify
28
37378 건축법 시행령 제 47조 1 항 3호

3. 공동주택과 위락시설이 같은 초고층 건축물에 있는 경우. 다만, 사생활을 보호하고 방범·방화 등 주거 안전을 보장하며 소음·악취 등으로부터 주거환경을 보호할 수 있도록 주택의 출입구·계단 및 승강기 등을 주택 외의 시설과 분리된 구조로 하여야 한다.





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

Check(EDBA_47_1_3){
         KS
}

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

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

   
    isExistTogether(mySpace1, mySpace2, myBuilding)=True

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

} 




Python Code 변환 예정



Modify
29
19905 소화기구 및 자동소화장치의 화재안전기준(NFSC 101) 제 4조 7호

7. 주방용자동소화장치는 아파트의 각 세대별 주방 및 오피스텔의 각실 별 주방에 다음 각 목의 기준에 따라 설치할 것<개정 2012.6.11>





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

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

}

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




Python Code 변환 예정



Modify
30
20463 연결송수관설비의 화재안전기준(NFSC 502) 제 4조 4호

4. 송수구로부터 연결송수관설비의 주배관에 이르는 연결배관에 개폐밸브를 설치한 때에는 그 개폐상태를 쉽게 확인 및 조작할 수 있는 옥외 또는 기계실 등의 장소에 설치할 것. 이 경우 개폐밸브에는 그 밸브의 개폐상태를 감시제어반에서 확인할 수 있도록 급수개폐밸브 작동표시 스위치를 다음 각 목의 기준에 따라 설치하여야 한다. <개정 2014.8.18>





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


} 




Python Code 변환 예정



Modify
31
20486 연결송수관설비의 화재안전기준(NFSC 502) 제 6조 2호

2. 방수구는 아파트 또는 바닥면적이 1,000㎡ 미만인 층에 있어서는 계단(계단의 부속실을 포함하며 계단이 2 이상 있는 경우에는 그 중 1개의 계단을 말한다)으로부터 5m 이내에, 바닥면적 1,000㎡ 이상인 층(아파트를 제외한다)에 있어서는 각 계단(계단의 부속실을 포함하며 계단이 3 이상 있는 층의 경우에는 그 중 2개의 계단을 말한다)으로부터 5m 이내에 설치하되, 그 방수구로부터 그 층의 각 부분까지의 거리가 다음 각목의 기준을 초과하는 경우





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

Check(NFSC502_6_0_2){
     KS 
}

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

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

     IF getBuildingUsage()="ApartmentHouse"
        OR getFloorArea()<1000 m2 
      
     THEN getObjectDistance(FireDepartmentConnection, mySpace)<5 m 

     ELSE IF getFloorArea()>1000 m2
    
     THEN getObjectDistance(FireDepartmentConnection, mySpace)<5 m 
          getResult(NFSC502_6_0_2_가)=True
          getResult(NFSC502_6_0_2_나)=True
        
     END IF
} 




Python Code 변환 예정



Modify
32
20487 연결송수관설비의 화재안전기준(NFSC 502) 제 6조 2호 가 목

가. 지하가(터널은 제외한다) 또는 지하층의 바닥면적의 합계가 3,000㎡ 이상인 것은 수평거리 25m





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

 } 




Python Code 변환 예정



Modify
33
20454 자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7조 4 항 2호

2. 전산실 또는 반도체 공장등 : 광전식공기흡입형감지기. 이 경우 설치장소·감지면적 및 공기흡입관의 이격거리등은 형식승인 내용에 따르며 형식승인 사항이 아닌 것은 제조사의 시방에 따라 설치하여야 한다.





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




Python Code 변환 예정



Modify
34
20457 자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7조 5 항 5호

5. 목욕실·욕조나 샤워시설이 있는 화장실·기타 이와 유사한 장소





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




Python Code 변환 예정



Modify
35
60836 주차장법 제 19조의5조 1 항

① 기계식주차장의 설치기준은 국토교통부령으로 정한다. <개정 2013.3.23, 2018.8.14>





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

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

CS{
   getSpaceUsage()="MechanicalParking"
}

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




Python Code 변환 예정



Modify
36
12312 주차장법 시행규칙 제 16조의2조 1 항 1호 가 목

가. 중형 기계식주차장(길이 5.05미터 이하, 너비 1.9미터 이하, 높이 1.55미터 이하, 무게 1,850킬로그램 이하인 자동차를 주차할 수 있는 기계식주차장을 말한다. 이하 같다): 너비 8.1미터 이상, 길이 9.5미터 이상의 전면공지 또는 지름 4미터 이상의 방향전환장치와 그 방향전환장치에 접한 너비 1미터 이상의 여유 공지





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

} 




Python Code 변환 예정



Modify
37
61382 주차장법 시행규칙 제 6조 4 항 2의2호

2의2. 「석유 및 석유대체연료 사업법 시행령」 제2조제3호에 따른 주유소(특별시장·광역시장, 시장·군수 또는 구청장이 설치한 노외주차장만 해당한다)





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

Check(ERPA_6_4_3){

	KS

}



KS{

	getSpaceUsage(ParkingLotSubsidiaryFacility) = "GasStation"

} 




Python Code 변환 예정



Modify
38
61640 주차장법 시행규칙 제 6조 4 항 1호

1. 관리사무소ㆍ휴게소 및 공중변소





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

Check(ERPA_6_4_1){

	KS

}



KS{

	getSpaceUsage(ParkingLotSubsidiaryFacility) = "ControlOffice"

	OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "RestArea"

	OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "PublicToilet"

} 




Python Code 변환 예정



Modify
39
61641 주차장법 시행규칙 제 6조 4 항 2호

2. 간이매점 및 자동차의 장식품판매점





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

Check(ERPA_6_4_2){

	KS

}



KS{

	getSpaceUsage(ParkingLotSubsidiaryFacility) = "SnackBar"

	OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "CarOrnamentationShop"

	OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "ElectricVehicleChargingStation"

} 




Python Code 변환 예정



Modify
40
61645 주차장법 시행규칙 제 6조 6 항

⑥시장ㆍ군수 또는 구청장이 노외주차장내에 국토의계획및이용에관한법률 제2조제7호의 도시계획시설을 부대시설로서 중복하여 설치하고자 하는 경우에는 노외주차장외의 용도로 사용하고자 하는 도시계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총 시설면적의 40퍼센트를 초과할 수 없다. <신설 2004.7.1>





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

Check(ERPA_6_6){

	IF CS THEN KS

}



ParkingLot myParkingLot{

	isObjectProperty(ParkingLot.isOffStreetParking) = TRUE

}


Building myBuilding{
Building.usage = "UrbanGunPlanningFacility"
getResult(LPUA_2_0_7) = TRUE
hasSpace(myParkingLot, Building) = TRUE
getSpaceUsage(Building) = getSpaceUsage(SubsidiaryFacility)

}

Building myBuilding1{
Building.usage = "UrbanGunPlanningFacility"
}

CS{

	getObjectNumber(myBuilding) >= 2

}



KS{

	(getFloorArea(myBuilding1)- getFloorArea(myBuilding)) <= (getTotalObjectArea(ParkingLot) + getTotalObjectArea(SubsidiaryFacility))*0.4

} 




Python Code 변환 예정



Modify
41
71942 주차장법 시행규칙 제 16조의2조 1 항 1호 나 목

나. 대형 기계식주차장(길이 5.75미터 이하, 너비 2.15미터 이하, 높이 1.85미터 이하, 무게 2,200킬로그램 이하인 자동차를 주차할 수 있는 기계식주차장을 말한다. 이하 같다): 너비 10미터 이상, 길이 11미터 이상의 전면공지 또는 지름 4.5미터 이상의 방향전환장치와 그 방향전환장치에 접한 너비 1미터 이상의 여유 공지





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

} 




Python Code 변환 예정



Modify
42
71943 주차장법 시행규칙 제 16조의2조 1 항 2호

2. 기계식주차장치의 내부에 방향전환장치를 설치한 경우와 2층 이상으로 주차구획이 배치되어 있고 출입구가 있는 층의 모든 주차구획을 기계식주차장치 출입구로 사용할 수 있는 기계식주차장의 경우에는 제1호에도 불구하고 제6조제1항제3호 또는 제11조제5항제2호를 준용한다.





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




Python Code 변환 예정



Modify
43
71944 주차장법 시행규칙 제 16조의2조 1 항 3호

3. 기계식주차장에는 도로에서 기계식주차장치 출입구까지의 차로(이하 "진입로"라 한다) 또는 전면공지와 접하는 장소에 자동차가 대기할 수 있는 장소(이하 "정류장"이라 한다)를 설치하여야 한다. 이 경우 주차대수 20대를 초과하는 20대마다 한 대분의 정류장을 확보하여야 하며, 정류장의 규모는 다음 각 목과 같다. 다만, 주차장의 출구와 입구가 따로 설치되어 있거나 진입로의 너비가 6미터 이상인 경우에는 종단경사도가 6퍼센트 이하인 진입로의 길이 6미터





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

} 




Python Code 변환 예정



Modify
44
72624 주차장법 시행규칙 제 6조 1 항 3호 나 1) 목

1) 이륜자동차전용 노외주차장 (표)





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




Python Code 변환 예정



Modify
45
72625 주차장법 시행규칙 제 6조 1 항 3호 나 2) 목

2) 1) 외의 노외주차장 (표)





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

} 




Python Code 변환 예정



Modify
    1      
 

Related Sites

국토부 BIM과제-1st  |   Ministry of Land, Infrasrtucture and Transport   |   Korea Agency for Infrastructure Technology Advancement  |   Space and Design IT Lab   |   Yonsei University
This is Design IT Lab server's restricted area. Authorized users could access this website.