Open BIM based Technological Environment for Building Design Quality Enhancement
1-2. 설계품질검증 자동화를 위한 각종 법규 및 제기준의 체계화된 논리규칙 데이터베이스 구축
- 건축물 설계품질 혁신을 위한 개방형 BIM 기술 환경 구축 | 국토교통부
②가스보일러에 의한 난방설비를 설치하고 가스를 중앙집중공급방식으로 공급하는 경우에는 제1항의 규정에 불구하고 가스관계법령이 정하는 기준에 의하되, 오피스텔의 경우에는 난방구획마다 내화구조로 된 벽·바닥과 갑종방화문으로 된 출입문으로 구획하여야 한다. <신설 1999.5.11.>
// 건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 2항
Check(RFB_13_2){
IF CS THEN KS
}
CS{
getBuildingUsage() = "Officetel"
}
KS{
Wall myWall{
isObjectProperty(Wall.isfireResistantStructure)
}
FloorSlab myFloorSlab{
isObjectProperty(FloorSlab.isFireResistantStructure) = TRUE
}
Door myDoor{
isObjectProperty(Door.isStrictFireproofDoor) = TRUE
}
Zone myZone{
isObjectProperty(Zone.isHeatingSection) = TRUE
}
isPartitioned(myZone, myWall) = TRUE
OR isPartitioned(myZone, myFloorSlab) = TRUE
OR isPartitioned(myZone, myDoor) = TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 가목
Check (REFB_3_0_1_가){
KS
}
KS{
getObjectProperty(Wall.Structure.materialType) = "ReinforcedConcrete" OR "SteelFramedReinforcedConcrete"
getWallThickness(Wall) >= 10cm
}
다. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 5센티미터 이상인 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 다목
Check (REFB_3_0_1_다){
IF CS THEN KS
}
CS{
getObjectProperty(Wall.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
KS{
getObjectThickness(Wall.Structure) >= 5cm
}
마. 고온ㆍ고압의 증기로 양생된 경량기포 콘크리트패널 또는 경량기포 콘크리트블록조로서 두께가 10센티미터 이상인 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 마목
Check (REFB_3_0_1_마){
KS
}
KS{
getObjectProperty(Wall.Structure.materialType) = "AeratedConcretePanel" OR "AeratedConcreteBlock"
getObjectThickness(Wall.Structure) >= 10cm
}
나. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 5센티미터 이상인 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 다목
Check (REFB_3_0_4_나){
IF CS THEN KS
}
CS{
getObjectProperty(FloorSlab.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
KS{
getObjectThickness(FloorSlab.Structure) >= 5cm
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호 나목
Check (REFB_3_0_6_나){
IF CS THEN KS
}
CS{
getObjectProperty(Roof.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호 다목
Check (REFB_3_0_6_다){
IF CS THEN KS
}
CS{
getObjectProperty(Roof.Structure.materialType) = "GlassBlock" OR "WiredSheetGlass"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 나목
Check (REFB_3_0_7_나){
KS
}
KS{
getObjectProperty(Stair.Structure.materialType) = "PlainConcrete" OR "ConcreteBlock" OR "Brick" OR "Stone"
}
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 다목
Check (REFB_3_0_7_다){
IF CS THEN KS
}
CS{
getObjectProperty(Stair.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
제8조의2(피난안전구역의 설치기준) ① 영 제34조제3항 및 제4항에 따라 설치하는 피난안전구역(이하 "피난안전구역"이라 한다)은 해당 건축물의 1개층을 대피공간으로 하며, 대피에 장애가 되지 아니하는 범위에서 기계실, 보일러실, 전기실 등 건축설비를 설치하기 위한 공간과 같은 층에 설치할 수 있다. 이 경우 피난안전구역은 건축설비가 설치되는 공간과 내화구조로 구획하여야 한다. <개정 2012.1.6.>
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (피난안전구역의 설치기준) 1항
check(REFB_8-2_1){
KS1 AND IF CS THEN KS2
}
Zone myZone{
isObjectProperty(Zone.isEgressSafetyZone) = TRUE
}
Space mySpace{
hasSpace(Space, FacilitiesOfABuilding)
}
Structure myStructure{
isObjectProperty(Space.isfireResistantStructure) = TRUE
}
KS1{
BSC = getBuildingStoriesCount()
getFloorNumber(myZone) <= BSC
}
CS{
getFloorNumber(mySpace) = getFloorNumber(myZone)
}
KS2{
isPartitioned(myZone, myStructure, mySpace) = TRUE
}
제34조(직통계단의 설치) ① 건축물의 피난층(직접 지상으로 통하는 출입구가 있는 층 및 제3항과 제4항에 따른 피난안전구역을 말한다. 이하 같다) 외의 층에서는 피난층 또는 지상으로 통하는 직통계단(경사로를 포함한다. 이하 같다)을 거실의 각 부분으로부터 계단(거실로부터 가장 가까운 거리에 있는 계단을 말한다)에 이르는 보행거리가 30미터 이하가 되도록 설치하여야 한다. 다만, 건축물(지하층에 설치하는 것으로서 바닥면적의 합계가 300제곱미터 이상인 공연장ㆍ집회장ㆍ관람장 및 전시장은 제외한다)의 주요구조부가 내화구조 또는 불연재료로 된 건축물은 그 보행거리가 50미터(층수가 16층 이상인 공동주택은 40미터) 이하가 되도록 설치할 수 있으며, 자동화 생산시설에 스프링클러 등 자동식 소화설비를 설치한 공장으로서 국토교통부령으로 정하는 공장인 경우에는 그 보행거리가 75미터(무인화 공장인 경우에는 100미터) 이하가 되도록 설치할 수 있다. <개정 2009.7.16., 2010.2.18., 2011.12.30., 2013.3.23.>
// 건축법 시행령 34조 (직통계단의 설치) 1항
Check(EDBA_34_1){
KS
}
KS{
Floor myFloor{
isObjectProperty(Floor.isEscape) = TRUE
}
Space mySpace{
getObjectProperty(Space.usage)="PerformanceHall"
OR getObjectProperty(Space.usage)="AssemblyHall"
OR getObjectProperty(Space.usage)="Auditorium"
OR getObjectProperty(Space.usage)="ExhibitionHall"
}
Door myDoor{
isDirectlyAccessible(Door, Ground)=TRUE
}
Stair myStair{
isObjectProperty(Stair.isDirect)=TRUE
isAccessible(Stair,myFloor)=TRUE
OR isAccessible(Stair,Ground)=TRUE
}
Ramp myRamp{
isAccessible(Ramp,myFloor)=TRUE
OR isAccessible(Ramp,Ground)=TRUE
}
Floor myFloor2{
isObjectProperty(Floor.isEscape)=FALSE
OR hasObject(Floor, myDoor)=FALSE
}
Zone myZone{
isDirectlyAccessible(myStair, Zone)=FALSE
}
IF
getFloorNumber(mySpace)>0
getFloorArea(mySpace)<=300 m2
isFireResistantStructure(MainStructuralPart)=TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE
THEN IF getBuildingStoriesCount()>=16
getBuildingUsage()="MultiUnitHouse"
THEN ED= 40
ELSE THEN ED=50
END IF
ELSE IF
getBuildingUsage() = "Factory"
isExist(ExtinguishingSystem)=TRUE
isObjectProperty(ExtinguishingSystem.isAutomatic)=TRUE
getResult(REFB_8_2)=TRUE
THEN IF getBuildingUsage() = "UnmannedFactory"
THEN ED=100
ELSE THEN ED=75
END IF
ELSE THEN ED=30
END IF
(hasObject(myFloor,myStair)=TRUE
hasObject(myZone, myStair)=TRUE
getObjectDistance(Room,myStair, 1)<=ED)
OR
(hasObject(myFloor,myRamp)=TRUE
hasObject(myZone, myRamp)=TRUE
getObjectDistance(Room,myRamp, 1)<=ED)
}
제35조(피난계단의 설치) ① 법 제49조제1항에 따라 5층 이상 또는 지하 2층 이하인 층에 설치하는 직통계단은 국토교통부령으로 정하는 기준에 따라 피난계단 또는 특별피난계단으로 설치하여야 한다. 다만, 건축물의 주요구조부가 내화구조 또는 불연재료로 되어 있는 경우로서 다음 각 호의 어느 하나에 해당하는 경우에는 그러하지 아니하다. <개정 2008.10.29., 2013.3.23.>
//건축법 시행령 35조(피난계단의 설치) 1항
Check(EDBA_35_1){
IF (!CS1 AND !CS2 AND CS3) THEN KS
}
CS1 {
isFireProofStructure(MainStructuralPart) = TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility) = TRUE
}
CS2 {
getResult(EDBA_35_1_1) = TRUE
OR getResult(EDBA_35_1_2) = TRUE
}
CS3{
Floor myFloor {
Floor.number > 5
OR Floor.number <= -2
}
Stair myStair {
isObjectProperty(Stair.isDirect) = TRUE
}
hasElement(myFloor, myStair) = TRUE
}
KS {
isObjectProperty(myStair.isEscape) = TRUE
OR isObjectProperty(myStair.isSpecialEscape) = TRUE
}
제46조(방화구획의 설치) ① 법 제49조제2항에 따라 주요구조부가 내화구조 또는 불연재료로 된 건축물로서 연면적이 1천 제곱미터를 넘는 것은 국토교통부령으로 정하는 기준에 따라 내화구조로 된 바닥ㆍ벽 및 제64조에 따른 갑종 방화문(국토교통부장관이 정하는 기준에 적합한 자동방화셔텨를 포함한다. 이하 이 조에서 같다)으로 구획(이하 "방화구획"이라 한다)하여야 한다. 다만, 「원자력안전법」 제2조에 따른 원자로 및 관계시설은 「원자력안전법」에서 정하는 바에 따른다. <개정 2011.10.25., 2013.3.23.>
//건축법 시행령 46조 (방화구획의 설치) 1항
Check(EDBA_46_1){
IF (!CS1 AND CS2) THEN KS
}
CS1{
getBuildingUsage()="NuclearReactorAndRelatedFacility"
}
CS2{
(isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE))
AND Building.grossFloorArea>1000 m2
}
KS{
Floor myFloor{
isObjectProperty(FloorSlab.isFireResistantStructure)=TRUE
}
Wall myWall{
isObjectProperty(Wall.isFireResistantStructure)=TRUE
}
Door myDoor{
isObjectProperty(Door.isStrictFireproofDoor)=TRUE
}
isFirePartition(Building, myFloor)=TRUE
AND isFirePartition(Building, myWall)=TRUE
AND isFirePatrition(Building, myDoor)=TRUE
AND getResult(REFB_14_1)=TRUE
AND getResult(REFB_14_2)=TRUE
AND getResult(REFB_14_3)=TRUE
}
⑤ 제4항에도 불구하고 아파트의 4층 이상인 층에서 발코니에 다음 각 호의 어느 하나에 해당하는 구조 또는 시설을 설치한 경우에는 대피공간을 설치하지 아니할 수 있다. <개정 2010.2.18., 2013.3.23., 2014.8.27.>
//건축법 시행령 46조 (방화구획의 설치) 5항
Check(EDBA_5){
CS
}
Space mySpace{
Space.isEscape = TRUE
}
CS{getObjectProperty(Building.usage)="ApartmentHouses"
AND isExist(Balcony)=TRUE
AND (hasObject(Balcony,Structure)=TRUE
AND (getResult(EDBA_5_1)=TRUE
or getResult(EDBA_5_2)=TRUE
or getResult(EDBA_5_3)=TRUE)
AND isExist(mySpace)=FALSE
}
제56조(건축물의 내화구조) ① 법 제50조제1항에 따라 다음 각 호의 어느 하나에 해당하는 건축물(제5호에 해당하는 건축물로서 2층 이하인 건축물은 지하층 부분만 해당한다)의 주요구조부는 내화구조로 하여야 한다. 다만, 연면적이 50제곱미터 이하인 단층의 부속건축물로서 외벽 및 처마 밑면을 방화구조로 한 것과 무대의 바닥은 그러하지 아니하다. <개정 2009.6.30., 2010.2.18., 2010.8.17., 2013.3.23., 2014.3.24.>
//건축법 시행령 56조 (건축물의 내화구조) 1항
check(EDBA_56_1){
IF !CS THEN KS
}
Space mySpace{
Space.usage="StagePart"
}
Floor myFloor{
hasSpace(mySpace, Floor) = TRUE
}
CS {
getTotalFloorArea()<= 50m2
AND getBuildingStoriesCount()=1
AND getBuildingUsage()="AccessoryBuidling"
AND isFireProofStructure("OuterWall" | "eaves" | myFloor)=TRUE
}
KS {
getResult(EDBA_56_1_1 = TRUE
OR getResult(EDBA_56_1_2) = TRUE
OR getResult(EDBA_56_1_3) = TRUE
OR getResult(EDBA_56_1_4) = TRUE
OR getResult(EDBA_56_1_5) = TRUE
AND isFireProofStructure(MainStructuralPart) = TRUE
}
제57조(대규모 건축물의 방화벽 등) ① 법 제50조제2항에 따라 연면적 1천 제곱미터 이상인 건축물은 방화벽으로 구획하되, 각 구획된 바닥면적의 합계는 1천 제곱미터 미만이어야 한다. 다만, 주요구조부가 내화구조이거나 불연재료인 건축물과 제56조제1항제5호 단서에 따른 건축물 또는 내부설비의 구조상 방화벽으로 구획할 수 없는 창고시설의 경우에는 그러하지 아니하다.
// 건축법 시행령 57조 ( 대규모 건축물의 방화벽 등) 1항
Check(EDBA_57_1){
IF (CS1 AND CS2) THEN KS
}
CS1{
getObjectProperty(MainStructuralPart.isFireResistantStructure) = TRUE
OR getObjectProperty(MainStructuralPart.Material.nonCombustibility) = TRUE
OR getResult(EDBA_56_1_5) = TRUE
}
CS2{
getObjectProperty(Building.grossFloorArea) >= 1000m2
}
KS{
Space mySpace{
getFloorArea(Space) < 1000m2
}
Space mySpace2{
Space != mySpace
}
Wall myWall{
isObjectProperty(Wall.isFireProofWall) = TRUE
}
isPartitioned(mySpace, mySpace2, myWall) = TRUE
}
제61조(건축물의 마감재료) ①법 제52조제1항에서 "대통령령으로 정하는 용도 및 규모의 건축물"이란 다음 각 호의 어느 하나에 해당하는 건축물을 말한다. 다만, 그 주요구조부가 내화구조 또는 불연재료로 되어 있고 그 거실의 바닥면적(스프링클러나 그 밖에 이와 비슷한 자동식 소화설비를 설치한 바닥면적을 뺀 면적으로 한다. 이하 이 조에서 같다) 200제곱미터 이내마다 방화구획이 되어 있는 건축물은 제외한다. <개정 2009.7.16., 2010.2.18., 2010.12.13., 2013.3.23., 2014.3.24., 2014.8.27., 2014.10.14.>
//건축법 시행령 61조 (건축물의 마감재료) 1항
Check(EDBA_61_1){
IF !CS THEN KS
}
CS{
(isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE)
isFirePartition(Room.Floor, a, 200)=TRUE
}
KS{
getResult(EDBA_61_1_1)=TRUE
OR getResult(EDBA_61_1_2)=TRUE
OR getResult(EDBA_61_1_3)=TRUE
OR getResult(EDBA_61_1_4)=TRUE
OR getResult(EDBA_61_1_5)=TRUE
OR getResult(EDBA_61_1_6)=TRUE
OR getResult(EDBA_61_1_7)=TRUE
}
1. 제2종 근린생활시설 중 공연장·종교집회장·인터넷컴퓨터게임시설제공업소(해당 용도로 쓰는 바닥면적의 합계가 각각 300제곱미터 이상인 경우만 해당한다), 문화 및 집회시설(예식장은 제외한다), 종교시설, 판매시설, 운수시설 및 위락시설(단란주점 및 주점영업은 제외한다)의 용도로 쓰는 건축물로서 그 용도로 쓰는 거실의 바닥면적의 합계가 200제곱미터(주요구조부가 내화구조 또는 불연재료로 된 건축물의 경우에는 400제곱미터) 이상인 건축물
Check(EDBA_61_1_1){
IF CS THEN KS
}
Floor myfloor1 {
isObjectProperty(ClassIINeighborhoodLivingFacility.PerformanceHall)=TRUE
OR isObjectProperty(ClassIINeighborhoodLivingFacility.ReligiousAssemblyFacility)=TRUE
OR isObjectProperty(ClassIINeighborhoodLivingFacility.ReligiousAssemblyFacility)=TRUE
AND getFloorArea()>=300
}
CS{
isExist(myfloor1)=TRUE
OR(getBuildingUsage()= "CulturalAndAssemblyFacility"
AND getBuildingUsage()!= "CulturalAndAssemblyFacility.WeddingHall")
OR getBuildingUsage()= "ReligiousFacility"
OR getBuildingUsage()= "CommercialFacility"
OR getBuildingUsage()= "TransportationFacility"
OR (getBuildingUsage()= "AmusementFacility"
OR (getBuildingUsage()!= "AmusementFacility.Pubs"
AND getBuildingUsage()!= "AmusementFacility.BarBusiness")
}
KS{
getFloorArea(Room)>=200m2
OR (isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE
getFloorArea(Room)>=400m2
}
2. 단독주택 중 다중주택·다가구주택, 공동주택, 제2종 근린생활시설 중 학원·독서실·다중생활시설, 숙박시설, 의료시설, 교육연구시설 중 학원, 노유자시설 중 아동 관련 시설·노인복지시설, 수련시설 중 유스호스텔, 업무시설 중 오피스텔 및 장례식장의 용도로 쓰는 건축물로서 3층 이상인 층의 그 용도로 쓰는 거실의 바닥면적의 합계가 200제곱미터(주요구조부가 내화구조 또는 불연재료로 된 건축물의 경우에는 400제곱미터) 이상인 건축물
Check(EDBA_61_1_2){
IF CS THEN KS1 OR KS2}
Building myBuilding{
getBuildingUsage()="DetachedHouse.Multi-userHouses"
OR getBuildingUsage()="DetachedHouse.Multi-familyHouses"
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.EducationalInstitute"
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.ReadingRooms
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.CommunalLivingFacility
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.LodgingFacility"
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility.MedicalFacility"
OR getBuildingUsage()="EducationAndResearchFacility.EducationalInstitute"
OR getBuildingUsage()="BusinessFacility.Oofficetels"
OR getBuildingUsage()="FuneralParlors"
}
MBU = getObjectUsage(myBuilding)
CS{
getBuildingUsage() = MBU
Floor myfloor{
Floor.number>=3
}
KS1{
(Floor.number>=3
AND getTotalfloorarea(Room)>=200m2)
KS2{isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE
OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE
AND Floor.number>=3
getTotalfloorarea(Room)>=200m2
}
제51조(방화지구 안의 건축물) ① 「국토의 계획 및 이용에 관한 법률」 제37조제1항제4호에 따른 방화지구(이하 "방화지구"라 한다) 안에서는 건축물의 주요구조부와 외벽을 내화구조로 하여야 한다. 다만, 대통령령으로 정하는 경우에는 그러하지 아니하다. <개정 2014.1.14.>
//건축법 51조 (방화지구 안의 건축물) 1항
Check(BA_51_1){
IF (!CS1 AND CS2) THEN KS
}
CS1{
getResult(EDBA_58)=True
}
CS2{
getResult(LPUA_37_1_4)=True
}
KS{
Wall myWall{
isObjectProperty(Wall.isExternal)=True
}
isFireResistantStructure(MainStructure) = TRUE
isFireResistantStructure(myWall) = TRUE
}
제9조의3(건축물의 규모제한) ① 주요구조부(바닥·지붕틀 및 주계단은 제외한다. 이하 이 조에서 같다)가 목구조인 건축물은 지붕높이 18미터 이하, 처마높이 15미터 이하 및 연면적 3,000제곱미터 이하로 하여야 한다. 다만, 스프링클러를 설치하는 경우에는 연면적을 6,000제곱미터까지 허용할 수 있다.
제28조(적용범위) ①이 절의 규정은 벽돌구조·돌구조·콘크리트블록구조 그 밖의 조적식구조(보강블록구조를 제외한다. 이하 이 절에서 같다)의 건축물이나 조적식구조와 목구조 그 밖의 구조를 병용하는 건축물의 조적식구조로 된 부분에 이를 적용한다.
//건축물의 구조기준 등에 관한 규칙 28조 (적용범위 등) 1항
Check(RSSB_28_1){
getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
(getObjectProperty(Building.Structure.materialType) = "Brick" OR "Stone" OR "ConcreteBlock")
OR (isObjectProperty(Building.Structure.isMansoryStructure) = TRUE
getObjectProperty(Building.Structure.materialType) != "SteelReinforcedConcreteBlock")
}
//건축물의 구조기준 등에 관한 규칙 32조 (내력벽의 두께) 2항
Check(RSSB_32_2){
getResult(RSSB_32_7) = TRUE AND getResult(RSSB_32_3) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS {
getResult(RSSB_33_3)=True
}
KS{
//HW means Height of wall
Wall myWall{
isObjectProperty(Wall.isLoadBearingWall) = TRUE
}
HW=getObjectHeight(myWall)
IF isObjectProperty(Wall.Structure.isMansoryStructure)=TRUE
IF getBuildingHeight()<5 m
IF getFloorNumber(myWall)=1
IF getObjectLength(myWall)<8 m
THEN getObjectThickness(myWall)>= 150 mm
ELSE THEN getObjectThickness(myWall)>= 190 mm
END IF
END IF
ELSE IF getBuildingHeight()>=5 m
getBuildingHeight()<11 m
getFloorNumber(myWall)=1
OR getFloorNumber(myWall)=2
THEN getObjectThickness(myWall)>= 190 mm
ELSE IF getBuildingHeight()>=11 m
IF getObjectLength(myWall)<8 m
getFloorNumber(myWall)=1
OR getFloorNumber(myWall)=2
THEN getObjectThickness(myWall)>=190 mm
ELSE IF getFloorNumber(myWall)=1
THEN getObjectThickness(myWall)>=290 mm
ELSE IF getFloorNumber(myWall)=2
THEN getObjectThickness(myWall)>=190 mm
END IF
END IF
IF getObjectMaterial(myWall)="벽돌"
THEN getObjectThickness(myWall)>= HW/20
ELSE IF getObjectMaterial(myWall)="Block"
THEN getObjectThickness(myWall)>= HW/16
END IF
END IF
}
⑦조적식구조인 내력벽을 이중벽으로 하는 경우에는 제1항 내지 제6항의 규정은 당해 이중벽중 하나의 내력벽에 대하여 적용한다. 다만, 건축물의 최상층(1층인 건축물의 경우에는 1층을 말한다)에 위치하고 그 높이가 3미터를 넘지 아니하는 이중벽인 내력벽으로서 그 각벽 상호간에 가로·세로 각각 400밀리미터 이내의 간격으로 보강한 내력벽에 있어서는 그 각벽의 두께의 합계를 당해 내력벽의 두께로 본다.
②조적식구조인 칸막이벽의 바로 윗층에 조적식구조인 칸막이벽이나 주요 구조물을 설치하는 경우에는 당해 칸막이벽의 두께는 190밀리미터 이상으로 하여야 한다. 다만, 제34조의 규정에 의한 테두리보를 설치하는 경우에는 그러하지 아니하다.
// 건축물의 구조기준 등에 관한 규칙 33조 (칸막이벽 등의 두께) 2항
Check(RSSB_33_2){
getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF (!CS1 AND CS2) THEN KS
}
Wall myWall{
isObjectProperty(Wall.isPartitionWall)=True
isObjectProperty(Wall.Structure.isMansoryStructure)=True
}
CS1{
getResult(RSSB_34)=True
}
CS2{
FN=getFloorNumber(myWall) //FN means myWall's floor number
Floor myFloor{
Floor.number=FN+1
}
isInstalled(myFloor, myWall)= True
OR isInstalled (myFloor, MainStructure)=True
}
KS{
getObjectThickness(myWall)>=190 mm
}
//건축물의 구조기준 등에 관한 규칙 33조 (칸막이벽 등의 두께) 3항
Check(RSSB_33_3){
getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
isObjectProperty(Wall.isPartitionWall)=True
isObjectProperty(Wall.Structure.isMansoryStructure)=True
}
제34조(테두리보) 건축물의 각층의 조적식구조인 내력벽 위에는 그 춤이 벽두께의 1.5배 이상인 철골구조 또는 철근콘크리트구조의 테두리보를 설치하여야 한다. 다만, 1층인 건축물로서 벽두께가 벽의 높이의 16분의 1이상이거나 벽길이가 5미터 이하인 경우에는 목조의 테두리보를 설치할 수 있다.
//건축물의 구조기준 등에 관한 규칙 34조 (테두리보)
Check(RSSB_34){
getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
Wall myWall{
isObjectProperty(Wall.isLoadBearingWall)=True
}
isObjectProperty(myWall.Structure.isMansoryStructure)= True
}
KS{
WD=getObjectProperty(myWall.depth)
WH=getObjectProperty(myWall.height)
WallGirder myWallGirder{
getObjectProperty(WallGirder.height)>=1.5*WD
}
isInstalled(myWallGrider, myWall, Top)=True
IF getBuildingStoriesCount()=1
(WD>=WH/16
OR getObjectProperty(myWall.length)<=5 m
)
THEN getObjectProperty(myWallGrider.Structure.materialType)="Timber"
ELSE THEN getObjectProperty(myWallGrider.Structure.materialType)="SteelFrame"
OR getObjectProperty(myWallGrider.Structure.materialType)="ReinforcedConcrete"
END IF
}
제36조(벽의 홈) 조적식구조인 벽에 그 층의 높이의 4분의 3이상인 연속한 세로홈을 설치하는 경우에는 그 홈의 깊이는 벽의 두께의 3분의 1이하로 하고, 가로홈을 설치하는 경우에는 그 홈의 깊이는 벽의 두께의 3분의 1이하로 하되, 길이는 3미터 이하로 하여야 한다.
//건축물의 구조기준 등에 관한 규칙 36조 (벽의 홈)
Check(RSSB_36){
getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
Wall myWall{
isObjectProperty(Wall.Structure.isMansoryStructure)=True
}
isInstalled(Channel, myWall)=True
}
KS{
WD=getObjectProperty(myWall.depth)
IF getObjectProperty(Channel.shapeType)="VerticleChannel"
FH=getObjectHeight(Floor.Space)
getObjectProperty(Channel.length)>=FH*3/4
THEN getObjectProperty(Channel.depth)<= WD/3
ELSE IF getObjectProperty(Channel.shapeType)="HorizontalChannel"
THEN getObjectProperty(Channel.depth)<= WD/3
getObjectProperty(Channel.length)<= 3 m
END IF
}
제41조(적용범위) ①이 절의 규정은 보강블록구조의 건축물이나 보강블록구조와 철근콘크리트구조 그 밖의 구조를 병용하는 건축물의 보강블록구조인 부분에 이를 적용한다.
//건축물의 구조기준 등에 관한 규칙 41조 (적용범위 등) 1항
Check(RSSB_41_1){
getResult(RSSB_41_1) = TRUE AND KS
}
KS{
getObjectProperty(Building.Structure.materialType) = "SteelReinforcedConcreteBlock"
OR "ReinforcedConcrete"
}
제43조(내력벽) ①건축물의 각층에 있어서 건축물의 길이방향 또는 너비방향의 보강블록구조인 내력벽의 길이(대린벽의 경우에는 그 접합된 부분의 각 중심을 이은 선의 길이를 말한다. 이하 이 절에서 같다)는 각각 그 방향의 내력벽의 길이의 합계가 그 층의 바닥면적 1제곱미터에 대하여 0.15미터 이상이 되도록 하되, 그 내력벽으로 둘러쌓인 부분의 바닥면적은 80제곱미터를 넘을 수 없다.
// 건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 1항
Check(RSSB_43_1){
getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
Wall myWall{
isObjectProperty(Wall.isLoadBearingWall) = TRUE
getObjectProperty(Wall.Structure.materialType) = "SteelReinforcedConcreteBlock"
}
FA =getObjectArea(Floor.One)
getObjectProperty(myWall.Length)>= FA*0.15 m
getObjectProperty(myWall.width)>= FA*0.15 m
Space mySpace{
isSurrounded(Space, myWall)=True
}
getFloorArea(mySpace)<=80 m2
}
②지구음향장치는 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 음향장치까지의 수평거리가 25m 이하가 되도록 하고, 해당층의 각 부분에 유효하게 경보를 발할 수 있도록 설치하여야 한다. 다만, 「비상방송설비의 화재안전기준(NFSC 202)」에 적합한 방송설비를 비상벨설비 또는 자동식사이렌설비와 연동하여 작동하도록 설치한 경우에는 지구음향장치를 설치하지 아니할 수 있다.<개정 2008.12.15, 2012.8.20>
가. 열전대부는 감지구역의 바닥면적 18㎡(주요구조부가 내화구조로 된 특정소방대상물에 있어서는 22㎡)마다 1개 이상으로 할 것. 다만, 바닥면적이 72㎡(주요구조부가 내화구조로 된 특정소방대상물에 있어서는 88㎡) 이하인 특정소방대상물에 있어서는 4개 이상으로 하여야 한다.
가. 감지부는 그 부착높이 및 특정소방대상물에 따라 다음 표에 따른 바닥면적마다 1개 이상으로 할 것. 다만, 바닥면적이 다음 표에 따른 면적의 2배 이하인 경우에는 2개(부착높이가 8m 미만이고, 바닥면적이 다음 표에 따른 면적 이하인 경우에는 1개) 이상으로 하여야 한다.
자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 5호
Check(NFSC203_7_3_5){
Sensor mySensor1{
getObjectProperty(Sensor.type) = "Type1"
}
Sensor mySensor2{
isObjectProperty(Sensor.type) = "Type2"
}
IF
{isFireResistantStructure(SpecificFireFightingBuilding) = TRUE)
AND
{isInstalled(Sensor, FloorSlab) = TRUE
getObjectVerticalDistance(FloorSlab, Sensor) < 8m
}
THEN
{(FA = 65
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR
(FA = 36
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)
IF getObjectArea(Sensor.FloorSlab) <= FA
THEN getObjectCount(Sensor) = 1
ELSE IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}
ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) = TRUE)
AND
{isInstalled(Sensor, FloorSlab) = TRUE
AND
getObjectVerticalDistance(FloorSlab, Sensor) >= 8m
AND
getObjectVerticalDistance(FloorSlab, Sensor) < 15m
THEN
{(FA = 50
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR
(FA = 36
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)
IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}
ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) != TRUE)
AND
{isInstalled(Sensor, FloorSlab) = TRUE
getObjectVerticalLocation(FloorSlab, Sensor) < 8m
}
THEN
{(FA = 40
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR
(FA = 23
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)
IF getObjectArea(Sensor.FloorSlab) <= FA
THEN getObjectCount(Sensor) = 1
ELSE IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}
ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) != TRUE)
AND
getObjectVerticalDistance(FloorSlab, Sensor) >= 8m
AND
getObjectVerticalDistance(FloorSlab, Sensor) < 15m
}
THEN
{(FA = 30
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR
(FA = 23
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)
IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}