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 != Elevator Shaft.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 .Elevator Shaft.isFirePartition)=TRUE
}
Python Code 변환 예정
Modify
6
19386
건축물의 설비기준 등에 관한 규칙 제 10조 3호 나 목
나. 각층으로부터 피난층까지 이르는 승강로를 단일구조로 연결하여 설치할 것
//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 3호 나목
Check(RFB_10_0_3_나){
KS
}
KS{
Floor myFloor{
isObjectProperty(Floor.isEscape)=TRUE
}
Elevator Shaft myElevator Shaft1{
hasObject(Floor,Elevator Shaft)=TRUE
}
Elevator Shaft myElevator Shaft2{
hasObject(myFloor,Elevator Shaft)=TRUE
}
isConnectedTo(myElevator Shaf1t, myElevator Shaft2, 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 .Elevator Shaft"
OR getSpaceUsage() = "EmergencyElevator Platform"
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) = "Elevator TractionMachineRoom"
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(Elevator Shaft) =True
}
Python Code 변환 예정
Modify
14
19608
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 2호 나 목
나. 각 층으로부터 피난층까지 이르는 승강로를 단일구조로 연결하여 설치할 것
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호 나목
Check(REFB_30_0_2_나){
KS
}
KS{
Floor myFloor{
isObjectProperty(Floor.isEscape)=True
}
Elevator Shaft myElevator Shaft1{
hasObject(Floor,Elevator Shaft)=TRUE
}
Elevator Shaft myElevator Shaft2{
hasObject(myFloor,Elevator Shaft)=TRUE
isConnectedTo(myElevator Shaf1t, myElevator Shaft2, 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)= "Elevator MachineRoom" 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(Elevator Shaft.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 myElevator 2{
getObjectProperty(Elevator .usage) = "FreightElevator "
}
isReplaced(myElevator 2, myElevator ) = TRUE
}
Python Code 변환 예정
Modify