// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 3호
Check(REFB_14-2_0_3){
KS
}
KS{
Space mySpace{
Space.usage="MultiUnitHouse"
OR Space.usage="MedicalFacility"
OR Space.usage="ChildrenRelatedFacility"
OR Space.usage="WelfareFacilityForTheAged"
}
Space mySpace2{
Space.usage="AmusementFacility"
OR Space.usage="FacilityForStorageAndTreatmentOfDangerousSubstance"
OR Space.usage="Factory"
OR Space.usage="AutomobileRepairShop"
}
isAdjacent(mySpace, mySpace2)=False
}
②문화 및 집회시설(공연장ㆍ집회장ㆍ관람장ㆍ전시장에 한한다), 종교시설 중 종교집회장, 노유자시설 중 아동 관련 시설ㆍ노인복지시설, 수련시설 중 생활권수련시설, 위락시설 중 유흥주점 및 장례식장의 관람석 또는 집회실과 접하는 복도의 유효너비는 제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))
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 1항
Check(REFB_15-2_1){
KS
}
KS{
IF (Building.usage="Kindergarten"
OR Building.usage="ElementarySchool"
OR Building.usage="MiddleAndHighSchool" )
IF(isAdjacent(Corridor, Room)=True)
THEN Corridor.width>=2.4 m
ELSE THEN Corridor.width>=1.8 m
END IF
ELSE IF( Building.usage="MultiUnitHouse"
OR Building.usage="Officetels" )
IF( isAdjacent(Corridor, Room)=True)
TEHN Corridor.width>=1.8 m
ELSE THEN Corridor.width>=1.2 m
END IF
ELSE IF( Floor.One.Room.area > 200 m2)
IF(isAdjacent(Corridor, Room)=True)
TEHN IF (Building.usage="MedicalFacility")
THEN Corridor.width>=1.8 m
ELSE THEN Corridor.width>=1.5 m
ELSE THEN Corridor.width>=1.2 m
END IF
END IF
}
가. 중형 기계식주차장(길이 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
}
1. 차로의 너비는 2.5미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 따른 기준 이상으로 하여야 한다.
┌───────┬──────┐
│주차형식 │차로의 너비 │
├───────┼──────┤
│평행주차 │3.0미터 │
├───────┼──────┤
│직각주차 │6.0미터 │
├───────┼──────┤
│60도 대향주차 │4.0미터 │
├───────┼──────┤
│45도 대향주차 │3.5미터 │
├───────┼──────┤
│교차주차 │3.5미터 │
└───────┴──────┘
//주차장법 시행규칙 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
}
나. 대형 기계식주차장(길이 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
}
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
}