Ministry of Land, Infrasrtucture and Transport | Korea Agency for Infrastructure Technology Advancement | Space and Design IT Lab | Hanyang University
Open BIM based Technological Environment for Building Design Quality Enhancement
1-2. 설계품질검증 자동화를 위한 각종 법규 및 제기준의 체계화된 논리규칙 데이터베이스 구축 - 건축물 설계품질 혁신을 위한 개방형 BIM 기술 환경 구축 | 국토교통부
  Home Welcome to BIM Project Website - Hanyang University
PAGE MENU   MainPage
전체법규 - 법규데이터베이스
- 대한민국 전체 법규 목록
- 설계품질검토 대상 관련법규
대상법규 - 문장 논리규칙체계화
- 조항단위 논리규칙체계
- 문장단위 논리규칙체계
주어부 - 객체.속성 데이터베이스
- 법규로부터의 객체.속성 분류
- 명칭DB: 객체 | 객체및속성
서술부 - 함수 데이터베이스
- 논리규칙화 함수 분류
- 논리규칙화 함수 DB
관계부 - 문장 내.외 관계논리
- 문장 내.외 관계유형분류
- 법규조항관계도:
1차년도 | 2차년도 | 3차년도
- 문장 내.외관계 논리체계화
문장단위 | 체크리스트 단위
KBIMCode 데이터베이스
- KBIMCode Lang. Definition
- KBIMCode Editor
- KBimCode Database:
문장단위 | 조항단위
- KBimLogic Applications
 
     HOME
설계품질검토용 건축법 및 관련법규 - KBIMCode (문장단위)
  ◁prev 1   2   3   4   next▷  
3 / 4 page Total 1,131/ 1,131 records    신규입력 엑셀저장
Select
ALL
None
#
ID
Law
Jo
JO Name
HANG
HO
MOK
Text
Search!
1
10858 건축물의 구조기준 등에 관한 규칙 제 28조 3 항

③구조부재가 아닌 조적식구조의 칸막이벽으로서 그 높이가 2미터 이하인 것에 대하여는 제29조·제30조·제33조 및 제35조제3항의 규정에 한하여 이를 적용한다. <개정 2009.12.31.>





//건축물의 구조기준 등에 관한 규칙 28조 (적용범위 등) 3항
Check(RSSB_28_3){
	getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
	Wall myWall{
	isObjectProperty(Wall.isStructuralMember) = FALSE
	isObjectProperty(Wall.isPartitionWall) = TRUE
	isObjectProperty(Wall.Structure.isMansoryStructure) = TRUE
	}
	getObjectHeight(myWall) <= 2m
} 














Modify
2
10861 건축물의 구조기준 등에 관한 규칙 제 30조 1 항

제30조(기초) ①조적식구조인 내력벽의 기초(최하층의 바닥면 이하에 해당하는 부분을 말한다)는 연속기초로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 30조 (기초) 1항
Check(RSSB_30_1){
        getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
	Wall myWall{
	isObjectProperty(Wall.isLoadBearingWall) = TRUE
	getObjectProperty(Wall.Structure.isMansoryStructure) = TRUE
	}
	Foundation myFoundation{
	isInstalled(myWall, Foundation) = TRUE
	}
	isObjectProperty(myFoundation.isContinuousFoundation) = TRUE
} 














Modify
3
10862 건축물의 구조기준 등에 관한 규칙 제 30조 2 항

②제1항의 규정에 의한 기초중 기초판은 철근콘크리트구조 또는 무근콘크리트구조로 하고, 기초벽의 두께는 250밀리미터 이상으로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 30조 (기초) 2항

Check(RSSB_30_2){

        getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS

}

CS{

	getResult(RSSB_30_1) = TRUE

}

KS{

	Wall myWall{

	isObjectProperty(Wall.isFoundationWall) = TRUE

	}

	(getObjectProperty(FoundationPlate.Structure.materialType) = "ReinforcedConcrete"

	OR getObjectProperty(FoundationPlate.Structure.materialType) = "PlainConcrete")

	getObjectProperty(myWall.depth) >= 250mm

} 














Modify
4
10863 건축물의 구조기준 등에 관한 규칙 제 31조 1 항

제31조(내력벽의 높이 및 길이) ①조적식구조인 건축물중 2층 건축물에 있어서 2층 내력벽의 높이는 4미터를 넘을 수 없다.





//건축물의 구조기준 등에 관한 규칙 31조 (내력벽의 높이 및 길이) 1항
Check(RSSB_31_1){
        getResult(RSSB_28_1) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
	isObjectProperty(Building.Structure.isMansoryStructure) = TRUE
	getBuildingStoriesCount() = 2
}
KS{
	Wall myWall{
	isObjectProperty(Wall.isLoadBearingWall) = TRUE
	getFloorNumber(Wall.Floor) = TRUE
	}
	getObjectHeight(myWall) < 4m
} 














Modify
5
10864 건축물의 구조기준 등에 관한 규칙 제 31조 2 항

②조적식구조인 내력벽의 길이[대린벽(對隣壁)의 경우에는 그 접합된 부분의 각 중심을 이은 선의 길이를 말한다. 이하 이 절에서 같다]는 10미터를 넘을 수 없다.





//건축물의 구조기준 등에 관한 규칙 31조 (내력벽의 높이 및 길이) 2항
Check(RSSB_31_2){
        getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
	Wall myWall{
	isObjectProperty(Wall.isLoadBearingWall) = TRUE
	}
CS{	
	isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
}
KS{
	getObjectLength(myWall) < 10m
} 














Modify
6
10865 건축물의 구조기준 등에 관한 규칙 제 31조 3 항

③조적식구조인 내력벽으로 둘러쌓인 부분의 바닥면적은 80제곱미터를 넘을 수 없다.





//건축물의 구조기준 등에 관한 규칙 31조 (내력벽의 높이 및 길이) 3항
Check(RSSB_31_3){
        getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
	Wall myWall{
	isObjectProperty(Wall.isLoadBearingWall) = TRUE
	isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
	}
	Space mySapce{
	isSurrounded(Space, myWall) = TRUE
	}
	getFloorArea(mySpace) < 80m2
} 














Modify
7
10866 건축물의 구조기준 등에 관한 규칙 제 32조 1 항

제32조(내력벽의 두께) ①조적식구조인 내력벽의 두께(마감재료의 두께는 포함하지 아니한다. 이하 이 절에서 같다)는 바로 윗층의 내력벽의 두께 이상이어야 한다.





//건축물의 구조기준 등에 관한 규칙 32조 (내력벽의 두께) 1항
Check(RSSB_32_1){
        getResult(RSSB_32_7) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
	Wall myWall1{
	isObjectProperty(Wall.isLoadBearingWall) = TRUE
	isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
	}
	Floor myFloor{
	isInstalled(myWall1, Floor) = TRUE
	}
	Wall myWAll2{
	isInstalled(Wall, myFloor.UpperFloor) = TRUE
	}
	WD = getObjectProperty(myWall2.depth)

	getObjectProperty(myWall1.depth) >= WD
} 














Modify
8
10868 건축물의 구조기준 등에 관한 규칙 제 32조 2 항

(표)





//건축물의 구조기준 등에 관한 규칙 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 

} 














Modify
9
10869 건축물의 구조기준 등에 관한 규칙 제 32조 3 항

③제2항의 규정을 적용함에 있어서 그 조적재가 돌이거나, 돌과 벽돌 또는 블록 등을 병용하는 경우에는 내력벽의 두께는 제2항의 두께에 10분의 2를 가산한 두께 이상으로 하되, 당해 벽높이의 15분의 1이상으로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 32조 (적용범위 등) 3항

Check(RSSB_32_3){

	getResult(RSSB_32_7) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CH TEHN KS

}

	Wall myWall{

		isObjectProperty(Wall.isLoadBearingWall) = TRUE

	}

	Wall myWall1{

		getResult(RSSB_32_2) = TRUE

	}

CS{

	getObjectProperty(myWall.Structure.materialType) = "Stone" OR "Brick" OR "ConcreteBlock" OR "SteelReinforcedConcreteBlock"

}

KS{

	WT = getWallThickness(myWall)

	WT >= 1.2* getWallThinkness(myWall1)

	WT >= 1/15*getObjectHeight(myWall)

} 














Modify
10
10874 건축물의 구조기준 등에 관한 규칙 제 32조 7 항

⑦조적식구조인 내력벽을 이중벽으로 하는 경우에는 제1항 내지 제6항의 규정은 당해 이중벽중 하나의 내력벽에 대하여 적용한다. 다만, 건축물의 최상층(1층인 건축물의 경우에는 1층을 말한다)에 위치하고 그 높이가 3미터를 넘지 아니하는 이중벽인 내력벽으로서 그 각벽 상호간에 가로·세로 각각 400밀리미터 이내의 간격으로 보강한 내력벽에 있어서는 그 각벽의 두께의 합계를 당해 내력벽의 두께로 본다.





//  건축물의 구조기준 등에 관한 규칙 32조 (내력벽의 두께) 7항
Check(RSSB_32_7){
	KS
}

KS{
 isObjectProperty(Wall.Structure.isMansoryStructure) = TRUE
 isObjectProperty(Wall.isDoubleWall) = TRUE
} 














Modify
11
10876 건축물의 구조기준 등에 관한 규칙 제 33조 2 항

②조적식구조인 칸막이벽의 바로 윗층에 조적식구조인 칸막이벽이나 주요 구조물을 설치하는 경우에는 당해 칸막이벽의 두께는 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 

} 














Modify
12
10877 건축물의 구조기준 등에 관한 규칙 제 33조 3 항

③제32조의 규정은 조적식구조인 칸막이벽의 두께에 관하여 이를 준용한다.





//건축물의 구조기준 등에 관한 규칙 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
} 














Modify
13
10878 건축물의 구조기준 등에 관한 규칙 제 34조

제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

} 














Modify
14
10879 건축물의 구조기준 등에 관한 규칙 제 35조 1 항

제35조(개구부) ①조적식구조인 벽에 있는 창·출입구 그 밖의 개구부(開口部)의 구조는 다음 각호의 기준에 의한다.





//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 1항
Check(RSSB_35_1){
        getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
	Wall myWall1{
	isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
	}
	isInstalled(Window, myWall) = TRUE
	OR isInstalled(Door, myWall) = TRUE
	OR isInstalled(Opening, myWall) = TRUE
}
KS{
	getResult(RSSB_35_1_1) = TRUE
	getResult(RSSB_35_1_2) = TRUE
} 














Modify
15
10880 건축물의 구조기준 등에 관한 규칙 제 35조 1 항 1호

1. 각층의 대린벽으로 구획된 각 벽에 있어서 개구부의 폭의 합계는 그 벽의 길이의 2분의 1이하로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 1항 1호
Check(RSSB_35_1_1){
        KS
}
KS{
	Wall myWall1{
	isObjectProperty(Wall.isRightAngleCrossingWall) = TRUE
	isInstalled(Wall, Floor.One) = TRUE
	}
	Wall myWall2{
	isPartitioned(Wall, , myWall1) = TRUE
	}
	WL = getObjectWidth(myWall2)
	OW = getObjectWidth(myOpening)
	Opening myOpening{
	isInstalled(Opening, Wall) = TRUE
	}
	Sum(OW) <= WL * 1/2
} 














Modify
16
10882 건축물의 구조기준 등에 관한 규칙 제 35조 2 항

②조적식구조인 벽에 설치하는 개구부에 있어서는 각층마다 그 개구부 상호간 또는 개구부와 대린벽의 중심과의 수평거리는 그 벽의 두께의 2배 이상으로 하여야 한다. 다만, 개구부의 상부가 아치구조인 경우에는 그러하지 아니하다.





//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 2항
Check(RSSB_35_2){
	getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF (!CS1 AND CS2) THEN KS
}
	Wall myWall1{
	isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
	}
CS1{
	isObjectProperty(Opening.UpperSideShape) = "Arc"
}
CS2{
	isInstalled(Opening, myWall1) = TRUE
}
KS{
	Wall myWall2{
	isObejctProperty(Wall.isRightAngleCrossingWall) = TRUE
	isInstalled(Wall, myWall1.Floor) = TRUE
	}
	WD = getObjectProperty(myWall1.depth)
	getObject(Floor.One.Opening)
	(getObjectInterval(Opening, ) >= 2* WD
	OR getObjectDistance(Opening, myWall2.Center) >= 2* WD
} 














Modify
17
10885 건축물의 구조기준 등에 관한 규칙 제 36조

제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 

} 














Modify
18
10888 건축물의 구조기준 등에 관한 규칙 제 39조

제39조(조적식구조인 담) 조적식구조인 담의 구조는 다음 각호의 기준에 의한다.





//건축물의 구조기준 등에 관한 규칙 39조 (조적식구조인 담) 
Check(RSSB_39){
	getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
	isObjectProperty(Fence.Structure.isMansoryStructure) = TRUE
}
KS{
	getResult(RSSB_39_1) = TRUE
	getResult(RSSB_39_2) = TRUE
	getResult(RSSB_39_3) = TRUE
} 














Modify
19
10890 건축물의 구조기준 등에 관한 규칙 제 39조 2호

2. 담의 두께는 190밀리미터 이상으로 할 것. 다만, 높이가 2미터 이하인 담에 있어서는 90밀리미터 이상으로 할 수 있다.





//건축물의 구조기준 등에 관한 규칙 39조 (조적식구조인 담) 2호
Check(RSSB_39_0_2){
	KS2 AND IF CS THEN KS1
}
KS2{
	isObjectProperty(Fence.depth) >= 190mm
}
CS{
	getObjectHeight(Fence) <= 2m
}
KS1{
	isObjectProperty(Fence.depth) >= 90mm
} 














Modify
20
10891 건축물의 구조기준 등에 관한 규칙 제 39조 3호

3. 담의 길이 2미터 이내마다 담의 벽면으로부터 그 부분의 담의 두께 이상 튀어나온 버팀벽을 설치하거나, 담의 길이 4미터 이내마다 담의 벽면으로부터 그 부분의 담의 두께의 1.5배 이상 튀어나온 버팀벽을 설치할 것. 다만, 각 부분의 담의 두께가 제2호의 규정에 의한 담의 두께의 1.5배 이상인 경우에는 그러하지 아니하다.





//건축물의 구조기준 등에 관한 규칙 39조 (조적식구조인 담) 3호
Check(RSSB_39_0_3){
	IF !CS THEN KS
}
CS{
	
}
KS{
	FD = getObjectProperty(Fence.depth)
	Wall myWall{
	isObjectProperty(Wall.isSupportingWall) = TRUE
	}
	(isInstalled(myWall, Fence, b, 2) = TRUE
	getObjectProperty(Wall.depth) >= FD)
	OR (isInstalled(myWall, Fence, b, 4) = TRUE
	getObjectProperty(Wall.depth) >= 1.5* 2호 규정에 의한 담의 두께)
} 














Modify
21
10896 건축물의 구조기준 등에 관한 규칙 제 42조

제42조(기초) 보강블록구조인 내력벽의 기초(최하층 바닥면 이하의 부분을 말한다)는 연속기초로 하되 그 중 기초판 부분은 철근콘크리트구조로 하여야 한다.





//	건축물의 구조기준 등에 관한 규칙 42조 (기초)
Check(RSSB_42){
	getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
	Wall myWall{
		isObjectProperty(Wall.isLoadBearingWall) = TRUE
		getFloorNumber(Wall) < 1
	}

	getObjectProperty(myWall.Structure.materialType) = "SteelReinforcedConcreteBlock"
	isObjectProperty(Foundation.isCountinuousFoundation) = TRUE

	getObjectStructure(FoundationPlate.Structure.materialType) = "ReinforcedConcrete"
} 














Modify
22
10897 건축물의 구조기준 등에 관한 규칙 제 43조 1 항

제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
} 














Modify
23
10898 건축물의 구조기준 등에 관한 규칙 제 43조 2 항

②보강블록구조인 내력벽의 두께(마감재료의 두께를 포함하지 아니한다. 이하 이절에서 같다)는 150밀리미터 이상으로 하되, 그 내력벽의 구조내력에 주요한 지점간의 수평거리의 50분의 1이상으로 하여야 한다.





//	건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 2항
Check(RSSB_43_2){
	getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
	Wall myWall{
		isObjectProperty(Wall.isLoadBearingWall) = TRUE
		getFloorNumber(Wall) < 1
		getObjectProperty(Wall.Structure.materialType) = "SteelReinforcedConcreteBlock"
	}

	getWallThickness(myWall) >= 150mm
} 














Modify
24
10899 건축물의 구조기준 등에 관한 규칙 제 43조 3 항

③보강블록구조의 내력벽은 그 끝부분과 벽의 모서리부분에 12밀리미터 이상의 철근을 세로로 배치하고, 9밀리미터 이상의 철근을 가로 또는 세로 각각 800밀리미터 이내의 간격으로 배치하여야 한다.





//	건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 3항
Check(RSSB_43_3){
	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"
    }

   Reinforcement myReinforcement{
        getObjectProperty(Reinforcement.diameter)>=12 mm
   }
      
    isInstalled( myReinforcement, myWall, Vertical , myWall.BothEndSides)=True
    isInstalled( myReinforcement, myWall, Vertical , myWall.Edge)=True

    Reinforcement myReinforcement2{
        getObjectProperty(Reinforcement.diameter)>=9 mm
   }
   
    isInstalled( myReinforcement2, myWall, 800 mm , myWall.BothEndSides)=True
    isInstalled( myReinforcement2, myWall, 800 mm , myWall.Edge)=True
} 














Modify
25
10901 건축물의 구조기준 등에 관한 규칙 제 44조

제44조(테두리보) 보강블록구조인 내력벽의 각층의 벽 위에는 춤이 벽두께의 1.5배 이상인 철근콘크리트구조의 테두리보를 설치하여야 한다. 다만, 최상층의 벽으로서 그 벽위에 철근콘크리트구조의 옥상바닥판이 있는 경우에는 그러하지 아니하다.





//건축물의 구조기준 등에 관한 규칙 44조 (테두리보)



Check(RSSB_44){

     getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF !CS THEN  KS

}



!CS{

  Wall myWall{

   isInstalled(Wall, TopFloor)=True

  } 

  

  FloorSlab myFloorSlab{
isInstalled(FloorSlab, Rooftop) = TRUE
       getObjectProperty(FloorSlab.Structure.materialType)="ReinforcedConcrete"

  }

   isInstalled(myFloorSlabOfRooftop, myWall, Top)=True   

    } 



KS{

   Wall myWall{

     isObjectProperty(Wall.isLoadBearingWall)=True

     isObjectProperty(Wall.Structure.isMansoryStructure)= True

   }



   WD=getObjectProperty(myWall.depth)

   

   WallGirder myWallGirder{   

     getObjectProperty(WallGirder.height)>=1.5*WD

     getObjectProperty(myWallGrider.Structure.materialType)="ReinforcedConcrete"

   }

   

    isInstalled(myWallGrider, myWall, Top)=True



  

} 














Modify
26
10922 건축물의 구조기준 등에 관한 규칙 제 52조

제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 














Modify
27
10924 건축물의 구조기준 등에 관한 규칙 제 53조 1호

1. 콘크리트슬래브의 두께는 80밀리미터 이상으로서 별표 9에 의하여 산정한 두께 이상이어야 한다.





// 건축물의 구조기준 등에 관한 규칙 53조 (콘크리트슬래브의 구조) 1호



Check(RSSB_53_0_1){

       KS

}



KS{

isObjectProperty(Slab.isConcreteSlab) = TRUE

     getObjectThickness(Slab)>= 80 mm

     getResult(RSSB_*_9)=True 

} 














Modify
28
10926 건축물의 구조기준 등에 관한 규칙 제 54조

제54조(내력벽의 구조) 구조부재인 콘크리트벽체는 다음 각호의 기준에 적합하여야 한다. <개정 2009.12.31.>





//건축물의 구조기준 등에 관한 규칙 54조 (내력벽의 구조)

Check(RSSB_54){
   getResult(RSSB_3_3) = TRUE AND IF CS THEN KS 
}

CS{
    isObjectProperty(Wall.isStructuralMember)=True
    getObjectProperty(Wall.material)="Concrete"
}

KS{
    getResult(RSSB_54_0_1)=True
    getResult(RSSB_54_0_2)=True
} 














Modify
29
10927 건축물의 구조기준 등에 관한 규칙 제 54조 1호

1. 내력벽의 최소두께는 벽의 최상단에서 4.5미터까지는 150밀리미터 이상이어야 하며, 각 3미터 내려감에 따라 10밀리미터씩의 비율로 증가시켜야 한다. 다만, 두께가 120밀리미터 이상의 경우로서 구조계산에 의하여 안전하다고 확인된 경우에는 그러하지 아니하다.





//건축물의 구조기준 등에 관한 규칙 54조 (내력벽의 구조) 1호

Check(RSSB_54_0_1){
      IF !CS THEN KS
}

Wall myWall{
     isObjectProperty(Wall.isLoadBearingWall)=True
  }

CS{
    getWallThickness(myWall)>=120 mmm
}

KS{

  
   H1=getObjectHeight(myWall)
   H2= H1-4.5 m
   getWallThickness(myWall,H2,H1)>=150 mm
  
   H3=getFloorElevationHeight(myWall.Floor)
   

   getWallThickness(myWall,H3,H2,3 m, a)>=150+10*a
   

  
} 














Modify
30
10928 건축물의 구조기준 등에 관한 규칙 제 54조 2호

2. 내력벽의 배근은 9밀리미터 이상의 것을 450밀리미터 이하의 간격으로 하고, 벽두께의 3배 이하이어야 한다. 이 경우 벽의 두께가 200밀리미터 이상일 때에는 벽 양면에 복근으로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 54조 (내력벽의 구조) 2호

Check(RSSB_54_02){
      KS
}

KS{
   Wall myWall{
     isObjectProperty(Wall.isLoadBearingWall)=True
  }

  Reinforcement myReinforcement{
       getObjectProperty(Reinforcement.diameter)>=9 mm
  }
  
  isInstalled(myReinforcement, myWall, 450 mm)=True
  //벽두께의 3배 이하이어야 한다. 
  IF getObjectProperty(myWall.depth)>=200 mm
  THEN isInstalled(DoubleReinforcement, myWall, myWall.BothSides)=True
  END IF 

} 














Modify
31
10958 연소방지설비의 화재안전기준(nfsc 506) 제 4조 3 항

③급수배관에 설치되어 급수를 차단할 수 있는 개폐밸브는 개폐표시형으로 하여야 한다.





//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 3항
Check(NFSC506_4_3){
	KS
}

KS{
	FeedWaterShutoffValve myFeedWaterShutoffValve{
		isObjectProperty(FeedWaterShutoffValve.isIndicatingValve) = TRUE
	}
	
	Pipe myPipe{
		isObjectProperty(Pipe.usage) = "WaterSupplyPipe"
	}

	hasObject(myPipe, myFeedWaterShutoffValve) = TRUE
} 














Modify
32
10962 연소방지설비의 화재안전기준(nfsc 506) 제 4조 4 항 2호

2. 스프링클러헤드를 사용하는 경우에는 「스프링클러설비의 화재안전기준(NFSC 103)」별표 1의 기준에 따를 것<개정 2012.8.20>





//  연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 4항 2호

Check(NFSC506_4_4_2){
	IF CS THEN KS
}
CS{
	isObjectProperty(Sprinkler.Head.systemType) = "HookingUpSprinklerSystem"
}
KS{
	getResult(NFSC103_*_1) = TRUE
} 














Modify
33
10963 연소방지설비의 화재안전기준(nfsc 506) 제 4조 5 항

⑤연소방지설비에 있어서의 수평주행배관의 구경은 100㎜ 이상의 것으로 하되, 연소방지설비전용헤드 및 스프링클러헤드("방수헤드"라 한다. 이하 같다)를 향하여 상향으로 1,000분의 1 이상의 기울기로 설치하여야 한다.<개정 2012.8.20>





//	연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 5항
Check(NFSC506_4_5){
	KS
}

KS{
	Pipe myPipe{
		isObjectProperty(Pipe.isFeedMains) = TRUE
	}

	isInstalled(myPipe, CombustionProtectionSystem) = TRUE
	getObjectProperty(myPipe.diameter) >= 100mm
} 














Modify
34
10967 연소방지설비의 화재안전기준(nfsc 506) 제 4조 6 항 3호

3. 하향식헤드를 설치하는 경우에 가지배관으로부터 헤드에 이르는 헤드접속배관은 가지관상부에서 분기할 것





//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 6항 3호
Check(NFSC506_4_6_3){
	IF CS THEN KS
}

CS{
	Pipe myPipe{
		hasObject(CombustionProtectionSystem, Pipe) = TRUE
		isObjectProperty(Pipe.isBranchLines) = TRUE
	}

	Head myHead{
		getObjectProperty(Head.installationDirectionType) = "TopDownType"
	}

	isInstalled(myPipe, myHead) = TRUE
}

KS{
	Pipe myPipe{
		hasObject(CombustionProtectionSystem, Pipe) = TRUE
		isObjectProperty(Pipe.isBranchLines) = TRUE
	}

	Head myHead{
		getObjectProperty(Head.installationDirectionType) = "TopDownType"
	}

	Pipe myPipe2{
		isConnectedTo(myPipe, Pipe) = TRUE
		isConnectedTo(myHead, Pipe) = TRUE
	}

	isDiverged(가지관 상부, myPipe2) = TRUE
} 














Modify
35
10969 연소방지설비의 화재안전기준(nfsc 506) 제 4조 7 항 1호

1. 가지배관에는 헤드의 설치지점 사이마다 1개 이상의 행가를 설치하되, 헤드간의 거리가 3.5m을 초과하는 경우에는 3.5m 이내마다 1개 이상 설치할 것. 이 경우 상향식헤드와 행가 사이에는 8㎝ 이상의 간격을 두어야 한다.





//  연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 7항 1호

Check(NFSC506_4_7_1){
	IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

CS1{
	Pipe myPipe{
		isObjectProperty(Pipe.isBranchLines) = TRUE
	}

	Head myHead{
		isInstalled(Head, myPipe) = TRUE
	}

	getObjectInterval(myHead) <= 3.5m
}

KS1{
	Pipe myPipe{
		isObjectProperty(Pipe.isBranchLines) = TRUE
	}

	Head myHead{
		isInstalled(Head, myPipe) = TRUE
	}

	getobjectCountInInterval(Hanger, myHead) >= 1
}

CS2{
	Pipe myPipe{
		isObjectProperty(Pipe.isBranchLines) = TRUE
	}

	Head myHead{
		isInstalled(Head, myPipe) = TRUE
	}

	getObjectInterval(myHead) > 3.5m
}

KS2{
	Pipe myPipe{
		isObjectProperty(Pipe.isBranchLines) = TRUE
	}

	Head myHead{
		isInstalled(Head, myPipe) = TRUE
	}

	getObjectInterval(myHead) = OIH
	OIH/3.5 = OIHH
	(OIHH-1) <= getObjectCountInInterval(Hanger, myHead) < OIHH
	getObjectInterval(Hanger) = 3.5m

	Head myHead2{
		getObjectProperty(Head.installationDirectionType) = "BottomUpType"
	}

	getObjectInterval(myHead2, Hanger) >= 8cm
} 














Modify
36
10970 연소방지설비의 화재안전기준(nfsc 506) 제 4조 7 항 2호

2. 교차배관에는 가지배관과 가지배관 사이마다 1개 이상의 행가를 설치하되, 가지배관 사이의 거리가 4.5m을 초과하는 경우에는 4.5m 이내마다 1개 이상 설치할 것





//  연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 7항 2호

Check(NFSC506_4_7_2){
	IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

CS1{
	Pipe myPipe{
		isObjectProperty(Pipe.isBranchLines) = TRUE
		getObjectInterval(Pipe) <= 4.5m
	}

	Pipe myPipe2{
		isObjectProperty(Pipe.isCrossMains) = TRUE
	}

	isConnectedTo(myPipe, myPipe2) = TRUE
}

KS1{
	Pipe myPipe{
		isObjectProperty(Pipe.isBranchLines) = TRUE
		getObjectInterval(Pipe) <= 4.5m
	}

	Pipe myPipe2{
		isObjectProperty(Pipe.isCrossMains) = TRUE
	}

	Hanger myHanger{
		isInstalled(Hanger, myPipe2) = TRUE
	}

	getObjectCountInInterval(myHanger,myPipe) >=1
}

CS2{
	Pipe myPipe{
		isObjectProperty(Pipe.isBranchLines) = TRUE
		getObjectInterval(Pipe) > 4.5m
	}

	Pipe myPipe2{
		isObjectProperty(Pipe.isCrossMains) = TRUE
	}

	isConnectedTo(myPipe, myPipe2) = TRUE
}

KS2{
	Pipe myPipe{
		isObjectProperty(Pipe.isBranchLines) = TRUE
		getObjectInterval(Pipe) > 4.5m
	}

	Pipe myPipe2{
		isObjectProperty(Pipe.isCrossMains) = TRUE
	}

	Hanger myHanger{
		isInstalled(Hanger, myPipe2) = TRUE
	}

	getObjectCountInInterval(myHanger,myPipe) >=1
	getObjectInterval(myPipe) = OIP
	OIP/4.5 = OIPP
	(OIPP-1) <= getObjectCountInInterval(Hanger, myHead) < OIPP
	getObjectInterval(Hanger) = 4.5m
}
 














Modify
37
10971 연소방지설비의 화재안전기준(nfsc 506) 제 4조 7 항 3호

3. 제1호와 제2호의 수평주행배관에는 4.5m 이내마다 1개 이상 설치할 것<개정 2012.8.20>





//연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 7항 3호 

Check(NFSC506_4_7_3){
        IF CS THEN KS 
}

CS{
Pipe myPipe{
		isObjectProperty(Pipe.isBranchLines) = TRUE
	}

               isObjectProperty(myPipe.isFeedMains)=True

}

KS{
           isInstalled(Hanger, myPipe)=True
        getObjectInterval(Hanger)>4.5 m
}


 














Modify
38
10976 연소방지설비의 화재안전기준(nfsc 506) 제 5조 1호

1. 천장 또는 벽면에 설치할 것





//	연소방지설비의 화재안전기준(nfsc 506) 5조 (방수헤드) 1호

Check(NFSC506_5_0_1){

	KS

}



KS{

	Head myHead{

		isObjectProperty(Head.isDischargeHead) = TRUE

	}



	isInstalled(myHead, Ceiling.Structure) = TRUE

	OR isInstalled(myHead, Wall.Structure.) = TRUE	

} 














Modify
39
10977 연소방지설비의 화재안전기준(nfsc 506) 제 5조 2호

2. 방수헤드간의 수평거리는 연소방지설비 전용헤드의 경우에는 2m 이하, 스프링클러헤드의 경우에는 1.5m 이하로 할 것





//	연소방지설비의 화재안전기준(nfsc 506) 5조 (방수헤드) 1호

Check(NFSC506_5_0_2){

	IF (CS1 THEN KS1) OR (CS2 THEN KS2)

}



CS1{

Head myHead{
	Head.isDischargeHead = TRUE
}

	isObjectProperty(myHead) = TRUE

	isObjectProperty(Head.isShared) = FALSE

	isInstalled(Head, CombustionProtectionSystem) = TRUE

}



KS1{

	getObjectInterval(myHead) <= 2m

}



CS2{

	isObjectProperty(myHead) = TRUE

	isObjectProperty(Sprinkler.Head) = TRUE

}



KS2{

	getObjectInterval(myHead) <= 1.5m

} 














Modify
40
10978 연소방지설비의 화재안전기준(nfsc 506) 제 5조 3호

3. 살수구역은 환기구 등을 기준으로 지하구의 길이방향으로 350 m 이내마다 1개 이상 설치하되, 하나의 살수구역의 길이는 3m 이상으로 할 것





//연소방지설비의 화재안전기준(nfsc 506) 5조 (방수헤드) 3호
Check(NFSC506_5_0_3){
	 KS 
}


KS{
  Zone myZone{
    isObjectProperty(Zone.isWateringZone)=True
  }

  Head myHead{
    isObjectProperty(Head.isDischargeHead)=True
  }
    
    isInstalled(myHead,Zone)=True 
    getObjectInterval(myHead)<=350 m
    getObjectLength(myZone)>=3 m
    
    
} 














Modify
41
10985 연소방지설비의 화재안전기준(nfsc 506) 제 6조 6호

6. 송수구로부터 주배관에 이르는 연결배관에는 개폐밸브를 설치하지 아니할 것





//	연소방지설비의 화재안전기준(nfsc 506) 6조 (송수구) 6호
Check(NFSC506_6_0_6){
	KS
}

KS{
	Port myPort{
		getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
	}

	Pipe myPipe2{
		isObjectProperty(Pipe.isRiser) = TRUE
	}


	Pipe myPipe{
		isConnectedTo(Pipe, myPort) = TRUE
		isConnectedTo(Pipe, myPipe2) = TRUE
	}

	Valve myValve{
		isObjectProperty(Valve.isShutoffValve) = TRUE
	}

	isInstalled(myValve, myPipe) = FALSE
} 














Modify
42
11024 연소방지설비의 화재안전기준(nfsc 506) 제 8조 1호

1. 내화구조로서 홀로 설 수 있는 구조일 것





//	연소방지설비의 화재안전기준(nfsc 506) 8조 (방화벽의 설치기준) 1호
Check(NFSC506_8_0_1){
	KS
}

KS{
	Wall myWall{
		isObjectProperty(Wall.isFireProofStructure) = TRUE
	}

	isObjectProperty(myWall.isfireResistantStructure) = TRUE
}
 














Modify
43
11025 연소방지설비의 화재안전기준(nfsc 506) 제 8조 2호

2. 방화벽에 출입문을 설치하는 경우에는 방화문으로 할 것





//	연소방지설비의 화재안전기준(nfsc 506) 8조 (방화벽의 설치기준) 2호
Check(NFSC506_8_0_2){
	IF CS THEN KS
}
	Wall myWall{
		isObjectProperty(Wall.isFireProofWall) = TRUE
	}

	Door myDoor{
		isObjectProperty(Door.isEntrance) = TRUE
	}

CS{
	isInstalled(myDoor, myWall) = TRUE
}


KS{
	isObjectProperty(myDoor.isStrictFireproofDoor) = TRUE
	OR isObjectProperty(myDoor.isFireproofDoor) = TRUE
} 














Modify
44
11026 연소방지설비의 화재안전기준(nfsc 506) 제 8조 3호

3. 방화벽을 관통하는 케이블·전선 등에는 내화성이 있는 화재차단재로 마감할 것





//	연소방지설비의 화재안전기준(nfsc 506) 8조 (방화벽의 설치기준) 3호

Check(NFSC506_8_0_3){

	 KS

}



KS{



    Wall myWall{

        isObjectProperty(Wall.isFireProofWall)=True

    }

    

  IF   isInstalled(Wire, myWall)=True

  THEN   isObjectProperty(Wire.Finish.Material.isFireStop)= TRUE

  END IF



  IF  isInstalled(Cable, myWall)=True

  THEN   isObjectProperty(Cable.Finish.Material.isFireStop)= TRUE

  END IF



    

} 














Modify
45
12899 주택건설기준 등에 관한 규정 제 15조 1 항

제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
} 














Modify
46
12900 주택건설기준 등에 관한 규정 제 15조 2 항

②10층 이상인 공동주택의 경우에는 제1항의 승용승강기를 비상용승강기의 구조로 하여야 한다. <개정 2007.7.24.>





//주택건설기준 등에 관한 규정 15조 (승강기등) 2항
Check(RHC_15_2){
	IF CS THEN KS
}

CS{
	getBuildingUsage() = "MultiUnitHouse"
	getBuildingStoriesCount() >= 10
}

KS{
	Elevator myElevator{
		getObjectProperty(Elevator.cooupancy) >= 6
		isObjectProperty(Elevator.isEmergency) = TRUE
	}

	isExist(myElevator) = TRUE
} 














Modify
47
12906 주택건설기준 등에 관한 규정 제 15조 4 항

④제1항 또는 제2항의 규정에 의한 승용승강기 또는 비상용승강기로서 제3항 각호의 기준에 적합한 것은 화물용승강기로 겸용할 수 있다.





//주택건설기준 등에 관한 규정 15조 (승강기등) 4항
Check(RHC_15_4){
	IF CS THEN KS
}

CS{
	Elevator myElevator{
		isObjectProperty(Elevator.isEmergency) = TRUE
		OR getObjectProperty(Elevator.usage) = "PassengerElevator"
	}

	getResult(RHC_15_1) = TRUE
	getResult(RHC_15_2) = TRUE
	getResult(RHC_15_3_1) = TRUE
	getResult(RHC_15_3_2) = TRUE
	getResult(RHC_15_3_3) = TRUE
	getResult(RHC_15_3_4) = TRUE
}

KS{
	Elevator myElevator{
		isObjectProperty(Elevator.isEmergency) = TRUE
		OR getObjectProperty(Elevator.usage) = "PassengerElevator"
	}

	Elevator myElevator2{
		getObjectProperty(Elevator.usage) = "FreightElevator"
	}

	isReplaced(myElevator2, myElevator) = TRUE
} 














Modify
48
13899 주차장법 시행규칙 제 4조 1 항 8호

8. 노상주차장에는 다음 각 목의 구분에 따라 장애인 전용주차구획을 설치하여야 한다.





//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항8호

Check(ERPA_4_1_8){
     IF CS THEN KS
}

CS{
   isObjectProperty(ParkingLot.isOffStreetParking)=True
}


Area myArea{
   isObjectProperty(ParkingLotArea.isHandicapParking)=True
}

KS{
   isExist(myArea)=True
   getResult(ERPA_4_1_8_가)=True
}
 














Modify
49
13900 주차장법 시행규칙 제 4조 1 항 8호 가 목

가. 주차대수 규모가 20대 이상 50대 미만인 경우: 한 면 이상





//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항 8호 가목



Check(ERPA_4_1_8_가){

    IF CS THEN KS

}



CS{

  getObjectCount(ParkingLot.ParkingUnit)>=20

  getObjectCount(ParkingLot.numberOfParkingUnit)<50

}





KS{



Area myArea{

   isObjectProperty(ParkingLotArea.isHandicapParking)=True

}

    getObjectCount(myArea)>=1

} 














Modify
50
13901 주차장법 시행규칙 제 4조 1 항 8호 나 목

나. 주차대수 규모가 50대 이상인 경우: 주차대수의 2퍼센트부터 4퍼센트까지의 범위에서 장애인의 주차수요를 고려하여 해당 지방자치단체의 조례로 정하는 비율 이상





//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항 8호 나목



Check(ERPA_4_1_8_나){

    IF CS THEN KS

}



CS{

  getObjectCount(ParkingLot.ParkingUnit)>=50



}





KS{



    Area myArea{

        isObjectProperty(ParkingLotArea.isHandicapParking)=True

    }

    PLC=getObjectProperty(ParkingLot.numberOfParkingUnit)



    getObjectCount(myArea)>=PLC*2%

    getObjectCount(myArea)<=PLC*4%

    getResult(Unimplemented_LGMO)=True

} 














Modify
51
13919 주차장법 시행규칙 제 5조 7호

7. 주차대수 400대를 초과하는 규모의 노외주차장의 경우에는 노외주차장의 출구와 입구를 각각 따로 설치하여야 한다. 다만, 출입구의 너비의 합이 5.5미터 이상으로서 출구와 입구가 차선 등으로 분리되는 경우에는 함께 설치할 수 있다.





//주차장법 시행규칙 5조 (노외주차장의 설치에 대한 계획기준) 7항

Check(ERPA_5_7){

      IF (!CS1 AND CS2) THEN KS

}



CS2{

	ParkingLot myParkingLot{

	isObjectProperty(ParkingLot.isOffStreetParking)=TRUE

	}

	getObjectProperty(ParkingLot.numberOfParkingUnit) > 400

}

	Opening myOpening1{

	isObjectProperty(myParkingLot.Oepning.isEntrance)=TRUE

	}

	Opening myOpening2{

	isObjectProperty(myParkingLot.Oepning.isExit)=TRUE

	}

	myOpening1 != myOpening2



CS1{



	getObjectProperty(myOpening1.width) = W1

	getObjectProperty(myOpening2.width) = W2

	W1 + W2 >= 5.5m

}



KS2{

	isExist(myOpening1) = TRUE

	isExist(myOpening2) = TRUE	

} 














Modify
52
13920 주차장법 시행규칙 제 5조 8호

8. 특별시장·광역시장, 시장·군수 또는 구청장이 설치하는 노외주차장의 주차대수 규모가 50대 이상인 경우에는 주차대수의 2퍼센트부터 4퍼센트까지의 범위에서 장애인의 주차수요를 고려하여 지방자치단체의 조례로 정하는 비율 이상의 장애인 전용주차구획을 설치하여야 한다.





//주차장법 시행규칙 5조 (노상주차장의 구조·설비기준) 8호 

Check(ERPA_5_0_8){
    IF CS THEN KS
}

CS{
  
  ParkingLot myParkingLot{
    isObjectProperty(ParkingLot.isOffStreetParking)=True
  }

  getObjectCount(myParkingLot.ParkingUnit)>=50

}


KS{

    Area myArea{
        isObjectProperty(myParkingLotArea.isHandicapParking)=True
    }

    PLC=getObjectCount(myParkingLot.ParkingUnit)

    getObjectCount(myArea)>=PLC*2%
    getObjectCount(myArea)<=PLC*4%
    getResult(Unimplemented_LGMO)=True
}

 














Modify
53
13925 주차장법 시행규칙 제 6조 1 항 3호

3. 노외주차장에는 자동차의 안전하고 원활한 통행을 확보하기 위하여 다음 각 목에서 정하는 바에 따라 차로를 설치하여야 한다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호



Check(ERPA_6_1_3){

    IF CS THEN KS

}



CS{

  isObjectProperty(ParkingLot.isOffStreetParking)=True

}



KS{

  isExist(ParkingLot.Driveway)=True

  getResult(ERPA_6_1_3_가)=True

  getResult(ERPA_6_1_3_나)=True

} 














Modify
54
13929 주차장법 시행규칙 제 6조 1 항 3호 나 2) 목

2) 1) 외의 노외주차장 (표)





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호 나목

Check(ERPA_6_1_3_나){

     IF CS THEN KS

}



CS{

   getSpaceUsage()="ParkingLot"

   isObjectProperty(ParkingLot.isOffStreetParking)=True

   getObjectProperty(ParkingLot.parkingUseType)!="TwowheeledVehicle"

}



KS{

   IF 	getObjectProperty(ParkingUnit.parkingType)="ParallelParking"

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=3.3 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.0 m

       END IF

   ELSE IF getObjectProperty(ParkingUnit.parkingType)="RightAngleParking"

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=6.0 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=6.0 m

       END IF

   ELSE IF getObjectProperty(ParkingUnit.parkingType)="60AngleParking"

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=4.5 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.5 m

       END IF

   ELSE IF getObjectProperty(ParkingUnit.parkingType)="45AngleParking"

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=3.5 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.0 m

       END IF

getObjectProperty(ParkingUnit.parkingType)="CrossParking"

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=3.5 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.0 m

       END IF

  END IF

} 














Modify
55
13930 주차장법 시행규칙 제 6조 1 항 4호

4. 노외주차장의 출입구 너비는 3.5미터 이상으로 하여야 하며, 주차대수 규모가 50대 이상인 경우에는 출구와 입구를 분리하거나 너비 5.5미터 이상의 출입구를 설치하여 소통이 원활하도록 하여야 한다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 4호

Check(ERPA_6_1_4){

      KS1 AND IF CS THEN KS2

}



KS1{

	ParkingLot myParkingLot{

	isObjectProperty(ParkingLot.isOffStreetParking)=TRUE

	}

	getObjectProperty(myParkingLot.Opening.width) >= 3.5m

}



CS{

	getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50

}



KS2{

	Opening myOpening1{

	isObjectProperty(Opening.isExit)=TRUE

	}

	Opening myOpening2{

	isObjectProperty(Opening.isEntrance)=TRUE

	}

	myOpening1 != myOpening2

	isExist(myOpening1)=TRUE

	isExist(myOpening2)=TRUE

	OR getObjectProperty(Opening.width) >= 5.5m

} 














Modify
56
13937 주차장법 시행규칙 제 6조 1 항 5호 바 목

바. 주차대수 규모가 50대 이상인 경우의 경사로는 너비 6미터 이상인 2차로를 확보하거나 진입차로와 진출차로를 분리하여야 한다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호 바목

Check(ERPA_6_1_5_바){

       IF CS THEN (KS1 OR KS2)

}



CS{

	getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50

	hasObject(Ramp, ParkingLot.Driveway.)=TRUE 

}

KS1{

	getObjectProperty(ParkingLot.Driveway.width) >= 6m

	getObjectProperty(ParkingLot.Driveway.numberOfLane) >= 2

}

KS2{

	Opening myOpening1{

	isObjectProperty(Opening.isExit)=TRUE 

	}

	Opening myOpening2{

	isObjectProperty(Opening.isEntrance)=TRUE 

	}

	myOpening1 != myOpening2

	hasObject(ParkingLot.Driveway., myOpening1)=TRUE 

	hasObject(ParkingLot.Driveway., myOpening2)=TRUE 

} 














Modify
57
13938 주차장법 시행규칙 제 6조 1 항 6호

6. 자동차용 승강기로 운반된 자동차가 주차구획까지 자주식으로 들어가는 노외주차장의 경우에는 주차대수 30대마다 1대의 자동차용 승강기를 설치하여야 한다. 이 경우 제16조의2제1호 및 제3호를 준용하되, 자동차용 승강기의 출구와 입구가 따로 설치되어 있거나 주차장의 내부에서 자동차가 방향전환을 할 수 있을 때에는 제16조의2제3호에 따른 진입로를 설치하고 제16조의2제1호에 따른 전면공지 또는 방향전환장치를 설치하지 아니할 수 있다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 6호
Check(ERPA_6_1_6){
       IF (!CS1 AND CS2) THEN (KS1 AND KS2)
}

CS1{
	Elevator myElevator{
	getObjectProperty(Elevator.usage) = "AutomobileElevator"
	}
	Opening myOpening1{
	isObjectProperty(Elevator.Opening.isEntrance)=TRUE
	}
	Opening myOpening2{
	isObjectProperty(Elevator.Opening.isExit)=TRUE
	}
	myOpening1 != myOpening2
	isExist(myOpening1)=TRUE
	isExist(myOpening2)=TRUE
}
CS2{
	getObjectProperty(ParkingLot.operationType) = "DriveInParking"
	isObjectProperty(ParkingLot.isOffStreetParking)=TRUE
}

KS1{
	
}
KS2{
	getResult(ERPA_16-2_1)=TRUE
	getResult(ERPA_16-2_3)=TRUE
}
 














Modify
58
13939 주차장법 시행규칙 제 6조 1 항 7호

7. 노외주차장에서 주차에 사용되는 부분의 높이는 주차바닥면으로부터 2.1미터 이상으로 하여야 한다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 7호
Check(ERPA_6_1_7){
       KS
}

KS{
	isObjectProperty(ParkingLot.isOffStreetParking)=TRUE
	getObjectHeight(ParkingLotArea.Space) >= 2.1m
} 














Modify
59
13945 주차장법 시행규칙 제 6조 1 항 10호

10. 노외주차장에는 자동차의 출입 또는 도로교통의 안전을 확보하기 위하여 필요한 경보장치를 설치하여야 한다.





//	주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 10호

Check(ERPA_6_1_10){
    KS
}

KS{
	ParkingLot myParkingLot{
		isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
	}
	isInstalled(AlarmSystem, myParkingLot) = TRUE
} 














Modify
60
13957 주차장법 시행규칙 제 6조 1 항 14호

14. 노외주차장에는 제3조제1항제2호에 따른 확장형 주차단위구획을 주차단위구획 총수(평행주차형식의 주차단위구획 수는 제외한다)의 30퍼센트 이상 설치하여야 한다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 14호
Check(ERPA_6_1_14){
	KS
}

KS{
	
	ParkingLot myParkingLot{
		isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
	}

	ParkingUnit myParkingUnit{
		getResult(ERPA_3_1_2) = TRUE
		getObjectProperty(ParkingUnit.parkingUseType) = "ExtensionType"
	}

	ParkingUnit myParkingUnit2{
		getResult(ERPA_3_1_2) = TRUE
		getObjectProperty(ParkingUnit.parkingType) = "ParallelParking"
	}

	hasSpace(myParkingLot, myParkingUnit) = TRUE	
	(getObjectProperty(ParkingUnit.numberOf)*0.3 - getObjectNumber(myParkingUnit2)) <= getObjectNumber(myParkingUnit)
} 














Modify
61
13960 주차장법 시행규칙 제 6조 4 항

④ 노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적(주차장으로 사용되는 면적과 주차장 외의 용도로 사용되는 면적을 합한 면적을 말한다. 이하 같다)의 20퍼센트를 초과하여서는 아니 된다. <개정 2010.10.29., 2012.7.2.>





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항

Check(ERPA_6_4){

	IF !CS THEN KS

}



CS{

	TFA = getFloorArea(ParkingLot)

	getTotalObjectArea(	ParkingLotSubsidiaryFacility) > TFA*0.2

}



KS{

	ParkingLot myParkingLot{

		isObjectProperty(ParkingLot.isOffStreetParking) = TRUE

	}



	SubsidiaryFacility mySubsidiaryFacility{

		getResult(ERPA_4_1) = TRUE

		OR getResult(ERPA_4_2) = TRUE

		OR getResult(ERPA_4_3) = TRUE

	}



	hasSpace(myParkingLot, mySubsidiaryFacility) = TRUE

} 














Modify
62
13966 주차장법 시행규칙 제 6조 5 항

⑤ 법 제20조제2항 또는 제3항에 따른 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적 중 부대시설이 차지하는 비율에 대해서는 제4항에도 불구하고 특별시·광역시, 시·군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29.>





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 5항

Check(ERPA_6_5){

	IF CS THEN KS

}



CS{

	ParkingLot myParkingLot{

		isObjectProperty(ParkingLot.isOffStreetParking) = TRUE

		getResult(PLA_20_2) = TRUE

		OR getResult(PLA_20_3) = TRUE

	}



	hasSpace(myParkingLot,SubsidiaryFacility) = TRUE

	getTotalFloorArea(myParkingLot.facilityArea)

}



KS{

	getFloorArea(ParkingLotSubsidiaryFacility) <= getTotalObjectArea(ParkingLot)*0.4

} 














Modify
63
13967 주차장법 시행규칙 제 6조 6 항

⑥ 시장·군수 또는 구청장이 노외주차장 안에 「국토의 계획 및 이용에 관한 법률」 제2조제7호의 도시·군계획시설을 부대시설로서 중복하여 설치하려는 경우에는 노외주차장 외의 용도로 사용하려는 도시·군계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총시설면적의 40퍼센트를 초과할 수 없다. <개정 2010.10.29., 2012.4.13.>





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 6항

Check(ERPA_6_6){

	IF CS THEN KS

}



ParkingLot myParkingLot{

	isObjectProperty(ParkingLot.isOffStreetParking) = TRUE

}


Building myBuilding{
Building.usage = "UrbanGunPlanningFacility"
getResult(LPUA_2_0_7) = TRUE
hasSpace(myParkingLot, Building) = TRUE
getSpaceUsage(Building) = getSpaceUsage(SubsidiaryFacility)

}

Building myBuilding1{
Building.usage = "UrbanGunPlanningFacility"
}

CS{

	getObjectNumber(myBuilding) >= 2

}



KS{

	(getFloorArea(myBuilding1)- getFloorArea(myBuilding)) <= (getTotalObjectArea(ParkingLot) + getTotalObjectArea(SubsidiaryFacility))*0.4

} 














Modify
64
13993 주차장법 시행규칙 제 11조 2 항 1호

1. 주차대수 30대를 초과하는 지하식 또는 건축물식 형태의 자주식주차장으로서 판매시설, 숙박시설, 운동시설, 위락시설, 문화 및 집회시설, 종교시설 또는 업무시설(이하 이 항에서 "판매시설등"이라 한다)의 용도로 이용되는 건축물의 부설주차장





//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 2항 1조
Check(ERPA_11_2_1){
	KS
}

KS{
	Building myBuilding{
		getBuildingUsage() = "CommercialFacility" OR "LodgingFacility", "AmusementFacility", "CulturalAndAssemblyFacility", "ReligiousFacility","BusinessFacility"
	}
		isObjectProperty(myBuilding.ParkingLot.isAttachedParking) = TRUE
		getObjectProperty(ParkingLot.numberOfParkingUnit) > 30
		getObjectProperty(ParkingLot.operationType) = "DriveInParking" OR "MechanicalParking"

} 














Modify
65
13996 주차장법 시행규칙 제 11조 4 항

④ 주차대수 50대 이상의 부설주차장에 설치되는 확장형 주차단위구역에 관하여는 제6조제1항제14호를 준용한다. <신설 2012.7.2.>





//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 4항
Check(ERPA_11_4){
	IF CS THEN KS
}

CS{
	ParkingLot myParkingLot{
		isObjectProperty(ParkingLot.isAttachedParking) = TRUE
		getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50
	}

	ParkingUnit myParkingUnit{
		getObjectProperty(ParkingUnit) = "ExtensionType"
	}

	hasSpace(myParkingLot, myParkingUnit) = TRUE
}

KS{
	getResult(ERPA_6_1_14) = TRUE
} 














Modify
66
13997 주차장법 시행규칙 제 11조 5 항

⑤ 부설주차장의 총주차대수 규모가 8대 이하인 자주식주차장(지평식 및 건축물식 중 필로티 구조만 해당한다)의 구조 및 설비기준은 제1항 본문에도 불구하고 다음 각 호에 따른다. <개정 2012.7.2., 2013.1.25.>





//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 5항
Check(ERPA_11_5){
	IF CS THEN KS
}

CS{
	ParkingLot myParkingLot{
		isObjectProperty(ParkingLot.isAttachedParking) = TRUE
		isObjectProperty(ParkingLot.operationType) = "DriveInParking"
	}

	getObjectProperty(myParkingLot.numberOfParkingUnit) >= 8
}

KS{
	getResult(ERPA_11_5_1) = TRUE
	getResult(ERPA_11_5_2) = TRUE
	getResult(ERPA_11_5_3) = TRUE
} 














Modify
67
14196 비상경보설비의 화재안전기준(NFSC 201) 제 4조 2 항

②지구음향장치는 특정소방대상물의 층마다 설치하되, 해당 특정소방대상물의 각 부분으로부터 하나의 음향장치까지의 수평거리가 25m 이하가 되도록 하고, 해당층의 각 부분에 유효하게 경보를 발할 수 있도록 설치하여야 한다. 다만, 「비상방송설비의 화재안전기준(NFSC 202)」에 적합한 방송설비를 비상벨설비 또는 자동식사이렌설비와 연동하여 작동하도록 설치한 경우에는 지구음향장치를 설치하지 아니할 수 있다.<개정 2008.12.15, 2012.8.20>





//	비상경보설비의 화재안전기준 (nfsc 201) 4조 (비상벨설비 또는 자동식사이렌설비) 2항



Check(NFSC201_4_2){

    KS

}



KS{

	Floor myFloor{

		hasSpace(Floor, SpecificFireFightingBuilding) = TRUE

	}

AcousticSystem myAcousticSystem{
isObjectProperty(AcousticSystem.isForPublic) = TRUE
}

	isInstalled(myAcousticSystem, myFloor) = TRUE

	(getObjectDistance(myAcousticSystem, Wall.Structure.) <= 25m 














Modify
68
14200 비상경보설비의 화재안전기준(NFSC 201) 제 4조 5 항 1호

1. 조작이 쉬운 장소에 설치하고, 조작스위치는 바닥으로부터 0.8m 이상 1.5m 이하의 높이에 설치할 것





//	비상경보설비의 화재안전기준(NFSC 201) 4조 (비상벨설비 또는 자동식사이렌설비) 5항 1호

Check(NFSC201_4_5_1){

	KS

}



KS{

	Switch mySwitch{
isObjectProperty(Switch.ControlSwitch) = TRUE
		isInstalled(Transmitter, Switch) = TRUE

	}



	getObjectVerticalLocation(FloorSlab, mySwitch) <= 1.5m

	getObjectVerticalLocation(FloorSlab, mySwitch) >= 0.8m

} 














Modify
69
14213 비상경보설비의 화재안전기준(NFSC 201) 제 5조 1호

1. 각 실(이웃하는 실내의 바닥면적이 각각 30㎡ 미만이고 벽체의 상부의 전부 또는 일부가 개방되어 이웃하는 실내와 공기가 상호유통되는 경우에는 이를 1개의 실로 본다)마다 설치하되, 바닥면적이 150㎡를 초과하는 경우에는 150㎡마다 1개 이상 설치할 것





//	비상경보설비의 화재안전기준(NFSC 201) 5조 (단독경보형감지기) 1호

Check(NFSC201_5_0_1){

	IF (CS1 THEN KS1) OR (CS2 THEN KS2)

}



CS1{

	Room myRoom{

		getFloorArea(Room) <= 150m2

	}



	Room myRoom2{

		isAdjacent(myRoom, Room) = TRUE

	}



	getFloorArea(myRoom2) <= 30m2

}



KS1{

	Room myRoom{

		getFloorArea(Room) <= 150m2

	}



	Room myRoom2{

		isAdjacent(myRoom, Room) = TRUE

	}



	SelfcontainedTypeFireAlarmDevice mySelfcontainedTypeFireAlarmDevice{

		hasSpace(myRoom, SelfcontainedTypeFireAlarmDevice) = TRUE

	}



	isExist(mySelfcontainedTypeFireAlarmDevice) = TRUE

}



CS2{

	Room myRoom{

		getFloorArea(Room) > 150m2

	}



	Room myRoom2{

		isAdjacent(myRoom, Room) = TRUE

	}



	getFloorArea(myRoom2) <= 30m2

}



KS2{

	Room myRoom{

		getFloorArea(Room) > 150m2

	}



	Room myRoom2{

		isAdjacent(myRoom, Room) = TRUE

	}

Sensor mySensor{
isObjectProperty(Sensor.isSelfcontainedTypeFireAlarmDevice) = TRUE
		hasSpace(myRoom, Sensor ) = TRUE
}



	isInstalled(myRoom, mySelfcontainedTypeFireAlarmDevice, c, 150m2) = TRUE

} 














Modify
70
14214 비상경보설비의 화재안전기준(NFSC 201) 제 5조 2호

2. 최상층의 계단실의 천장(외기가 상통하는 계단실의 경우를 제외한다)에 설치할 것





//	비상경보설비의 화재안전기준(NFSC 201) 5조 (단독경보형감지기) 2호

Check(NFSC201_5_0_2){

	KS

}



KS{

	Ceiling myCeiling{

		hasSpace(Building.TopFloor.Stair.Space, Ceiling) = TRUE

	}
Sensor mySensor{
isObjectProperty(Sensor.isSelfcontainedTypeFireAlarmDevice) = TRUE
}


	isInstalled(myCeiling, mySensor) = TRUE

} 














Modify
71
14251 비상콘센트설비의 화재안전기준(NFSC 504) 제 4조 5 항 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
} 














Modify
72
14252 비상콘센트설비의 화재안전기준(NFSC 504) 제 4조 5 항 3호 가 목

가. 지하상가 또는 지하층의 바닥면적의 합계가 3,000㎡ 이상인 것은 수평거리 25m





//	비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 5항 3호 가목
Check(NFSC504_4_5_3_1){
	IF CS THEN KS
}

Door myDoor{
		isObjectProperty(Door.isEntrance) = TRUE
	}

Floor myFloor{
	getFloorNumber(Floor) < 0
}

CS{
	getFloorArea(myFloor) >= 3000m2
}

KS{
	getObjectDistance(myDoor.Stair.Space, EmergencyPowerOutlet) > 25m
	OR getObjectDistance(myDoor.Stair.AncillaryRoom, EmergencyPowerOutlet) > 25m
}
 














Modify
73
14346 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 1 항 1호

1. 배관 내 사용압력이 1.2 ㎫ 미만일 경우에는 다음 각 목의 어느 하나에 해당하는 것 또는 동등 이상의 강도·내식성 및 내열성을 가진 것<신설 2013.6.10>





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 1항 1호

Check(NFSC102_6_1_1){
	IF CS THEN KS
}
CS{
	isObjectProperty(Pipe.workingPressure) < 1.2
}
KS{
	getResult(NFSC102_6_1_1_가)=TRUE
	getResult(NFSC102_6_1_1_나)=TRUE
	getResult(NFSC102_6_1_1_다)=TRUE
}
 














Modify
74
14348 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 1 항 1호 나 목

나. 이음매 없는 구리 및 구리합금관(KS D 5301). 다만, 습식의 배관에 한한다.





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 1항 1호 나목

Check(NFSC102_6_1_1_나){
	IF CS THEN KS
}
CS{
	isObjectProperty(Pipe.systemType) = "WetPipeSprinklerSystem"
}
KS{
	getObjectProperty(Pipe.Material) = "KS_D_5301"
} 














Modify
75
14350 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 1 항 2호

2. 배관 내 사용압력이 1.2 ㎫ 이상일 경우에는 압력배관용탄소강관(KS D 3562) 또는 이와 동등 이상의 강도·내식성 및 내열성을 가진 것<신설 2013.6.10>





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 1항 2호

Check(NFSC102_6_1_2){
	IF CS THEN KS
}
CS{
	isObjectProperty(Pipe.workingPressure) >= 1.2
}
KS{
	getObjectProperty(Pipe.Material) = "KS D 3562"
} 














Modify
76
14351 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 2 항

② 제1항에도 불구하고 다음 각 호의 어느 하나에 해당하는 장소에는 국민안전처장관이 정하여 고시한 「소방용합성수지배관의 성능인증 및 제품검사의 기술기준」에 적합한 소방용 합성수지배관으로 설치할 수 있다.<개정 2013.6.10, 2015.1.23.>





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 2항 

Check(NFSC102_6_2){
	IF CS THEN KS1 OR KS2
}

CS{
	getResult(NFSC102_6_2_2) = TRUE
	OR getResult(NFSC102_6_2_3) = TRUE
}
KS1{
	getResult(NFSC102_6_1) = TRUE
}
KS2{
	isObjectProperty(Pipe.isSyntheticResinForfirefighting) = TRUE
} 














Modify
77
14354 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 2 항 3호

3.천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연 재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 2항 3호
Check(NFSC102_6_2_3){
	KS
}
KS{	
	SprinklerSystem mySprinklerSystem{
	isObjectProperty(SprinklerSystem.type) = "WetPipeSprinklerSystem"
	}
	(isObjectProperty(Ceiling.Material.nonCombustibility)=TRUE
	OR isObjectProperty(Ceiling.Material.quasiNonCombustibility)=TRUE)
	(isObjectProperty(CeilingCovering.Material.nonCombustibility)=TRUE
	OR isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=TRUE)
	isInstalled(mySprinklerSystem, Ceiling)=TRUE
	isInstalled(mySprinklerSystem, CeilingCovering)=TRUE
}

 














Modify
78
14355 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 3 항

③ 급수배관은 전용으로 하여야 한다. 다만, 옥내소화전의 기동장치의 조작과 동시에 다른 설비의 용도에 사용하는 배관의 송수를 차단할 수 있거나, 옥내소화전설비의 성능에 지장이 없는 경우에는 다른 설비와 겸용할 수 있다.






//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 2항 3호
Check(NFSC102_6_2_3){
	KS
}
KS{
	Pipe myPipe{
	isObjectProperty(Pipe.usage) = "WaterSupplyPipe"
	}	
	isObjectProperty(Pipe.isShared) = FALSE
}
 














Modify
79
14361 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 6 항

⑥ 펌프의 토출 측 주배관의 구경은 유속이 4㎧ 이하가 될 수 있는 크기 이상으로 하여야 하고, 옥내소화전방수구와 연결되는 가지배관의 구경은 40㎜(호스릴옥내소화전설비의 경우에는 25㎜) 이상으로 하여야 하며, 주배관중 수직배관의 구경은 50㎜(호스릴옥내소화전설비의 경우에는 32㎜) 이상으로 하여야 한다.<개정 2008.12.15.>





//	옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 6항

Check(NFSC102_6_6){

	IF (CS1 THEN KS1) OR (CS2 THEN KS2) OR (CS3 THEN KS3) OR (CS4 THEN KS4)

}

Port myPort{
Port.typeForWater = "IndoorFireHydrantDischarge"
}

	Pipe myPipe{

		isObjectProperty(Pipe.isBranchLines) = TRUE

		isConnectedTo(Pipe, myPort) = TRUE

	}



	Pipe myPipe2{

		isObjectProperty(Pipe.isRiser) = TRUE

	}



CS1{

	getObjectProperty(myPipe.systemType) = "HoseReelHydrantSystem"

}



KS1{

	getObjectProperty(myPipe.diameter) >= 25mm

}



CS2{

	getObjectProperty(myPipe.systemType) != "HoseReelHydrantSystem"

}



KS2{

	getObjectProperty(myPipe.diameter) >= 40mm

}



CS3{

	getObjectProperty(myPipe2.systemType) = "HoseReelHydrantSystem"

}



KS3{

	getObjectProperty(myPipe2.diameter) >= 32mm

}



CS4{

	getObjectProperty(myPipe2.systemType) != "HoseReelHydrantSystem"

}



KS4{

	getObjectProperty(myPipe2.diameter) >= 50mm

} 














Modify
80
14363 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 7 항

⑦ 연결송수관설비의 배관과 겸용할 경우의 주배관은 구경 100㎜ 이상, 방수구로 연결되는 배관의 구경은 65㎜ 이상의 것으로 하여야 한다.





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 7항

Check(NFSC503A_6_7){

	IF CS THEN KS

}



CS{

	Pipe.isShared(SimpleSprinklersystem.Pipe, 	FireDepartmentConnectionSystem.Pipe) = TRUE

}

KS{

	Pipe myPipe1{

	isObjectProperty(Pipe.isRiser) = TRUE

	}

	Port myPort{

	getObjectProperty(Port.typeForWater) = "Delivery"

	Pipe myPipe2{

	isConnectedTo(Pipe, myPort) = TRUE

	}

	

	isObjectProperty(myPipe1.diameter) >= 100 mm	

	getObjectProperty(myPipe2.diameter) >= 65 mm

} 














Modify
81
14366 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 8 항 1호

1. 성능시험배관은 펌프의 토출측에 설치된 개폐밸브 이전에서 분기하여 설치하고, 유량측정장치를 기준으로 전단 직관부에 개폐밸브를 후단 직관부에는 유량조절밸브를 설치할 것





//	옥내소화전설비의 화재안전기준(NFSC 102) 6조 (배관 등) 8항 1호
Check(NFSC102_6_8_1){
	KS
}

KS{
	Pipe myPipe{
		isObjectProperty(Pipe.isForPerformanceTest) = TRUE
	}

	Valve myValve{
		isObjectProperty(Valve.isShutoffValve) = TRUE
		isInstalled(Valve, Pump.Outlet) = TRUE
	}

	Valve myValve2{
		isObjectProperty(Valve.isShutoffValve) = TRUE
		isInstalled(Valve, Pump.Outlet) = FALSE
	}

	Valve myValve3{
		isObjectProperty(Valve.isFloatControlValve) = TRUE
	}

	isDiverged(Pump, myPipe) = TRUE
	getObjectDistance(Pump.StartPart, myPipe) < getObjectDistance(Pump.StartPart, myValve)

	isInstalled(myValve2, myPipe) = TRUE
	isInstalled(myValve3, myPipe) = TRUE
} 














Modify
82
14367 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 8 항 2호

2. 유량측정장치는 성능시험배관의 직관부에 설치하되, 펌프의 정격토출량의 175% 이상 측정할 수 있는 성능이 있을 것





//	옥내소화전설비의 화재안전기준(NFSC 102) 6조 (배관 등) 8항 2호
Check(NFSC102_6_8_2){
	KS
}

KS{
	
	Pipe myPipe{
		isObjectProperty(Pipe.isForPerformanceTest) = TRUE
	}

	isInstalled(DischargeMeasuringEquipment, myPipe) = TRUE
} 














Modify
83
14368 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 9 항

⑨ 가압송수장치의 체절운전 시 수온의 상승을 방지하기 위하여 체크밸브와 펌프사이에서 분기한 구경 20㎜ 이상의 배관에 체절압력 미만에서 개방되는 릴리프밸브를 설치하여야 한다.





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 9항
Check(NFSC503A_6_9){
	KS
}
KS{
	Valve myValve1{
	isObjectProperty(Valve.isCheckValve) = TRUE
	}
	PP = getObjectProperty(Pump.shutoffPressure)
	Valve myValve2{
	isObjectProperty(Valve.isReliefVavle) = TRUE
	isObjectProperty(Valve.reliefPressure) < PP
	}

	isInstalledInOrder(myValve1, Pipe, Pump) = TRUE
	isObjectProperty(Pipe.diameter) >= 20mm
	isInstalled(myValve2, Pipe) = TRUE
}
 














Modify
84
14371 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 11 항

⑪ 급수배관에 설치되어 급수를 차단할 수 있는 개폐밸브(옥내소화전방수구를 제외한다)는 개폐표시형으로 하여야 한다. 이 경우 펌프의 흡입측 배관에는 버터플라이밸브 외의 개폐표시형밸브를 설치하여야 한다.





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 11항
Check(NFSC503A_6_11){
	IF CS THEN KS
}
	Pipe myPipe{
	isObjectProperty(Pipe.usage) = "WaterSupplyPipe"
	}
	Valve myValve1{
	isObjectProperty(Valve.isShutoffValve) = TRUE
	}
S{
	isInstalled(myValve1,myPipe) = TRUE
	isInstalled(myValve1,myPort) = FALSE
}
KS{
	isObjectProperty(myValve1.isIndicatingValve) = TRUE
	Valve myValve2{
	isInstalled(Valve, Pump.Inlet) = TRUE
	}
	isObjectProperty(myValve2.isIndicatingValve) = TRUE
	isObjectProperty(myValve2.isButterflyValve) = FALSE
 } 














Modify
85
14378 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 13 항 2호

2. 송수구로부터 주 배관에 이르는 연결배관에는 개폐밸브를 설치하지 아니할 것. 다만, 스프링클러설비·물분무소화설비·포소화설비 또는 연결송수관 설비의 배관과 겸용하는 경우에는 그러하지 아니하다.





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 13항 2호

Check(NFSC503A_6_13_2){

 IF !CS THEN KS 

}

CS{

	isShared(HookingUpSprinklerSystem.Pipe, SprinklerSystem.Pipe, WaterSprayExtingushingSystem.Pipe, FoamExtinguishingSystem.Pipe) = TRUE

	OR isShared(HookingUpSprinklerSystem.Pipe, FireDepartmentConnectionSystem.Pipe) = TRUE

}

KS{

	Port myPort{ 

	getObjectProperty(HookingUpSprinklerSystem.Port.typeForWater) = "FireDepartmentConnection" 

 	}

 	Pipe myPipe{

	isObjectProperty(Pipe.isRiser)=TRUE

	}

	Vavle myValve{

	isObjectProperty(Valve.isShutoffValve)= TRUE

	}

 	isConnectedTo(myPort, Pipe) = TRUE

 	isConnectedTo(Pipe, myPipe) = TRUE

  	isInstalled(myValve, myPipe) = FALSE

 } 














Modify
86
14380 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 13 항 4호

4. 구경 65㎜의 쌍구형 또는 단구형으로 할 것





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 13항 4호
Check(NFSC503A_6_13_4){
KS{
	Port myPort{
	isObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
	}
	
	(isObjectProperty(myPort.shapeType)="DoubleType"
	isObjectProperty(myPort.diameter) = 65mm)
	OR isObjectProperty(myPort.shapeType) = "SingleType"
} 














Modify
87
14391 옥내소화전설비의 화재안전기준(NFSC 102) 제 7조 2 항 1호

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

} 














Modify
88
14510 스프링클러설비의 화재안전기준(NFSC 103) 제 4조 5 항

⑤ 스프링클러설비의 수원을 수조로 설치하는 경우에는 소방설비의 전용수조로 하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 경우에는 그러하지 아니하다. [종전의 제4항에서 이동 2012.2.15]





//  스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항
Check(NFSC103_4_5){
	IF CS THEN KS
}

CS{
	isObjectProperty(Tank.isWaterSource) = TRUE

	(getResult(NFSC103_4_5_1) = FALSE
	OR getResult(NFSC103_4_5_2) = FALSE)
}

KS{
	isObjectProperty(Tank.isShared) = FALSE
} 














Modify
89
14511 스프링클러설비의 화재안전기준(NFSC 103) 제 4조 5 항 1호

1. 스프링클러펌프의 후드밸브 또는 흡수배관의 흡수구(수직회전축펌프의 흡수구를 포함한다. 이하 같다)를 다른 설비(소방용 설비 외의 것을 말한다. 이하 같다)의 후드밸브 또는 흡수구보다 낮은 위치에 설치한 때





//  스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 1호
Check(NFSC103_4_5_1){
	KS
}

Pump myPump{
	isInstalled(Pump, SprinklerSystem) = TRUE
}

Valve myValve{
	isObjectProperty(Valve.isFootValve) = TRUE
	isInstalled(Valve, myPump) = TRUE
}

Valve myValve2{
	isObjectProperty(Valve.isFootValve) = TRUE
	Valve != myValve
}

Pipe myPipe{
	isObjectProperty(Pipe.isObsorptionPipe) = TRUE
}

Obsorption myObsorptionOpening{
	isInstalled(ObsorptionOpening, myPipe) = TRUE
}

Obsorption myObsorptionOpening2{
	ObsorptionOpening != myObsorptionOpening
}

KS{
	getObjectVerticalLocation(myValve, myValve2) < 0
	OR getObjectVerticalLocation(myObsorptionOpening, myOpsorptionOpening2) < 0
} 














Modify
90
14512 스프링클러설비의 화재안전기준(NFSC 103) 제 4조 5 항 2호

2. 제5조제2항에 따른 고가수조로부터 스프링클러설비의 수직배관에 물을 공급하는 급수구를 다른 설비의 급수구보다 낮은 위치에 설치한 때





//  스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 2호
Check(NFSC103_4_5_2){
	KS
}

Pipe myPipe{
	isObjectProperty(Pipe.isRiser) = TRUE
	isInstalled(Pipe, SprinklerSystem) = TRUE
}

Tank myTank{
	getObjectProperty(Tank.operationType) = "ElevatedWaterTank"
}

WaterSupplyOpening myWaterSupplyOpening{
	isConnectedTo(WaterSupplyOpening, myPipe) = TRUE
}

WaterSupplyOpening myWaterSupplyOpening2{
	WaterSupplyOpening != myWaterSupplyOpening
}

KS{
	getObjectVerticalLocation(myWaterSupplyOpening, myWaterSupplyOpening2) < 0
}

 














Modify
91
14562 스프링클러설비의 화재안전기준(NFSC 103) 제 6조 3호

3. 하나의 방호구역은 2개 층에 미치지 아니하도록 할 것. 다만, 1개 층에 설치되는 스프링클러헤드의 수가 10개 이하인 경우와 복층형구조의 공동주택에는 3개 층 이내로 할 수 있다.<개정 2009.10.22>





//스프링클러설비의 화재안전기준(NFSC 103) 6조 (폐쇄형스프링클러설비의 방호구역·유수검지장치) 3호



Check(NFSC103_6_0_3){

    IF CS THEN KS1 ELSE KS2 

}



CS{

Building myBuilding{
Building.usage = "MultiUnitHouse"
}

     getObjectCount(Floor.One, SprinklerHead)<=10

     OR isObjectProperty(myBuilding.isDuplexType)=True

}



KS1{

     getObjectCount(SprinklerSystem.ProtectionZone.One.Floor )<=3

}



KS2{

   

 getObjectCount(SprinklerSystem.ProtectionZone.One.Floor )<2

} 














Modify
92
14568 스프링클러설비의 화재안전기준(NFSC 103) 제 7조 1호

1. 하나의 방수구역은 2개 층에 미치지 아니 할 것





//스프링클러설비의 화재안전기준(NFSC 103) 7조 (개방형스프링클러설비의 방수구역 및 일제개방밸브) 1호

Check(NFSC103_7_0_1){
       KS
}

KS{
   Zone myZone{
          isObjectProperty(Zone.isWaterProofingZone)=True
   }

    getObjectCount(myZonme.One.Floor)<2
} 














Modify
93
14569 스프링클러설비의 화재안전기준(NFSC 103) 제 7조 2호

2. 방수구역마다 일제개방밸브를 설치할 것





//스프링클러설비의 화재안전기준(NFSC 103) 7조 (개방형스프링클러설비의 방수구역 및 일제개방밸브) 2호

Check(NFSC103_7_0_2){
     KS
}

KS{
 Zone myZone{
    isObjectProperty(Zone.isWaterProofingZone)=True
 }
 
Valve myValve{
    isObjectProperty(Valve.isDelugeValve)=True
}
  getObjectCount(myValve,myZone)>=1
} 














Modify
94
14637 스프링클러설비의 화재안전기준(NFSC 103) 제 9조 1 항 3호

3. 음향장치는 유수검지장치 및 일제개방밸브 등의 담당구역마다 설치하되 그 구역의 각 부분으로부터 하나의 음향장치까지의 수평거리는 25m 이하가 되도록 할 것<개정 2008.12.15>





// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 1항 3호

Check(NFSC103_9_1_3){
	KS
}
KS{
	Zone myZone{
	isObjectProperty(Zone.isProtectionZone) = TRUE
	}
	isInstalled(AcousticSystem, myZone) = TRUE
	getElementDistance(myZone.Wall|myZone.Column, AcousticSystem.One) <= 25m
} 














Modify
95
14651 스프링클러설비의 화재안전기준(NFSC 103) 제 9조 3 항

③ 준비작동식유수검지장치 또는 일제개방밸브의 작동은 다음 각 호의 기준에 적합하여야 한다.<개정 2008.12.15>





// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 3항

Check(NFSC103_9_3){
	IF CS THEN KS
}
CS{
	getObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator"
	OR isObjectProperty(Valve.isDelugeValve) = TRUE
}
KS{
	getResult(NFSC103_9_0_5) = TRUE
} 














Modify
96
14658 스프링클러설비의 화재안전기준(NFSC 103) 제 9조 3 항 5호

5. 화재감지기 회로에는 다음 각 목의 기준에 따른 발신기를 설치할 것. 다만, 자동화재탐지설비의 발신기가 설치된 경우에는 그러하지 아니하다.<개정 2008.12.15>





// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 3항 5호

Check(NFSC103_9_3_5){
	IF (!CS1 AND CS2) THEN KS
}
CS1{
	isInstalled(Transmitter, Building) = TRUE
	isObjectProperty(Transmitter.systemType) = "자동화재탐지설비"
}
CS2{
	isInstalled(Transmitter, FireDetector.Circuit) = TRUE
}
KS{
	getResult(NFSC103_9_3_5_가) = TRUE
	getResult(NFSC103_9_3_5_나) = TRUE
} 














Modify
97
14663 스프링클러설비의 화재안전기준(NFSC 103) 제 10조 2 항

② 랙크식창고의 경우로서「소방기본법시행령」별표 2의 특수가연물을 저장 또는 취급하는 것에 있어서는 랙크높이 4m 이하마다, 그 밖의 것을 취급하는 것에 있어서는 랙크높이 6m 이하마다 스프링클러헤드를 설치하여야 한다. 다만, 랙크식창고의 천장높이가 13.7m 이하로서 「화재조기진압용 스프링클러설비의 화재안전기준(NFSC 103B)」에 따라 설치하는 경우에는 천장에만 스프링클러헤드를 설치할 수 있다.<개정 2013.6.10>





//	스프링클러설비의 화재안전기준(NFSC 103) 10조 (음향장치 및 기동장치) 2항

Check(NFSC103_10_2){

	IF (CS1 THEN KS1) OR (CS2 THEN KS2)

}



CS1{
Space.usage = "RackWarehouse"
isObjectProperty(Space.hasSpecialCombustible) = TRUE

}



KS1{

	getObjectHeight(Rack) / 4 = RH



	(RH-1) <= getObjectCount(SprinklerHead) < RH

	getObjectInterval(SprinklerHead) = 4m

}



CS2{

Space.usage = "RackWarehouse"
isObjectProperty(Space.hasSpecialCombustible) != TRUE


}



KS2{

	getObjectHeight(Rack) / 6 = RH



	(RH-1) <= getObjectCount(SprinklerHead) < RH

	getObjectInterval(SprinklerHead) = 6m

} 














Modify
98
14665 스프링클러설비의 화재안전기준(NFSC 103) 제 10조 3 항 1호

1. 무대부·「소방기본법시행령」별표 2의 특수가연물을 저장 또는 취급하는 장소에 있어서는 1.7m 이하





//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항 1호



check(NFSC103_10_3_1){

IF CS THEN KS

}



Space mySpace1{

Space.usage="StagePart"

OR isObjectProperty(Space.hasSpecialCombustible)=TRUE

}

CS{

isExist(PlenumSpace)=TRUE

}

KS{

getHorizontalDistance(Ceiling | CeilingCovering | mySpace2 | Duct | Shelf,SprinklerSystem.Head)<=1.7m

} 














Modify
99
14666 스프링클러설비의 화재안전기준(NFSC 103) 제 10조 3 항 2호

2. 랙크식 창고에 있어서는 2.5m 이하 다만, 특수가연물을 저장 또는 취급하는 랙크식 창고의 경우에는 1.7 m 이하





//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항 2호



check(NFSC103_10_3_2){

IF (CS1 THEN KS1) OR (CS2 THEN KS2)

}



Space mySpace1{

Space.usage="RackWarehouse"

Space mySpace2{

Space.usage="RackWarehouse"

isObjectProperty(Space.hasSpecialCombustible)=TRUE

}

CS1{

isExist(mySpace1)=TRUE

}

KS1{

getHorizontalDistance(Ceiling|CeilingCovering|PlenumSpace|Duct|Shelf,SprinklerHead)<=2.5m

}

CS2{

isExist(mySpace2)=TRUE

}

KS2{

getHorizontalDistance(Ceiling|CeilingCovering|PlenumSpace|Duct|Shelf,SprinklerHead)<=1.7m

} 














Modify
100
14682 스프링클러설비의 화재안전기준(NFSC 103) 제 10조 7 항 6호

6. 연소할 우려가 있는 개구부에는 그 상하좌우에 2.5m 간격으로(개구부의 폭이 2.5m 이하인 경우에는 그 중앙에) 스프링클러헤드를 설치하되, 스프링클러헤드와 개구부의 내측 면으로부터 직선거리는 15㎝ 이하가 되도록 할 것. 이 경우 사람이 상시 출입하는 개구부로서 통행에 지장이 있는 때에는 개구부의 상부 또는 측면(개구부의 폭이 9m 이하인 경우에 한한다)에 설치하되, 헤드 상호간의 간격은 1.2m 이하로 설치하여야 한다.





//스프링클러설비의 화재안전기준(nfsc 103) 10조 (헤드) 7항 6호

Check(NFSC103_10_7_6){
	IF (CS1 THEN KS1) or (CS2 THEN KS2)
}
CS1{
	isObjectProperty(Opening.isFireSpreading)=TRUE
	getObjectWidth(Opening, a) > 2.5m
}
KS2{
	isInstalled(Opening, Sprinkler.Head, 2.5m) = TRUE
	getElementDistance(Opening.InsideSurface, Sprinkler.Head) <= 15cm
}

CS2{
	isObjectProperty(Opening.isFireSpreading)=TRUE
	getObjectWidth(Opening, Sprinkler.Head, a) <= 2.5m
}
KS2{
	isInstalled(Opening, Sprinkler.Head, center) = TRUE
	getElementDistance(Opening.InsideSurface, Sprinkler.Head) <= 15cm
}

 














Modify
  ◁prev 1   2   3   4   next▷  
 
This is Design IT Lab server's restricted area. Authorized users could access this website.