Open BIM based Technological Environment for Building Design Quality Enhancement
1-2. 설계품질검증 자동화를 위한 각종 법규 및 제기준의 체계화된 논리규칙 데이터베이스 구축
- 건축물 설계품질 혁신을 위한 개방형 BIM 기술 환경 구축 | 국토교통부
3. 높이 31미터를 넘는 층수가 4개층이하로서 당해 각층의 바닥면적의 합계 200제곱미터(벽 및 반자가 실내에 접하는 부분의 마감을 불연재료로 한 경우에는 500제곱미터)이내마다 방화구획으로 구획한 건축물
//건축물의 설비기준 등에 관한 규칙 9조 (비상용승강기를 설치하지 아니할 수 있는 건축물) 3호
Check(RFB_9_0_3){
KS
}
KS{
getBuildingHeight()>31 m
getBuildingStoriesCount()<=4
IF isObjectProperty(Wall.InteriorFinish.Material.nonCombustibility)=TRUE
isObjectProperty(CeilingCovering.InteriorFinish.Material.nonCombustibility)=TRUE
THEN isFirePartition(Floor, a,500)=TRUE
ELSE THEN isFirePartition(Floor, a,200)=TRUE
END IF
}
1. 영 제46조제1항의 규정에 의하여 건축물에 방화구획이 설치된 경우에는 그 구획마다 1개소 이상의 배연창을 설치하되, 배연창의 상변과 천장 또는 반자로부터 수직거리가 0.9미터 이내일 것. 다만, 반자높이가 바닥으로부터 3미터 이상인 경우에는 배연창의 하변이 바닥으로부터 2.1미터 이상의 위치에 놓이도록 설치하여야 한다.
//건축물의 설비기준 등에 관한 규칙 14조 (배연설비) 1항 1호
Check(RFB_14_1_1){
IF (CS) THEN KS1 AND KS2
}
Zone myZone{
isObjectProperty(Zone.isFirePartition) = TRUE
}
CS{
isObjectProperty(Building.isFirePartition) = TRUE
}
KS1{
hasSpace(myZone, SmokeVentilator) = TRUE
getObjectVerticalDistance(SmokeVentilator, Ceiling) < 0.9 m
OR getObjectVerticalDistance(SmokeVentilator, CeilingCovering) < 0.9 m
}
KS2{
IF{
getSpaceHeight(myZone, b) >= 3 m
}
THEN{
getObjectVerticalDistance(SmokeVentilator, FloorSlab) >= 2.1 m
}
}
5. 거실의 벽 및 반자가 실내에 면하는 부분(반자돌림대ㆍ창대 그 밖에 이와 유사한 것을 제외한다. 이하 이 조에서 같다)의 마감은 불연재료ㆍ준불연재료 또는 난연재료로 하고, 그 거실로부터 지상으로 통하는 주된 복도ㆍ계단 그밖에 통로의 벽 및 반자가 실내에 면하는 부분의 마감은 불연재료 또는 준불연재료로 할 것
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 5호
Check(REFB_14-2_0_5){
KS
}
KS{
Object myObject{
getObject(Room.wall)
getObject(Room.CeilingCovering)
}
Corridor myCorridor{
isGoThrough(Room, Corridor, Ground )=True
}
Stair myStair{
isGoThrough(Room,Stair, Ground )=True
}
Passage myPassage{
isGoThrough(Room,Passage, Ground )=True
}
Space mySpace{
Space.usage==myCorridor.usage
OR Space.usage==myStair.usage
OR Space.usage=myPassage.usage
}
Object myObject2{
getObject(mySpace.wall)
getObject(mySpace.CeilingCovering)
}
( isObjectProperty(myObject.InteriorFinish.Material.nonCombustibility)=True
OR isObjectProperty(myObject.InteriorFinish.Material.quasiNonCombustibility)=True
OR isObjectProperty(myObject.InteriorFinish.Material.flameResistance)= True
)
isObjectProperty(myObject2.InteriorFinish.Material.nonCombustibility)=True
OR isObjectProperty(myObject2.InteriorFinish.Material.quasiNonCombustibility)=True
}
제24조(건축물의 마감재료) ①법 제52조제1항에 따라 영 제61조제1항 각 호의 건축물에 대하여는 그 거실의 벽 및 반자의 실내에 접하는 부분(반자돌림대ㆍ창대 기타 이와 유사한 것을 제외한다. 이하 이 조에서 같다)의 마감은 불연재료ㆍ준불연재료 또는 난연재료로 하여야 하며, 그 거실에서 지상으로 통하는 주된 복도ㆍ계단 기타 통로의 벽 및 반자의 실내에 접하는 부분의 마감은 불연재료 또는 준불연재료로 하여야 한다. <개정 2005.7.22., 2010.4.7., 2010.12.30.>
check(REFB_24_1){
KS}
KS{
(check(EDBA_61_1_1)=TRUE
OR check(EDBA_61_1_2)=TRUE
OR check(EDBA_61_1_3)=TRUE
OR check(EDBA_61_1_4)=TRUE)
OR check(EDBA_61_1_5)=TRUE)
OR check(EDBA_61_1_6)=TRUE)
OR check(EDBA_61_1_7)=TRUE)
AND (getObjectProperty(Room.Wall.Material.noncombustible)= TRUE
AND (getObjectProperty(CeilingCornice | WindowSill.Material.noncombustible)= TRUE
OR !(getObjectProperty(CeilingCornice | WindowSill.Material.noncombustiblel)= TRUE)
AND (isGoThrough(Room, Corridor | Stair | Passage,Ground)= TRUE
AND (isFireResistant(getWall(Corridor))=TRUE
AND isFireResistant(getWall(Stair))=TRUE
AND isFireResistant(getWall(Passage))=TRUE
AND isFireResistant(getObject(CeilingCovering))=TRUE)
}
②영 제61조제1항 각 호의 건축물 중 다음 각 호의 어느 하나에 해당하는 거실의 벽 및 반자의 실내에 접하는 부분의 마감은 제1항에도 불구하고 불연재료 또는 준불연재료로 하여야 한다. <개정 2003.1.6., 2005.7.22., 2006.6.29., 2010.4.7., 2010.12.30.>
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 24조 (건축물의 마감재료) 2항
check(REFB_24_2){
IF CS THEN KS
}
CS{
getResult(REFB_24_2_1)=TRUE
OR getResult(REFB_24_2_2)=TRUE
}
KS{
(isObjectProperty(CeilingCovering.InteriorFinish.Material.nonCombustibility)=TRUE
OR isObjectProperty(CeilingCovering.InteriorFinish.Material.quasiNonCombustibility)=TRUE )
(isObjectProperty(Room.Wall.InteriorFinish.Material.nonCombustibility)=TRUE
OR isObjectProperty(Room.Wall.InteriorFinish.Material.quasiNonCombustibility)=TRUE
)
}
2. 천장 또는 반자의 각 부분으로부터 하나의 살수헤드까지의 수평거리가 연결살수설비전용헤드의 경우은 3.7m 이하, 스프링클러헤드의 경우는 2.3m 이하로 할 것. 다만, 살수헤드의 부착면과 바닥과의 높이가 2.1m 이하인 부분은 살수헤드의 살수분포에 따른 거리로 할 수 있다.
// 연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 2항 2호
Check(NFSC503_6_2_2){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
Head myHead{
isObjectProperty(HookingUpSprinklerSystem.Head.isShared) = FALSE
}
isExist(myHead) = TRUE
}
KS1{
getObjectDistance(Ceiling, HookingUpSprinklerSystem.Head) <= 3.7m
OR getObjectDistance(CeilingCovering, HookingUpSprinklerSystem.Head) <= 3.7m
}
CS2{
isExist(SprinklerHead) = TRUE
}
KS2{
getObjectDistance(Ceiling, SprinklerSystem) <= 2.3m
OR getObjectDistance(CeilingCovering, SprinklerSystem) <= 2.3m
}
2. 교차배관에서 분기되는 지점을 기점으로 한쪽 가지배관에 설치되는 간이헤드의 개수(반자 아래와 반자속의 헤드를 하나의 가지배관 상에 병설하는 경우에는 반자 아래에 설치하는 헤드의 개수)는 8개 이하로 할 것. 다만, 다음 각 목의 어느 하나에 해당하는 경우에는 그러하지 아니하다.
3. 간이헤드를 설치하는 천장·반자·천장과 반자사이·덕트·선반 등의 각 부분으로부터 간이헤드까지의 수평거리는 2.3m(「스프링클러헤드의 형식승인 및 제품검사의 기술기준」 유효반경의 것으로 한다.) 이하가 되도록 하여야 한다. 다만, 성능이 별도로 인정된 간이헤드를 수리계산에 따라 설치하는 경우에는 그러하지 아니하다. <개정 2011.11.24, 2013.6.10>
4. 상향식간이헤드 또는 하향식간이헤드의 경우에는 간이헤드의 디플렉터에서 천장 또는 반자까지의 거리는 25㎜에서 102㎜ 이내가 되도록 설치하여야 하며, 측벽형간이헤드의 경우에는 102㎜에서 152㎜사이에 설치할 것 다만, 플러쉬 스프링클러헤드의 경우에는 천장 또는 반자까지의 거리를 102 ㎜ 이하가 되도록 설치할 수 있다.
// 간이스프링클러설비의 화재안전기준(NFSC 103A) 별표1 (간이헤드 수별 급수관의 구경) 1항
Check(NFSC103A_*_1){
getResult(NFSC103A_*_1_1) = TRUE
getResult(NFSC103A_*_1_2) = TRUE
getResult(NFSC103A_*_1_3) = TRUE
getResult(NFSC103A_*_1_4) = TRUE
}
Pipe myPipe{
getObjectProperty(Pipe.usage) = "WaterSupplyPipe"
}
Pipe myPipe2{
isObjectProperty(Pipe.isBranchLines) = TRUE
}
PD = getObjectProperty(Pipe.diameter)
SSHN = getObjectCount(SimpleSprinkler.Head.)
Check(NFSC103A_*_1_2){
IF CS THEN KS
}
CS{
Head myHead{
getObjectProperty(SimpleSprinkler.Head.openAndCloseType) = "EnclosedType"
}
isInstalled(myHead) = TRUE
}
KS{
IF PD = 25 THEN SSHN = 2
OR IF PD = 32 THEN SSHN = 3
OR IF PD = 40 THEN SSHN = 5
OR IF PD = 50 THEN SSHN = 10
OR IF PD = 65 THEN SSHN = 30
OR IF PD = 80 THEN SSHN = 60
OR IF PD = 100 THEN SSHN = 100
OR IF PD = 125 THEN SSHN = 160
OR IF PD = 150 THEN SSHN >= 161
}
Check(NFSC103A_*_1_3){
IF CS THEN KS
}
CS{
Head myHead1{
getObjectProperty(SimpleSprinkler.Head.openAndCloseType) = "EnclosedType"
}
isInstalled(myHead1) = TRUE
Head myHead2{
getObjectVerticalLocation(Head, CeilingCovering, ) < 0
}
Head myHead3{
isInstalled(Head, CeilingCovering.Inside) = TRUE
}
isInstalled(myHead2, myPipe2) = TRUE
isInstalled(myHead3, myPipe2) = TRUE
}
KS{
IF PD = 25 THEN SSHN = 2
OR IF PD = 32 THEN SSHN = 4
OR IF PD = 40 THEN SSHN = 7
OR IF PD = 50 THEN SSHN = 15
OR IF PD = 65 THEN SSHN = 30
OR IF PD = 80 THEN SSHN = 60
OR IF PD = 100 THEN SSHN = 100
OR IF PD = 125 THEN SSHN = 160
OR IF PD = 150 THEN SSHN >= 161
}