|
1
|
72846
|
건축물의 에너지절약설계기준 제 11조 4호 가 목
가. 여러 대의 승강기가 설치되는 경우에는 군관리 운행방식을 채택한다.
|
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 9항 1호
Check(NFSC103A_8_9_1){
KS
}
KS{
isObjectProperty(Pipe.isBranchLines) = TRUE
isObjectProperty(Pipe.hasTournamentArragement) = FALSE
}
|
Python Code 변환 예정
|
|
Modify
|
|
2
|
19469
|
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10조 2 항 1호
1. 관람석별로 2개소 이상 설치할 것
|
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항 1호
check(REFB_10_2_1){
Door myExit {
Door.Space.name = "individualSeats"
getFloorArea(Door.Space) >= 300
isObjectProperty(Door.isEntrance) = TRUE
}
getObjectCount(myExit) >= 2
}
|
SUCCESS
theater_code = '00000'
std_floor_area = 300
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 == '공연장'):
building.SUCESS('검토 대상 건물이 아닙니다.')
continue
for storey in building.SELECT('storey'):
for space in storey.SELECT('space'):
if space.SELECT('class code').STRING() != theater_code:
continue
if space.SELECT('area').UNIT(m2).NUMBER() < std_floor_area:
continue
door_w_total = 0
door_cnt = 0
for door in space.Select('door'):
door_cnt += 1
door_w = door.SELECT('width').Unit(m).number()
door_w_total += door_w
if door_w >= 1.5:
door.SUCCESS('출구의 너비' + door_w +'>= 1.5m')
else:
door.ERROR('출구의 너비' + door_w +'< 1.5m')
min_door_w_total = space.SELECT('area').UNIT(m2).NUMBER()
min_door_w_total = min_door_w_total/100*0.6
if door_w_total >= min_door_w_total :
space.SUCCESS('출구의 너비의 총합' + door_w_total +'>='+ min_door_w_total)
else:
space.ERROR('출구의 너비의 총합' + door_w_total +'<' + min_door_w_total)
if door_cnt >= 2:
space.SUCCESS('출구의 개수' + door_w_total +'>='+ '2')
else:
space.ERROR('출구의 개수' + door_w_total +'<'+ '2')
|
|
Modify
|
|
3
|
19470
|
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10조 2 항 2호
2. 각 출구의 유효너비는 1.5미터 이상일 것
|
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항 2호
check(REFB_10_2_2){
Door myExit {
Door.Space.name = "individualSeats"
getFloorArea(Door.Space) >= 300
isObjectProperty(Door.isEntrance) = TRUE
}
getObjectWidth(myExit) >= 1.5m
}
|
SUCCESS
theater_code = '00000'
std_floor_area = 300
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 == '공연장'):
building.SUCESS('검토 대상 건물이 아닙니다.')
continue
for storey in building.SELECT('storey'):
for space in storey.SELECT('space'):
if space.SELECT('class code').STRING() != theater_code:
continue
if space.SELECT('area').UNIT(m2).NUMBER() < std_floor_area:
continue
door_w_total = 0
door_cnt = 0
for door in space.Select('door'):
door_cnt += 1
door_w = door.SELECT('width').Unit(m).number()
door_w_total += door_w
if door_w >= 1.5:
door.SUCCESS('출구의 너비' + door_w +'>= 1.5m')
else:
door.ERROR('출구의 너비' + door_w +'< 1.5m')
min_door_w_total = space.SELECT('area').UNIT(m2).NUMBER()
min_door_w_total = min_door_w_total/100*0.6
if door_w_total >= min_door_w_total :
space.SUCCESS('출구의 너비의 총합' + door_w_total +'>='+ min_door_w_total)
else:
space.ERROR('출구의 너비의 총합' + door_w_total +'<' + min_door_w_total)
if door_cnt >= 2:
space.SUCCESS('출구의 개수' + door_w_total +'>='+ '2')
else:
space.ERROR('출구의 개수' + door_w_total +'<'+ '2')
|
|
Modify
|
|
4
|
19471
|
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10조 2 항 3호
3. 개별 관람석 출구의 유효너비의 합계는 개별 관람석의 바닥면적 100제곱미터마다 0.6미터의 비율로 산정한 너비 이상으로 할 것
|
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항 3호
check(REFB_10_2_3){
Door myExit {
Door.Space.name = "individualSeats"
getFloorArea(Door.Space) >= 300
isObjectProperty(Door.isEntrance) = TRUE
}
getTotalObjectWidth(myExit) >= getFloorArea(myExit.Space)/100*0.6
}
|
SUCCESS
theater_code = '00000'
std_floor_area = 300
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 == '공연장'):
building.SUCESS('검토 대상 건물이 아닙니다.')
continue
for storey in building.SELECT('storey'):
for space in storey.SELECT('space'):
if space.SELECT('class code').STRING() != theater_code:
continue
if space.SELECT('area').UNIT(m2).NUMBER() < std_floor_area:
continue
door_w_total = 0
door_cnt = 0
for door in space.Select('door'):
door_cnt += 1
door_w = door.SELECT('width').Unit(m).number()
door_w_total += door_w
if door_w >= 1.5:
door.SUCCESS('출구의 너비' + door_w +'>= 1.5m')
else:
door.ERROR('출구의 너비' + door_w +'< 1.5m')
min_door_w_total = space.SELECT('area').UNIT(m2).NUMBER()
min_door_w_total = min_door_w_total/100*0.6
if door_w_total >= min_door_w_total :
space.SUCCESS('출구의 너비의 총합' + door_w_total +'>='+ min_door_w_total)
else:
space.ERROR('출구의 너비의 총합' + door_w_total +'<' + min_door_w_total)
if door_cnt >= 2:
space.SUCCESS('출구의 개수' + door_w_total +'>='+ '2')
else:
space.ERROR('출구의 개수' + door_w_total +'<'+ '2')
|
|
Modify
|
|
5
|
25220
|
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 11조 3 항
③영 제39조제1항의 규정에 의하여 건축물의 바깥쪽으로 나가는 출구를 설치하는 경우 관람석의 바닥면적의 합계가 300제곱미터 이상인 집회장 또는 공연장에 있어서는 주된 출구외에 보조출구 또는 비상구를 2개소 이상 설치하여야 한다.
|
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 3항
Check(REFB_11_3){
IF CS1 AND CS2 THEN KS
}
CS1 {
Building myBuilding{
getBuildingUsage() = “AssemblyHall”
OR getBuildingUsage() = “PerformanceHall”
}
Space mySpace{
myBuilding.Space.name = “Auditorium”
Space.FloorSlab.area >= 300 m2
}
isExist(mySpace) = TRUE
}
CS2 {
Door myDoor{
isObjectProperty(Door.isEntrance)=TRUE
}
hasObject(myBuilding,myDoor) = TRUE
}
KS {
Door myDoor{
getObjectProperty(Door.functionType) = "Auxiliary"
OR getObjectProperty(Door.functionType) = "Emergency"
}
getObjectCount(myDoor) >=2
}
|
Python Code 변환 예정
|
|
Modify
|
|
6
|
19718
|
건축법 시행령 제 53조 1 항 2호
2. 공동주택 중 기숙사의 침실, 의료시설의 병실, 교육연구시설 중 학교의 교실 또는 숙박시설의 객실 간 경계벽
|
// 건축법 시행령 53조 (경계벽 등의 설치) 1항 2호
check(EDBA_53_1_1){
KS
}
KS{
Space mySpace1{
Space.Building.usage = “MultiUnitHouse.Dormitory”
Space.name = “BedRoom”
}
Space mySpace1_1{
Space.Building.usage = “MultiUnitHouse.Dormitory”
Space.name != “BedRoom”
}
Space mySpace2{
Space.Building.usage = “MedicalFacility”
Space.name = “Ward”
}
Space mySpace2_1{
Space.Building.usage = “MedicalFacility”
Space.name != “Ward”
}
Space mySpace3{
Space.Building.usage = “EducationAndResearchFacility.School”
Space.name = “ClassRoom”
}
Space mySpace3_1{
Space.Building.usage = “EducationAndResearchFacility.School”
Space.name != “ClassRoom”
}
Space mySpace4{
Space.Building.usage = “LodgingFacility”
Space.name = “GuestRoom”
}
Space mySpace4_1
Space.Building.usage = “LodgingFacility”
Space.name != “GuestRoom”
}
Wall myWall1{
isObjectProperty(Wall.isPartitionWall)=TRUE
hasObject(mySpace1, Wall) =TRUE
}
Wall myWall2{
isObjectProperty(Wall.isPartitionWall)=TRUE
hasObject(mySpace2, Wall) =TRUE
}
Wall myWall3{
isObjectProperty(Wall.isPartitionWall)=TRUE
hasObject(mySpace3, Wall) =TRUE
}
Wall myWall4{
isObjectProperty(Wall.isPartitionWall)=TRUE
hasObject(mySpace4, Wall) =TRUE
}
(hasObject(mySpace1, myWall) =TRUE
hasObject(mySpace1_1, myWall) =FALSE)
OR
(hasObject(mySpace2, myWall) =TRUE
hasObject(mySpace2_1, myWall) =FALSE)
OR
(hasObject(mySpace3, myWall) =TRUE
hasObject(mySpace3_1, myWall) =FALSE)
OR
(hasObject(mySpace4, myWall) =TRUE
hasObject(mySpace4_1, myWall) =FALSE)
}
|
Python Code 변환 예정
|
|
Modify
|
|
7
|
19932
|
연결살수설비의 화재안전기준(NFSC 503) 제 5조 6 항
⑥가지배관 또는 교차배관을 설치하는 경우에는 가지배관의 배열은 토너멘트방식이 아니어야 하며, 가지배관은 교차배관 또는 주배관에서 분기되는 지점을 기점으로 한 쪽 가지배관에 설치되는 헤드의 개수는 8개 이하로 하여야 한다.
|
// 연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 6항
Check(NFSC503_5_6){
IF CS THEN KS
}
Pipe myPipe1{
isObjectProperty(Pipe.isBranchLines) = TRUE
}
Pipe myPipe2{
isObjectProperty(Pipe.isCrossMains) = TRUE
}
Pipe myPipe3{
isObjectProperty(Pipe.isRiser) = TRUE
}
CS{
isInstalled(myPipe1) = TRUE
OR isInstalled(myPipe2) = TRUE
}
KS{
Head myHead{
isInstalled(Head, myPipe1.DivergedSide.One) = TRUE
}
isObjectProperty(myPipe1.tournamentArrangement) = FALSE
getObjectCount(myHead) <= 8
}
|
Python Code 변환 예정
|
|
Modify
|
|
8
|
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
|
|
9
|
20013
|
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 14조 3호 가 목
가. 배출댐퍼는 두께 1.5㎜ 이상의 강판 또는 이와 동등 이상의 성능이 있는 것으로 설치하여야 하며 비 내식성 재료의 경우에는 부식방지 조치를 할 것
|
//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 14조 (수직풍도에 따른 배출) 3호 가목
Check(NFSC501A_14_0_1_가){
KS
}
KS{
Damper myDamper{
getObjectProperty(Damper.functionType)="배출댐퍼"
}
Material myMaterial{
}
getObjectProperty(myDamper.Material.name)="SteelPlate"
getObjectProperty(myDamper.Material.depth)>=1.5 mm
}
|
Python Code 변환 예정
|
|
Modify
|