설계품질검토 대상법규   |   조항단위 법규   |   문장단위 법규   |   KBimCode-Assess 연동모듈   |   KBimCode DB   |   주어부 - 객체,속성 DB   |   서술부 - 함수 DB   |   관계부 - 문장관계   |   룰셋생성모듈   |  
(2025-06-27 기준) 설계품질검토용 건축법 및 관련법규 - KBIMCode (분야/용도/단계별 체크리스트 단위)
      KBIMCode - KBimAssess Python Code     KBIMCode - 조항단위     KBIMCode - 문장단위    
  ◁prev 1   2   3   4   5   6   7   8   9   10   next▷ NEXT10▶
4 / 12 page Total 2500 / 4000 records   
Select
ALL
None
#
ID
Law
Usage


Field
under development
Process
under development
Search!
1
72873 건축물의 에너지절약설계기준 제 20조 2 항

② 이행여부 확인결과 건축주가 본인증서를 제출하지 않은 경우 허가권자는 사용승인을 거부할 수 있으며, 완화적용을 받기 이전의 해당 기준에 맞게 건축하도록 명할 수 있다.





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 1항

Check(NFSC503A_9_1){
	KS
}
KS{
	isObjectProperty(SimpleSprinkler.Head.openAndCloseType) = "EnclosedType"
} 




Python Code 변환 예정



Modify
2
72874 건축물의 에너지절약설계기준 제 21조

제21조(건축물의 에너지 소요량의 평가) 「건축법 시행령」제3조의4에 따른 업무시설 기타 에너지소비특성 및 이용 상황 등이 이와 유사한 건축물로서 연면적의 합계가 3천 제곱미터 이상인 건축물은 1차 에너지 소요량 등을 평가하여 별지 제1호 서식에 따른 건축물 에너지 소요량 평가서를 제출하여야 한다. 다만, 「건축물 에너지효율등급 인증에 관한 규칙」 제11조에 따라 건축물 에너지효율등급 예비인증을 취득한 경우에는 동 규칙 별지 제6호 서식의 건축물 에너지





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 3호



Check(NFSC503A_9_0_3){

	KS

}

KS{

	getObjectDistance(SimpleSprinkler.Head, Ceiling | CeilingCovering | PlenumSpace | Duct | Shelf) <= 2.3m

} 




Python Code 변환 예정



Modify
3
72875 건축물의 에너지절약설계기준 제 22조

제22조(건축물의 에너지 소요량의 평가방법) 건축물 에너지소요량은 ISO 13790 등 국제규격에 따라 난방, 냉방, 급탕, 조명, 환기 등에 대해 종합적으로 평가하도록 제작된 프로그램에 따라 산출된 연간 단위면적당 1차 에너지소요량 등으로 평가하며, 별표10의 평가기준과 같이 한다.





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 4호



Check(NFSC503A_9_0_4){

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

}

CS1{

	isObjectProperty(Head.installationDirectionType) = "BottomUpType" OR "TopDownType"

}

KS1{

	getObjectDistance(Deflector, Ceiling | CeilingCovering) >= 25mm

	getObjectDistance(Deflector, Ceiling | CeilingCovering) <= 102mm

}

CS2{

	isObjectProperty(Head.shapeType) = "SideWallType" 

}

KS2{

	getObjectDistance(Deflector, Ceiling | CeilingCovering) >= 102mm

	getObjectDistance(Deflector, Ceiling | CeilingCovering) <= 152mm

}

CS3{

	isObjectProperty(Head.shapeType) = "FlushType" 

}

KS2{

	getObjectDistance(Deflector, Ceiling | CeilingCovering) <= 102mm

} 




Python Code 변환 예정



Modify
4
72876 건축물의 에너지절약설계기준 제 23조 1 항

제23조(복합용도 건축물의 에너지절약계획서 및 설계 검토서 작성방법 등) ① 에너지절약계획서 및 설계 검토서를 제출하여야 하는 건축물 중 비주 거와 주거용도가 복합되는 건축물의 경우에는 해당 용도별로 에너지절 약계획서 및 설계 검토서를 제출하여야 한다.





/ 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 6호



Check(NFSC503A_9_0_6){

	IF !CS THEN KS

}

CS{

	DBSH = getObjectDistance(Head.One, Head.One)

	getObjectdistance(Ceiling.Surface, Beam.BottomSurface) > 55cm

	getObjectdistance(Beam.BottomSideSurface, SimpleSprinkler.Head) <= DBSH/2

}

KS{

Beam myBeam{
isInstalled(Beam, SpecificFireFightingBuilding) = TRUE
}
	DCH = getObjectInterval(Head, myBeam)

	Head myHead{

	getObjectDistance(Head, myBeam) = DCH

	}

	

	IF getElementDistance(myHead.Deflector.Center, Beam) < 0.75m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0



	ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 0.75m 

	OR getElementDistance(myHead.Deflector.Center, Beam) < 1m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0 

	getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.1m



	ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 1m 

	OR getElementDistance(myHead.Deflector.Center, Beam) < 1.5m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0 

	getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.15m



	ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 1.5m 

	THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0 

	getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.3m

} 




Python Code 변환 예정



Modify
5
72877 건축물의 에너지절약설계기준 제 23조 2 항

② 다수의 동이 있는 경우에는 동별로 에너지절약계획서 및 설계 검토서를 제출하는 것을 원칙으로 한다.(다만, 공동주택의 주거용도는 하나의 단지로 작성)





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 8호

Check(NFSC503A_9_0_8){
	IF CS THEN KS
}
CS{
	isInstalled(SimpleSprinklerSystem, SpecificFireFightingBuilding) = TRUE

}
KS{
	getResult(NFSC503_15_1) = TRUE
} 




Python Code 변환 예정



Modify
6
72878 건축물의 에너지절약설계기준 제 23조 3 항

③ 설비 및 기기, 장치, 제품 등의 효율·성능 등의 판정 방법에 있어 본 기준에서 별도로 제시되지 않는 것은 해당 항목에 대한 한국산업규격(KS)을 따르도록 한다.





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 9호

Check(NFSC503A_9_0_9){
	IF CS THEN KS
}
CS{
	isExist(NFSC503A_6_0_7.mySpace) = TRUE
}
KS{
	Head myHead{
	isObjectProperty(Head.responseType) = "StandardResponseType"
	}
	isInstalled(myHead, NFSC503A_6_0_7.mySpace) = TRUE
	getResult(NFSC503_10) = TRUE
} 




Python Code 변환 예정



Modify
7
72879 건축물의 에너지절약설계기준 제 23조 4 항

④ 기숙사, 오피스텔은 별표1 및 별표3의 공동주택 외의 단열기준을 준수할 수 있으며, 별지 제1호서식의 에너지성능지표 작성 시, 기본배점에서 비주거를 적용한다.





//	간이스프링클러설비의 화재안전기준(NFSC 103A) 별표1 (간이헤드 수별 급수관의 구경) 1항

Check(NFSC103A_*_1){

	getResult(NFSC103A_*_1_1) = TRUE

	getResult(NFSC103A_*_1_2) = TRUE

	getResult(NFSC103A_*_1_3) = TRUE

	getResult(NFSC103A_*_1_4) = TRUE

}

	

	Pipe myPipe{

	getObjectProperty(Pipe.usage) = "WaterSupplyPipe"

	}

	Pipe myPipe2{

	isObjectProperty(Pipe.isBranchLines) = TRUE

	}

	PD = getObjectProperty(Pipe.diameter)

	SSHN = getObjectCount(SimpleSprinkler.Head.)



Check(NFSC103A_*_1_2){

	IF CS THEN KS

}

CS{

	Head myHead{

	getObjectProperty(SimpleSprinkler.Head.openAndCloseType) = "EnclosedType"

	}

	isInstalled(myHead) = TRUE

}

KS{

	IF PD = 25 THEN SSHN = 2

	OR IF PD = 32 THEN SSHN = 3

	OR IF PD = 40 THEN SSHN = 5

	OR IF PD = 50 THEN SSHN = 10

	OR IF PD = 65 THEN SSHN = 30

	OR IF PD = 80 THEN SSHN = 60

	OR IF PD = 100 THEN SSHN = 100

	OR IF PD = 125 THEN SSHN = 160

	OR IF PD = 150 THEN SSHN >= 161

}

Check(NFSC103A_*_1_3){

	IF CS THEN KS

}

CS{

	Head myHead1{

	getObjectProperty(SimpleSprinkler.Head.openAndCloseType) = "EnclosedType"

	}

	isInstalled(myHead1) = TRUE

	Head myHead2{

	getObjectVerticalLocation(Head, CeilingCovering, )  <  0
	}

	Head myHead3{

	isInstalled(Head, CeilingCovering.Inside) = TRUE

	}

	isInstalled(myHead2, myPipe2) = TRUE

	isInstalled(myHead3, myPipe2) = TRUE

}

KS{

	IF PD = 25 THEN SSHN = 2

	OR IF PD = 32 THEN SSHN = 4

	OR IF PD = 40 THEN SSHN = 7

	OR IF PD = 50 THEN SSHN = 15

	OR IF PD = 65 THEN SSHN = 30

	OR IF PD = 80 THEN SSHN = 60

	OR IF PD = 100 THEN SSHN = 100

	OR IF PD = 125 THEN SSHN = 160

	OR IF PD = 150 THEN SSHN >= 161

} 




Python Code 변환 예정



Modify
8
72880 건축물의 에너지절약설계기준 제 24조 1 항

제24조(에너지절약계획서 및 설계 검토서의 이행) ① 허가권자는 건축주가 에너지절약계획서 및 설계 검토서의 작성내용을 이행하도록 허가조건에 포함하여 허가할 수 있다.





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 



Check(NFSC203_7_1){

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

}

	Sensor mySensor1{

	getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "LineType"

	}

	Sensor mySensor2{

	getObjectProperty(Sensor.sensingMode) = "CompensationType"

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	Sensor mySensor3{

	getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"

	(getObjectProperty(Sensor.sensingRange) = "SpotType"

	OR getObjectProperty(Sensor.lineTypeEnum) = "LineType")

	}

	Sensor mySensor4{

	getObjectProperty(Sensor.sensingMode) = "ionizationType"

	}

	Sensor mySensor5{

	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"

	(getObjectProperty(Sensor.sensingRange) = "SpotType"

	OR getObjectProperty(Sensor.sensingRange) = "SeparateType"

	OR getObjectProperty(Sensor.sensingRange) = "AspiratingType")

	}

	Sensor mySensor6{

	getObjectProperty(Sensor.integratedType) = "HeatIntegratedType"

	}

	Sensor mySensor7{

	getObjectProperty(Sensor.integratedType) = "SmokeIntegratedType"

	}

	Sensor mySensor8{

	getObjectProperty(Sensor.integratedType) = "HeatAndSmokeIntegratedType"

	}

	}

	 

CS1{

	getObjectVerticalDistance(FloorSlab, Sensor) < 4m

}

KS1{

	(isObjectProperty(mySensor1.sensingRange) = "SpotType"

	isInstalled(mySensor1) = TRUE)

	OR isInstalled(mySensor2) = TRUE

	OR isInstalled(mySensor3) = TRUE

	OR isInstalled(mySensor4) = TRUE

	OR isInstalled(mySensor5) = TRUE

	OR isInstalled(mySensor6) = TRUE

	OR isInstalled(mySensor7) = TRUE

	OR isInstalled(mySensor8) = TRUE

	OR isInstalled(FlameSensor) = TRUE

}

CS2{

	getObjectVerticalDistance(FloorSlab, Sensor) >= 4m

	getObjectVerticalDistance(FloorSlab, Sensor) < 8m

}

KS2{

	(isObjectProperty(mySensor1.sensingRange) = "SpotType"

	isInstalled(mySensor1) = TRUE)

	OR isInstalled(mySensor2) = TRUE

	OR ((getObjectProperty(Sensor.type) = "SpecialType"

	OR getObjectProperty(Sensor.type) = "Type1")

	isInstalled(mySensor3) = TRUE)

	OR ((getObjectProperty(Sensor.type) = "Type1"

	OR getObjectProperty(Sensor.type) = "Type2")isInstalled(mySensor4) = TRUE)

	OR ((getObjectProperty(Sensor.type) = "Type1"

	OR getObjectProperty(Sensor.type) = "Type2")

	isInstalled(mySensor5) = TRUE)

	OR isInstalled(mySensor6) = TRUE

	OR isInstalled(mySensor7) = TRUE

	OR isInstalled(mySensor8) = TRUE

	OR isInstalled(FlameSensor) = TRUE

}

CS3{

	getObjectVerticalDistance(FloorSlab, Sensor) >= 8m

	getObjectVerticalDistance(FloorSlab, Sensor) < 15m

}

KS3{

	isInstalled(mySensor1) = TRUE

	OR ((getObjectProperty(Sensor.type) = "Type1"

	OR getObjectProperty(Sensor.type) = "Type2")isInstalled(mySensor4) = TRUE)

	OR ((getObjectProperty(Sensor.type) = "Type1"

	OR getObjectProperty(Sensor.type) = "Type2")

	isInstalled(mySensor5) = TRUE)

	OR isInstalled(mySensor7) = TRUE

	OR isInstalled(FlameSensor) = TRUE

}

CS4{

	getObjectVerticalDistance(FloorSlab, Sensor) >= 15m

	getObjectVerticalDistance(FloorSlab, Sensor) < 20m

}

KS4{

	((getObjectProperty(Sensor.type) = "Type1"

	isInstalled(mySensor4) = TRUE)

	OR (getObjectProperty(Sensor.type) = "Type1"

	isInstalled(mySensor5) = TRUE)

	OR isInstalled(mySensor7) = TRUE

	OR isInstalled(FlameSensor) = TRUE

}

CS5{

	getObjectVerticalDistance(FloorSlab, Sensor) >= 20m

}

KS5{

	Sensor mySensor9{

	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"

	(getObjectProperty(Sensor.sensingRange) = "SeparateType"

	OR getObjectProperty(Sensor.sensingRange) = "AspiratingType")

	getObjectProperty(Sensor.operationMode) = "Analog"isInstalled(mySensor5) = TRUE

	}

	isInstalled(mySensor9) = TRUE

	OR isInstalled(FlameSensor) = TRUE

} 




Python Code 변환 예정



Modify
9
72881 건축물의 에너지절약설계기준 제 24조 2 항

② 작성책임자(건축주 또는 감리자)는 건축물의 사용승인을 신청하는 경우 별지 제3호 서식 에너지절약계획 이행 검토서를 첨부하여 신청하여야 한다.





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 1호
Check(NFSC203_7_1_1){
	KS
}
KS{
	getObject(FlameSensor)
} 




Python Code 변환 예정



Modify
10
72882 건축물의 에너지절약설계기준 제 25조

제25조(에너지 소요량 평가 세부기준 등) 이 기준 제21조의 에너지 소요량 평가를 위한 세부내용은 「건축물 에너지효율등급 인증기준」을 준용한다.





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 2호

Check(NFSC203_7_1_2){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "LineType"

	}

	getObject(mySensor)

} 




Python Code 변환 예정



Modify
11
72883 건축물의 에너지절약설계기준 제 26조

제26조(에너지절약계획서 및 설계 검토서의 작성·검토업무) 국토교통부 장관은 에너지절약계획서 및 설계 검토서의 작성·검토업무의 효율적 수행을 위하여 법 제17조에 따른 건축물 에너지효율등급 인증제 운영기관을 에너지절약계획서 검토 운영기관으로 지정하고 국토교통부 장관의 승인을 받아 다음 각 호의 업무를 수행하도록 할 수 있다.





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 3호

Check(NFSC203_7_1_3){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingRange) = "LineType"

	}

	getObject(mySensor)

} 




Python Code 변환 예정



Modify
12
72884 건축물의 에너지절약설계기준 제 26조 1호

1. 에너지 절약계획서 온라인 검토시스템 운영에 관한 업무





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 4호

Check(NFSC203_7_1_4){

	KS

}

KS{

	Sensor mySensor{

	isObjectProperty(Sensor.isIntegratedType) = TRUE

	}

} 




Python Code 변환 예정



Modify
13
72885 건축물의 에너지절약설계기준 제 26조 2호

2. 에너지 절약계획서 검토 전문기관별 검토현황 관리 및 보고에 관한 업무





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 5호

Check(NFSC203_7_1_5){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"

	getObjectProperty(Sensor.sensingRange) = "SeparateType"

	}

	getObject(mySensor)

} 




Python Code 변환 예정



Modify
14
72886 건축물의 에너지절약설계기준 제 26조 3호

3. 에너지 절약계획서 검토관련 통계자료 활용 및 분석에 관한 업무





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 6호

Check(NFSC203_7_3_6){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.OperationMode.) = "Analog"

	}

	getObject(mySensor) = TRUE 




Python Code 변환 예정



Modify
15
72887 건축물의 에너지절약설계기준 제 26조 4호

4. 건축물의 에너지절약 설계기준 해설서 작성·운영 등 검토기준의 홍보, 교육, 컨설팅, 조사·연구 및 개발 등에 관한 업무





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 7호

Check(NFSC203_7_1_7){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.OperationMode.) = "MultiSignal"

	}

	getObject(mySensor) = TRUE 




Python Code 변환 예정



Modify
16
72888 건축물의 에너지절약설계기준 제 26조 5호

5. 건축물의 에너지절약 설계기준 운영과 관련하여 검토결과 검수 등 국토교통부장관이 요청하는 업무





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 1항 8호

Check(NFSC203_7_1_8){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.operationMode) = "Accumulation"

	}

	getObject(mySensor) = TRUE 




Python Code 변환 예정



Modify
17
72889 건축물의 에너지절약설계기준 제 27조

제27조(에너지절약계획 설계 검토서 항목 추가) 국토교통부장관은 에너지절약계획 설계 검토서의 건축, 기계, 전기, 신재생부분의 항목 추가를 위하여 수요조사를 실시하고, 자문위원회의 심의를 거쳐 반영 여부를 결정할 수 있다.





//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 2항
Check(NFSC203_7_2){
	IF CS THEN KS
}

	Sensor mySensor{
		getResult(NFSC203_7_1_1) = TRUE
		OR getResult(NFSC203_7_1_2) = TRUE
		OR getResult(NFSC203_7_1_3) = TRUE
		OR getResult(NFSC203_7_1_4) = TRUE
		OR getResult(NFSC203_7_1_5) = TRUE
		OR getResult(NFSC203_7_1_6) = TRUE
		OR getResult(NFSC203_7_1_7) = TRUE
		OR getResult(NFSC203_7_1_8) = TRUE
	}

CS{
	isInstalled(mySensor) = FALSE
	getResult(NFSC203_7_2_1) = TRUE
	OR getResult(NFSC203_7_2_2) = TRUE
	OR getResult(NFSC203_7_2_3) = TRUE
}

KS{
	isInstalled(SmokeSensor) = TRUE
} 




Python Code 변환 예정



Modify
18
72890 건축물의 에너지절약설계기준 제 28조 1 항

제28조(제로에너지빌딩 지원센터) ① 국토교통부장관은 제로에너지빌딩 조기 활성화 업무 수행을 위하여 에너지관리공단과 한국건설기술연구원을 제로에너지빌딩 지원센터로 지정하고, 다음 각 호의 업무를 수행하도록 할 수 있다.





//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 2항 1호
Check(NFSC203_7_2_1){
	KS
}

KS{
	Ramp myRamp{
		getObjectProperty(Ramp.length) >= 15m
	}

	isInstalled(SmokeSensor, Stair) = TRUE
	isInstalled(SmokeSensor, myRamp) = TRUE
} 




Python Code 변환 예정



Modify
19
72891 건축물의 에너지절약설계기준 제 28조 1 항 1호

1. 제로에너지빌딩 시범사업 운영지원에 관한 업무





//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 2항 2호
Check(NFSC203_7_2_2){
	KS
}

KS{
	Corridor myCorridor{
		getObjectProperty(Corridor.length) >= 30m
	}

	isInstalled(SmokeSensor, myCorridor) = TRUE
} 




Python Code 변환 예정



Modify
20
72892 건축물의 에너지절약설계기준 제 28조 1 항 2호

2. 제로에너지빌딩 인정 등 인센티브 지원에 관한 업무





//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 2항 2호
Check(NFSC203_7_2_3){
	IF CS THEN KS
}
CS{
	Pipe myPipe{
	isObjectProperty(Pit.isPipePit) = TRUE
	}
	Space mySace{
	getSpaceUsage(Space) = "ElevatorTractionMachineRoom"
	OR isInstalled(LinenChute,Space) = TRUE
	OR isInstalled(myPipe,Space) = TRUE
	OR isInstalled(Duct,Space) = TRUE
	}
}
KS{
	isInstalled(SmokeSensor,mySpace) = TRUE
}
 




Python Code 변환 예정



Modify
21
72893 건축물의 에너지절약설계기준 제 28조 1 항 3호

3. 제로에너지빌딩 평가, 모니터링 및 분석에 관한 업무





//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 2항 4호
Check(NFSC203_7_2_4){
	KS
}

KS{
	Ceiling myCeiling{
		15m <= getObjectHeight(Ceiling) < 20m
	}

	CeilingCovering myCeilingCovering{
		15m <= getObjectHeight(CeilingCovering) < 20m
	}
	
	isExist(myCeiling) = TRUE
	OR isExist(myCeilingCovering) = TRUE

	isInstalled(SmokeSensor) = TRUE
}
 




Python Code 변환 예정



Modify
22
72894 건축물의 에너지절약설계기준 제 28조 1 항 4호

4. 제로에너지빌딩의 홍보, 교육, 컨설팅, 조사, 기술개발, 연구 등에 관한 업무





//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항
Check(NFSC203_7_3){
	KS
}

KS{
	getResult(NFSC203_7_3_1) = TRUE
	getResult(NFSC203_7_3_2) = TRUE
	getResult(NFSC203_7_3_5) = TRUE
	getResult(NFSC203_7_3_6) = TRUE
	getResult(NFSC203_7_3_7) = TRUE
	getResult(NFSC203_7_3_8) = TRUE
	getResult(NFSC203_7_3_9) = TRUE
	getResult(NFSC203_7_3_10) = TRUE
	getResult(NFSC203_7_3_11) = TRUE
	getResult(NFSC203_7_3_12) = TRUE
	getResult(NFSC203_7_3_13) = TRUE
	getResult(NFSC203_7_3_15) = TRUE
} 




Python Code 변환 예정



Modify
23
72895 건축물의 에너지절약설계기준 제 28조 1 항 5호

5. 제로에너지빌딩 조기 활성화와 관련하여 국토교통부장관이 요청하는 업무





//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 1호
Check(NFSC203_7_3_1){
	KS
}

KS{
	getObjectDistance(Sensor, ) >= 1.5m
} 




Python Code 변환 예정



Modify
24
72896 건축물의 에너지절약설계기준 제 28조 2 항

② 국토교통부장관은 제1항 업무의 효율적 수행을 위하여 제로에너지빌딩 지원센터로 하여금 시행세칙을 제정하여 운영토록 할 수 있다.





//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 2항 1호
Check(NFSC503_6_2_1){
	KS
}

KS{
	Ceiling myCeiling{
		isAdjacent(Ceiling, Indoors) = TRUE
	}

	CeilingCovering myCeilingCovering{
		isAdjacent(CeilingCovering, Indoors) = TRUE
	}

	isInstalled(myCeiling, Sensor) = TRUE
	OR isInstalled(myCeilingCovering, Sensor) = TRUE
} 




Python Code 변환 예정



Modify
25
72897 건축물의 에너지절약설계기준 제 29조

제29조(재검토기한) 「훈령·예규 등의 발령 및 관리에 관한 규정」 (대통령훈령 제248호)에 따라 이 고시 발령 후의 법령이나 현실여건의 변화 등을 검토하여 이 고시의 폐지, 개정 등의 조치를 하여야 하는 기한은 2017년 5월 31일까지로 한다.





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 5호

Check(NFSC203_7_3_5){

	IF CS1 AND CS2 THEN KS

}

	Sensor mySensor1{

	getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	Sensor mySensor2{

	getObjectProperty(Sensor.sensingMode) = "CompensationType"

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	Sensor mySensor3{

	getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	 

CS1{

	getElementDistance(FloorSlab, Sensor) < 4m

	}

CS2{

	isFireResistantStructure(SpecificFireFightingBuilding.MainStructuralPart) = TRUE

	}

CS3{

	getElementDistance(FloorSlab, Sensor) < 8m

	getElementDistance(FloorSlab, Sensor) >= 4m

	}



KS{

	isObjectProperty(mySensor1.type) = "Type1"

	isInstalled(mySensor1, FloorSlab, 90) = TRUE

} 




Python Code 변환 예정



Modify
26
72898 건축물의 에너지절약설계기준 제 별표1조

지역별 건축물 부위의 열관류율표





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 6호

Check(NFSC203_7_3_6){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	getObjectGradient(FloorSlab, mySensor) < 45

} 




Python Code 변환 예정



Modify
27
72899 건축물의 에너지절약설계기준 제 별표10조

연간 1차 에너지 소요량 평가기준





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 6호

Check(NFSC203_7_3_7){

	IF CS THEN KS

}

CS{

	Sensor mySensor{

	getObjectProperty(Sensor.lineTypeEnum) = "ThermopneumaticTube"

	getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	isInstalled(mySensor) = TRUE

}

KS{

	

	getResult(NFSC_7_3_7_1) = TRUE

	getResult(NFSC_7_3_7_2) = TRUE

	getResult(NFSC_7_3_7_3) = TRUE

	getResult(NFSC_7_3_7_4) = TRUE

	getResult(NFSC_7_3_7_5) = TRUE

	getResult(NFSC_7_3_7_6) = TRUE

} 




Python Code 변환 예정



Modify
28
72900 건축물의 에너지절약설계기준 제 별표2조

단열재의 등급 분류





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 가목
Check(NFSC203_7_3_7_가){
	KS
}
KS{
	Pipe myPipe{
	isObjectProperty(Pipe.isForAir) = TRUE
	}
	Zone myZone{
	isObjectProperty(Zone.isDetectionZone) = TRUE
	}
	hasObject(myZone, myPipe) = TRUE
	getObjectLength(myZone.One.myPipe) >= 20m
}
 




Python Code 변환 예정



Modify
29
72901 건축물의 에너지절약설계기준 제 별표3조

단열재의 두께





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 가목
Check(NFSC203_7_3_7_가){
	KS3 AND IF !CS THEN KS1 ELSE KS2
}
	Pipe myPipe{
	isObjectProperty(Pipe.isForAir) = TRUE
	}
	Zone myZone{
	isObjectProperty(Zone.isDetectionZone) = TRUE
	}
KS3{
	getElementDistance(myPipe, myZone.Wall) <= 1.5m
	getElementDistance(myPipe, myZone.Column) <= 1.5m
}
CS{
	isFireResistantStructure(SpecificFireFightingBuilding.MainStructuralPart) = TRUE
	
}
KS1{
	getObjectInterval(myPipe) <= 6m
}
KS2{
	getObjectInterval(myPipe) <= 6m
} 




Python Code 변환 예정



Modify
30
72902 건축물의 에너지절약설계기준 제 별표4조

창 및 문의 단열성능





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 다목

Check(NFSC203_7_3_7_다){

	KS

}

	Pipe myPipe{

	isObjectProperty(Pipe.isForAir) = TRUE

	}

	isObjectProperty(myPipe.isDiverged) = FALSE 




Python Code 변환 예정



Modify
31
72903 건축물의 에너지절약설계기준 제 별표5조

열관류율 계산 시 적용되는 실내 및 실외측 표면 열전달저항





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 라목
Check(NFSC203_7_3_7_라){
	KS
}
KS{
	Pipe myPipe{
	isObjectProperty(Pipe.isForAir) = TRUE
	}
	isConnectedTo(myPipe, DetectingElement.One) = TRUE
	getObjectLength(myPipe) <= 100m
} 




Python Code 변환 예정



Modify
32
72904 건축물의 에너지절약설계기준 제 별표6조

열관류율 계산시 적용되는 중공층의 열저항





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 마목
Check(NFSC203_7_3_7_마){
	KS
}
KS{
	isInstalled(DetectingElement, Wall) = TRUE
	getObjectGradient(Wall, DetectingElement) < 5
} 




Python Code 변환 예정



Modify
33
72905 건축물의 에너지절약설계기준 제 별표7조

냉·난방설비의 용량계산을 위한 설계 외기온·습도 기준





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 바목
Check(NFSC203_7_3_7_바){
	KS
}
KS{
	getObjectVerticalDistance(FloorSlab, DetectingElement) >= 0.8m
	getObjectVerticalDistance(FloorSlab, DetectingElement) <= 1.5m
}
} 




Python Code 변환 예정



Modify
34
72906 건축물의 에너지절약설계기준 제 별표8조

냉·난방설비의 용량계산을 위한 실내 온·습도 기준





//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 8호
Check(NFSC203_7_3_8){
	KS
}

KS{
	getResult(NFSC203_7_3_8_1) = TRUE
	getResult(NFSC203_7_3_8_2) = TRUE
} 




Python Code 변환 예정



Modify
35
72907 건축물의 에너지절약설계기준 제 별표9조

완화기준





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 8호 가목
Check(NFSC203_7_3_8_가){
	IF !CS THEN KS1 AND K2 ELSE THEN KS3 AND KS4

}
	Zone myZone{
	isObjectProperty(Zone.isDetectionZone) = TRUE
	}
CS1{
	isFireResistantStructure(SpecificFireFightingBuilding.MainStructuralPart) = TRUE
) 
KS1{
	isInstalled(ThermocoupleElement , myZone.Floor, c, 18) = TRUE
}
KS2{
	isObjectProperty(SpecificFireFightingBuilding.myZone.Floor.area) <= 72m2
	getObjectCount(myZone) >= 4
}
KS3{
	isInstalled(ThermocoupleElement , myZone.Floor, c, 22) = TRUE
}
KS4{
	isObjectProperty(SpecificFireFightingBuilding.myZone.Floor.area) <= 88m2
	getObjectCount(myZone) >= 4
} 




Python Code 변환 예정



Modify
36
72908 건축물의 에너지절약설계기준 제 서식1조

에너지절약계획 설계 검토서






자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 8호 나목
Check(NFSC203_7_3_8_나){
	KS
}
KS{
	isConnectedTo(ThermocoupleElement, DetectingElement.One) = TRUE
	getObjectCount(ThermocoupleElement) <= 20
} 




Python Code 변환 예정



Modify
37
72909 건축물의 에너지절약설계기준 제 서식2조

완화기준 적용 신청서





//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 9호
Check(NFSC203_7_3_9){
	KS
}

KS{
	getResult(NFSC203_7_3_9_1) = TRUE
	getResult(NFSC203_7_3_9_2) = TRUE
} 




Python Code 변환 예정



Modify
38
72910 건축물의 에너지절약설계기준 제 서식3조

에너지절약계획 이행 검토서





자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 5호
Check(NFSC203_7_3_5){

	Sensor mySensor1{
	getObjectProperty(Sensor.type) = "Type1"
	}
	Sensor mySensor2{
	isObjectProperty(Sensor.type) = "Type2"
	}

IF 
{isFireResistantStructure(SpecificFireFightingBuilding) = TRUE)
AND 
{isInstalled(Sensor, FloorSlab) = TRUE
	getObjectVerticalDistance(FloorSlab, Sensor) < 8m
}
THEN
{(FA = 65
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR 
(FA = 36 
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= FA
THEN getObjectCount(Sensor) = 1

ELSE IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}

ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) = TRUE)
AND 
{isInstalled(Sensor, FloorSlab) = TRUE
AND
getObjectVerticalDistance(FloorSlab, Sensor) >= 8m
AND
getObjectVerticalDistance(FloorSlab, Sensor) < 15m

THEN
{(FA = 50
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR 
(FA = 36 
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}

ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) != TRUE)
AND 
{isInstalled(Sensor, FloorSlab) = TRUE
	getObjectVerticalLocation(FloorSlab, Sensor) < 8m
}
THEN
{(FA = 40
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR 
(FA = 23 
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= FA
THEN getObjectCount(Sensor) = 1

ELSE IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}

ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) != TRUE)
AND 
getObjectVerticalDistance(FloorSlab, Sensor) >= 8m
AND
getObjectVerticalDistance(FloorSlab, Sensor) < 15m
}

THEN
{(FA = 30
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR 
(FA = 23 
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
} 




Python Code 변환 예정



Modify
39
11463 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 19조 3 항

③ 법 제49조제3항에 따른 가구ㆍ세대 등 간 소음방지를 위한 바닥은 경량충격음(비교적 가볍고 딱딱한 충격에 의한 바닥충격음을 말한다)과 중량충격음(무겁고 부드러운 충격에 의한 바닥충격음을 말한다)을 차단할 수 있는 구조로 하여야 한다. <신설 2014.11.28>





check(REFB_19_1){

     KS

}



KS{

Wall myWall{
   isObjectProperty(Wall.isPartitionWall) = TRUE
}
Floor myFloor{
hasObject(Floor, myWall)
}
   isFireResistantStructure(myWall)=TRUE
(isConnectedTo(myWall, Roof.BottomSurface) = TRUE
 OR isCOnnectedTo(myWall, myFloor.UpperFloor.FloorSlab) = TRUE)

} 








def Check():
    for building in SELECT('building'):
        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()
        space_codes = []
        
        if bldg_use == '단독주택' and sub_use == '다가구주택':
            space_codes = ['가구'] #가구
        elif (bldg_use == '공동주택' and sub_use != '기숙사') or (bldg_use == '노유자시설' and sub_use == '노인복지주택'):
            space_codes = ['33237'] #세대
        elif bldg_use == '공동주택' and sub_use == '기숙사':
            space_codes = ['33230'] #침실
        elif bldg_use == '의료시설':
            space_codes = ['34310'] #병실
        elif bldg_use == '교육연구시설' and sub_use == '학교':
            space_codes = ['34404', '34409']    #교실
        elif bldg_use == '숙박시설':
            space_codes = ['33201'] #객실
        elif (bldg_use == '제2종 근린생활시설' and sub_use == '다중생활시설') or (bldg_use == '노유자시설' and sub_use == '노인요양시설'):
            space_codes = ['호실'] #호실
        else:
            return

        for storey in building.SELECT('storey'):
            walls_list = []
            for space in storey.SELECT('space'):
                code = space.SELECT('class code').STRING()
                if code in space_codes:
                    walls_list.append(space.SELECT('wall'))
            
            n = len(walls_list)
            for i, walls in enumerate(walls_list):
                if i == n-1:
                    break
                for j, walls2 in enumerate(walls_list):
                    if i >= j:
                        continue
                    for wall in walls:
                        if wall.SELECT('isexterior').BOOL():
                            continue
                        id = wall.SELECT('element id').STRING()
                        for wall2 in walls2:
                            if wall2.SELECT('isexterior').BOOL():
                                continue
                            id2 = wall2.SELECT('element id').STRING()
                            if id == id2:
                                if wall.SELECT('prop', '경계벽').BOOL() == False:
                                    wall.ERROR('해당 벽은 경계벽이어야 합니다.')
                                else:
                                    if wall.SELECT('prop', '내화구조').BOOL() == False:
                                        wall.ERROR('경계벽은 내화구조이어야 합니다.')
                                    else:
                                        if wall.SELECT('top touched').BOOL():
                                            wall.SUCCESS('경계벽 조건에 부합합니다.')
                                        else:
                                            wall.ERROR('경계벽 상단이 슬라브와 닿지 않습니다.')
                                break 





Modify
40
11464 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 19조 4 항

④ 제3항에 따른 가구ㆍ세대 등 간 소음방지를 위한 바닥의 세부 기준은 국토교통부장관이 정하여 고시한다. <신설 2014.11.28>

KBimCode 입력 예정






def Check():
    for building in SELECT('building'):
        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()
        space_codes = []
        
        if bldg_use == '단독주택' and sub_use == '다가구주택':
            space_codes = ['가구'] #가구
        elif (bldg_use == '공동주택' and sub_use != '기숙사') or (bldg_use == '노유자시설' and sub_use == '노인복지주택'):
            space_codes = ['33237'] #세대
        elif bldg_use == '공동주택' and sub_use == '기숙사':
            space_codes = ['33230'] #침실
        elif bldg_use == '의료시설':
            space_codes = ['34310'] #병실
        elif bldg_use == '교육연구시설' and sub_use == '학교':
            space_codes = ['34404', '34409']    #교실
        elif bldg_use == '숙박시설':
            space_codes = ['33201'] #객실
        elif (bldg_use == '제2종 근린생활시설' and sub_use == '다중생활시설') or (bldg_use == '노유자시설' and sub_use == '노인요양시설'):
            space_codes = ['호실'] #호실
        else:
            return

        for storey in building.SELECT('storey'):
            walls_list = []
            for space in storey.SELECT('space'):
                code = space.SELECT('class code').STRING()
                if code in space_codes:
                    walls_list.append(space.SELECT('wall'))
            
            n = len(walls_list)
            for i, walls in enumerate(walls_list):
                if i == n-1:
                    break
                for j, walls2 in enumerate(walls_list):
                    if i >= j:
                        continue
                    for wall in walls:
                        if wall.SELECT('isexterior').BOOL():
                            continue
                        id = wall.SELECT('element id').STRING()
                        for wall2 in walls2:
                            if wall2.SELECT('isexterior').BOOL():
                                continue
                            id2 = wall2.SELECT('element id').STRING()
                            if id == id2:
                                if wall.SELECT('prop', '경계벽').BOOL() == False:
                                    wall.ERROR('해당 벽은 경계벽이어야 합니다.')
                                else:
                                    if wall.SELECT('prop', '내화구조').BOOL() == False:
                                        wall.ERROR('경계벽은 내화구조이어야 합니다.')
                                    else:
                                        if wall.SELECT('top touched').BOOL():
                                            wall.SUCCESS('경계벽 조건에 부합합니다.')
                                        else:
                                            wall.ERROR('경계벽 상단이 슬라브와 닿지 않습니다.')
                                break 





Modify
41
19408 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호

1. 벽의 경우에는 다음 각목의 1에 해당하는 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호

Check (REFB_3_0_1){
	IF CS THEN KS
}
CS{
	isInstalled(Wall) = TRUE
}
KS{
	getResult(REFB_3_0_1_가)=TRUE
    getResult(REFB_3_0_1_나)=TRUE
    getResult(REFB_3_0_1_다)=TRUE
    getResult(REFB_3_0_1_라)=TRUE
    getResult(REFB_3_0_1_마)=TRUE
} 




Python Code 변환 예정



Modify
42
19410 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호 나 목

나. 골구를 철골조로 하고 그 양면을 두께 4센티미터 이상의 철망모르타르(그 바름바탕을 불연재료로 한 것에 한한다. 이하 이 조에서 같다) 또는 두께 5센티미터 이상의 콘크리트블록ㆍ벽돌 또는 석재로 덮은 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 나목

Check (REFB_3_0_1_나){
	KS
}
KS{
	getObjectProperty(Wall.Structure.materialType) = "SteelFrame"  
	(isInstalled(WireMeshMortar, Wall.DoubleSide) = TRUE
	getObjectWidth(WireMeshMortar) >= 4cm)
	(isInstalled(ConcreteBlock, Wall.DoubleSide) = TRUE 
	OR (getObjectWidth(ConcreteBlock) >= 5cm )
	(isInstalled(Brick, Wall.DoubleSide) = TRUE
	OR getObjectWidth(Brick) >= 5cm )
	(isInstalled(Stone, Wall.DoubleSide) = TRUE
	OR getObjectWidth(Stone) >= 5cm)
} 




Python Code 변환 예정



Modify
43
19411 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호 다 목

다. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 5센티미터 이상인 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 다목

Check (REFB_3_0_1_다){
	IF CS THEN KS
}
CS{
getObjectProperty(Wall.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
KS{
getObjectThickness(Wall.Structure) >= 5cm
}	
 




Python Code 변환 예정



Modify
44
19412 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호 라 목

라. 벽돌조로서 두께가 19센티미터 이상인 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 라목

Check (REFB_3_0_1_라){
	KS
}

KS{
	getObjectProperty(Wall.Structure.materialType) = "Brick"
	getObjectThickness(Wall.Structure) >= 19cm
} 




Python Code 변환 예정



Modify
45
19413 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호 마 목

마. 고온ㆍ고압의 증기로 양생된 경량기포 콘크리트패널 또는 경량기포 콘크리트블록조로서 두께가 10센티미터 이상인 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 마목

Check (REFB_3_0_1_마){
	KS
}
KS{
	getObjectProperty(Wall.Structure.materialType) = "AeratedConcretePanel" OR "AeratedConcreteBlock"
	getObjectThickness(Wall.Structure) >= 10cm
} 




Python Code 변환 예정



Modify
46
19414 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 4호

4. 바닥의 경우에는 다음 각목의 1에 해당하는 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 4호

Check (REFB_3_0_4){
	IF CS THEN KS
}
CS{
	isInstalled(FloorSlab) = TRUE
}
KS{
	getResult(REFB_3_0_4_가)=TRUE
    getResult(REFB_3_0_4_나)=TRUE
    getResult(REFB_3_0_4_다)=TRUE
} 




Python Code 변환 예정



Modify
47
19416 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 4호 나 목

나. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 5센티미터 이상인 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 다목

Check (REFB_3_0_4_나){
	IF CS THEN KS
}
CS{
getObjectProperty(FloorSlab.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
KS{
getObjectThickness(FloorSlab.Structure) >= 5cm
}	
 




Python Code 변환 예정



Modify
48
19417 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 4호 다 목

다. 철재의 양면을 두께 5센티미터 이상의 철망모르타르 또는 콘크리트로 덮은 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 4호 다목

Check (REFB_3_0_4_다){
	KS
}
KS{
	(isInstalled(WireMeshMortar, Steel.DoubleSide) = TRUE
	getObjectWidth(WireMeshMortar) >= 5cm)
	OR (isInstalled(ConcreteBlock, Wall.DoubleSide) = TRUE 
	getObjectWidth(ConcreteBlock) >= 5cm)
} 




Python Code 변환 예정



Modify
49
19418 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 6호

6. 지붕의 경우에는 다음 각목의 1에 해당하는 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호

Check (REFB_3_0_6){
	IF CS THEN KS
}
CS{
	isInstalled(Roof) = TRUE
}
KS{
	getResult(REFB_3_0_6_가)=TRUE
    getResult(REFB_3_0_6_나)=TRUE
    getResult(REFB_3_0_6_다)=TRUE
} 




Python Code 변환 예정



Modify
50
19420 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 6호 나 목

나. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호 나목

Check (REFB_3_0_6_나){
	IF CS THEN KS
}
CS{
getObjectProperty(Roof.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
} 




Python Code 변환 예정



Modify
51
19421 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 6호 다 목

다. 철재로 보강된 유리블록 또는 망입유리로 된 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호 다목

Check (REFB_3_0_6_다){
	IF CS THEN KS
}
CS{
getObjectProperty(Roof.Structure.materialType) = "GlassBlock" OR "WiredSheetGlass"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
} 




Python Code 변환 예정



Modify
52
19422 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 7호

7. 계단의 경우에는 다음 각목의 1에 해당하는 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호

Check (REFB_3_0_7){
	IF CS THEN KS
}
CS{
	isInstalled(Stair) = TRUE
}
KS{
	getResult(REFB_3_0_7_가)=TRUE
    getResult(REFB_3_0_7_나)=TRUE
    getResult(REFB_3_0_7_다)=TRUE
    getResult(REFB_3_0_7_라)=TRUE
}
 




Python Code 변환 예정



Modify
53
19424 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 7호 나 목

나. 무근콘크리트조ㆍ콘크리트블록조ㆍ벽돌조 또는 석조





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 나목

Check (REFB_3_0_7_나){
	KS
}
KS{
	getObjectProperty(Stair.Structure.materialType) = "PlainConcrete" OR "ConcreteBlock" OR "Brick" OR "Stone"
} 




Python Code 변환 예정



Modify
54
19425 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 7호 다 목

다. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 다목

Check (REFB_3_0_7_다){
	IF CS THEN KS
}
CS{
getObjectProperty(Stair.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
} 




Python Code 변환 예정



Modify
55
19426 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 7호 라 목

라. 철골조





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 라목

Check (REFB_3_0_7_라){
	KS
}
KS{
getObjectProperty(Stair.Structure.materialType) = "SteelFrame"
} 




Python Code 변환 예정



Modify
56
19467 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10조 1 항

제10조(관람석등으로부터의 출구의 설치기준) ①영 제38조 각호의 1에 해당하는 건축물의 관람석 또는 집회실로부터 바깥쪽으로의 출구로 쓰이는 문은 안여닫이로 하여서는 아니된다.





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 1항

check(REFB_10_1){

    Space mySpace = getSpace("Auditorium") + getSpace("AssemblyHall")



    Door myExit {

        isAccessible(mySpace, Door) = TRUE

        isObjectProperty(Door.isEntrance) = TRUE

    }

getObjectProperty(myExit.panelOperationType) != "OpeningInDoor"


} 








SUCCESS
theater_code = '00000'
std_floor_area = 300


theater_code_label = '관람석 공간분류코드'
std_floor_area_label = '기준 바닥면적'

def Check():
    for building in SELECT('building'):
        
        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()

        for storey in building.SELECT('storey'):
            for space in storey.SELECT('space'):
                if space.SELECT('name').STRING() not in ['관람석', '집회실':
                    continue
                for door in space.Select('door'):
                    if door.SELECT('type') is '안여닫이' :
                        door.ERROR('본 공간의 문은 안여닫이입니다.')
                    else:
                        door.SUCCESS('본 공간의 문은 안여닫이가 아닙니다.')
                         





Modify
57
19468 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10조 2 항

②영 제38조의 규정에 의하여 문화 및 집회시설중 공연장의 개별관람석(바닥면적이 300제곱미터 이상인 것에 한한다)의 출구는 다음 각호의 기준에 적합하게 설치하여야 한다.





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항
check(REFB_10_2){
    IF (CS) THEN KS ENDIF
}

CS{
    getBuildingUsage() = "CulturalAndAssemblyFacility.PerformanceHall"

    Space mySpace = getSpace("individualSeats")
    getFloorArea(mySpace) >= 300

KS{
    getResult(REFB_10_2_1) = TRUE
    getResult(REFB_10_2_2) = TRUE
    getResult(REFB_10_2_3) = TRUE
} 








theater_code = '00000'
std_floor_area = 300


theater_code_label = '관람석 공간분류코드'
std_floor_area_label = '기준 바닥면적'

def Check():
    for building in SELECT('building'):
        if building.SELECT('prop', '연면적').NUMBER() <= std_floor_area:
            continue

        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()

        if not (bldg_use == '문화 및 집회시설' and sub_use == '공연장'):
            building.SUCcESS('검토 대상 건물이 아닙니다.')
            continue
        for storey in building.SELECT('storey'):
            for space in storey.SELECT('space'):
                if space.SELECT('class code').STRING() != theater_code:
                    continue
                if space.SELECT('area').UNIT(m2).NUMBER() < std_floor_area:
                    continue
                door_w_total = 0
                door_cnt = 0
                for door in space.Select('door'):
                    door_cnt += 1 
                    door_w = door.SELECT('width').Unit(m).number()
                    door_w_total += door_w
                    if door_w >= 1.5:
                        door.SUCCESS('출구의 너비' + door_w +'>= 1.5m')
                    else:
                        door.ERROR('출구의 너비' + door_w +'< 1.5m')
                min_door_w_total = space.SELECT('area').UNIT(m2).NUMBER()
                min_door_w_total = min_door_w_total/100*0.6
                if door_w_total >= min_door_w_total :
                    space.SUCCESS('출구의 너비의 총합' + door_w_total +'>='+ min_door_w_total)
                else:
                    space.ERROR('출구의 너비의 총합' + door_w_total +'<' + min_door_w_total)
                if door_cnt >= 2:
                    space.SUCCESS('출구의 개수' + door_w_total +'>='+ '2')
                else:
                    space.ERROR('출구의 개수' + door_w_total +'<'+ '2')
 





Modify
58
19469 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10조 2 항 1호

1. 관람석별로 2개소 이상 설치할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항 1호

check(REFB_10_2_1){

    Door myExit {

        Door.Space.name = "individualSeats"

        getFloorArea(Door.Space) >= 300

        isObjectProperty(Door.isEntrance) = TRUE

    }



    getObjectCount(myExit) >= 2

} 








SUCCESS
theater_code = '00000'
std_floor_area = 300


theater_code_label = '관람석 공간분류코드'
std_floor_area_label = '기준 바닥면적'

def Check():
    for building in SELECT('building'):
        if building.SELECT('prop', '연면적').NUMBER() <= std_floor_area:
            continue

        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()

        if not (bldg_use == '문화 및 집회시설' and sub_use == '공연장'):
            building.SUCESS('검토 대상 건물이 아닙니다.')
            continue
        for storey in building.SELECT('storey'):
            for space in storey.SELECT('space'):
                if space.SELECT('class code').STRING() != theater_code:
                    continue
                if space.SELECT('area').UNIT(m2).NUMBER() < std_floor_area:
                    continue
                door_w_total = 0
                door_cnt = 0
                for door in space.Select('door'):
                    door_cnt += 1 
                    door_w = door.SELECT('width').Unit(m).number()
                    door_w_total += door_w
                    if door_w >= 1.5:
                        door.SUCCESS('출구의 너비' + door_w +'>= 1.5m')
                    else:
                        door.ERROR('출구의 너비' + door_w +'< 1.5m')
                min_door_w_total = space.SELECT('area').UNIT(m2).NUMBER()
                min_door_w_total = min_door_w_total/100*0.6
                if door_w_total >= min_door_w_total :
                    space.SUCCESS('출구의 너비의 총합' + door_w_total +'>='+ min_door_w_total)
                else:
                    space.ERROR('출구의 너비의 총합' + door_w_total +'<' + min_door_w_total)
                if door_cnt >= 2:
                    space.SUCCESS('출구의 개수' + door_w_total +'>='+ '2')
                else:
                    space.ERROR('출구의 개수' + door_w_total +'<'+ '2')
 





Modify
59
19470 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10조 2 항 2호

2. 각 출구의 유효너비는 1.5미터 이상일 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항 2호

check(REFB_10_2_2){

    Door myExit {

        Door.Space.name = "individualSeats"

        getFloorArea(Door.Space) >= 300

        isObjectProperty(Door.isEntrance) = TRUE

    }



    getObjectWidth(myExit) >= 1.5m

} 








SUCCESS
theater_code = '00000'
std_floor_area = 300


theater_code_label = '관람석 공간분류코드'
std_floor_area_label = '기준 바닥면적'

def Check():
    for building in SELECT('building'):
        if building.SELECT('prop', '연면적').NUMBER() <= std_floor_area:
            continue

        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()

        if not (bldg_use == '문화 및 집회시설' and sub_use == '공연장'):
            building.SUCESS('검토 대상 건물이 아닙니다.')
            continue
        for storey in building.SELECT('storey'):
            for space in storey.SELECT('space'):
                if space.SELECT('class code').STRING() != theater_code:
                    continue
                if space.SELECT('area').UNIT(m2).NUMBER() < std_floor_area:
                    continue
                door_w_total = 0
                door_cnt = 0
                for door in space.Select('door'):
                    door_cnt += 1 
                    door_w = door.SELECT('width').Unit(m).number()
                    door_w_total += door_w
                    if door_w >= 1.5:
                        door.SUCCESS('출구의 너비' + door_w +'>= 1.5m')
                    else:
                        door.ERROR('출구의 너비' + door_w +'< 1.5m')
                min_door_w_total = space.SELECT('area').UNIT(m2).NUMBER()
                min_door_w_total = min_door_w_total/100*0.6
                if door_w_total >= min_door_w_total :
                    space.SUCCESS('출구의 너비의 총합' + door_w_total +'>='+ min_door_w_total)
                else:
                    space.ERROR('출구의 너비의 총합' + door_w_total +'<' + min_door_w_total)
                if door_cnt >= 2:
                    space.SUCCESS('출구의 개수' + door_w_total +'>='+ '2')
                else:
                    space.ERROR('출구의 개수' + door_w_total +'<'+ '2')
 





Modify
60
19471 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10조 2 항 3호

3. 개별 관람석 출구의 유효너비의 합계는 개별 관람석의 바닥면적 100제곱미터마다 0.6미터의 비율로 산정한 너비 이상으로 할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 2항 3호

check(REFB_10_2_3){

    Door myExit {

        Door.Space.name = "individualSeats"

        getFloorArea(Door.Space) >= 300

        isObjectProperty(Door.isEntrance) = TRUE

    }



    getTotalObjectWidth(myExit) >= getFloorArea(myExit.Space)/100*0.6

} 








SUCCESS
theater_code = '00000'
std_floor_area = 300


theater_code_label = '관람석 공간분류코드'
std_floor_area_label = '기준 바닥면적'

def Check():
    for building in SELECT('building'):
        if building.SELECT('prop', '연면적').NUMBER() <= std_floor_area:
            continue

        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()

        if not (bldg_use == '문화 및 집회시설' and sub_use == '공연장'):
            building.SUCESS('검토 대상 건물이 아닙니다.')
            continue
        for storey in building.SELECT('storey'):
            for space in storey.SELECT('space'):
                if space.SELECT('class code').STRING() != theater_code:
                    continue
                if space.SELECT('area').UNIT(m2).NUMBER() < std_floor_area:
                    continue
                door_w_total = 0
                door_cnt = 0
                for door in space.Select('door'):
                    door_cnt += 1 
                    door_w = door.SELECT('width').Unit(m).number()
                    door_w_total += door_w
                    if door_w >= 1.5:
                        door.SUCCESS('출구의 너비' + door_w +'>= 1.5m')
                    else:
                        door.ERROR('출구의 너비' + door_w +'< 1.5m')
                min_door_w_total = space.SELECT('area').UNIT(m2).NUMBER()
                min_door_w_total = min_door_w_total/100*0.6
                if door_w_total >= min_door_w_total :
                    space.SUCCESS('출구의 너비의 총합' + door_w_total +'>='+ min_door_w_total)
                else:
                    space.ERROR('출구의 너비의 총합' + door_w_total +'<' + min_door_w_total)
                if door_cnt >= 2:
                    space.SUCCESS('출구의 개수' + door_w_total +'>='+ '2')
                else:
                    space.ERROR('출구의 개수' + door_w_total +'<'+ '2')
 





Modify
61
19484 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 12조

제12조(회전문의 설치기준) 영 제39조제2항의 규정에 의하여 건축물의 출입구에 설치하는 회전문은 다음 각 호의 기준에 적합하여야 한다. <개정 2005.7.22.>





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 12조 (회전문의 설치기준)  
Check(REFB_12){    
IF CS THEN KS
}

CS {
Door myDoor {
isObjectProperty(Door.isEntrance) = TRUE
Door.panelOperationType=“RevolvingDoor”
}
isExist(myDoor) = TRUE
}

KS {
getResult(REFB_12_1)=TRUE
}
 




Python Code 변환 예정



Modify
62
19485 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 12조 1호

1. 계단이나 에스컬레이터로부터 2미터 이상의 거리를 둘 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 12조 (회전문의 설치기준) 1항
Check(REFB_12_1){
KS
}

KS {
getElementDistance(myDoor, Stair, a)>= 2 m
OR getElementDistance(myDoor, Escalator, a)>= 2 m
}
 




Python Code 변환 예정



Modify
63
19505 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14조의2조

제14조의2(복합건축물의 피난시설 등) 영 제47조제1항 단서의 규정에 의하여 같은 건축물안에 공동주택ㆍ의료시설ㆍ아동관련시설 또는 노인복지시설(이하 이 조에서 "공동주택등"이라 한다)중 하나 이상과 위락시설ㆍ위험물저장 및 처리시설ㆍ공장 또는 자동차정비공장(이하 이 조에서 "위락시설등"이라 한다)중 하나 이상을 함께 설치하고자 하는 경우에는 다음 각 호의 기준에 적합하여야 한다. <개정 2005.7.22.>





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등)



Check(REFB_14-2){

     IF CS THEN KS

}



CS{


Building myBuilding1{
Building.usage = "MultiUnitHouse" 
   OR Building.usage = "MedicalFacility"

   OR Building.usage =  "ChildrenRelatedFacility"

   OR Building.usage =  "WelfareFacilityForTheAged"
}

 Building myBuilding2{
Building.usage = "AmusementFacility"

   OR Building.usage = "FacilityForStorageAndTreatmentOfDangerousSubstance"

   OR Building.usage = "Factory"

   OR Building.usage = "AutomobileRepairShop"
}

hasObject(Building, myBuilding1) = TRUE
hasObject(Building, myBuilding2) = TRUE


}



KS{

   getResult(REFB_14-2_0_1)=True

   getResult(REFB_14-2_0_2)=True

   getResult(REFB_14-2_0_3)=True

   getResult(REFB_14-2_0_4)=True

   getResult(REFB_14-2_0_5)=True

   

} 




Python Code 변환 예정



Modify
64
19506 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14조의2조 1호

1. 공동주택등의 출입구와 위락시설등의 출입구는 서로 그 보행거리가 30미터 이상이 되도록 설치할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 1호

Check(REFB_14-2_0_1){
        KS
}

KS{
 Space mySpace{
  Space.usage="MultiUnitHouse"  
  OR Space.usage="MedicalFacility"
  OR Space.usage="ChildrenRelatedFacility"
  OR Space.usage="WelfareFacilityForTheAged"
 }
 
 Space mySpace2{
  Space.usage="AmusementFacility"  
  OR Space.usage="FacilityForStorageAndTreatmentOfDangerousSubstance"
  OR Space.usage="Factory"
  OR Space.usage="AutomobileRepairShop"
 }


getSpaceDiatance(mySpace.Door, mySpace2.Door)>=30 m

}
 




Python Code 변환 예정



Modify
65
19507 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14조의2조 2호

2. 공동주택등(당해 공동주택등에 출입하는 통로를 포함한다)과 위락시설등(당해 위락시설등에 출입하는 통로를 포함한다)은 내화구조로 된 바닥 및 벽으로 구획하여 서로 차단할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의 2 (복합건축물의 피난시설 등) 2호

Check(REFB_14-2_0_2){
    KS
}

KS{
  Space mySpace{
  Space.usage="MultiUnitHouse"  
  OR Space.usage="MedicalFacility"
  OR Space.usage="ChildrenRelatedFacility"
  OR Space.usage="WelfareFacilityForTheAged"
  }
 
 Space mySpace2{
 Space.usage="AmusementFacility"  
 OR Space.usage="FacilityForStorageAndTreatmentOfDangerousSubstance"
 OR Space.usage="Factory"
 OR Space.usage="AutomobileRepairShop"
 }

 Passage myPassage{
    isAccessible(Passage, mySpace)=True
    OR isAccessible(Passage, mySpace2)=True
 }


 isFirePartition(mySpace)=True
 isFirePartition(mySpace2)=True
 isFirePartition(myPassage)=True
} 




Python Code 변환 예정



Modify
66
19508 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14조의2조 3호

3. 공동주택등과 위락시설등은 서로 이웃하지 아니하도록 배치할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 3호

Check(REFB_14-2_0_3){
     KS
}

KS{

  Space mySpace{
  Space.usage="MultiUnitHouse"  
  OR Space.usage="MedicalFacility"
  OR Space.usage="ChildrenRelatedFacility"
  OR Space.usage="WelfareFacilityForTheAged"
 }
 
 Space mySpace2{
  Space.usage="AmusementFacility"  
  OR Space.usage="FacilityForStorageAndTreatmentOfDangerousSubstance"
  OR Space.usage="Factory"
  OR Space.usage="AutomobileRepairShop"
 }

 isAdjacent(mySpace, mySpace2)=False

} 




Python Code 변환 예정



Modify
67
19509 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14조의2조 4호

4. 건축물의 주요 구조부를 내화구조로 할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 4호



Check(REFB_14-2_0_4){

       KS

}



KS{

  isFireResistantStructure(MainStructuralPart)=True

} 




Python Code 변환 예정



Modify
68
19510 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14조의2조 5호

5. 거실의 벽 및 반자가 실내에 면하는 부분(반자돌림대ㆍ창대 그 밖에 이와 유사한 것을 제외한다. 이하 이 조에서 같다)의 마감은 불연재료ㆍ준불연재료 또는 난연재료로 하고, 그 거실로부터 지상으로 통하는 주된 복도ㆍ계단 그밖에 통로의 벽 및 반자가 실내에 면하는 부분의 마감은 불연재료 또는 준불연재료로 할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 5호



Check(REFB_14-2_0_5){

      KS

}



KS{



  Object myObject{

      getObject(Room.wall)

      getObject(Room.CeilingCovering)

  }

   



Corridor myCorridor{

   isGoThrough(Room, Corridor, Ground )=True

}



Stair myStair{

  isGoThrough(Room,Stair, Ground )=True

}



Passage myPassage{

  isGoThrough(Room,Passage, Ground )=True

}



Space mySpace{

   Space.usage==myCorridor.usage

   OR Space.usage==myStair.usage

   OR Space.usage=myPassage.usage



}





Object myObject2{

      getObject(mySpace.wall)

      getObject(mySpace.CeilingCovering)

  }



( isObjectProperty(myObject.InteriorFinish.Material.nonCombustibility)=True

 OR isObjectProperty(myObject.InteriorFinish.Material.quasiNonCombustibility)=True

 OR isObjectProperty(myObject.InteriorFinish.Material.flameResistance)= True
)



isObjectProperty(myObject2.InteriorFinish.Material.nonCombustibility)=True

 OR isObjectProperty(myObject2.InteriorFinish.Material.quasiNonCombustibility)=True





} 




Python Code 변환 예정



Modify
69
19561 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 20조 1호

1. 굴뚝의 옥상 돌출부는 지붕면으로부터의 수직거리를 1미터 이상으로 할 것. 다만, 용마루ㆍ계단탑ㆍ옥탑등이 있는 건축물에 있어서 굴뚝의 주위에 연기의 배출을 방해하는 장애물이 있는 경우에는 그 굴뚝의 상단을 용마루ㆍ계단탑ㆍ옥탑등보다 높게 하여야 한다.





check(REFB_20_0_1){
     KS
}

KS{
     getObjectDistance(Chimney, Ground)
     -getObjectDistance(Roof, Ground)>= 1M
} 
 




Python Code 변환 예정



Modify
70
19562 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 20조 3호

3. 금속제 굴뚝으로서 건축물의 지붕속ㆍ반자위 및 가장 아랫바닥밑에 있는 굴뚝의 부분은 금속외의 불연재료로 덮을 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 20조 (건축물에 설치하는 굴뚝) 3호
Check(REFB_20_0_3){
	IF CS THEN KS
}

CS{
	getObjectMaterial(Chimney.Material.nonCombustibility) = TRUE
}

KS{
	Chimney myChimney{
		getObjectMaterial(Chimney.Material.nonCombustibility) = TRUE
	}

	isObjectProperty(A.Finish.Material.nonCombustibility) = TRUE
	getObjectProperty(A.Finish.Material.nonCombustibility) != 
	isObjectProperty(B.Finish.Material.nonCombustibility) = TRUE
	getFloorNumber(myChimney) = LF
	getObjectMaterial(myChimney) != "Metal"
} 




Python Code 변환 예정



Modify
71
19563 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 20조 4호

4. 금속제 굴뚝은 목재 기타 가연재료로부터 15센티미터 이상 떨어져서 설치할 것. 다만, 두께 10센티미터 이상인 금속외의 불연재료로 덮은 경우에는 그러하지 아니하다.





check(REFB_20_0_4){

IF !CS THEN KS

}



CS{

     (isObjectProperty(Chimney.Material.nonCombustibility)= TRUE

     AND !(getObjectProperty(Chimney.Material)="Metal"))

     And getElementWidth(NoncombustibleMaterials)>=10

}



KS{

       getObjectDistance(Chimney, combustibleMaterials)>= 15CM

       AND getObjectProperty(Chimney.Material)="Metal")) 

} 




Python Code 변환 예정



Modify
72
19600 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 1호

1. 피난용승강기 승강장의 구조





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호
check(REFB_30_0_1){
       KS
}
KS{
	getResult(REFB_30_0_1_가) = TRUE
	getResult(REFB_30_0_1_나) = TRUE
	getResult(REFB_30_0_1_다) = TRUE
} 




Python Code 변환 예정



Modify
73
19601 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 1호 가 목

가. 승강장의 출입구를 제외한 부분은 해당 건축물의 다른 부분과 내화구조의 바닥 및 벽으로 구획할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 가목

check(REFB_30_0_1_가){

      KS

}

KS{

	FloorSlab myFloorSlab{

	isFireResistantStructure(FloorSlab) = TRUE

}

	Wall myWall{

	isFireResistantStructure(Wall) = TRUE

}

	Object  myElement{

		getObject(Platform.Object) - getObject(Opening)

	}

	isPartitioned(myElement, , myFloorSlab) = TRUE

	isPartitioned(myElement, , myWall) = TRUE

} 




Python Code 변환 예정



Modify
74
19602 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 1호 나 목

나. 승강장은 각 층의 내부와 연결될 수 있도록 하되, 그 출입구에는 갑종방화문을 설치할 것. 이 경우 방화문은 언제나 닫힌 상태를 유지할 수 있는 구조이어야 한다.





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 나목
check(REFB_30_0_1_나){
      KS
}
KS{
	isConnectedTo(Platform, Floor.One.Space) = TRUE
	Door myDoor{
	isObjectProperty(Door.isEntrance) = TRUE
	isInstalled(Door, Floor.One) = TRUE
	}
	isObjectProperty(myDoor.isStrictFireproofDoor) = TRUE
} 




Python Code 변환 예정



Modify
75
19603 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 1호 다 목

다. 실내에 접하는 부분(바닥 및 반자 등 실내에 면한 모든 부분을 말한다)의 마감(마감을 위한 바탕을 포함한다)은 불연재료로 할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 다목

check(REFB_30_0_1_다){

      KS

}

KS{

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

} 




Python Code 변환 예정



Modify
76
19604 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 1호 마 목

마. 승강장의 바닥면적은 피난용승강기 1대에 대하여 6제곱미터 이상으로 할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 마목

Check(REFB_30_0_1_마){
      KS
}

KS{
     
        EC= getObjectCount(myElevator)  
        getFloorArea(myElevator.Platform)>=6*EC m2
} 




Python Code 변환 예정



Modify
77
19605 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 1호 아 목

아. 「건축물의 설비기준 등에 관한 규칙」 제14조에 따른 배연설비를 설치할 것. 다만, 「소방시설 설치ㆍ유지 및 안전관리에 법률 시행령」 별표 5 제5호가목에 따른 제연설비를 설치한 경우에는 배연설비를 설치하지 아니할 수 있다.





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 아목



Check(REFB_30_0_1_아){

     IF !CS THEN KS

}



CS{

   isExist(SmokeExhaustionSystem)=True

   getResult(Unimplemented_EDIMSFA_*5_0_5_가)=True

}



KS{

    getResult(RFB_14_1)=True

    getResult(RFB_14_2)=True

} 




Python Code 변환 예정



Modify
78
19606 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 2호

2. 피난용승강기 승강로의 구조





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호
check(REFB_30_0_2){
      KS
}
KS{
	getResult(REFB_30_0_2_가) = TRUE
	getResult(REFB_30_0_2_나) = TRUE
	getResult(REFB_30_0_2_다) = TRUE
} 




Python Code 변환 예정



Modify
79
19607 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 2호 가 목

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





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호 가목



Check(REFB_30_0_2_가){

      KS

}



KS{

     	isFireResistantStructure(ElevatorShaft)  =True

} 




Python Code 변환 예정



Modify
80
19608 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 2호 나 목

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





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호 나목



Check(REFB_30_0_2_나){

      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 변환 예정



Modify
81
19609 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 2호 다 목

다. 승강로 상부에 「건축물의 설비기준 등에 관한 규칙」 제14조에 따른 배연설비를 설치할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호 다목
check(REFB_30_0_2_다){
      KS
}
KS{
	isInstalled(Opening.TopSurface, SmokeExhaustionSystem)
	getResult(RFB_14) = TRUE
} 




Python Code 변환 예정



Modify
82
19610 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 3호

3. 피난용승강기 기계실의 구조





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 3호
check(REFB_30_0_3){
      KS
}
KS{
	getResult(REFB_30_0_3_가) = TRUE
	getResult(REFB_30_0_3_나) = TRUE
} 




Python Code 변환 예정



Modify
83
19611 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 3호 가 목

가. 출입구를 제외한 부분은 해당 건축물의 다른 부분과 내화구조의 바닥 및 벽으로 구획할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 3호 가목

check(REFB_30_0_3_가){

      KS

}

KS{

	FloorSlab myFloorSlab{

	isFireResistantStructure(FloorSlab) = TRUE

}

	Wall myWall{

	isFireResistantStructure(Wall) = TRUE

}

	Door myDoor{

	isObjectProperty(Door.isEntrance) = TRUE

	}

	Object myElement{

		getObject(Space.Object) - getObject(myDoor)

	}

	isPartitioned(myElement, , myFloorSlab) = TRUE

	isPartitioned(myElement, , myWall) = TRUE

} 




Python Code 변환 예정



Modify
84
19612 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 3호 나 목

나. 출입구에는 갑종방화문을 설치할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 3호 나목
check(REFB_30_0_3_나){
      KS
}
KS{
	Door myDoor{
	isObjectProperty(Door.isEntrance) = TRUE
	}
	isObjectProperty(myDoor.isStrictFireproofDoor) = TRUE
} 




Python Code 변환 예정



Modify
85
25175 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조 1 항

①영 제34조에 따른 직통계단의 출입구는 피난에 지장이 없도록 일정한 간격을 두어 설치하고, 각 직통계단 상호간에는 각각 거실과 연결된 복도등 통로를 설치하여야 한다. <개정 2010.4.7>





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조 (직통계단의 설치기준) 1항

Check(REFB_8_1){

        Stair myStair{

             isObjectProperty(Stair.isDirect)=TRUE  

        }



        Passage myPassage{

             isConnectedTo(Room, Passage)=TRUE

        }



	isExist(myPassage)=TRUE

        isConnectedTo(myStair,myPassage)=TRUE

} 




Python Code 변환 예정



Modify
86
25179 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조의2조 2 항

② 피난안전구역에 연결되는 특별피난계단은 피난안전구역을 거쳐서 상·하층으로 갈 수 있는 구조로 설치하여야 한다.





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (피난안전구역의 설치기준) 2항

Check(REFB_8-2_2){



   Zone myZone{

      isObjectProperty(Zone.isEgressSafetyZone)=TRUE

   }

   Stair myStair{

      isObjectProperty(Stair.isSpecialEscape)=TRUE

      isAccessible(myZone, Stair)=TRUE

   }

  Floor myFloor{

         Floor.number>getFloorNumber(myZone)

         OR Floor.number



Python Code 변환 예정



Modify
87
25182 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조의2조 3 항 2호

2. 피난안전구역의 내부마감재료는 불연재료로 설치할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항2호
check(REFB_8-2_3_2){

    Zone myZone{
      isObjectProperty(Zone.isEgressSafetyZone)=TRUE
   }

    isObjectProperty(myZone.InteriorFinish.nonCombustibility)=TRUE
} 




Python Code 변환 예정



Modify
88
25183 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조의2조 3 항 3호

3. 건축물의 내부에서 피난안전구역으로 통하는 계단은 특별피난계단의 구조로 설치할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항3호
check(REFB_8-2_3_3){
   
  Stair myStair{
     isExternal(Stair)=FALSE
     isAccessible(myZone, Stair)=TRUE
  }
  isObjectProperty(Stair.isSpecialEscape)=TRUE
  
} 




Python Code 변환 예정



Modify
89
25184 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조의2조 3 항 4호

4. 비상용 승강기는 피난안전구역에서 승하차 할 수 있는 구조로 설치할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항4호
check(REFB_8-2_3_4){
   
   Elevator  myElevator{
     isObjectProperty(Elevator.isEmergency)=TRUE
   }

   isDirectlyAccessible(myZone, myElevator)=TRUE
} 




Python Code 변환 예정



Modify
90
25185 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조의2조 3 항 5호

5. 피난안전구역에는 식수공급을 위한 급수전을 1개소 이상 설치하고 예비전원에 의한 조명설비를 설치할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항5호
check(REFB_8-2_3_5){
  hasObject(myZone,Hydrant)=True
  hasObject(myZone,LightingSystem)=TRUE
} 




Python Code 변환 예정



Modify
91
25186 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조의2조 3 항 6호

6. 관리사무소 또는 방재센터 등과 긴급연락이 가능한 경보 및 통신시설을 설치할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (직통계단의 설치기준) 3항6호
check(REFB_8-2_3_6){
hasObject(myZone, WarningAndCommunicationFacility)=TRUE
} 




Python Code 변환 예정



Modify
92
25188 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 1 항

①영 제35조제1항의 규정에 의하여 건축물의 5층 이상 또는 지하 2층 이하의 층으로부터 피난층 또는 지상으로 통하는 직통계단(지하 1층인 건축물의 경우에는 5층 이상의 층으로부터 피난층 또는 지상으로 통하는 직통계단과 직접 연결된 지하 1층의 계단을 포함한다)은 피난계단 또는 특별피난계단으로 설치하여야 한다.





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 1항

Check(REFB_9_1){

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

CS1{

	Floor myFloor1 {

			Floor.number > 5

			OR Floor.number <= -2

			}

	Stair myStair1 {

		isObjectProperty(Stair.isDirect) = TRUE

	}

            Floor myFloor2 {

                           isObjectProperty(Floor.isEscape)= TRUE

            }



	isGoThrough(myFloor1, myStair1, myFloor2)= TRUE

	OR isGoThrough(myFloor1, myStair1, Ground) = TRUE

}



CS2{	

	Floor myFloor3 {

		Floor.number >= 5

	}

	

	Stair myStair3 {

		isObjectProperty(Stair.isDirect) = TRUE

 		(isGoThrough(myFloor3, myFloor2, Stair) = TRUE

		OR isGoThrough(myFloor3, Ground, Stair) = TRUE)

		}

	Stair myStair2 {

		Stair.Floor.number = -1

		}



	isDirectlyAccessible(myStair2, myStair3)=TRUE

		

KS1 {	

	(isObjectProperty(myStair1.isEscape) = TRUE

	OR isObjectProperty(myStair1.isSpecialEscape) = TRUE)

     }

KS2{

       (isObjectProperty(myStair2.isEscape) = TRUE

	OR isObjectProperty(myStair2.isSpecialEscape) = TRUE)

        (isObjectProperty(myStair3.isEscape) = TRUE

	OR isObjectProperty(myStair3.isSpecialEscape) = TRUE)

} 




Python Code 변환 예정



Modify
93
25190 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호

1. 건축물의 내부에 설치하는 피난계단의 구조





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호
check(REFB_9_2_1){
     KS
}
KS{
getResult(REFB_9_2_1_1) = TRUE
getResult(REFB_9_2_1_2) = TRUE
getResult(REFB_9_2_1_4) = TRUE
getResult(REFB_9_2_1_5) = TRUE
getResult(REFB_9_2_1_6) = TRUE    
getResult(REFB_9_2_1_7) = TRUE
}
 




Python Code 변환 예정



Modify
94
25191 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 가 목

가. 계단실은 창문·출입구 기타 개구부(이하 "창문등"이라 한다)를 제외한 당해 건축물의 다른 부분과 내화구조의 벽으로 구획할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 가목
check(REFB_9_2_1_1){
     KS
}
KS{
Wall myWall{
	hasElement(Stair.Space, Wall) = TRUE
	hasElement(Wall, Window) = FALSE
	hasElement(Wall, Door) = FALSE
	hasElement(Wall, Opening) = FALSE
}
Stair myStair{
            isObjectProperty(Stair.isEscape)= TRUE
}

isFireResistantStructure(myWall)= TRUE
isPartitioned (myStair, 0, myWall) = TRUE
 	
}
 




Python Code 변환 예정



Modify
95
25192 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 나 목

나. 계단실의 실내에 접하는 부분(바닥 및 반자 등 실내에 면한 모든 부분을 말한다)의 마감(마감을 위한 바탕을 포함한다)은 불연재료로 할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 나목

check(REFB_9_2_1_2){

     KS

}

KS{

    isObjectProperty(Stair.Space.InteriorFinish.Material.nonCombustibility) = TRUE



} 




Python Code 변환 예정



Modify
96
25194 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 라 목

라. 계단실의 바깥쪽과 접하는 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터 이하인 것을 제외한다)은 당해 건축물의 다른 부분에 설치하는 창문등으로부터 2미터 이상의 거리를 두고 설치할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 라목

check(REFB_9_2_1_4){

IF (CS1 AND CS2) THEN KS

}

CS1 {

Opening myOpening1{

	isConnectedTo(Stair.Space, Opening) = TRUE

	getObjectProperty(Opening.material)= “WireContainedGlass”

	getObjectProperty(Window.panelOperationType)= “FixedSashWindow”

	getObjectProperty(Opening.area)=< 1㎡	

}

CS2 {

Opening myOpening2{

	getObject(Opening) != myOpening1 	

}

KS{

getElementDistance(myOpening1, myOpening2, a)>=2m;	

}



} 




Python Code 변환 예정



Modify
97
25195 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 마 목

마. 건축물의 내부와 접하는 계단실의 창문등(출입구를 제외한다)은 망이 들어 있는 유리의 붙박이창으로서 그 면적을 각각 1제곱미터 이하로 할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 마목
check(REFB_9_2_1_5){
     KS
}
KS{

Opening myOpening3{
	getObject(Opening)!= Door
	isConnectedToExternal(Opening) = FALSE
	hasElement(Stair.Space, Opening) = TRUE
}

	getObjectProperty(myOpening3.material)= “WireContainedGlass”
	getObjectProperty(myOpening3.type)= “FixedSashWindow”
	getObjectProperty(myOpening3.area)=< 1㎡
	
}    
 




Python Code 변환 예정



Modify
98
25196 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 바 목

바. 건축물의 내부에서 계단실로 통하는 출입구의 유효너비는 0.9미터 이상으로 하고, 그 출입구에는 피난의 방향으로 열 수 있는 것으로서 언제나 닫힌 상태를 유지하거나 화재로 인한 연기, 온도, 불꽃 등을 가장 신속하게 감지하여 자동적으로 닫히는 구조로 된 제26조에 따른 갑종방화문을 설치할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 바목

Check(REFB_9_2_1_6){

     KS

}

KS {

	Door myDoor{

	isConnectedToExternal(Opening) = FALSE

}

	Space mySpace{

		isExternal(Space)=FALSE

}

	isGoThrough(mySpace,myDoor,Stair.Space.) = TRUE

	isObjectProperty(Door.effectiveWidth) >= 0.9m

	isEgressDirection(Door) = TRUE;



} 




Python Code 변환 예정



Modify
99
25197 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 사 목

사. 계단은 내화구조로 하고 피난층 또는 지상까지 직접 연결되도록 할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 사목
Check(REFB_9_2_1_7){
KS
}
KS {
Floor myFloor {
	isObjectProperty(Floor.isEscape) = TRUE
}

isFireResistantStructure(Stair) = TRUE
(isDirectlyAccessible(Stair,myFloor)= TRUE 
OR isDirectlyAccessible(Stair,Ground) = TRUE) 
 }



 




Python Code 변환 예정



Modify
100
25198 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 2호

2. 건축물의 바깥쪽에 설치하는 피난계단의 구조





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호

Check(REFB_9_2_2){

    IF (CS) THEN KS 

}



CS{

isExternal(Stair) = TRUE

isObjectProperty(Stair.isEscape) = TRUE

}

KS{

	getResult(REFB_9_2_2_1)=TRUE

	getResult(REFB_9_2_2_2)=TRUE

	getResult(REFB_9_2_2_3)=TRUE

	getResult(REFB_9_2_2_4)=TRUE

} 




Python Code 변환 예정



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