1  
72575 
 
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 4 항 2호 
 
 
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항 2호
Check(NFSC103A_8_4_2){
	IF CS THEN KS
}
CS{
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
2  
20064 
 
건축물의 구조기준 등에 관한 규칙 제 35조 3 항 
 
 
//건축물의 구조기준 등에 관한 규칙 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(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
3  
24997 
 
건축물의 설비기준 등에 관한 규칙 제 23조 3 항 1호 
 
 
//	건축물의 설비기준 등에 관한 규칙 23조 (건축물의 냉방설비) 3항 1호
Check(RFB_23_3_1){
	KS
}
KS{
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
4  
72661 
 
건축물의 에너지절약설계기준 제 5조 10호 라 목
 
 
//	비상경보설비의 화재안전기준(NFSC 201) 4조 (비상벨설비 또는 자동식사이렌설비) 5항 1호
Check(NFSC201_4_5_1){
	KS
}
KS{
	Switch mySwitch{
isObjectProperty(Switch.ControlSwitch) = TRUE
		isInstalled(Transmitter, Switch) = TRUE
	}
	getObjectVerticalLocation( getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
5  
72671 
 
건축물의 에너지절약설계기준 제 5조 11호 가 목
 
 
//	비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 5항 2호
Check(NFSC504_4_5_2){
	KS
}
KS{
	getObjectVerticalLocation( getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
6  
72704 
 
건축물의 에너지절약설계기준 제 5조 9호 마 목
 
 
//  옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 2항 2호
Check(NFSC503A_7_2_2){
  KS
}
KS{
Port myPort{
Port.typeForWater="IndoorFireHydrantDischarge"
}
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
7  
72711 
 
건축물의 에너지절약설계기준 제 5조 9호 타 목
 
 
//  스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 1호
Check(NFSC103_4_5_1){
	KS
}
Pump myPump{
	isInstalled(Pump, SprinklerSystem) = TRUE
}
Valve myValve{
	isObjectProperty(Valve.isFootValve) = TRUE
	isInstalled(Valve, myPump) = TRUE
}
Valve myValve2{
	isObjectProperty(Valve.isFootValve) = TRUE
	Valve != myValve
}
Pipe myPipe{
	isObjectProperty(Pipe.isObsorptionPipe) = TRUE
}
Obsorption myObsorptionOpening{
	isInstalled(ObsorptionOpening, myPipe) = TRUE
}
Obsorption myObsorptionOpening2{
	ObsorptionOpening != myObsorptionOpening
}
KS{
	getObjectVerticalLocation( getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
8  
72712 
 
건축물의 에너지절약설계기준 제 5조 9호 파 목
 
 
//  스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 2호
Check(NFSC103_4_5_2){
	KS
}
Pipe myPipe{
	isObjectProperty(Pipe.isRiser) = TRUE
	isInstalled(Pipe, SprinklerSystem) = TRUE
}
Tank myTank{
	getObjectProperty(Tank.operationType) = "ElevatedWaterTank"
}
WaterSupplyOpening myWaterSupplyOpening{
	isConnectedTo(WaterSupplyOpening, myPipe) = TRUE
}
WaterSupplyOpening myWaterSupplyOpening2{
	WaterSupplyOpening != myWaterSupplyOpening
}
KS{
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
9  
72781 
 
건축물의 에너지절약설계기준 제 8조 
 
 
//	스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 10호
Check(NFSC103_15_1_10){
	KS
}
KS{
	getSpaceUsage() = "EntranceHall"
	OR getSpaceUsage() = "Lobby"
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
10  
72793 
 
건축물의 에너지절약설계기준 제 9조 2호 가 목
 
 
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 2항 1호
Check(NFSC503A_4_2_1){
	KS
}
KS{
	Valve myValve1{
	isObjectProperty(Valve.isFootValve) = TRUE
	isObjectProperty(Valve.systemType) = "SimpleSprinklerSystem"
	}
	Port myPort1{
	getObjectProperty(Port.typeForWater) = "Obsorption"
	isObjectProperty(Valve.systemType) = "SimpleSprinklerSystem"
	}
	Valve myValve2{
	isObjectProperty(Valve.isFootValve) = TRUE
	isObjectProperty(Valve.systemType) != "SimpleSprinklerSystem"
	}
	Port myPort2{
	getObjectProperty(Port.typeForWater) = "Obsorption"
	isObjectProperty(Valve.systemType) != "SimpleSprinklerSystem"
	}
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
11  
72797 
 
건축물의 에너지절약설계기준 제 9조 2호 마 목
 
 
// 	간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 4항 3호
Check(NFSC503A_4_4_3){
	IF CS THEN KS
}
CS{
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
12  
72802 
 
건축물의 에너지절약설계기준 제 9조 4호 
 
 
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (수원) 2항 4호
Check(NFSC503A_5_2_4){
	IF !CS THEN KS
}
CS{
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
13  
72807 
 
건축물의 에너지절약설계기준 제 9조 5호 가 목
 
 
// 	간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 8호
Check(NFSC503A_5_2_8){
	IF (!CS1 AND CS2) THEN KS
}
CS1{
	isObjectProperty(SimpleSprinklerSystem.isCabinetType) = TRUE
}
CS2{
getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
14  
72847 
 
건축물의 에너지절약설계기준 제 11조 4호 나 목
 
 
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 9항 2호
Check(NFSC503A_8_9_2){
	IF !CS THEN KS
}
CS{
	getResult(NFSC503A_8_9_2_가) = TRUE
}
KS{
	Pipe myPipe{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Head myHead{
	isIntalled(SimpleSprinkler.Head, myPipe.One) = TRUE
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
15  
72849 
 
건축물의 에너지절약설계기준 제 11조 4호 라 목
 
 
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 10항
Check(NFSC503A_8_10){
	IF CS THEN KS
}
	Pipe myPipe1{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Head myHead{
	isObjectProperty(Head.installationDirectionType) = "TopDownType"
	}
CS{
	isInstalled(myHead, myPipe1) = TRUE
}
KS{
	Pipe mypipe2{
	isConnectedTo(myPipe1, Pipe) = TRUE
	isConnectedTo(myHead, Pipe) = TRUE
	}
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
16  
72869 
 
건축물의 에너지절약설계기준 제 18조 4 항 
 
 
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 2호
Check(NFSC503A_8_16_2){
	IF (!CS1 AND CS2) THEN KS
}
CS1{
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
17  
72871 
 
건축물의 에너지절약설계기준 제 19조 2 항 
 
 
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 4호
Check(NFSC503A_8_16_4){
	IF (!CS1 AND CS2) THEN KS
}
CS1{
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
18  
72876 
 
건축물의 에너지절약설계기준 제 23조 1 항 
 
 
/ 간이스프링클러설비의 화재안전기준(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( getObjectVerticalLocation( getObjectVerticalLocation( getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
19  
72879 
 
건축물의 에너지절약설계기준 제 23조 4 항 
 
 
//	간이스프링클러설비의 화재안전기준(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(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
20  
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(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
21  
19935 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 9 항 1호 
 
 
 //  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 1호
Check(NFSC503_5_9_1){
	KS
}
KS{
	Pipe myPipe1{
	isObjectProperty(Pipe.isCrossMains) = TRUE
	isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem"
	}
	Pipe myPipe2{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem"
	}
	(isParallel(myPipe1, myPipe2) = TRUE
	OR getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
22  
19937 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 9 항 3호 
 
 
//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 3호
Check(NFSC503_5_9_3){
	IF CS THEN KS
}
	Head myHead1{
	isObjectProperty(Head.openAndCloseType) = "EnclosedType"
	}
	Head myHead2{
	isObjectProperty(myHead.installationDirectionType) = "TopDownType"
	}
CS{
	isObjectProperty(myHead1.systemType) = "HookingUpSprinklerSystem"
	isInstalled(myHead2, HookingUpSprinklerSystem) = TRUE
}
KS{
	Pipe myPipe1{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Pipe myPipe2{
	isConnectedTo(Pipe, myPipe1) = TRUE
	isConnectedTo(Pipe, myHead2) = TRUE
	}
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
23  
72615 
 
연소방지설비의 화재안전기준(NFSC 506) 제 6조 4호 
 
 
//	연소방지설비의 화재안전기준(nfsc 506) 6조 (송수구) 4호
Check(NFSC506_6_0_4){
	KS
}
KS{
	Port myPort{
		getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
		isInstalled(Port, CombustionProtectionSystem) = TRUE
	}
		
	getObjectVerticalLocation( getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
24  
72586 
 
옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 5 항 2호 
 
 
//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 5항 2호
Check(NFSC102_6_5_2){
	IF CS THEN KS
}
CS{
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
25  
19991 
 
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 8조의2조 2 항 2호 
 
 
//	유도등 및 유도표지의 화재안전기준(nfsc 303)  8조의2 (피난유도선 설치기준) 2항 2호 
Check(NFSC303_8-2_2_2){
	KS
}
KS{
	getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
26  
19993 
 
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 8조의2조 2 항 7호 
 
 
//	유도등 및 유도표지의 화재안전기준(nfsc 303)  8조의2 (피난유도선 설치기준) 2항 7호 
Check(NFSC303_8-2_2_7){
	KS
}
KS{
	getObjectVerticalLocation( getObjectVerticalLocation(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify