Open BIM based Technological Environment for Building Design Quality Enhancement
1-2. 설계품질검증 자동화를 위한 각종 법규 및 제기준의 체계화된 논리규칙 데이터베이스 구축
- 건축물 설계품질 혁신을 위한 개방형 BIM 기술 환경 구축 | 국토교통부
제52조(보의 구조) 구조부재인 보는 복근(複筋)으로 배근하되, 주근(主筋)은 직경 12밀리미터 이상의 것을 사용하여야 한다. 다만, 늑근(肋筋)은 직경 6밀리미터 이상의 것을 사용하여야 하며, 그 배치간격은 보춤의 4분의 3이하 또는 450밀리미터 이하이어야 한다. <개정 2009.12.31.>
//건축물의 구조기준 등에 관한 규칙 52조 (보의 구조)
Check(RSSB_52){
getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
isObjectProperty(Beam.isStructuralMember)=True
}
KS{
getObjectProperty(Beam.MainReinforcement.diameter)>=12 mm
getObjectProperty(Beam."늑근".diameter
⑧ 제7항제2호에도 불구하고 특정소방대상물의 보와 가장 가까운 스프링클러 헤드는 다음 표의 기준에 따라 설치하여야 한다. 다만, 천장 면에서 보의 하단까지의 길이가 55㎝를 초과하고 보의 하단 측면 끝부분으로부터 스프링클러헤드까지의 거리가 스프링클러헤드 상호간 거리의 2분의 1 이하가 되는 경우에는 스프링클러헤드와 그 부착 면과의 거리를 55㎝ 이하로 할 수 있다.<개정 2013.6.10>
(표)
//스프링클러설비의 화재안전기준 10조 (헤드) 8항
check(NFSC103_10_8){
(IF !(CS1) THEN KS1) or (IF CS1 THEN KS2)
}
KS1{
Beam myBeam{
hasObject(SpecificFireFightingBuilding, Beam) = TRUE
}
getElementDistance(myBeam, SprinklerHead, 1) = TRUE
//Table
getElementDistance(SprinklerHead.Deflector, Beam, a) + getObjectWidth(SprinklerHead.Deflector)*0.5 = SBD
getObjectVerticalDistance(SprinklerHead.Deflector, Beam.BottomSurface, a) = SHD
IF SBD < 0.75 m
THEN SHD < getObjectHeight(Beam.BottomSurface)
IF 0.75 m <= SBD < 1 m
THEN SHD < 0.1 m
IF 1 m <= SBD < 1.5 m
THEN SHD < 0.15 m
IF SBD >= 1.5 m
THEN SHD < 0.3 m
}
CS1{
getObjectDistance(Ceiling.Surface, Beam.BottomSurface) > 55 cm
getObjectDistance(Beam.BottomSideSurface, SprinklerHead) = OD
OD <= getElementDistance(SprinklerHead, c)*0.5
}
KS2{
getObjectDistance(SprinklerHead, SprinklerHead.AttachingToSurface) <= 55 cm
}
6. 제4호의 규정에도 불구하고 소방대상물의 보와 가장 가까운 간이헤드는 다음 표의 기준에 따라 설치할 것. 다만, 천장면에서 보의 하단까지의 길이가 55㎝를 초과하고 보의 하단 측면 끝부분으로부터 간이헤드까지의 거리가 간이헤드 상호간 거리의 2분의 1 이하가 되는 경우에는 간이헤드와 그 부착면과의 거리를 55㎝ 이하로 할 수 있다.<개정 2013.6.10>
(표)
/ 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 6호
Check(NFSC503A_9_0_6){
IF !CS THEN KS
}
CS{
DBSH = getObjectDistance(Head.One, Head.One)
getObjectdistance(Ceiling.Surface, Beam.BottomSurface) > 55cm
getObjectdistance(Beam.BottomSideSurface, SimpleSprinkler.Head) <= DBSH/2
}
KS{
Beam myBeam{
isInstalled(Beam, SpecificFireFightingBuilding) = TRUE
}
DCH = getObjectInterval(Head, myBeam)
Head myHead{
getObjectDistance(Head, myBeam) = DCH
}
IF getElementDistance(myHead.Deflector.Center, Beam) < 0.75m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0
ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 0.75m
OR getElementDistance(myHead.Deflector.Center, Beam) < 1m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0
getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.1m
ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 1m
OR getElementDistance(myHead.Deflector.Center, Beam) < 1.5m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0
getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.15m
ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 1.5m
THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0
getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.3m
}