//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 1항
Check(REFB_9_1){
IF (CS1) THEN KS1 ELSE IF (CS2) THEN KS2
CS1{
Floor myFloor1 {
Floor.number > 5
OR Floor.number <= -2
}
Stair myStair1 {
isObjectProperty(Stair.isDirect) = TRUE
}
Floor myFloor2 {
isObjectProperty(Floor.isEscape)= TRUE
}
isGoThrough(myFloor1, myStair1, myFloor2)= TRUE
OR isGoThrough(myFloor1, myStair1, Ground) = TRUE
}
CS2{
Floor myFloor3 {
Floor.number >= 5
}
Stair myStair3 {
isObjectProperty(Stair.isDirect) = TRUE
(isGoThrough(myFloor3, myFloor2, Stair) = TRUE
OR isGoThrough(myFloor3, Ground, Stair) = TRUE)
}
Stair myStair2 {
Stair.Floor.number = -1
}
isDirectlyAccessible(myStair2, myStair3)=TRUE
KS1 {
(isObjectProperty(myStair1.isEscape) = TRUE
OR isObjectProperty(myStair1.isSpecialEscape) = TRUE)
}
KS2{
(isObjectProperty(myStair2.isEscape) = TRUE
OR isObjectProperty(myStair2.isSpecialEscape) = TRUE)
(isObjectProperty(myStair3.isEscape) = TRUE
OR isObjectProperty(myStair3.isSpecialEscape) = TRUE)
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 check (REFB_9_2){ getResult(REFB_9_2_1) = TRUE getResult(REFB_9_2_2) = TRUE getResult(REFB_9_2_3) = TRUE }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 check(REFB_9_2_1){ KS } KS{ getResult(REFB_9_2_1_1) = TRUE getResult(REFB_9_2_1_2) = TRUE getResult(REFB_9_2_1_4) = TRUE getResult(REFB_9_2_1_5) = TRUE getResult(REFB_9_2_1_6) = TRUE getResult(REFB_9_2_1_7) = TRUE }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 가목 check(REFB_9_2_1_1){ KS } KS{ Wall myWall{ hasElement(Stair.Space, Wall) = TRUE hasElement(Wall, Window) = FALSE hasElement(Wall, Door) = FALSE hasElement(Wall, Opening) = FALSE } Stair myStair{ isObjectProperty(Stair.isEscape)= TRUE }
isFireResistantStructure(myWall)= TRUE isPartitioned (myStair, 0, myWall) = TRUE }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 나목
check(REFB_9_2_1_2){
KS
}
KS{
isObjectProperty(Stair.Space.InteriorFinish.Material.nonCombustibility) = TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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;
}
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 마목 check(REFB_9_2_1_5){ KS } KS{
Opening myOpening3{ getObject(Opening)!= Door isConnectedToExternal(Opening) = FALSE hasElement(Stair.Space, Opening) = TRUE }
getObjectProperty(myOpening3.material)= “WireContainedGlass” getObjectProperty(myOpening3.type)= “FixedSashWindow” getObjectProperty(myOpening3.area)=< 1㎡ }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 바목
Check(REFB_9_2_1_6){
KS
}
KS {
Door myDoor{
isConnectedToExternal(Opening) = FALSE
}
Space mySpace{
isExternal(Space)=FALSE
}
isGoThrough(mySpace,myDoor,Stair.Space.) = TRUE
isObjectProperty(Door.effectiveWidth) >= 0.9m
isEgressDirection(Door) = TRUE;
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 사목 Check(REFB_9_2_1_7){ KS } KS { Floor myFloor { isObjectProperty(Floor.isEscape) = TRUE }
isFireResistantStructure(Stair) = TRUE (isDirectlyAccessible(Stair,myFloor)= TRUE OR isDirectlyAccessible(Stair,Ground) = TRUE) }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호
Check(REFB_9_2_2){
IF (CS) THEN KS
}
CS{
isExternal(Stair) = TRUE
isObjectProperty(Stair.isEscape) = TRUE
}
KS{
getResult(REFB_9_2_2_1)=TRUE
getResult(REFB_9_2_2_2)=TRUE
getResult(REFB_9_2_2_3)=TRUE
getResult(REFB_9_2_2_4)=TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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;
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 나목 check(REFB_9_2_2_2){ IF (CS) THEN KS } CS { Space mySpace{ isExternal(Space)=FALSE } Door myDoor{ isGoThrough(mySpace,Door,Stair) = TRUE } isExist(myDoor) = TRUE }
KS { isObjectProperty(myDoor.strictFireproofDoor) = TRUE }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 다목 check(REFB_9_2_3){ KS } KS { getObjectProperty(Stair.effectiveWidth)>= 0.9m }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 라목
check(REFB_9_2_2_4){
KS
}
KS {
isObjectProperty(Stair.isFireResistantStructure) = TRUE
isAccessible(Stair, Ground)= TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 check (REFB_9_2_3){ IF (CS) THEN KS } CS{ isObjectProperty(Stair.isSpecialEscape) = TRUE } KS{ getResult(REFB_9_2_3_1)=TRUE getResult(REFB_9_2_3_2)=TRUE getResult(REFB_9_2_3_3)=TRUE getResult(REFB_9_2_3_5)=TRUE getResult(REFB_9_2_3_6)=TRUE getResult(REFB_9_2_3_7)=TRUE getResult(REFB_9_2_3_8)=TRUE getResult(REFB_9_2_3_9)=TRUE getResult(REFB_9_2_3_10)=TRUE getResult(REFB_9_2_3_11)=TRUE }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 가목
check (REFB_9_2_3_1){
CS THEN KS
}
CS {
isExist(Stair.Space) = TRUE
}
KS {
Window myWindow {
getObjectProperty(Window.area)>= 1 m2
isObjectProperty(Window.isExternalDirection) = TRUE
getElementDistance(Window, FloorSlab, a)>=1m
}
SmokeExhaustionSystem mySmokeExhaustionSystem {
getElement(SmokeExhaustionSystem)
getResult(RFB_14)=TRUE
}
Space mySpace1{
getSpace(“Balcony”)
}
Space mySpace2{
isExternal(Space)=FALSE
}
Space mySpace3{
getSpace(“AncillaryRoom”)
getFloorArea(Space.Floor, ) >= 3㎡
hasElement(Space,mySmokeExhaustionSystem) = TRUE
hasElement(Space,myWindow) = TRUE
}
isGoThrough(mySpace2,Stair.Space, ,mySpace1)
OR isGoThrough(mySpace2,Stair.Space, ,mySpace3)
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 나목 check (REFB_9_2_3_2){ IF (CS) TEHN KS }
CS{ Space mySpace { getSpace(Stair.Space) getSpace(“Balcony”) getSpace(“AncillaryRoom”) } isExist(mySpace)=TRUE }
KS{ Wall myWall { getObjectProperty(Wall.isFireResistantStructure = TRUE } isPartitioned(mySpace, 0, myWall)= TRUE }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 다목 check (REFB_9_2_3_3){ CS TEHN KS }
CS{ Space mySpace { getSpace(Stair.Space) getSpace(“AncillaryRoom”) } isExist(mySpace)=TRUE }
KS{ }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 바목
check (REFB_9_2_3_6){
CS TEHN KS
}
CS{
isExist(Stair.Space)=TRUE
KS{
Space mySpace1{
getSpace(“Balcony”)
getSpace(“AncillaryRoom”)
hasObject(Stair.Space, Space)=TRUE
}
Space mySpace2{
isExternal(Space)=FALSE
}
Opening myOpening {
getObject(Stair.Space.Opening) + getObject(mySpace2.Opening) + getObject(mySpace1.Opening)
}
hasSpace(Stair.Space, myOpening) = TRUE
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 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㎡
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 아목
check (REFB_9_2_3_8){
IF (CS) TEHN KS
}
CS{
Space mySpace1 {
getSpace(“Balcony”)
getSpace(“AncillaryRoom”)
}
isExist(mySpace1)=TRUE
}
KS{
Space mySpace2{
isExternal(Space)=FALSE
}
Opening myOpening {
getObject(mySpace2.Opening)
getObject(Stair.Space.Opening)
}
hasSpace(mySpace1,myOpening)= FALSE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 자목
check (REFB_9_2_3_9){
IF(CS1) THEN KS1 OR (CS2) TEHN KS2
}
Space mySpace1 {
isExternal(Space)=FALSE
}
Space mySpace2 = getSpace(“Balcony”) + getSpace(“AncillaryRoom”)
CS1{
isGoThrough(mySpace1,Door,mySpace2) = TRUE
}
KS1 {
isObjectProperty(Door.isStrictFireproofDoor)= TRUE
}
CS2{
isGoThrough(mySpace2,Door,Stair.Space) = TRUE
}
KS2{
isObjectProperty(Door.isFireproofDoor)= TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 차목
check (REFB_9_2_3_10){
KS
}
KS{
Floor myFloor {
isObjectProperty(Floor.isEscape) =TRUE
isObjectProperty(Stair.isFireResistantStructure) = TRUE
isAccessible(Stair,myFloor)=TRUE
OR isAccessible(Stair,Ground)=TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 카목
check (REFB_9_2_3_카){ KS }
KS{ getObjectProperty(Door.effectiveWidth) >= 0.9m isObjectProperty(Door.isEscapeDirection)=TRUE }
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 3항
Check(REFB_9_3) {
KS
}
KS {
Stair myStair1{
isObjectProperty(Stair.isEscape)=TRUE
OR isObjectProperty(Stair.isSpecialEscape)=TRUE
}
Space mySpace{
getObjectProperty(Space.usage) = “RooftopPlaza”
}
hasObject(Rooftop, mySpace)=TRUE
}
Stair myStair2{
hasObject(mySpace.Building,myStair1)=TRUE
}
getObjectProperty(myStair.type)!= “WindingStair”
isAccessible(myStair2,mySpace)=TRUE
isEgressDirection(mySpace.Door) = TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 4항 Check(REFB_9_4) { KS } Building myBuilding{ Building.usage = “SideCorridorTypeMultiUnitHouse” }
Space mySpace = getSpace(“Corridor”) isConnectedToExternal(mySpace)=TRUE
|