Open BIM based Technological Environment for Building Design Quality Enhancement
1-2. 설계품질검증 자동화를 위한 각종 법규 및 제기준의 체계화된 논리규칙 데이터베이스 구축
- 건축물 설계품질 혁신을 위한 개방형 BIM 기술 환경 구축 | 국토교통부
제4조(유도등 및 유도표지의 종류) 특정소방대상물의 용도별로 설치하여야 할 유도등 및 유도표지는 다음 표에 따라 그에 적응하는 종류의 것으로 설치하여야 한다.<개정 2008.12.15, 2012.8.20>
// 유도등 및 유도표지의 화재안전기준(nfsc 303) 4조 (유도등 및 유도표지의 종류)
Check(NFSC303_4){
KS
}
KS{
LeadingLight myLeadingLight1{
// isObejctProperty(LeadingLight.isForExit)=True, 대형
}
LeadingLight myLeadingLight2{
// isObejctProperty(LeadingLight.isForExit)=True , 중형
}
LeadingLight myLeadingLight3{
// isObejctProperty(LeadingLight.isForExit)=True, 소형
}
LeadingLight myLeadingLight4{
isObejctProperty(LeadingLight.isForPassage)=True
}
LeadingLight myLeadingLight5{
isObjectProperty(LeadingLight.isForSeat)=True
}
LeadingSign myLeadingSign1{
isObjectProperty(LeadingSign.isForExit)=True
}
LeadingSign myLeadingSign2{
isObjectProperty(LeadingSign.isForPassage)=True
}
IF getBuildingUsage()="PerformanceHall"
OR getBuildingUsage()="AssemblyHall"
OR getBuildingUsage()="Auditorium"
OR getBuildingUsage()="SportsFacility"
OR getBuildingUsage()="Tavern"
THEN
isExist(myLeadingLight1)=True
isExist(myLeadingLight4)=True
isExist(myLeadingLight5)=True
ELSE IF getBuildingUsage()="AmusementFacility"
OR getBuildingUsage()="CommercialFacility"
OR getBuildingUsage()="TransportationFacility"
OR getBuildingUsage()="TouristAccommodationBusiness"
OR getBuildingUsage()="MedicalFacility"
OR getBuildingUsage()="FuneralParlor"
OR getBuildingUsage()="FacilityForBroadcastingAndTelecommunication"
OR getBuildingUsage()="ExhibitionHall"
OR getBuildingUsage()="UndergroundShoppingCenter"
OR getBuildingUsage()="SubwayStation"
THEN isExist(myLeadingLight1)=True
isExist(myLeadingLight4)True
ELSE IF getBuildingUsage()="LodgingFacility"
OR getBuildingUsage()="Officetel"
// OR 지하층, 무창층 또는 층수가 11층 이상인 특정소방대상물
THEN isExist(myLeadingLight2)=True
isExist(myLeadingLight4)True
ELSE IF getBuildingUsage()="ClassINeighborhoodLivingFacility"
OR getBuildingUsage()="ClassIINeighborhoodLivingFacility"
OR getBuildingUsage()="FacilitiesForTheAgedAndChildren"
OR getBuildingUsage()="BusinessFacility"
OR getBuildingUsage()="FacilityForPowerGeneration"
OR getBuildingUsage()="ReligiousFacility"
OR getBuildingUsage()="EducationAndResearchFacility"
OR getBuildingUsage()="Trainingfacility"
OR getBuildingUsage()="Factory"
OR getBuildingUsage()="Warehouse"
OR getBuildingUsage()="CorrectionalFacilityAndMilitaryInstallation"
OR getBuildingUsage()="Dormitory"
OR getBuildingUsage()="AutomobileRepairShop"
OR getBuildingUsage()="DrivingSchool"
OR getBuildingUsage()="RepairingSchool"
OR getBuildingUsage()="PubliclyUsedEstablishment"
OR getBuildingUsage()="ComplexBuilding"
OR getBuildingUsage()="ApartmentHouse"
THEN isExist(myLeadingLight3)=True
isExist(myLeadingLight4)True
ELSE THEN isExist(myLeadingSign1)=True
isExist(myLeadingSign2)True
END IF
}
//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 1호 나목
Check(NFSC303_6_1_1_나){
KS
}
KS{
isInstalled("구부러진 모퉁이", LeadingLightForCorridor)=True
// 20m마다 설치 , 함수 필요
}
다. 바닥으로부터 높이 1m 이하의 위치에 설치할 것. 다만, 지하층 또는 무창층의 용도가 도매시장·소매시장·여객자동차터미널·지하역사 또는 지하상가인 경우에는 복도·통로 중앙부분의 바닥에 설치하여야 한다.
//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 1호 다목
Check(NFSC303_6_1_1_다){
KS
}
KS{
Floor myFloor{
getFloorNumber()<0
OR hasObject(Floor, Window)=False
}
IF getFloorUsage(myFloor)="WholesaleMarket"
OR getFloorUsage(myFloor)="RetailMarket"
OR getFloorUsage(myFloor)="PassengerVehicleTransportTerminal"
OR getFloorUsage(myFloor)="UndergroundStation"
OR getFloorUsage(myFloor)="UndergroundShoppingCenter"
THEN // 복도·통로 중앙부분의 바닥에 설치하여야 한다.
ELSE THEN
getObjectVerticalDistance(FloorSlab, LeadingLightForCorridors )<= 1 m
}
3. 배관·행가 및 조명기구 등 살수를 방해하는 것이 있는 경우에는 제1호 및 제2호에도 불구하고 그로부터 아래에 설치하여 살수에 장애가 없도록 할 것. 다만, 스프링클러헤드와 장애물과의 이격거리를 장애물 폭의 3배 이상 확보한 경우에는 그러하지 아니하다.<개정 2008.12.15>
Check(NFCS103_10_7_3){
IF !CS THEN KS
}
objectDistance myObjectDistance1{
getObjectDistance(SprinklerHead,Obstacle,a)
}
objectDistance myObjectDistance2{
getObjectDistance(SprinklerHead,Ceiling,a)
}
CS{
getObjectWidth(Obstacle)<="myObjectDistance"
KS{
getObjectDistance(Pipe,Ceiling,a)<"myObjectDistance"
OR getObjectDistance(Pipe,Hanger,a)<"myObjectDistance"
OR getObjectDistance(Pipe,LightingFixture,a)<"myObjectDistance"
}