Open BIM based Technological Environment for Building Design Quality Enhancement
1-2. 설계품질검증 자동화를 위한 각종 법규 및 제기준의 체계화된 논리규칙 데이터베이스 구축
- 건축물 설계품질 혁신을 위한 개방형 BIM 기술 환경 구축 | 국토교통부
⑤공동주택의 지하층은 「주택건설기준 등에 관한 규정」 제2조제3호에 따른 주민공동시설(이하 "주민공동시설"이라 한다)로 활용할 수 있다. 이 경우 관리주체는 대피시설로 사용하는데 지장이 없도록 이를 유지ㆍ관리하여야 한다. <개정 2006.2.24., 2014.11.4.>
//주택법 시행령 47조 (행위허가 등의 기준 등) 5항
Check(NFSC506_47_5){
IF !CS THEN KS
}
CS{
getBuildingUsage() = "MultiUnitHouse"
getObjectProperty(Floor.number) < 0
}
KS{
Floor myFloor{
getObjectProperty(Floor.number) < 0
}
getFloorUsage(myFloor) != "ResidentsCommonSpace"
}
제11조(지하층의 활용) 공동주택을 건설하는 주택단지에 설치하는 지하층은 근린생활시설(변전소ㆍ정수장 및 양수장을 제외한다. 다만, 변전소의 경우 「전기사업법」 제2조제2호에 따른 전기사업자가 자신의 소유 토지에 「전원개발촉진법 시행령」 제3조제1호에 따른 시설의 설치ㆍ운영에 종사하는 자를 위하여 건설하는 공동주택 및 주택과 주택 외의 건축물을 동일건축물에 복합하여 건설하는 경우로서 사업계획승인권자가 주거안정에 지장이 없다고 인정하는 건축물의 변전소는 포함한다)ㆍ주차장ㆍ주민공동시설 및 주택(사업계획승인권자가 해당 주택의 주거환경에 지장이 없다고 인정하는 경우로서 1층 세대의 주거전용부분으로 사용되는 구조만 해당한다) 그 밖에 관계 법령에 따라 허용되는 용도로 사용할 수 있으며, 그 구조 및 설비는 「건축법」제53조에 따른 기준에 적합하여야 한다. <개정 2005.6.30., 2006.1.6., 2008.10.29., 2009.10.19., 2013.6.17.>
//주택건설기준 등에 관한 규정 11조 (지하층의 활용)
Check(RHC_11){
IF CS THEN KS
}
CS{
getBuildingUsage()=" MultiUnitHouse"
getFloorNumber(Space)<0
}
KS{
getResult(BA_53)=True
}
제15조(승강기등) ①6층 이상인 공동주택에는 국토교통부령이 정하는 기준에 따라 대당 6인승 이상인 승용승강기를 설치하여야 한다. 다만, 「건축법 시행령」 제89조의 규정에 해당하는 공동주택의 경우에는 그러하지 아니하다. <개정 1992.5.30., 1994.12.23., 1994.12.30., 1999.9.29., 2005.6.30., 2008.2.29., 2013.3.23.>
//주택건설기준 등에 관한 규정 15조 (승강기등) 1항
Check(RHC_15_1){
getResult(RHC_15_5) = TRUE AND IF (CS1 AND !CS2) THEN KS
}
CS1{
getBuildingUsage() = "MultiUnitHouse"
getBuildingStoriesCount() >= 6
}
CS2{
getBuildingStoriesCount = 6
Stair myStair{
isObjectProperty(Stair.isDirect) = TRUE
}
getFloorArea() = FA
FA / 300 = FA2
getIntegeralNumber(FA2) = FA3
getObjectCount(myStair) >= FA3
}
KS{
Elevator myElevator{
getObjectProperty(Elevator.occupancy) >= 6
}
isExist(myElevator) = TRUE
}
④ 노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적(주차장으로 사용되는 면적과 주차장 외의 용도로 사용되는 면적을 합한 면적을 말한다. 이하 같다)의 20퍼센트를 초과하여서는 아니 된다. <개정 2010.10.29., 2012.7.2.>
⑤ 법 제20조제2항 또는 제3항에 따른 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적 중 부대시설이 차지하는 비율에 대해서는 제4항에도 불구하고 특별시·광역시, 시·군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29.>
⑥ 시장·군수 또는 구청장이 노외주차장 안에 「국토의 계획 및 이용에 관한 법률」 제2조제7호의 도시·군계획시설을 부대시설로서 중복하여 설치하려는 경우에는 노외주차장 외의 용도로 사용하려는 도시·군계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29., 2012.4.13.>
②지구음향장치는 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 음향장치까지의 수평거리가 25m 이하가 되도록 하고, 해당층의 각 부분에 유효하게 경보를 발할 수 있도록 설치하여야 한다. 다만, 「비상방송설비의 화재안전기준(NFSC 202)」에 적합한 방송설비를 비상벨설비 또는 자동식사이렌설비와 연동하여 작동하도록 설치한 경우에는 지구음향장치를 설치하지 아니할 수 있다.<개정 2008.12.15, 2012.8.20>
2. 지하층을 제외한 층수가 7층 이상으로서 연면적이 2,000㎡ 이상이거나 지하층의 바닥면적의 합계가 3,000㎡ 이상인 특정소방대상물의 비상콘센트설비에는 자가발전설비 또는 비상전원수전설비를 비상전원으로 설치할 것. 다만, 둘 이상의 변전소에서 전력을 동시에 공급받을 수 있거나 하나의 변전소로부터 전력의 공급이 중단되는 때에는 자동으로 다른 변전소로부터 전력을 공급받은 수 있도록 상용전원을 설치한 경우에는 비상전원을 설치하지 아니할 수 있다.<개정 2012.8.20, 2013.9.3.>
3. 비상콘센트의 배치는 아파트 또는 바닥면적이 1,000㎡ 미만인 층은 계단의 출입구(계단의 부속실을 포함하며 계단이 2 이상 있는 경우에는 그중 1개의 계단을 말한다)로부터 5m이내에, 바닥면적 1,000㎡ 이상인 층(아파트를 제외한다)은 각 계단의 출입구 또는 계단부속실의 출입구(계단의 부속실을 포함하며 계단이 3 이상 있는 층의 경우에는 그중 2개의 계단을 말한다)로부터 5m이내에 설치하되, 그 비상콘센트로부터 그 층의 각 부분까지의 거리가 다음 각 목의 기준을 초과하는 경우에는 그 기준 이하가 되도록 비상콘센트를 추가하여 설치할 것<개정 2012.8.20>
// 비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 5항 3호
Check(NFSC504_4_5_3){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
Building myBuilding{
getBuildingUsage() = "ApartmentHouse"
}
Floor myFloor{
getFloorArea(Floor) < 1000m2
}
Floor myFloor2{
hasSpace(myBuilding, Floor) = TRUE
}
isExist(myFloor) = TRUE
OR isExist(myFloor2) = TRUE
}
KS1{
Door myDoor{
isObjectProperty(Door.isEntrance) = TRUE
}
getObjectDistance(myDoor.Stair.Space, EmergencyPowerOutlet) < 5m
OR getObjectDistance(myDoor.Stair.AncillaryRoom, EmergencyPowerOutlet) < 5m
}
CS2{
Building myBuilding{
getBuildingUsage() = "ApartmentHouse"
}
Floor myFloor{
getFloorArea(Floor) >= 1000m2
hasSpace(myBuilding, Floor) = FALSE
}
isExist(myFloor) = TRUE
}
KS2{
Door myDoor{
isObjectProperty(Door.isEntrance) = TRUE
}
getObjectDistance(myDoor.Stair.Space, EmergencyPowerOutlet) < 5m
OR getObjectDistance(myDoor.Stair.AncillaryRoom, EmergencyPowerOutlet) < 5m
}
1. 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 옥내소화전방수구까지의 수평거리가 25m(호스릴옥내소화전설비를 포함한다) 이하가 되도록 할 것. 다만, 복층형 구조의 공동주택의 경우에는 세대의 출입구가 설치된 층에만 설치할 수 있다.<개정 2008.12.15, 2009.10.22>
// 옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 2항 1호
Check(NFSC503A_7_2_1){
KS2 AND IF CS THEN KS1
}
KS2{
isInstalled(옥내소화전방수구, SpecificFireFightingBuilding.Floor.One) = TRUE
getElementDistance(SpecificFireFightingBuilding.Wall|SpecificFireFightingBuilding.Column, 옥내소화전방수구.One) <= 25m
}
CS{
getBuildingUsage() = "MultiUnitHouse"
}
KS2{
Door myDoor{
isObjectProperty(Door.isEntrance) = TRUE
}
Floor myFloor{
isInstalled(myDoor, Floor) = TRUE
}
Port myPort{
Port.typeForWater="IndoorFireHydrantDischarge"
}
isInstalled(myPort, myFloor.One) = TRUE
}
1. 하나의 방호구역의 바닥면적은 3,000㎡를 초과하지 아니할 것. 다만, 폐쇄형스프링클러설비에 격자형배관방식(2이상의 수평주행배관 사이를 가지배관으로 연결하는 방식을 말한다)을 채택하는 때에는 3,700㎡ 범위 내에서 펌프용량, 배관의 구경 등을 수리학적으로 계산한 결과 헤드의 방수압 및 방수량이 방호구역 범위 내에서 소화목적을 달성하는 데 충분할 것<개정 2011.11.24>
4. 유수검지장치를 실내에 설치하거나 보호용 철망 등으로 구획하여 바닥으로부터 0.8m 이상 1.5m 이하의 위치에 설치하되, 그 실 등에는 가로 0.5m 이상 세로 1m 이상의 출입문을 설치하고 그 출입문 상단에 "유수검지장치실" 이라고 표시한 표지를 설치할 것. 다만, 유수검지장치를 기계실(공조용기계실을 포함한다)안에 설치하는 경우에는 별도의 실 또는 보호용 철망을 설치하지 아니하고 기계실 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 수 있다.<개정 2008.12.15>
② 스프링클러설비에는 자가발전설비 또는 축전지설비에 따른 비상전원을 설치하여야 한다. 다만, 차고·주차장으로서 스프링클러설비가 설치된 부분의 바닥면적(「포소화설비의 화재안전기준(NFSC 105)」제13조제2항제2호에 따른 차고·주차장의 바닥면적을 포함한다)의 합계가 1,000㎡ 미만인 경우에는 비상전원수전설비로 설치할 수 있으며, 2이상의 변전소(「전기사업법」제67조에 따른 변전소를 말한다. 이하 같다)에서 전력을 동시에 공급받을 수 있거나 하나의 변전소로부터 전력의 공급이 중단되는 때에는 자동으로 다른 변전소로부터 전력을 공급받을 수 있도록 상용전원을 설치한 경우와 가압수조방식에는 비상전원을 설치하지 아니할 수 있다.<개정 2008.12.15, 2013.6.10>
4. 유수검지장치는 실내에 설치하거나 보호용 철망 등으로 구획하여 바닥으로부터 0.8m 이상 1.5m 이하의 위치에 설치하되, 그 실 등에는 가로 0.5m 이상 세로 1m 이상의 출입문을 설치하고 그 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 것. 다만, 유수검지장치를 기계실(공조용기계실을 포함한다)안에 설치하는 경우에는 별도의 실 또는 보호용 철망을 설치하지 아니하고 기계실 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 수 있다. <개정 2008.12.15, 2013.6.10>
제7조(감지기) ① 자동화재탐지설비의 감지기는 부착높이에 따라 다음 표에 따른 감지기를 설치하여야 한다. 다만, 지하층·무창층 등으로서 환기가 잘되지 아니하거나 실내면적이 40㎡ 미만인 장소, 감지기의 부착면과 실내바닥과의 거리가 2.3m 이하인 곳으로서 일시적으로 발생한 열·연기 또는 먼지 등으로 인하여 화재신호를 발신할 우려가 있는 장소(제5조제2항 본문에 따른 수신기를 설치한 장소를 제외한다)에는 다음 각 호에서 정한 감지기중 적응성 있는 감지기를 설치하여야 한다.
자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항
Check(NFSC203_7_1){
IF (CS1 THEN KS1) OR (CS2 THEN KS2) OR (CS3 THEN KS3) OR (CS4 THEN KS4) OR (CS5 THEN KS5)
}
Sensor mySensor1{
getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"
getObjectProperty(Sensor.sensingRange) = "LineType"
}
Sensor mySensor2{
getObjectProperty(Sensor.sensingMode) = "CompensationType"
getObjectProperty(Sensor.sensingRange) = "SpotType"
}
Sensor mySensor3{
getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"
(getObjectProperty(Sensor.sensingRange) = "SpotType"
OR getObjectProperty(Sensor.lineTypeEnum) = "LineType")
}
Sensor mySensor4{
getObjectProperty(Sensor.sensingMode) = "ionizationType"
}
Sensor mySensor5{
getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"
(getObjectProperty(Sensor.sensingRange) = "SpotType"
OR getObjectProperty(Sensor.sensingRange) = "SeparateType"
OR getObjectProperty(Sensor.sensingRange) = "AspiratingType")
}
Sensor mySensor6{
getObjectProperty(Sensor.integratedType) = "HeatIntegratedType"
}
Sensor mySensor7{
getObjectProperty(Sensor.integratedType) = "SmokeIntegratedType"
}
Sensor mySensor8{
getObjectProperty(Sensor.integratedType) = "HeatAndSmokeIntegratedType"
}
}
CS1{
getObjectVerticalDistance(FloorSlab, Sensor) < 4m
}
KS1{
(isObjectProperty(mySensor1.sensingRange) = "SpotType"
isInstalled(mySensor1) = TRUE)
OR isInstalled(mySensor2) = TRUE
OR isInstalled(mySensor3) = TRUE
OR isInstalled(mySensor4) = TRUE
OR isInstalled(mySensor5) = TRUE
OR isInstalled(mySensor6) = TRUE
OR isInstalled(mySensor7) = TRUE
OR isInstalled(mySensor8) = TRUE
OR isInstalled(FlameSensor) = TRUE
}
CS2{
getObjectVerticalDistance(FloorSlab, Sensor) >= 4m
getObjectVerticalDistance(FloorSlab, Sensor) < 8m
}
KS2{
(isObjectProperty(mySensor1.sensingRange) = "SpotType"
isInstalled(mySensor1) = TRUE)
OR isInstalled(mySensor2) = TRUE
OR ((getObjectProperty(Sensor.type) = "SpecialType"
OR getObjectProperty(Sensor.type) = "Type1")
isInstalled(mySensor3) = TRUE)
OR ((getObjectProperty(Sensor.type) = "Type1"
OR getObjectProperty(Sensor.type) = "Type2")isInstalled(mySensor4) = TRUE)
OR ((getObjectProperty(Sensor.type) = "Type1"
OR getObjectProperty(Sensor.type) = "Type2")
isInstalled(mySensor5) = TRUE)
OR isInstalled(mySensor6) = TRUE
OR isInstalled(mySensor7) = TRUE
OR isInstalled(mySensor8) = TRUE
OR isInstalled(FlameSensor) = TRUE
}
CS3{
getObjectVerticalDistance(FloorSlab, Sensor) >= 8m
getObjectVerticalDistance(FloorSlab, Sensor) < 15m
}
KS3{
isInstalled(mySensor1) = TRUE
OR ((getObjectProperty(Sensor.type) = "Type1"
OR getObjectProperty(Sensor.type) = "Type2")isInstalled(mySensor4) = TRUE)
OR ((getObjectProperty(Sensor.type) = "Type1"
OR getObjectProperty(Sensor.type) = "Type2")
isInstalled(mySensor5) = TRUE)
OR isInstalled(mySensor7) = TRUE
OR isInstalled(FlameSensor) = TRUE
}
CS4{
getObjectVerticalDistance(FloorSlab, Sensor) >= 15m
getObjectVerticalDistance(FloorSlab, Sensor) < 20m
}
KS4{
((getObjectProperty(Sensor.type) = "Type1"
isInstalled(mySensor4) = TRUE)
OR (getObjectProperty(Sensor.type) = "Type1"
isInstalled(mySensor5) = TRUE)
OR isInstalled(mySensor7) = TRUE
OR isInstalled(FlameSensor) = TRUE
}
CS5{
getObjectVerticalDistance(FloorSlab, Sensor) >= 20m
}
KS5{
Sensor mySensor9{
getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"
(getObjectProperty(Sensor.sensingRange) = "SeparateType"
OR getObjectProperty(Sensor.sensingRange) = "AspiratingType")
getObjectProperty(Sensor.operationMode) = "Analog"isInstalled(mySensor5) = TRUE
}
isInstalled(mySensor9) = TRUE
OR isInstalled(FlameSensor) = TRUE
}
가. 열전대부는 감지구역의 바닥면적 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
}
다. 송수구가 부설된 옥내소화전을 설치한 특정소방대상물(집회장·관람장·백화점·도매시장·소매시장·판매시설·공장·창고시설 또는 지하가를 제외한다)로서 다음의 어느 하나에 해당하는 층
(1) 지하층을 제외한 층수가 4층 이하이고 연면적이 6,000㎡ 미만인 특정소방대상물의 지상층
(2) 지하층의 층수가 2 이하인 특정소방대상물의 지하층
2. 방수구는 아파트 또는 바닥면적이 1,000㎡ 미만인 층에 있어서는 계단(계단의 부속실을 포함하며 계단이 2 이상 있는 경우에는 그 중 1개의 계단을 말한다)으로부터 5m 이내에, 바닥면적 1,000㎡ 이상인 층(아파트를 제외한다)에 있어서는 각 계단(계단의 부속실을 포함하며 계단이 3 이상 있는 층의 경우에는 그 중 2개의 계단을 말한다)으로부터 5m 이내에 설치하되, 그 방수구로부터 그 층의 각 부분까지의 거리가 다음 각목의 기준을 초과하는 경우에는 그 기준 이하가 되도록 방수구를 추가하여 설치할 것
//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 2호
Check(NFSC502_6_0_2){
KS
}
KS{
Space mySpce{
getSpaceUsage(Space)="Stair.AncillaryRoom"
OR
(
IF getObjectCoutn(Stair)>=2
THEN getSpace(Stair.One)
ELSE
getSpaceUsage(Space)="Stair"
END IF
)
}
Space mySpce2{
getSpaceUsage(Space)="Stair.AncillaryRoom"
OR
(
IF getObjectCoutn(Stair)>=3
THEN getSpace(Stair.Two)
ELSE
getSpaceUsage(Space)="Stair"
END IF
)
}
IF getBuildingUsage()="ApartmentHouse"
OR getFloorArea()<1000 m2
THEN getObjectDistance(FireDepartmentConnection, mySpace)<5 m
ELSE IF getFloorArea()>1000 m2
THEN getObjectDistance(FireDepartmentConnection, mySpace)<5 m
getResult(NFSC502_6_0_2_가)=True
getResult(NFSC502_6_0_2_나)=True
END IF
}