설계품질검토 대상법규   |   조항단위 법규   |   문장단위 법규   |   KBimCode-Assess 연동모듈   |   KBimCode DB   |   주어부 - 객체,속성 DB   |   서술부 - 함수 DB   |   관계부 - 문장관계   |   룰셋생성모듈   |  
(2025-06-27 기준) 설계품질검토용 건축법 및 관련법규 - KBIMCode (문장단위)
      KBIMCode - KBimAssess Python Code     KBIMCode - 체크리스트 단위     KBIMCode - 조항단위
    1   2   3   4   5   6   7   8   9   10   next▷ NEXT10▶
1 / 12 page Total 2500 / 4000 records
Select
ALL
None
#
Law
Jo
JO Name
HANG
HO
MOK
Text
Search!
1
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 4조 1 항

제4조(수원) ① 간이스프링클러설비의 수원은 다음 각 호와 같다.

KBimCode 입력 예정


Python Code 변환 예정



2
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 4조 2 항 1호

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

KBimCode 입력 예정


Python Code 변환 예정



3
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 1 항 1호

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





//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호

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




Python Code 변환 예정



4
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 1 항 1호 가 목

가. 배관용 탄소강관(KS D 3507)





//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호



Check(NFSC503A_8_1_1_가){

	KS

}

KS{

	getObjectProperty(Pipe.Material) = "KS_D_3507"

} 




Python Code 변환 예정



5
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 1 항 1호 나 목

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





//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호

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




Python Code 변환 예정



6
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 1 항 1호 다 목

다. 배관용 스테인리스강관(KS D 3576) 또는 일반배관용 스테인리스강관(KS D 3595)





//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호

Check(NFSC503A_8_1_1_다){
	KS
}
KS{
	getObjectProperty(Pipe.Material) = "KS_D_3595"
} 




Python Code 변환 예정



7
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 1 항 2호

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





//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 2호

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




Python Code 변환 예정



8
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 2 항

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





//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 2항

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

CS{
	getResult(NFSC503A_8_2_2) = TRUE
	OR getResult(NFSC503A_8_2_3) = TRUE
}
KS1{
	getResult(NFSC503A_8_1) = TRUE
}
KS2{
	isObjectProperty(Pipe.isSyntheticResinForfirefighting) = TRUE
} 




Python Code 변환 예정



9
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 2 항 2호

2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우





Check(NFSC103A_8_2_2){
	KS
}
KS{
	Duct myDcut{
	isFireResistantStructure(Duct) = TRUE
	}
	isInstalled(Pipe, Duct) = TRUE
	OR isInstalled(Pipe, Pit.Inside) = TRUE
}

 




Python Code 변환 예정



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

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





//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 2항 3호

Check(NFSC503A_8_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
} 




Python Code 변환 예정



11
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 4 항 1호

1. 공기고임이 생기지 아니하는 구조로 하고 여과장치를 설치할 것





//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항 1호

Check(NFSC503A_8_4_1){
	KS
}
KS{
	Pipe myPipe{
		isInstalled(Pump.Inlet, Pipe) = TRUE
	}
	isInstalled(myPipe,Filter) = TRUE
} 




Python Code 변환 예정



12
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 4 항 2호

2. 수조가 펌프보다 낮게 설치된 경우에는 각 펌프(충압펌프를 포함한다)마다 수조로부터 별도로 설치할 것






// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항 2호

Check(NFSC103A_8_4_2){
	IF CS THEN KS
}
CS{
	getObjectVerticalLocation(Pump, Tank) < 0 
}
KS{
	Pipe myPipe{
		isInstalled(Pump.Inlet, Pipe) = TRUE
	}
	isInstalled(myPipe, Pump.One) = TRUE
} 




Python Code 변환 예정



13
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 6 항 1호

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





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

Check(NFSC102_6_8_1){

	KS

}



KS{

	Pipe myPipe{

		isObjectProperty(Pipe.isForTest) = 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(StraightPipeLine, myPipe) < getObjectDistance(StraightPipeLine, myValve)



	isInstalled(myValve2, myPipe) = TRUE

	isInstalled(myValve3, myPipe) = TRUE

} 




Python Code 변환 예정



14
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 6 항 2호

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





//  간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 6항 2호

Check(NFSC103A_8_6_2){

	KS

}

KS{

	Pipe myPipe{

		isObjectProperty(Pipe.isForTest) = TRUE

	}

	

	isConnectedTo(myPipe, DischargeMeasuringEquipment) = TRUE

	getObjectProperty(DischargeMeasuringEquipment.measurementCapacity) = DME

	getObjectProperty(Pump.ratedDischargePressure) = PDP



	PDP*1.75 <= DME

} 




Python Code 변환 예정



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

②조적식구조인 내력벽의 두께는 그 건축물의 층수·높이 및 벽의 길이에 따라 각각 다음 표의 두께 이상으로 하되, 조적재가 벽돌인 경우에는 당해 벽높이의 20분의 1이상, 블록인 경우에는 당해 벽높이의 16분의 1이상으로 하여야 한다. ┌───────┬─────────────┬─────────────┬─────────────┐ │건축물의 높이 │5미터 미만 │5미터 이상 11미터 미만





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

} 




Python Code 변환 예정



16
건축물의 구조기준 등에 관한 규칙 제 32조 4 항

④조적식구조인 내력벽으로 둘러싸인 부분의 바닥면적이 60제곱미터를 넘는 경우에는 그 내력벽의 두께는 각각 다음 표의 두께 이상으로 하되, 조적식구조의 재료별 내력벽 두께에 관하여는 제2항 및 제3항의 규정을 준용한다. ┌────────┬──────┬──────┐ │건축물의 층수 │1층 │2층 │ ├─────┬──┼──────┼──────┤ │층별 두께 │1층 │190밀리미터 │





// 건축물의 구조기준 등에 관한 규칙 32조 (내력벽의 두께) 4항

Check(RSSB_32_4){
      getResult(RSSB_32_7) = 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{

} 




Python Code 변환 예정



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

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




Python Code 변환 예정



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




Python Code 변환 예정



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

} 




Python Code 변환 예정



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




Python Code 변환 예정



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




Python Code 변환 예정



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




Python Code 변환 예정



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




Python Code 변환 예정



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

} 




Python Code 변환 예정



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




Python Code 변환 예정



26
건축물의 구조기준 등에 관한 규칙 제 33조 1 항

제33조(칸막이벽 등의 두께) ①조적식구조인 칸막이벽(내력벽이 아닌 그 밖의 벽을 포함한다. 이하 이 절에서 같다)의 두께는 90밀리미터 이상으로 하여야 한다.





check(RSSB_33_1){
getResult(RSSB_28_3) = TRUE AND 
(RSSB_28_1) = TRUE AND 
getResult(RSSB_3_3) = TRUE
	Wall myWall{
		getObjectStructure(Wall) = "MansonryStructure"
		getObjectType(Wall) = "PartitionWall"
	}

	getObjectThickness(myWall) >= 90mm
} 




Python Code 변환 예정



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

} 




Python Code 변환 예정



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




Python Code 변환 예정



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

} 




Python Code 변환 예정



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




Python Code 변환 예정



31
건축물의 구조기준 등에 관한 규칙 제 35조 1 항 2호

2. 하나의 층에 있어서의 개구부와 그 바로 윗층에 있는 개구부와의 수직거리는 600밀리미터 이상으로 하여야 한다. 같은 층의 벽에 상하의 개구부가 분리되어 있는 경우 그 개구부 사이의 거리도 또한 같다.





//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 1항 2호
Check(RSSB_35_1_2){
	KS2 AND IF CS THEN KS1
}
KS2{
	Opening myOpening1{
	isInstalled(Opening, Floor.One) = TRUE
	}
	Opening myOpening2{
	isInstalled(Opening, myOpening1.Floor.UpperFloor) = TRUE
	}
	getObjectVerticalDistance(myOpening1, myOpening2) >= 600mm
}
CS{
	Opening myOpening3{
	isInstalled(Opening, Floor.One.Wall.One) = TRUE
	}
	getObjectInterval(myOpening3,,a) >= 600mm
} 




Python Code 변환 예정



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




Python Code 변환 예정



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

③폭이 1.8미터를 넘는 개구부의 상부에는 철근콘크리트구조의 윗 인방(引枋)을 설치하여야 한다.





//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 3항

Check(RSSB_35_3){

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

}

CS{

	getObjectProperty(Opening.width) > 1.8m

}

KS{

	Beam myBeam{

	isOjectProperty(Beam.isLintel) = TRUE

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

 	}



	getObjectVerticalLocation(myBeam, Opening) > 0

} 




Python Code 변환 예정



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

} 




Python Code 변환 예정



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




Python Code 변환 예정



36
건축물의 구조기준 등에 관한 규칙 제 39조 1호

1. 높이는 3미터 이하로 할 것





//건축물의 구조기준 등에 관한 규칙 39조 (조적식구조인 담) 1호
Check(RSSB_39_0_1){
	KS
}
KS{
	getObjectHeight(Fence) <= 3m
} 








def Check():
   fence = SELECT("fence")
   fenceHeight = fence.SELECT("height").NUMBER().UNIT('m')
   if fenceHeight <= 3:
      fence.SUCCESS("fence height: "+str(fenceHeight)+"m")
   else:
      fence.ERROR("fence height: "+str(fenceHeight)+"m") 





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




Python Code 변환 예정



38
건축물의 구조기준 등에 관한 규칙 제 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호 규정에 의한 담의 두께)
} 




Python Code 변환 예정



39
건축물의 구조기준 등에 관한 규칙 제 41조 1 항

제41조(적용범위) ①이 절의 규정은 보강블록구조의 건축물이나 보강블록구조와 철근콘크리트구조 그 밖의 구조를 병용하는 건축물의 보강블록구조인 부분에 이를 적용한다.





//건축물의 구조기준 등에 관한 규칙 41조 (적용범위 등) 1항
Check(RSSB_41_1){
	getResult(RSSB_41_1) = TRUE AND KS
}
KS{
	getObjectProperty(Building.Structure.materialType) = "SteelReinforcedConcreteBlock" 
	OR "ReinforcedConcrete"
} 




Python Code 변환 예정



40
건축물의 구조기준 등에 관한 규칙 제 41조 2 항

②높이 4미터 이하이고, 연면적 20제곱미터 이하인 건축물에 대하여는 제42조 및 제45조의 규정에 한하여 이를 적용한다.





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

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

CS{
    getBuildingHeight()<=4 m
    getGrossFloorArea() <=20 m2  
}

KS{

   getResult(RSSB_42)=True
   getResult(RSSB_45)=True
} 




Python Code 변환 예정



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




Python Code 변환 예정



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




Python Code 변환 예정



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




Python Code 변환 예정



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




Python Code 변환 예정



45
건축물의 구조기준 등에 관한 규칙 제 43조 4 항

④제3항의 규정에 의한 세로철근의 양단은 각각 그 철근지름의 40배 이상을 기초판 부분이나 테두리보 또는 바닥판에 정착시켜야 한다.





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

Check(RSSB_43_4){

	getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS

}



KS{

   RD>=40*getObjectProperty(RSSB_43_3_myReinforcement.diameter)

      

    isInstalled( RSSB_43_3_myReinforcement.BothEndSides, FoundationPlate , RD, "정착")=True



    OR  isInstalled( RSSB_43_3_myReinforcement.BothEndSides, WallGirder, RD, "정착")=True



      OR  isInstalled( RSSB_43_3_myReinforcement.BothEndSides, FloorSlab   , RD, "정착")=True



} 




Python Code 변환 예정



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



  

} 




Python Code 변환 예정



47
건축물의 구조기준 등에 관한 규칙 제 45조

제45조(보강블록구조의 담) 보강블록구조인 담의 구조는 다음 각호의 기준에 의한다.





//	건축물의 구조기준 등에 관한 규칙 45조 (보강블록구조의 담)
Check(RSSB_45){
	getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
	getResult(RSSB_45_0_1) = TRUE
	getResult(RSSB_45_0_2) = TRUE
	getResult(RSSB_45_0_3) = TRUE
} 




Python Code 변환 예정



48
건축물의 구조기준 등에 관한 규칙 제 45조 1호

1. 담의 높이는 3미터 이하로 할 것





//	건축물의 구조기준 등에 관한 규칙 45조 (보강블록구조의 담) 1항
Check(RSSB_45_1){
	getResult(RSSB_3_3) = TRUE AND KS
}

KS{
	getObjectHeight(Fence) <= 3m
} 








def Check():
   fence = SELECT("fence")
   fenceHeight = fence.SELECT("height").NUMBER().UNIT('m')
   if fenceHeight <= 3:
      fence.SUCCESS("fence height: "+str(fenceHeight)+"m")
   else:
      fence.ERROR("fence height: "+str(fenceHeight)+"m") 
 





49
건축물의 구조기준 등에 관한 규칙 제 45조 2호

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





//	건축물의 구조기준 등에 관한 규칙 45조 (보강블록구조의 담) 2항
Check(RSSB_45_2){
	getResult(RSSB_3_3) = TRUE AND IF (CS THEN KS1) OR (!CS THEN KS2)
}

CS{
	getObjectHeight(Fence) > 2m
}

KS1{
	getObjectThickness(Fence) >= 150mm
}

KS2{
	getObjectThickness(Fence) >= 90mm
} 




Python Code 변환 예정



50
건축물의 구조기준 등에 관한 규칙 제 45조 3호

3. 담의 내부에는 가로 또는 세로 각각 800밀리미터 이내의 간격으로 철근을 배치하고, 담의 끝 및 모서리부분에는 세로로 직경 9밀리미터 이상의 철근을 배치할 것





//	건축물의 구조기준 등에 관한 규칙 45조 (내력벽) 4호
Check(RSSB_45_0_4){
	getResult(RSSB_3_3) = TRUE AND KS
}

KS{
  
    isInstalled( Reinforcement, Fense, 800 mm , Fense.In)=True

    Reinforcement myReinforcement{
        getObjectProperty(Reinforcement.diameter)>=9 mm
   }

     isInstalled( myReinforcement, Fense, Vertical , Fense.BothEndSides)=True
     isInstalled( myReinforcement, Fense, Vertical , Fense.Edge)=True
} 




Python Code 변환 예정



51
건축물의 구조기준 등에 관한 규칙 제 47조 2 항

②높이가 4미터 이하이고 연면적이 30제곱미터 이하인 건축물이나 높이가 3미터 이하인 담에 대하여는 제49조 및 제51조의 규정에 한하여 이를 적용한다.





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



Check(RSSB_47_2){

     getResult(RSSB_3_3) = TRUE AND IF CS THEN KS 

}



CS{

    getBuildingHeight()<=4 m

    getGrossFloorArea() <=30 m2  



    OR getObjectHeight(Fence)<= 3m

}



KS{



   getResult(RSSB_51)=True

} 




Python Code 변환 예정



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

제51조(철근을 덮는 두께) 철근을 덮는 콘크리트의 두께는 다음 각호의 기준에 의한다.





//건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 

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

CS{
   // 철근을 덥는 콘크리트 
}

KS{
   getResult(RSSB_51_0_1)=True
   getResult(RSSB_51_0_2)=True

} 




Python Code 변환 예정



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

1. 흙에 접하거나 옥외의 공기에 직접 노출되는 콘크리트의 경우





//건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 1호

Check(RSSB_51_0_1){
         IF CS THEN KS 
}

CS{
    isExternal(Concrete)=True
   // 흙에 접하거나 
}

KS{
   getResult(RSSB_51_0_1_가)=True
   getResult(RSSB_51_0_1_나)=True
   getResult(RSSB_51_0_1_다)=True
   
}
 




Python Code 변환 예정



54
건축물의 구조기준 등에 관한 규칙 제 51조 1호 가 목

가. 직경 29밀리미터 이상의 철근 : 60밀리미터 이상





//건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 1호 가목

Check(RSSB_51_0_1_가){
      IF CS THEN KS
}

CS{
    getObjectDiameter("철근")>=29 mm 
}

KS{
   getObjectThickness("철근을 덮는 콘크리트")>=60 mm
} 




Python Code 변환 예정



55
건축물의 구조기준 등에 관한 규칙 제 51조 1호 나 목

나. 직경 16밀리미터 초과 29밀리미터 미만의 철근 : 50밀리미터 이상





// 건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 1호 나목

Check(RSSB_51_0_1_나){
     IF CS THEN KS
}

CS{
   getObjectDiameter("철근")>16 mm
   getObjectDiameter("철근")<29 mm  
}

KS{
   getObjectThickness("철근을 덮는 콘크리트")>=50 mm
}

 




Python Code 변환 예정



56
건축물의 구조기준 등에 관한 규칙 제 51조 1호 다 목

다. 직경 16밀리미터 이하의 철근 : 40밀리미터 이상





// 건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 1호 다목

Check(RSSB_51_0_1_다){
     IF CS THEN KS
}

CS{   
       getObjectDiameter("철근")<=16 mm 
}

KS{
   getObjectThickness("철근을 덮는 콘크리트")>=40 mm
} 




Python Code 변환 예정



57
건축물의 구조기준 등에 관한 규칙 제 51조 2호

2. 옥외의 공기나 흙에 직접 접하지 않는 콘크리트의 경우





//건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 2호

Check(RSSB_51_0_2){
         IF CS THEN KS 
}

CS{
    isExternal(Concrete)=False
   // 흙에 접하지 않는 경우 
}

KS{
   getResult(RSSB_51_0_2_가)=True
   getResult(RSSB_51_0_2_나)=True
}
 




Python Code 변환 예정



58
건축물의 구조기준 등에 관한 규칙 제 51조 2호 가 목

가. 슬래브, 벽체, 장선 : 20밀리미터 이상





// 건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 2호 가목

Check(RSSB_51_0_2_가){
        KS
}

KS{
       getObjectThickness(Slab)>=20 mm
       getObjectThickness(Wall)>=20 mm
       getObjectThickness(BridgingJoist)>=20 mm
} 




Python Code 변환 예정



59
건축물의 구조기준 등에 관한 규칙 제 51조 2호 나 목

나. 보, 기둥 : 40밀리미터 이상





// 건축물의 구조기준 등에 관한 규칙 51조 (철근을 덮는 두께) 2호 나목

Check(RSSB_51_0_2_나){
        KS
}

KS{
       getObjectThickness(Beam)>=40 mm
       getObjectThickness(Column)>=40 mm
      
} 




Python Code 변환 예정



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

} 




Python Code 변환 예정



61
건축물의 구조기준 등에 관한 규칙 제 53조 2호

2. 최대휨모멘트를 받는 부분에 있어서의 인장철근의 간격은 단변방향은 200밀리미터 이하로 하고 장변방향은 300밀리미터 이하로 하되, 슬래브의 두께의 3배 이하로 하여야 한다.





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

Check(RSSB_53_0_2){
        KS
}

KS{
   getObjectDistance(TensionReinforcement, "최대휨모멘트를 받는 부분의 단변방향의 간격") <=200 mm
   getObjectDistance(TensionReinforcement, "최대휨모멘트를 받는 부분의 장변방향의 간격") <=300 mm

    TS=getObjectThickness(Slab)
    getObjectDistance(TensionReinforcement, "최대휨모멘트를 받는 부분의간격") <= TS/3


} 




Python Code 변환 예정



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

  
} 




Python Code 변환 예정



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

} 




Python Code 변환 예정



64
건축물의 구조기준 등에 관한 규칙 제 3조 3 항

③ 제21조부터 제55조까지의 규정에 따른 구조안전에 관한 기준은 「건축법 시행령」(이하 "영"이라 한다) 제32조제1항에 해당하지 아니하는 소규모건축물(이하 "소규모건축물"이라 한다)에 대하여만 적용된다.





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

Check(RSSB_3_3){

	KS

}



KS{

	getResult(EDBA_32_1) = FALSE 

	isObjectProperty(Building.isSmallBuilding) = TRUE

} 




Python Code 변환 예정



65
건축물의 구조기준 등에 관한 규칙 제 9조의3조 1 항

① 주요구조부(바닥·지붕틀 및 주계단은 제외한다. 이하 이 조에서 같다)가 목구조인 건축물은 지붕높이 18미터 이하, 처마높이 15미터 이하 및 연면적 3,000제곱미터 이하로 하여야 한다. 다만, 스프링클러를 설치하는 경우에는 연면적을 6,000제곱미터까지 허용할 수 있다.





//건축물의 구조기준 등에 관한 규칙 9조의3 (건축물의 규모제한) 1항

Check(RSSB_9-3_1){

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

}

	MainStructuralPart myMainStructuralPart1{
	getObject(FloorSlab) OR getObject(RoofTruss)
	}
MainStructuralPart myMainStructuralPart2{
	MainStructuralPart != myMainStructuralPart1
	}

CS1{

	isInstalled(SprinklerSystem) != TRUE

	getObjectProperty(myMainStructuralPart2.Structure.materialType) = "Timber"

}

KS1{

	getObjectVerticalDistance(FloorSlab, Roof) <= 18m

	getObjectVerticalDistance(FloorSlab, Eave) <= 15m

	getGrossFloorArea() <= 3000m2

}

CS2{

	isInstalled(SprinklerSystem) = TRUE

	getObjectProperty(myMainStructuralPart2.Structure.materialType) = "Timber"

}

KS1{

	getObjectVerticalDistance(FloorSlab, Roof) <= 18m

	getObjectVerticalDistance(FloorSlab, Eave) <= 15m

	getGrossFloorArea() <= 6000m2

} 




Python Code 변환 예정



66
건축물의 구조기준 등에 관한 규칙 제 9조의3조 2 항

② 주요구조부가 비보강조적조인 건축물은 지붕높이 15미터 이하, 처마높이 11미터 이하 및 3층 이하로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 9조의3 (건축물의 규모제한) 2항
Check(RSSB_9-3_2){
        IF CS THEN KS
}
CS{
	isObjectProperty(MainStructuralPart.Structure.isUnreinforcedMansoryStructure) = TRUE
}
KS{
	getObjectVerticalDistance(FloorSlab, Roof) <= 15m
	getObjectVerticalDistance(FloorSlab, Eave) <= 11m	
	getBuildingStoriesCount() <= 3
} 




Python Code 변환 예정



67
건축물의 구조기준 등에 관한 규칙 제 24조 1 항

①목재로 된 구조부재인 압축재의 단면적은 4,500제곱밀리미터 이상으로 하여야 한다. <개정 2009.12.31>





//건축물의 구조기준 등에 관한 규칙 24조 (건축물의 규모제한) 1항
Check(RSSB_24_1){
        getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
	isObjectProperty(CompressionMember.isStructuralMember) = TURE
	getObjectMaterial(CompressionMember) = "Timber"
}
KS{
	getObjectSectionalArea(CompressionMember) >= 4500mm2
} 




Python Code 변환 예정



68
건축물의 구조기준 등에 관한 규칙 제 24조 2 항

②2층 이상인 건축물에 있어서는 모서리에 설치하는 기둥 또는 이에 준하는 기둥은 통재(通材)기둥으로 하여야 한다. 다만, 이은기둥의 경우 그 이은 부분을 통재기둥과 동등 이상의 내력을 가지도록 보강한 경우에는 그러하지 아니하다.





//건축물의 구조기준 등에 관한 규칙 24조 (압축재의 최소단면 및 모서리에 설치하는 기둥) 2항

Check(RSSB_24_2){

        getResult(RSSB_3_3) = TRUE AND IF CS THEN KS

}

CS{

	getBuildingStoriesCount() >= 2

}

KS{

	Column myColumn{

	isInstalled(Column, Building.Edge) = TRUE 




Python Code 변환 예정



69
건축물의 구조기준 등에 관한 규칙 제 25조 1 항

①인장력을 받는 가새는 두께 15밀리미터 이상이고 폭 90밀리미터 이상인 목재 또는 이와 동등 이상의 강도를 가지는 강재를 사용하여야 한다.





//건축물의 구조기준 등에 관한 규칙 25조 (가새) 1항
Check(RSSB_25_1){
        getResult(RSSB_3_3) = TRUE AND KS
}
KS{
	Brace myBrace{
	isObjectProperty(Brace.isTensileBrance) = TRUE
	}
	isObjectProperty(Brace.depth) >= 15mm
	getObjectMaterial(Brace) = "Timber"
	isObjectProperty(Brace.Material.width) >= 90mm
} 




Python Code 변환 예정



70
건축물의 구조기준 등에 관한 규칙 제 25조 2 항

②압축력을 받는 가새는 두께 35밀리미터 이상이고 골조기둥의 3분의 1쪽에 해당하는 두께인 목재를 사용하여야 한다.





//건축물의 구조기준 등에 관한 규칙 25조 (가새) 2항

Check(RSSB_25_2){

        getResult(RSSB_3_3) = TRUE AND KS

}

KS{

	Brace myBrace{

	isObjectProperty(Brace.isCompressionBrace) = TRUE

	}

	Column myColumn{

	isObjectProperty(Column.isFramedColumn) = TRUE

	}

	CW = getObjectProperty(myColumn.width) * 1/3



	getObjectProperty(Brace.depth) >= 35mm

	getObjectMaterial(Brace) = "Timber"

	getObjectProperty(Brace.Material.width) = CW

} 




Python Code 변환 예정



71
건축물의 구조기준 등에 관한 규칙 제 25조 3 항

③가새는 그 두 끝부분을 기둥·보 그 밖의 구조부재인 가로재와 잇도록 하여야 한다. <개정 2009.12.31>





//건축물의 구조기준 등에 관한 규칙 25조 (가새) 3항

Check(RSSB_25_3){

        KS

}

KS{

	isObjectProperty(HorizontalMember.isStructuralMember) = TRUE

	isConnectedTo(Brace, HorizontalMember) = TRUE

} 




Python Code 변환 예정



72
건축물의 구조기준 등에 관한 규칙 제 28조 1 항

①이 절의 규정은 벽돌구조·돌구조·콘크리트블록구조 그 밖의 조적식구조(보강블록구조를 제외한다. 이하 이 절에서 같다)의 건축물이나 조적식구조와 목구조 그 밖의 구조를 병용하는 건축물의 조적식구조로 된 부분에 이를 적용한다.





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




Python Code 변환 예정



73
건축물의 구조기준 등에 관한 규칙 제 28조 2 항

②높이 4미터 이하이고 연면적 20제곱미터 이하인 건축물에 대하여는 제29조·제30조·제35조·제36조·제38조 및 제40조의 규정에 한하여 이를 적용한다.





//건축물의 구조기준 등에 관한 규칙 28조 (적용범위 등) 2항
Check(RSSB_28_2){
	getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
	getBuildingHeight() <= 4m
	getGrossFloorArea() <= 20m2
} 




Python Code 변환 예정



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




Python Code 변환 예정



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




Python Code 변환 예정



76
건축물의 구조기준 등에 관한 규칙 제 53조

제53조(콘크리트슬래브의 구조) 구조부재인 콘크리트슬래브(기성콘크리트제품인 것을 제외한다)의 구조는 다음 각호의 기준에 의한다. <개정 2009.12.31>





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

Check(RSSB_53){
         getResult(RSSB_3_3) = TRUE AND KS
}

KS{
    getResult(RSSB_53_0_1)=True
    getResult(RSSB_53_0_2)=True
} 




Python Code 변환 예정



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




Python Code 변환 예정



78
건축물의 설비기준 등에 관한 규칙 제 9조 1호

1. 높이 31미터를 넘는 각층을 거실외의 용도로 쓰는 건축물





//건축물의 설비기준 등에 관한 규칙 9조 (비상용승강기를 설치하지 아니할 수 있는 건축물) 1호
Check(RFB_9_0_1){
   KS
}

KS{
   Floor myFloor{
     getObjectHeight(Floor)>31 m
    }

   hasObject(myFloor, Room)=FALSE
} 




Python Code 변환 예정



79
건축물의 설비기준 등에 관한 규칙 제 9조 2호

2. 높이 31미터를 넘는 각층의 바닥면적의 합계가 500제곱미터 이하인 건축물





//건축물의 설비기준 등에 관한 규칙 9조 (비상용승강기를 설치하지 아니할 수 있는 건축물) 2호

Check(RFB_9_0_2){

   KS

}



KS{

    getBuildingHeight()>31 m

    getTotalFloorArea()<=500 m2

} 








def Check():
    bld = SELECT("building")
    bldHeight = bld.SELECT("height").UNIT("m").NUMBER()
    totalFloorArea = getTotalFloorArea()
    if bldHeight > 31 and totalFloorArea <=500:
        bld.SUCCESS("pass")
    else:
        bld.ERROR("error")
 

def getTotalFloorArea():
    totalArea = 0
    floors = SELECT("storey")
    for floor in floors:
        floorArea = floor.SELECT("area").UNIT('m2').NUMBER()
        totalArea += floorArea
    return totalArea 





80
건축물의 설비기준 등에 관한 규칙 제 9조 3호

3. 높이 31미터를 넘는 층수가 4개층이하로서 당해 각층의 바닥면적의 합계 200제곱미터(벽 및 반자가 실내에 접하는 부분의 마감을 불연재료로 한 경우에는 500제곱미터)이내마다 방화구획으로 구획한 건축물





//건축물의 설비기준 등에 관한 규칙 9조 (비상용승강기를 설치하지 아니할 수 있는 건축물) 3호

Check(RFB_9_0_3){

    KS

}



KS{

    getBuildingHeight()>31 m

    getBuildingStoriesCount()<=4

    IF isObjectProperty(Wall.InteriorFinish.Material.nonCombustibility)=TRUE

       isObjectProperty(CeilingCovering.InteriorFinish.Material.nonCombustibility)=TRUE

    THEN isFirePartition(Floor, a,500)=TRUE 

    ELSE THEN isFirePartition(Floor, a,200)=TRUE 

    END IF

} 




Python Code 변환 예정



81
건축물의 설비기준 등에 관한 규칙 제 10조 2호

2. 비상용승강기 승강장의 구조





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 
Check(RFB_10_0_2){

	getResult(RFB_10_0_2_가) = TRUE

	getResult(RFB_10_0_2_나) = TRUE

	getResult(RFB_10_0_2_다) = TRUE

	getResult(RFB_10_0_2_라) = TRUE

	getResult(RFB_10_0_2_바) = TRUE

	getResult(RFB_10_0_2_사) = TRUE

} 




Python Code 변환 예정



82
건축물의 설비기준 등에 관한 규칙 제 10조 2호 가 목

가. 승강장의 창문·출입구 기타 개구부를 제외한 부분은 당해 건축물의 다른 부분과 내화구조의 바닥 및 벽으로 구획할 것. 다만, 공동주택의 경우에는 승강장과 특별피난계단(「건축물의 피난·방화구조 등의 기준에 관한 규칙」 제9조의 규정에 의한 특별피난계단을 말한다. 이하 같다)의 부속실과의 겸용부분을 특별피난계단의 계단실과 별도로 구획하는 때에는 승강장을 특별피난계단의 부속실과 겸용할 수 있다.





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 가목
Check(RFB_10_0_2_가){
}

KS{
isPartitioned(, obj2, obj3) 
}
} 




Python Code 변환 예정



83
건축물의 설비기준 등에 관한 규칙 제 10조 2호 나 목

나. 승강장은 각층의 내부와 연결될 수 있도록 하되, 그 출입구(승강로의 출입구를 제외한다)에는 갑종방화문을 설치할 것. 다만, 피난층에는 갑종방화문을 설치하지 아니할 수 있다.





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 나목
Check(RFB_10_0_2_나){
	KS1 AND IF !(CS) THEN KS2
}
	Space mySpace{
	hasObject(Floor,Space)=TRUE
	isAccessible(Platform,Space) = TRUE
	}
KS1{
	isExist(mySpace)=TRUE
}
CS{
	isAccessible(Platform, myFloor) = TRUE
}
KS2{
	Door myDoor{
		hasSpace(Platform, Door) =TRUE
		hasSpace(mySpace, Door) =TRUE
		Door != ElevatorShaft.Opening
	}
	isObjectProperty(myDoor.isStrictFireproofDoor)= TRUE
}
 




Python Code 변환 예정



84
건축물의 설비기준 등에 관한 규칙 제 10조 2호 다 목

다. 노대 또는 외부를 향하여 열 수 있는 창문이나 제14조제2항의 규정에 의한 배연설비를 설치할 것





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 다목
Check(RFB_10_0_2_다){
	KS
}
KS{
	Elevator myElevator{
		isObjectProperty(Elevator.isEmergency)=TRUE
	}
	Window myWindow{
		isObjectProperty(Window.isExternalDirection)=TRUE
	}
	SmokeExhaustionSystem mySmokeExhaustionSystem{
		getResult(RFB_14_2) = TRUE
	}
	hasObject(myElevator.Platform,OpenFloorStructure) = TRUE
	hasObject(myElevator.Platform, myWindow) = TRUE
	isExist(mySmokeExhaustionSystem)=TRUE
	} 




Python Code 변환 예정



85
건축물의 설비기준 등에 관한 규칙 제 10조 2호 라 목

라. 벽 및 반자가 실내에 접하는 부분의 마감재료(마감을 위한 바탕을 포함한다)는 불연재료로 할 것





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 라목
Check(RFB_10_0_2_라){
	KS
}

KS{
	Elevator myElevator{
		isObjectProperty(Elevator.isEmergency)=TRUE
	}
	isObjectProperty(myElevator.Platform.Wall.InteriorFinish.Material.nonCombustibility) = TRUE
	isObjectProperty(myElevator.Platform.CeilingCovering.InteriorFinish.Material.nonCombustibility) = TRUE
} 




Python Code 변환 예정



86
건축물의 설비기준 등에 관한 규칙 제 10조 2호 바 목

바. 승강장의 바닥면적은 비상용승강기 1대에 대하여 6제곱미터 이상으로 할 것. 다만, 옥외에 승강장을 설치하는 경우에는 그러하지 아니하다.





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 바목
Check(RFB_10_0_2_바){
	IF !CS THEN KS
}

	Elevator myElevator{
		isObjectProperty(Elevator.isEmergency)=TRUE
	}

CS{
	isExternal(myElevator.Platform) = TRUE
}
KS{
	EN = getObjectProperty(Elevator.numberOf)
	getObjectProperty(myElevator.Platform.area) >= EN*6
} 




Python Code 변환 예정



87
건축물의 설비기준 등에 관한 규칙 제 10조 3호

3. 비상용승강기의 승강로의 구조





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 3호

Check(RFB_10_0_3){

	getResult(RFB_10_0_3_가) = TRUE

	getResult(RFB_10_0_3_나) = TRUE

} 




Python Code 변환 예정



88
건축물의 설비기준 등에 관한 규칙 제 10조 3호 가 목

가. 승강로는 당해 건축물의 다른 부분과 내화구조로 구획할 것





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 3호 가목
Check(RFB_10_0_3_가){
	KS
}
KS{
	Elevator myElevator{
		isObjectProperty(Elevator.isEmergency)=TRUE
	}

	isObjectProperty(myElevator.ElevatorShaft.isFirePartition)=TRUE
}
 




Python Code 변환 예정



89
건축물의 설비기준 등에 관한 규칙 제 10조 3호 나 목

나. 각층으로부터 피난층까지 이르는 승강로를 단일구조로 연결하여 설치할 것





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 3호 나목

Check(RFB_10_0_3_나){

	KS

}



KS{

	Floor myFloor{

		isObjectProperty(Floor.isEscape)=TRUE

	}
ElevatorShaft myElevatorShaft1{
	hasObject(Floor,ElevatorShaft)=TRUE
}
ElevatorShaft myElevatorShaft2{
	hasObject(myFloor,ElevatorShaft)=TRUE	
}
	isConnectedTo(myElevatorShaf1t, myElevatorShaft2, SingleStructure)=TRUE

} 




Python Code 변환 예정



90
건축물의 설비기준 등에 관한 규칙 제 13조 1 항

제13조(개별난방설비) ①영 제87조제2항의 규정에 의하여 공동주택과 오피스텔의 난방설비를 개별난방방식으로 하는 경우에는 다음 각호의 기준에 적합하여야 한다. <개정 1996.2.9., 1999.5.11., 2001.1.17.>





//	건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항
Check(RFB_13_1){
	IF CS THEN KS
}

CS{
	getBuildingUsage() = "DetachedHouse"
	OR getBuildingUsage() = "MultiUnitHouse"
}

KS{
	getResult(RFB_13_1_1) = TRUE
	getResult(RFB_13_1_2) = TRUE
	getResult(RFB_13_1_5) = TRUE
	getResult(RFB_13_1_6) = TRUE
	getResult(RFB_13_1_7) = TRUE
} 




Python Code 변환 예정



91
건축물의 설비기준 등에 관한 규칙 제 13조 1 항 1호

1. 보일러는 거실외의 곳에 설치하되, 보일러를 설치하는 곳과 거실사이의 경계벽은 출입구를 제외하고는 내화구조의 벽으로 구획할 것





//	건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 1호
Check(RFB_13_1_1){
	KS
}

KS{
	hasSpace(Room, Boiler) = FALSE
	
	Room myRoom{
		hasSpace(Room, Boiler) = TRUE
	}

	Room myRoom2{
		hasAdjacent(myRoom, Room) = TRUE
	}

	Wall myWall{
		isPartitioned(myRoom, myRoom2, Wall) = TRUE
		hasObject(Wall, Door.isEntrance) = FALSE
		isObjectProperty(Wall.isfireResistantStructure) = TRUE
	}

	isExist(myWall) = TRUE
} 




Python Code 변환 예정



92
건축물의 설비기준 등에 관한 규칙 제 13조 1 항 2호

2. 보일러실의 윗부분에는 그 면적이 0.5제곱미터 이상인 환기창을 설치하고, 보일러실의 윗부분과 아랫부분에는 각각 지름 10센티미터 이상의 공기흡입구 및 배기구를 항상 열려있는 상태로 바깥공기에 접하도록 설치할 것. 다만, 전기보일러의 경우에는 그러하지 아니하다.





//	건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 2호

Check(RFB_13_1_2){

	IF CS THEN KS

}



CS{

	isExist(Boiler) = TRUE
isObjectProperty(Boiler.isElectricBoiler) = FALSE
}



KS{

	Ventilator myVentilator{

		getObjectArea(Ventilator) >= 0.5cm2

	}


Space mySpace{
getSpaceUsage(Space) = "BoilerRoom"  
}
	isInstalled(myVentilator, mySpace, a, top) = TRUE



	AirInlet myAirInlet{

		getObjectDiameter(AirInlet, b) >= 10cm

	}



	AirOutlet myAirOutlet{

		getObjectDiameter(AirOutlet, b) >= 10cm

	}



	(isInstalled(myAirInlet, mySpace, a, top) = TRUE

	OR isInstalled(myAirOutlet, mySpace, a, top) = TRUE)



	(isInstalled(myAirInlet, mySpace, a, bottom) = TRUE

	OR isInstalled(myAirOutlet, mySpace, a, bottom) = TRUE)

} 




Python Code 변환 예정



93
건축물의 설비기준 등에 관한 규칙 제 13조 1 항 5호

5. 기름보일러를 설치하는 경우에는 기름저장소를 보일러실외의 다른 곳에 설치할 것





//	건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 5호

Check(RFB_13_1_5){

	IF CS THEN KS

}



CS{
isObjectProperty(Boiler.isOilBoiler) = FALSE

}



KS{
Space mySpace1{
getSpaceUsage(Space) = "BoilerRoom"  
}

Space mySpace2{
getSpaceUsage(Space) = "OilStorageFacilities"
}
	hasSpace(mySpace1, mySpace2) = FALSE

} 




Python Code 변환 예정



94
건축물의 설비기준 등에 관한 규칙 제 13조 1 항 6호

6. 오피스텔의 경우에는 난방구획마다 내화구조로 된 벽·바닥과 갑종방화문으로 된 출입문으로 구획할 것





//	건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 6호

Check(RFB_13_1_6){

	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

} 




Python Code 변환 예정



95
건축물의 설비기준 등에 관한 규칙 제 13조 1 항 7호

7. 보일러의 연도는 내화구조로서 공동연도로 설치할 것





//건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 7호

Check(RFB_13_1_7){

	KS

}

KS{

	isFireResistantStructure(GasDuct) = TRUE

	isShared(GasDuct) = TRUE

} 




Python Code 변환 예정



96
건축물의 설비기준 등에 관한 규칙 제 13조 2 항

②가스보일러에 의한 난방설비를 설치하고 가스를 중앙집중공급방식으로 공급하는 경우에는 제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

} 




Python Code 변환 예정



97
건축물의 설비기준 등에 관한 규칙 제 20조 5호

5. 측면 낙뢰를 방지하기 위하여 높이가 60미터를 초과하는 건축물 등에는 지면에서 건축물 높이의 5분의 4가 되는 지점부터 최상단부분까지의 측면에 수뢰부를 설치하여야 하며, 지표레벨에서 최상단부의 높이가 150미터를 초과하는 건축물은 120미터 지점부터 최상단부분까지의 측면에 수뢰부를 설치할 것. 다만, 건축물의 외벽이 금속부재(部材)로 마감되고, 금속부재 상호간에 제4호 후단에 적합한 전기적 연속성이 보장되며 피뢰시스템레벨 등급에 적합하게 설치하여





//건축물의 설비기준 등에 관한 규칙 20 (피뢰설비) 5호

Check(RFB_20_0_5){

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

}

CS1{

	getBuildingHeight() > 60m

}

KS1{

	BH1 = getBuildingHeight()

	isInstalled(Terminal, Building, a, side) = TRUE

	getObjectVerticalDistance(Ground, Terminal, a) >= BH1 * 4/5

	getObjectVerticalDistance(Ground, Terminal, a) < BH1

}

CS2{

	getBuildingHeight() > 150m

}

KS2{

	BH2 = getBuildingHeight()

	isInstalled(Terminal, Building, a, side) = TRUE

	getObjectVerticalDistance(Ground, Terminal, a) >= 120m

	getObjectVerticalDistance(Ground, Terminal, a) < BH2

} 




Python Code 변환 예정



98
건축물의 설비기준 등에 관한 규칙 제 6조

제6조(승강기의 구조) 법 제64조에 따라 건축물에 설치하는 승강기·에스컬레이터 및 비상용승강기의 구조는 「승강기시설 안전관리법」이 정하는 바에 따른다. <개정 2006.2.13, 2008.7.10, 2010.11.5>





//건축물의 설비기준 등에 관한 규칙 6조 (승강기의 구조) 

Check(RFB_6){

	IF CS THEN KS
}
CS{	
	Elevator myElevator{
	isObjectProperty(Elevator.isEmergency) = TRUE
	}

	isInstalled(Elevator) = TRUE
	OR isInstalled(Escalator) = TRUE
	OR isInstalled(myElevator) = TRUE
}

KS{
           getResult(Unimplemented_EFSMA) = TRUE
} 




Python Code 변환 예정



99
건축물의 설비기준 등에 관한 규칙 제 20조의2조

제20조의2(전기설비 설치공간 기준) 영 제87조제6항에 따른 건축물에 전기를 배전(配電)하려는 경우에는 별표 3의3에 따른 공간을 확보하여야 한다.





//건축물의 설비기준 등에 관한 규칙 20조의2 (전기설비 설치공간 기준)

Check(RFB_20-2){
   KS
}



KS{
   getResult(Unimplemented_RFB_*3-3)=True
} 




Python Code 변환 예정



100
건축물의 설비기준 등에 관한 규칙 제 17조의2조 1 항

① 다음 각 호의 어느 하나에 해당하는 지역에서 연면적 1만제곱미터 이상의 건축물을 건축하려는 자는 빗물 등의 유입으로 건축물이 침수되지 아니하도록 해당 건축물의 지하층 및 1층의 출입구(주차장의 출입구를 포함한다)에 차수판(遮水板) 등 해당 건축물의 침수를 방지할 수 있는 설비(이하 "차수설비"라 한다)를 설치하여야 한다. 다만, 법 제5조제1항에 따른 허가권자가 침수의 우려가 없다고 인정하는 경우에는 그러하지 아니하다.





//	건축물의 설비기준 등에 관한 규칙 17조의2 (차수설비) 1항

Check(RFB_17-2_1){

	IF CS THEN KS

}



CS{

	getResult(RFB_17-2_1_1) = TRUE

	OR getResult(RFB_17-2_1_2) = TRUE



	getGrossFloorArea() >= 10000m2

}



KS{

	Floor myFloor{

		getObjectProperty(Floor.number) <0

	}



	hasSpace(myFloor,WaterCutoffSystem) = TRUE

} 




Python Code 변환 예정



    1   2   3   4   5   6   7   8   9   10   next▷ NEXT10▶