//건축법 시행령 38조(관람석 등으로부터의 출구 설치) 2호
Check(EDBA_38_0_2){
getBuildingUsage() = "CulturalAndAssemblyFacility
"
getBuildingUsage() != "CulturalAndAssemblyFacility.ExhibitionHall"
getBuildingUsage() != "CulturalAndAssemblyFacility.ZoologicalAndBotanicalGarden"
getResult(REFB_10_2) = TRUE
}
|
identified_space_codes =[' 문화 및 집회시설']
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) + '㎡)')
|