1
25194
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 라 목
라. 계단실의 바깥쪽과 접하는 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터 이하인 것을 제외한다)은 당해 건축물의 다른 부분에 설치하는 창문등으로부터 2미터 이상의 거리를 두고 설치할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 라목
check(REFB_9_2_1_4){
IF (CS1 AND CS2) THEN KS
}
CS1 {
Opening myOpening1{
isConnectedTo(Stair.Space, Opening) = TRUE
getObjectProperty(Opening.material)= “WireContainedGlass”
getObjectProperty(Window.panelOperationType )= “FixedSashWindow”
getObjectProperty(Opening.area)=< 1㎡
}
CS2 {
Opening myOpening2{
getObject(Opening) != myOpening1
}
KS{
getElementDistance(myOpening1, myOpening2, a)>=2m;
}
}
Python Code 변환 예정
Modify
2
25199
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 2호 가 목
가. 계단은 그 계단으로 통하는 출입구외의 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터 이하인 것을 제외한다)으로부터 2미터 이상의 거리를 두고 설치할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 가목
check(REFB_9_2_2_1){
IF (CS) THEN KS
}
CS {
Opening myOpening1{ getObjectProperty(Opening.material)= “WireContainedGlass”
getObjectProperty(Window.panelOperationType )= “FixedSashWindow”
getObjectProperty(Opening.area)=< 1㎡
}
Door myDoor {
isAccessible(Stair, Door)=TRUE
}
Opening myOpening2{
getObject(Opening) != myOpening1
getObject(Opening) != myDoor
}
isExist(myOpening2) = TRUE
}
KS{
getElementDistance(Stair, myOpening2, a)>=2m;
}
Python Code 변환 예정
Modify
3
25208
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 3호 마 목
마. 계단실·노대 또는 부속실에 설치하는 건축물의 바깥쪽에 접하는 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터이하인 것을 제외한다)은 계단실·노대 또는 부속실외의 당해 건축물의 다른 부분에 설치하는 창문등으로부터 2미터 이상의 거리를 두고 설치할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 마목
check (REFB_9_2_3_5){
CS TEHN KS
}
CS{
Space mySpace {
getSpace(Stair.Space)
getSpace(“Balcony”)
getSpace(“AncillaryRoom”)
}
Opening myOpening1 {
hasElement(mySpace,Opening)=TRUE
isConnectedToExternal(Opening) = TRUE
Opening myOpening2 {
getObjectProperty(Opening.material)= “WireContainedGlass”
getObjectProperty(Window.panelOperationType )= “FixedSashWindow”
getObjectProperty(Opening.area)=< 1㎡
}
Opening myOpening3{
getObject(myOpening1)-getObject(myOpening2)
}
isExist(myOpening3)=TRUE
KS{
Opening myOpening4{
getObject(Opening)-getObject(myOpening3)
}
getElementDistance(myOpening3, myOpening4, a)>=2m
}
Python Code 변환 예정
Modify
4
25210
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 3호 사 목
사. 계단실의 노대 또는 부속실에 접하는 창문등(출입구를 제외한다)은 망이 들어 있는 유리의 붙박이창으로서 그 면적을 각각 1제곱미터 이하로 할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 사목
check (REFB_9_2_3_7){
CS TEHN KS
}
CS{
Space mySpace {
getSpace(“Balcony”)
getSpace(“AncillaryRoom”)
hasObject(Stair.Space,Space)=TRUE
}
Opening myOpening {
getObject(mySpace.Opening)
}
isExist(myOpening)=TRUE
}
KS{
getObjectProperty(myOpening.material)= “WireContainedGlass”
getObjectProperty(Window.panelOperationType )= “FixedSashWindow”
getObjectProperty(myOpening.area)=< 1㎡
}
Python Code 변환 예정
Modify
5
37385
건축법 시행령 제 51조 3 항
③ 법 제49조제2항에 따라 오피스텔에 거실 바닥으로부터 높이 1.2미터 이하 부분에 여닫을 수 있는 창문을 설치하는 경우에는 국토해양부령으로 정하는 기준에 따라 추락방지를 위한 안전시설을 설치하여야 한다. <신설 2009.7.16>
// 건축법 시행령 51조 (거실의 채광 등) 3항
check(EDBA_51_3){
IF CS THEN KS
}
CS{
Window myWindow{
getObjectProperty(Window.panelOperationType ) = "SwingingWindow"
}
getBuildingUsage() = "Officetels.Room"
getElementHeight(myWindow) <= 1.2 m
}
KS{
isExist(FallPreventionSafetyFacility) = TRUE
getResult(REFB_17_4) = TRUE
}
min_win_h = 1.2
min_rail_h = 1.2
min_win_h_label = '기준 창문 높이'
min_rail_h_label = '최소 난간 높이'
def Check():
for building in SELECT('building'):
bldg_use = building.SELECT('building type').STRING()
sub_use = building.SELECT('prop', '세부용도').STRING()
if not (bldg_use == '업무시설' and sub_use == '오피스텔'):
continue
for space in building.SELECT('space'):
for win in space.SELECT('window'):
if win.SELECT('lower edge height').UNIT('m').NUMBER() > min_win_h:
continue
for railing in win.SELECT('railing'):
height = railing.SELECT('height').UNIT('m')
h = height.NUMBER()
if h < min_rail_h:
height.ERROR('난간 높이: ' + str(h) + 'm(< ' + str(min_rail_h) + 'm)')
else:
height.SUCCESS('난간 높이: ' + str(h) + 'm(>= ' + str(min_rail_h) + 'm)')
return
win.ERROR('난간이 존재하지 않습니다.')
Modify