개방형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-28 기준) 설계품질검토용 건축법 및 관련법규 - KBIMCode (문장단위)
    1      
1 / 1 page Total 2500 / 4000 records    신규입력
Select
ALL
None
#
ID
Law
Jo
JO Name
HANG
HO
MOK
Text
Search!
1
19380 건축물의 설비기준 등에 관한 규칙 제 10조 2호 나 목

나. 승강장은 각층의 내부와 연결될 수 있도록 하되, 그 출입구(승강로의 출입구를 제외한다)에는 갑종방화문을 설치할 것. 다만, 피난층에는 갑종방화문을 설치하지 아니할 수 있다.





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 나목
Check(RFB_10_0_2_나){
	KS1 AND IF !(CS) THEN KS2
}
	Space mySpace{
	hasObject(Floor,Space)=TRUE
	isAccessible(Platform,Space) = TRUE
	}
KS1{
	isExist(mySpace)=TRUE
}
CS{
	isAccessible(Platform, myFloor) = TRUE
}
KS2{
	Door myDoor{
		hasSpace(Platform, Door) =TRUE
		hasSpace(mySpace, Door) =TRUE
		Door != ElevatorShaft.Opening
	}
	isObjectProperty(myDoor.isStrictFireproofDoor)= TRUE
}
 




Python Code 변환 예정



Modify
2
19381 건축물의 설비기준 등에 관한 규칙 제 10조 2호 다 목

다. 노대 또는 외부를 향하여 열 수 있는 창문이나 제14조제2항의 규정에 의한 배연설비를 설치할 것





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




Python Code 변환 예정



Modify
3
19382 건축물의 설비기준 등에 관한 규칙 제 10조 2호 라 목

라. 벽 및 반자가 실내에 접하는 부분의 마감재료(마감을 위한 바탕을 포함한다)는 불연재료로 할 것





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

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




Python Code 변환 예정



Modify
4
19383 건축물의 설비기준 등에 관한 규칙 제 10조 2호 바 목

바. 승강장의 바닥면적은 비상용승강기 1대에 대하여 6제곱미터 이상으로 할 것. 다만, 옥외에 승강장을 설치하는 경우에는 그러하지 아니하다.





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

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

CS{
	isExternal(myElevator.Platform) = TRUE
}
KS{
	EN = getObjectProperty(Elevator.numberOf)
	getObjectProperty(myElevator.Platform.area) >= EN*6
} 




Python Code 변환 예정



Modify
5
19385 건축물의 설비기준 등에 관한 규칙 제 10조 3호 가 목

가. 승강로는 당해 건축물의 다른 부분과 내화구조로 구획할 것





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

	isObjectProperty(myElevator.ElevatorShaft.isFirePartition)=TRUE
}
 




Python Code 변환 예정



Modify
6
19386 건축물의 설비기준 등에 관한 규칙 제 10조 3호 나 목

나. 각층으로부터 피난층까지 이르는 승강로를 단일구조로 연결하여 설치할 것





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 3호 나목

Check(RFB_10_0_3_나){

	KS

}



KS{

	Floor myFloor{

		isObjectProperty(Floor.isEscape)=TRUE

	}
ElevatorShaft myElevatorShaft1{
	hasObject(Floor,ElevatorShaft)=TRUE
}
ElevatorShaft myElevatorShaft2{
	hasObject(myFloor,ElevatorShaft)=TRUE	
}
	isConnectedTo(myElevatorShaf1t, myElevatorShaft2, SingleStructure)=TRUE

} 




Python Code 변환 예정



Modify
7
24916 건축물의 설비기준 등에 관한 규칙 제 6조

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





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

Check(RFB_6){

	IF CS THEN KS
}
CS{	
	Elevator myElevator{
	isObjectProperty(Elevator.isEmergency) = TRUE
	}

	isInstalled(Elevator) = TRUE
	OR isInstalled(Escalator) = TRUE
	OR isInstalled(myElevator) = TRUE
}

KS{
           getResult(Unimplemented_EFSMA) = TRUE
} 




Python Code 변환 예정



Modify
8
25075 건축물의 설비기준 등에 관한 규칙 제 5조

제5조(승용승강기의 설치기준) 「건축법」(이하 "법"이라 한다) 제64조제1항에 따라 건축물에 설치하는 승용승강기의 설치기준은 별표 1의2와 같다. 다만, 승용승강기가 설치되어 있는 건축물에 1개층을 증축하는 경우에는 승용승강기의 승강로를 연장하여 설치하지 아니할 수 있다. <개정 2001.1.17, 2006.2.13, 2008.7.10, 2015.7.9>





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

Check(RFB_5){

	IF !(CS) THEN KS1

}

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

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








def Check(RFB_5):


CS

myobject = getobject(PassengerElevator)
if isExist(myobject) = True:
    
else:
    
getObjectProperty(Elevator, usage) = "PassengerElevator"
is






def getobjectproperty(str objname, str propname):
    myobj = root.select(objname)
    myprop = myobj.select(propname)
    return myprop
  





Modify
9
25139 건축물의 설비기준 등에 관한 규칙 제 14조 2 항

②특별피난계단 및 영 제90조제3항의 규정에 의한 비상용승강기의 승강장에 설치하는 배연설비의 구조는 다음 각호의 기준에 적합하여야 한다. <개정 1996.2.9, 1999.5.11>





//건축물의 설비기준 등에 관한 규칙 14조 (배연설비) 2항

Check(RFB_14_2){

IF CS THEN KS

}

CS {	

   

           isObjectProperty(Stair.isSpecialEscape)=TRUE



           OR isObjectProperty(Elevator.isEmergency)=TRUE   

}



KS {

	getResult(RFB_14_2_1) = TRUE

	getResult(RFB_14_2_4) = TRUE

} 




Python Code 변환 예정



Modify
10
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
11
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
12
19604 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 1호 마 목

마. 승강장의 바닥면적은 피난용승강기 1대에 대하여 6제곱미터 이상으로 할 것





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

Check(REFB_30_0_1_마){
      KS
}

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




Python Code 변환 예정



Modify
13
19607 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 2호 가 목

가. 승강로는 해당 건축물의 다른 부분과 내화구조로 구획할 것





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



Check(REFB_30_0_2_가){

      KS

}



KS{

     	isFireResistantStructure(ElevatorShaft)  =True

} 




Python Code 변환 예정



Modify
14
19608 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 2호 나 목

나. 각 층으로부터 피난층까지 이르는 승강로를 단일구조로 연결하여 설치할 것





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



Check(REFB_30_0_2_나){

      KS

}



KS{

   Floor myFloor{

     isObjectProperty(Floor.isEscape)=True

   }

   

ElevatorShaft myElevatorShaft1{
	hasObject(Floor,ElevatorShaft)=TRUE
}
ElevatorShaft myElevatorShaft2{
	hasObject(myFloor,ElevatorShaft)=TRUE	


isConnectedTo(myElevatorShaf1t, myElevatorShaft2, SingleStructure)=TRUE


} 




Python Code 변환 예정



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

4. 비상용 승강기는 피난안전구역에서 승하차 할 수 있는 구조로 설치할 것





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

   isDirectlyAccessible(myZone, myElevator)=TRUE
} 




Python Code 변환 예정



Modify
16
25228 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 11조 5 항 6호

6. 승강기를 설치하여야 하는 건축물





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

Check(REFB_11_5_6){
KS
}


KS {

hasObject(Building,Elevator)=TRUE

} 




Python Code 변환 예정



Modify
17
25506 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 15조 8 항

⑧ 승강기기계실용 계단, 망루용 계단 등 특수한 용도에만 쓰이는 계단에 대해서는 제1항부터 제7항까지의 규정을 적용하지 아니한다. <개정 2012.1.6>





check(REFP_15_8){

     KS

}



KS{

      getObjectUsage(Stair)= "ElevatorMachineRoom" OR "WatchTower"

      AND getResult(REFP_15_1)=FALSE

      AND getResult(REFP_15_2)=FALSE

      AND getResult(REFP_15_3)=FALSE

      AND getResult(REFP_15_4)=FALSE

      AND getResult(REFP_15_5)=FALSE

      AND getResult(REFP_15_6)=FALSE

      AND getResult(REFP_15_7)=FALSE

} 




Python Code 변환 예정



Modify
18
26546 건축법 제 64조 1 항

① 건축주는 6층 이상으로서 연면적이 2천제곱미터 이상인 건축물(대통령령으로 정하는 건축물은 제외한다)을 건축하려면 승강기를 설치하여야 한다. 이 경우 승강기의 규모 및 구조는 국토교통부령으로 정한다. <개정 2013.3.23>





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

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

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




Python Code 변환 예정



Modify
19
26547 건축법 제 64조 2 항

② 높이 31미터를 초과하는 건축물에는 대통령령으로 정하는 바에 따라 제1항에 따른 승강기뿐만 아니라 비상용승강기를 추가로 설치하여야 한다. 다만, 국토교통부령으로 정하는 건축물의 경우에는 그러하지 아니하다. <개정 2013.3.23>





//건축법 64조 (승강기) 2항

check(BA_64_2){

  IF (!CS1 AND CS2) THEN KS

}



CS1{

    getResult(RFB_9)=TRUE

} 



CS2{

    getBuildingHeight()>31 m

}

KS{


   getResult(BA_64_1) = TRUE 

   isObjectProperty(Elevator.isEmergency)= TRUE

   getResult(EDBA_90_1)=TRUE

   getResult(RFB_10)=TRUE

} 




Python Code 변환 예정



Modify
20
32211 건축법 시행령 제 39조 1 항 10호

10. 승강기를 설치하여야 하는 건축물





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

Check(EDBA_39_1_10){     
KS
}


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

isExist(myBuliding) = TRUE
}
 








target_bldg_type_1 = ['제2종 근린생활시설', '문화 및 집회시설', '종교시설', '판매시설', '업무시설', '창고시설', '교육연구시설', '장례시설', '승강기를 설치하여야하는 건축물']
target_bldg_sub_type_2 = ['판매시설']
max_route_length_stair_to_door = 30
max_route_length_space_to_door = 60
min_em_door_count = 2
min_em_door_h = 1.5
min_em_door_w = 0.75

target_bldg_types_1_label = '외부 출입구 방향 적용 대상 건출물 용도'
target_bldg_types_2_label = '외부 출입구 유효너비 대상 건출물 용도'

max_route_length_stair_to_door_label = '직통계단과 외부 출입구 간 최소거리'
max_route_length_space_to_door_label = '거실과 외부 출입구 간 최소거리'
min_em_door_count_label = '최소 비상구 개수'
min_em_door_h_label = '최소 비상구 높이'
min_em_door_w_label = '최소 비상구 유효너비'

def Check():
    for building in SELECT('building'):
        bldg_type = building.SELECT('building type').STRING()
        sub_type = building.SELECT('prop', '세부용도').STRING()
        if (bldg_type in target_bldg_type_1):
            if bldg_type == '제2종 근린생활시설' and sub_type in ['공연장', '종교집회장', '인터넷컴퓨터게임시설제공업소']:
                message =  '검토 대상 건물이 아닙니다.' + '(용도:' + bldg_type + ', 세부용도:' + sub_type + ' )'
                SUCCESS(message)
                break
            elif bldg_type == '문화 및 집회시설' and sub_type in ['전시장', '동물원', '식물원']:
                message =  '검토 대상 건물이 아닙니다.' + '(용도:' + bldg_type + ', 세부용도:' + sub_type + ' )'
                SUCCESS(message)
                break
            elif bldg_type == '업무시설' and sub_type == '청사':
                message =  '검토 대상 건물이 아닙니다.' + '(용도:' + bldg_type + ', 세부용도:' + sub_type + ' )'
                SUCCESS(message)
                break
            elif bldg_type == '교육연구시설' and sub_type == '학교':
                message =  '검토 대상 건물이 아닙니다.' + '(용도:' + bldg_type + ', 세부용도:' + sub_type + ' )'
                SUCCESS(message)
                break
            message =  '검토 대상 건물입니다.' + '(용도:' + bldg_type + ', 세부용도:' + sub_type + ' )'
            SUCCESS(message)

        else:
            message =  '검토 대상 건물이 아닙니다.' + '(용도:' + bldg_type + ', 세부용도:' + sub_type + ' )'
            SUCCESS(message)
            break



        evac_storey_exist = False
        stories = building.SELECT('storey')

        for storey in stories:
            if storey.SELECT('is evacuation storey').BOOL() == True:
                evac_storey_exist = True
                break

        if evac_storey_exist == False:
            ERROR('피난층이 존재하지 않습니다.')
            return

        for storey in stories:
            stairs = storey.SELECT('direct stair')

            if stairs.COUNT() == 0:
                storey.ERROR(storey.SELECT('name').STRING() + '에 직통계단이 존재하지 않습니다.')
                continue

            exDoors = []
            for door in storey.SELECT('door'):
                if door.SELECT('is external').BOOL() == True:
                    exDoors.append(door)

            for stair in stairs:
                route_length = -1
                for route in stair.SELECT('escape route', exDoors):
                    length = route.SELECT('length').UNIT('m').NUMBER()
                    if length > 0:
                        if route_length < 0:
                            route_length = length
                        else:
                            route_length = min([route_length, length])
                if route_length < 0:
                    stair.ERROR(stair.SELECT('name').STRING() + '부터 외부 출입구까지 갈 수 없다.')
                elif route_length > max_route_length_stair_to_door:
                    stair.ERROR(stair.SELECT('name').STRING() + '부터 외부 출입구까지의 거리가 멀다 : ' + str(route_length))
                else:
                    stair.SUCCESS(stair.SELECT('name').STRING() + ' : ' + str(route_length))

            spaces = storey.SELECT('space')

            for space in spaces:
                route_length = -1
                for route in space.SELECT('escape route', exDoors):
                    length = route.SELECT('length').UNIT('m').NUMBER()
                    if length > 0:
                        if route_length < 0:
                            route_length = length
                        else:
                            route_length = min([route_length, length])
                if route_length < 0:
                    space.ERROR(space.SELECT('name').STRING() + '부터 외부 출입구까지 갈 수 없다.')
                elif route_length > max_route_length_space_to_door:
                    space.ERROR(space.SELECT('name').STRING() + '부터 외부 출입구까지의 거리가 멀다 : ' + str(route_length))
                else:
                    space.SUCCESS(space.SELECT('name').STRING() + ' : ' + str(route_length))

            if bldg_type in target_bldg_types_1:
                for door in exDoors:
                    if door.SELECT('is inward').BOOL():
                        door.ERROR('외부 출입구의 방향이 안여닫이입니다.')

                for space in spaces:
                    code = space.SELECT('class code').STRING()
                    if not code in theater_space_codes:
                        continue
                    area = space.SELECT('area').UNIT('m2').NUMBER()
                    if area < 300:
                        continue
                    emExits = []
                    for door in space.SELECT('space door'):
                        if door.SELECT('prop', '비상구').BOOL() or door.SELECT('prop', '보조출입구').BOOL():
                            emExits.append(door)
                    if len(emExits) < min_em_door_count:
                        space.ERROR('비상구(보조출입구) 개수:' + str(len(emExits)) + '(<' + str(min_em_door_count) + ')')
                        continue
                    em_exit_count = 0
                    for exit in emExits:
                        if exit.SELECT('clear opening').UNIT('m').NUMBER() >= min_em_door_w and exit.SELECT('height').UNIT('m').NUMBER() >= min_em_door_h:
                            em_exit_count += 1
                    if em_exit_count < min_em_door_count:
                        space.ERROR('기준(' + str(min_em_door_w) + 'X' + str(min_em_door_h) + ')을 충족하는 비상구(보조출입구) 개수:' + str(em_exit_count) + '(<' + str(min_em_door_count) + ')')
                    else:
                        space.SUCCESS('기준(' + str(min_em_door_w) + 'X' + str(min_em_door_h) + ')을 충족하는 비상구(보조출입구) 개수:' + str(em_exit_count) + '(>=' + str(min_em_door_count) + ')')

            if bldg_type in target_bldg_types_2:
                if storey.SELECT('is evacuation storey').BOOL() == False:
                    continue
                max_area = 0;
                for space in spaces:
                    area = space.SELECT('area').UNIT('m2').NUMBER()
                    if area > max_area:
                        max_area = area
                min_door_w = max_area / 100 * 0.6;

                for door in exDoors:
                    width = door.SELECT('clear opening').UNIT('m')
                    w = width.NUMBER()
                    if (w < min_door_w):
                        width.ERROR('출구 유효너비:' + str(w) + '(<' + str(min_door_w) + ')')
                    else:
                        width.SUCCESS('출구 유효너비:' + str(w) + '(>=' + str(min_door_w) + ')')
 





Modify
21
36612 건축법 시행령 제 46조 2 항 3호

3. 계단실부분·복도 또는 승강기의 승강로 부분(해당 승강기의 승강을 위한 승강로비 부분을 포함한다)으로서 그 건축물의 다른 부분과 방화구획으로 구획된 부분





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

check(EDBA_46_2_3){

KS

}



KS{

 isObjectProperty(Stair.Space.isFirePartition)=TRUE

 OR isObjectProperty(Passage.isFirePartition)=TRUE

 OR isObjectProperty(ElevatorShaft.isFirePartition)=TRUE

} 




Python Code 변환 예정



Modify
22
36706 건축법 시행령 제 90조 1 항

① 법 제64조제2항에 따라 높이 31미터를 넘는 건축물에는 다음 각 호의 기준에 따른 대수 이상의 비상용 승강기(비상용 승강기의 승강장 및 승강로를 포함한다. 이하 이 조에서 같다)를 설치하여야 한다. 다만, 법 제64조제1항에 따라 설치되는 승강기를 비상용 승강기의 구조로 하는 경우에는 그러하지 아니하다.





//건축법 시행령 90조 (비상용 승강기의 설치) 1항

Check(EDBA_90_1){
  IF (!CS1 AND CS2) THEN KS

}

CS1{
    getResult(BA_64_1)=TRUE
    isObjectProperty(Elevator.isEmergency)=TRUE
    
}

CS2{
    getBuildingHeight()>31 m
}

KS{
    getResult(EDBA_90_1_1)=TRUE
    getReslut(EDBA_90_1_2)=TRUE
} 




Python Code 변환 예정



Modify
23
36707 건축법 시행령 제 90조 1 항 1호

1. 높이 31미터를 넘는 각 층의 바닥면적 중 최대 바닥면적이 1천500제곱미터 이하인 건축물: 1대 이상





//건축법 시행령 90조 (비상용 승강기의 설치) 1항 1호
Check(EDBA_90_1_1){
	IF CS THEN KS
}

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

	getFloorArea(myFloor) <= 1500 m2
}

KS{
	isExist(Elevator.isEmergency) = TRUE
} 




Python Code 변환 예정



Modify
24
36708 건축법 시행령 제 90조 1 항 2호

2. 높이 31미터를 넘는 각 층의 바닥면적 중 최대 바닥면적이 1천500제곱미터를 넘는 건축물: 1대에 1천500제곱미터를 넘는 3천 제곱미터 이내마다 1대씩 더한 대수 이상





//건축법 시행령 90조 (비상용 승강기의 설치) 1항2호
Check(EDBA_1_2){
   IF CS THEN KS
}

 Floor myFloor{
     getObjectHeight(Floor)>31 m
  }

CS{
   getFloorArea(myFloor)>1500 m2
}

KS{
   FA=getFloorArea(myFloor) //FA means floor area
   IF FA>=4500 m2
      THEN   {(FA-1500)/3000}+1 < getObjectCount(EmergencyElevator)
             getObjectCount(EmergencyElevator) < {(FA-1500)/3000}+2
   END IF 
  
  

} 




Python Code 변환 예정



Modify
25
36709 건축법 시행령 제 90조 2 항

② 제1항에 따라 2대 이상의 비상용 승강기를 설치하는 경우에는 화재가 났을 때 소화에 지장이 없도록 일정한 간격을 두고 설치하여야 한다.





//건축법 시행령 90조 (비상용 승강기의 설치) 2항

Check(EDBA_90_2){
     KS
}

KS{
     getObjectCount(Elevator.isEmergency) >= 2
}

 




Python Code 변환 예정



Modify
26
61623 주차장법 시행규칙 제 6조 1 항 6호

6. 노외주차장의 주차에 사용되는 부분의 높이는 주차바닥면으로부터 2.1미터 이상으로 하여야 한다.





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




Python Code 변환 예정



Modify
27
62347 주택건설기준 등에 관한 규정 제 15조 1 항

①6층 이상인 공동주택에는 국토교통부령이 정하는 기준에 따라 대당 6인승 이상인 승용승강기를 설치하여야 한다. 다만, 「건축법 시행령」 제89조의 규정에 해당하는 공동주택의 경우에는 그러하지 아니하다. <개정 1992.5.30, 1994.12.23, 1994.12.30, 1999.9.29, 2005.6.30, 2008.2.29, 2013.3.23>





//주택건설기준 등에 관한 규정 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
} 




Python Code 변환 예정



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

②10층 이상인 공동주택의 경우에는 제1항의 승용승강기를 비상용승강기의 구조로 하여야 한다. <개정 2007.7.24>





//주택건설기준 등에 관한 규정 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
} 




Python Code 변환 예정



Modify
29
62350 주택건설기준 등에 관한 규정 제 15조 3 항 1호

1. 적재하중이 0.9톤 이상일 것





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

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




Python Code 변환 예정



Modify
30
62351 주택건설기준 등에 관한 규정 제 15조 3 항 2호

2. 승강기의 폭 또는 너비중 한변은 1.35미터 이상, 다른 한변은 1.6미터 이상일 것





//주택건설기준 등에 관한 규정 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)
} 




Python Code 변환 예정



Modify
31
62352 주택건설기준 등에 관한 규정 제 15조 3 항 3호

3. 계단실형인 공동주택의 경우에는 계단실마다 설치할 것





//주택건설기준 등에 관한 규정 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
} 




Python Code 변환 예정



Modify
32
62353 주택건설기준 등에 관한 규정 제 15조 3 항 4호

4. 복도형인 공동주택의 경우에는 100세대까지 1대를 설치하되, 100세대를 넘는 경우에는 100세대마다 1대를 추가로 설치할 것





//주택건설기준 등에 관한 규정 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
}
 




Python Code 변환 예정



Modify
33
62354 주택건설기준 등에 관한 규정 제 15조 4 항

④제1항 또는 제2항의 규정에 의한 승용승강기 또는 비상용승강기로서 제3항 각호의 기준에 적합한 것은 화물용승강기로 겸용할 수 있다.





//주택건설기준 등에 관한 규정 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
} 




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.