(2025-04-09 기준) 설계품질검토용 건축법 및 관련법규 - KBIMCode (문장단위)
      KBIMCode - KBimAssess Python Code     KBIMCode - 체크리스트 단위     KBIMCode - 조항단위
  ◁prev 1   2   3   4   5   6   7   8   9   10   next▷ NEXT10▶
10 / 12 page Total 2500 / 4000 records
Select
ALL
None
#
Law
Jo
JO Name
HANG
HO
MOK
Text
Search!
1
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 6호 나 목

나. 천장의 최상부를 중심으로 가지관을 서로 마주보게 설치하는 경우에는 최상부의 가지관 상호간의 거리가 가지관상의 스프링클러헤드 상호간의 거리의 2분의 1이하(최소 1m 이상이 되어야 한다)가 되게 스프링클러헤드를 설치하고, 가지관의 최상부에 설치하는 스프링클러헤드는 천장의 최상부로부터의 수직거리가 90㎝ 이하가 되도록 할 것. 톱날지붕, 둥근지붕 기타 이와 유사한 지붕의 경우에도 이에 준한다.





//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 6호 나목

Check(NFSC503_6_3_6_2){

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

}



CS1{

	hasObject(Ceiling, SprinklerHead.Deflector) = TRUE

	getObjectWidth(SprinklerHead, c) = SH

	getObjectWidth(SprinklerHead.Deflector) = SHD

	SH*0.5 < 1m

}



KS1{

	getObjectWidth(SprinklerHead.Deflector) = 1m

	getVerticalObjectDistance(SprinklerHead, Ceiling) <= 90cm

}



CS2{

	hasObject(Ceiling, SprinklerSystemHead.Deflector) = TRUE

	getObjectWidth(SprinklerSystemHead, c) = SH

	getObjectWidth(SprinklerSystemHead.Deflector) = SHD

	SH*0.5 >= 1m

}



KS2{

	getObjectWidth(SprinklerSystemHead.Deflector) = SHD

	SHD <= SH*0.5

	getVerticalObjectDistance(SprinklerSystemHead, Ceiling) <= 90cm

} 




Python Code 변환 예정



2
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 7호

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





//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 7호

Check(NFSC503_6_3_7){

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

}



CS1{

	Opening myOpening{

		isObjectProperty(Opening.isFireSpreading) = TRUE

	}

	isExist(myOpening) = TRUE

	getObjectWidth(myOpening, a) > 2.5m

}



KS1{

	(getObjectDistance(myOpening.InsideSurface, SprinklerSystem.Head) <= 15cm

	getObjectWidth(SprinklerSystem.Head, a) = 2.5m)

	OR (getObjectWidth(myOpening) <= 9m

	getObjectDistance(myOpening.InsideSurface, SprinklerSystem.Head) <= 15cm

	getObjectWidth(SprinklerSystem.Head, a) <= 1.2m)

}



CS2{

	Opening myOpening{

		isObjectProperty(Opening.isFireSpreading) = TRUE

	}

	isExist(myOpening) = TRUE

	getObjectWidth(myOpening, a) <= 2.5m

}



KS2{

	hasObject(myOpening, SprinklerSystem.Head) = TRUE

} 




Python Code 변환 예정



3
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 8호

8. 습식 연결살수설비외의 설비에는 상향식스프링클러헤드를 설치할 것. 다만, 다음 각 목의 어느 하나에 해당하는 경우에는 그러하지 아니하다.





//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 8호

Check(NFSC503_6_3_8){

	IF CS THEN KS

}



CS{


	isObjectProperty(SprinklerSystem.type) != WetPipeSprinklerSystem

	(getResult(NFSC503_6_3_8_1) = FALSE

	OR getResult(NFSC503_6_3_8_2) = FALSE)

}



KS{

	mySprinklerHead{

		getObjectProperty(SprinklerSystem.Head.installationDirectionType) = "BottomUpType"

	}

	isExist(mySprinklerHead) = TRUE

} 




Python Code 변환 예정



4
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 8호 가 목

가. 드라이펜던트스프링클러헤드를 사용하는 경우





//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 8호 가목

Check(NFSC503_6_3_8_1){

	KS

}



KS{

	Head myHead{

		isObjectProperty(SprinklerSystem.Head.isDryPendent) = TRUE

	}

	isExist(mySprinklerHead) = TRUE

} 




Python Code 변환 예정



5
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 8호 다 목

다. 개방형스프링클러헤드를 사용하는 경우





//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 8호 다목

Check(NFSC503_6_3_8_3){

	KS

}



KS{

	Head myHead{

		getObjectProperty(SprinklerSystem.Head.openAndCloseType) = "OpenType"

	}

	isExist(myHead) = TRUE

} 




Python Code 변환 예정



6
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 9호

9. 측벽형스프링클러헤드를 설치하는 경우 긴변의 한쪽벽에 일렬로 설치(폭이 4.5m 이상 9m 이하인 실은 긴변의 양쪽에 각각 일렬로 설치하되 마주보는 스프링클러헤드가 나란히꼴이 되도록 설치)하고 3.6m 이내마다 설치할 것





//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 9호

Check(NFSC503_6_3_9){

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

}



CS1{

	SprinklerHead mySprinklerHead{

		getObjectProperty(SprinklerHead.shapeType) = "SideWallType"

	}

	isExist(mySprinklerHead) = TRUE

	getObjectWidth(Room) < 4.5m

	OR getObjectWidth(Room) > 9m

}



KS1{

	SprinklerHead mySprinklerHead{

		getObjectProperty(SprinklerHead.shapeType) = "SideWallType"

	}

	getObjectWidth(mySprinklerHead, c) < 3.6m

}



CS2{

	Head  myHead{

		getObjectProperty(SprinklerSystem.Head.shapeType) = "SideWallType"

	}

	isExist(mySprinklerHead) = TRUE

	getObjectWidth(Room) >= 4.5m

	OR getObjectWidth(Room) <= 9m

}



KS2{

	Head myHead{

		getObjectProperty(SprinklerSystem.Head.shapeType) = "SideWallType"

	}

	isParallel(mySprinklerHead, Wall) = TRUE

} 




Python Code 변환 예정



7
연결살수설비의 화재안전기준(NFSC 503) 제 6조 4 항

④가연성 가스의 저장·취급시설에 설치하는 연결살수설비의 헤드는 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 지하에 설치된 가연성가스의 저장·취급시설로서 지상에 노출된 부분이 없는 경우에는 그러하지 아니하다. <개정 2012.8.20>





//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 4항
Check(NFSC503_6_4){
	IF !(CS) THEN KS
}

CS{
	getFloorElevationHeight(?) = A
	getSpaceHeight(?) = B
	A + B <= 0
}

KS{
	hasSpace(?, HookingUpSprinklerSystem.Head) = TRUE
	getResult(NFSC503_6_4_1) = TRUE
	getResult(NFSC503_6_4_2) = TRUE
} 




Python Code 변환 예정



8
연결살수설비의 화재안전기준(NFSC 503) 제 6조 4 항 1호

1. 연결살수설비 전용의 개방형헤드를 설치할 것





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

KS{
	getObjectProperty(HookingUpSprinklerSystem.Head.openAndCloseType) = "OpenType"
} 




Python Code 변환 예정



9
연결살수설비의 화재안전기준(NFSC 503) 제 6조 4 항 2호

2. 가스저장탱크·가스홀더 및 가스발생기의 주위에 설치하되, 헤드상호간의 거리는 3.7m 이하로 할 것





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

KS{
	getObjectWidth(HookingUpSprinklerSystem.Head, c) <= 3.7m
} 




Python Code 변환 예정



10
연결살수설비의 화재안전기준(NFSC 503) 제 7조

제7조(헤드의 설치제외) 연결살수설비를 설치하여야 할 특정소방대상물 또는 그 부분으로서 다음 각 호의 어느 하나에 해당하는 장소에는 연결살수설비의 헤드를 설치하지 아니할 수 있다. <개정 2012.8.20>





//연결살수설비의 화재안전기준(nfsc 503) 7조 (헤드의 설치제외) 
Check(NFSC503_7){
	IF CS THEN KS
}

CS{
	getResult(NFSC503_7_0_3) = TRUE
	OR getResult(NFSC503_7_0_5) = TURE
}

KS{
	isInstalled(HookingUpSprinklerSystem.Head) = TRUE
	OR isInstalled(HookingUpSprinklerSystem.Head) != TRUE
} 




Python Code 변환 예정



11
연결살수설비의 화재안전기준(NFSC 503) 제 7조 3호

3. 통신기기실·전자기기실·기타 이와 유사한 장소





//연결살수설비의 화재안전기준(nfsc 503) 7조 (헤드의 설치제외) 3호
Check(NFSC503_7_0_3){
	KS
}

KS{
	getBuildingUsage() = "CommunicationsApparatusRoom"
	OR getBuildingUsage() = "ElectronicEquipmentRoom"
} 




Python Code 변환 예정



12
연결살수설비의 화재안전기준(NFSC 503) 제 7조 5호

5. 병원의 수술실·응급처치실·기타 이와 유사한 장소





//연결살수설비의 화재안전기준(nfsc 503) 7조 (헤드의 설치제외) 5호
Check(NFSC503_7_0_5){
	KS
}

KS{
	getBuildingUsage() = "SurgeryRoom.Hospital"
	OR getBuildingUsage() = "EmergencyCareRoom.Hospital"
} 




Python Code 변환 예정



13
연결살수설비의 화재안전기준(NFSC 503) 제 4조 1 항 4호

4. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것





Check(NFSC503_4_1_4){

 KS

}

KS{

	Port myPort{ 
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem"

	getObjectProperty(Port.typeForWater) = "FireDepartmentConnection" 

 	}

 	getObjectVerticalDistance(Ground, myPort) >= 0.5m

 	getObjectVerticalDistance(Ground, myPort) <= 1m

} 




Python Code 변환 예정



14
연결송수관설비의 화재안전기준(NFSC 502) 제 4조

 제4조(송수구) 연결송수관설비의 송수구는 다음 각 호의 기준에 따라 설치하여야 한다.





//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구)

Check(NFSC502_4){
       KS
}

KS{
     getResult(NFSC502_4_0_2)=True
     getResult(NFSC502_4_0_4)=True
     getResult(NFSC502_4_0_5)=True
     getResult(NFSC502_4_0_7)=True
     getResult(NFSC502_4_0_8)=True
} 




Python Code 변환 예정



15
연결송수관설비의 화재안전기준(NFSC 502) 제 4조 2호

2. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것





//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 2호

Check(NFSC502_4_0_2){
        KS
}

KS{
       getObjectVerticalDistance(Ground, FireDepartmentConnection)>=0.5 m
       getObjectVerticalDistance(Ground, FireDepartmentConnection)<=1 m
} 




Python Code 변환 예정



16
연결송수관설비의 화재안전기준(NFSC 502) 제 4조 4호

4. 송수구로부터 연결송수관설비의 주배관에 이르는 연결배관에 개폐밸브를 설치한 때에는 그 개폐상태를 쉽게 확인 및 조작할 수 있는 옥외 또는 기계실 등의 장소에 설치할 것. 이 경우 개폐밸브에는 그 밸브의 개폐상태를 감시제어반에서 확인할 수 있도록 급수개폐밸브 작동표시 스위치를 다음 각 목의 기준에 따라 설치하여야 한다. <개정 2014.8.18>





//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 4호



Check(NFSC502_4_0_4){

      IF CS THEN KS 

}



CS{

    Pipe  myPipe1{
Pipe.systemType = "FireDepartmentConnectionSystem"
Pipe.isRiser = TRUE
}

    Pipe  myPipe2{

         isConnectedTo(FireDepartmentConnection, Pipe)=True

         isConnectedTo(myPipe1, Pipe)=True

    }

  

   Valve myValve{

     isObjectProperty(Valve.isShutoffValve)=True  

   }





    hasObject(myConnectionPipe, myValve)=True

}



KS{

    isExternal(myValve)=True

    OR (hasObject(Space, myValve)=True   
getSpaceUsage(Space) = "MachinRoom"


} 




Python Code 변환 예정



17
연결송수관설비의 화재안전기준(NFSC 502) 제 4조 5호

5. 구경 65㎜의 쌍구형으로 할 것





//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 5호



Check(NFSC502_4_0_5){

       KS

}



KS{



Port myPort{
  getObjectProperty(	Port.typeForWater)="FireDepartmentConnection  "
       getObjectProperty(Port.shapeType)="DoubleType"

  }



   getObjectDiameter(myFireDepartmentConnection)= 65 mm

} 




Python Code 변환 예정



18
연결송수관설비의 화재안전기준(NFSC 502) 제 4조 7호

7. 송수구는 연결송수관의 수직배관마다 1개 이상을 설치할 것. 다만, 하나의 건축물에 설치된 각 수직배관이 중간에 개폐밸브가 설치되지 아니한 배관으로 상호 연결되어 있는 경우에는 건축물마다 1개씩 설치할 수 있다.





//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 7호



Check(NFSC502_4_0_7){

    IF CS THEN KS1 ELSE KS2

}



CS{
Port myPort{
Port.typeForWater = "FireDepartmentConnection"
}

    Pipe myPipe{
Pipe.systemType = "FireDepartmentConnectionSystem"
         isObjectProperty(Pipe.isRiser)=True

   }



   Pipe myPipe2{

       isInstalled( myValve, Pipe)=False

   }

   

   Valve myValve{

      isObjectProperty(Valve.isShutOffValve)=True

   }



   

   isConnectedTo(myPipe, myPipe2)=True

}



KS1{

    isInstalled(myPort)=True

}



KS2{

    getObjectCount(myPort,myPipe )>=1

} 




Python Code 변환 예정



19
연결송수관설비의 화재안전기준(NFSC 502) 제 4조 8호

8. 송수구의 부근에는 자동배수밸브 및 체크밸브를 다음 각목의 기준에 따라 설치할 것. 이 경우 자동배수밸브는 배관안의 물이 잘빠질 수 있는 위치에 설치하되, 배수로 인하여 다른 물건이나 장소에 피해를 주지 아니하여야 한다.





//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 8호

Check(NFSC502_4_0_8){
   KS
}

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




Python Code 변환 예정



20
연결송수관설비의 화재안전기준(NFSC 502) 제 4조 8호 가 목

가. 습식의 경우에는 송수구·자동배수밸브·체크밸브의 순으로 설치할 것





//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 8호 가목



Check(){

     IF CS THEN KS

}



CS{

     getObjectProperty(FireDepartmentConnectionSystem.dryWetType)="WetFireDepartmentConnectionSystem"

}



KS{

    // 송수구·자동배수밸브·체크밸브의 순으로 설치할 것

} 




Python Code 변환 예정



21
연결송수관설비의 화재안전기준(NFSC 502) 제 4조 8호 나 목

나. 건식의 경우에는 송수구·자동배수밸브·체크밸브·자동배수밸브의 순으로 설치할 것





//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 8호 나목



Check(NFSC502_4_0_8_나){

    IF CS THEN KS

}



CS{

     getObjectProperty(FireDepartmentConnectionSystem.dryWetType)="DryFireDepartmentConnectionSystem"

}



KS{

    //  송수구·자동배수밸브·체크밸브·자동배수밸브의 순으로 설치할 것

  

} 




Python Code 변환 예정



22
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 1 항

 제5조(배관 등) ① 연결송수관설비의 배관은 다음 각 호의 기준에 따라 설치하여야 한다.





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 1항

Check(NFSC502_5_1){
           KS
}

KS{
   getResult(NFSC502_5_1_1)=True
   getResult(NFSC502_5_1_2)=True
}

 




Python Code 변환 예정



23
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 1 항 1호

1. 주배관의 구경은 100㎜ 이상의 것으로 할 것





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 1항 1호



Check(NFSC502_5_1_1){

        KS

}



KS{
Pipe myPipe{
	Pipe.isRiser = TRUE
Pipe.systemType = "FireDepartmentConnectionSystem"
}
   getObjectDiameter(myPipe)>=100 mm

} 




Python Code 변환 예정



24
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 1 항 2호

2. 지면으로부터의 높이가 31m 이상인 특정소방대상물 또는 지상 11층 이상인 특정소방대상물에 있어서는 습식설비로 할 것





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 1항 2호



Check(NFSC502_5_1_2){

    IF CS THEN KS 

}



CS{

   (

      getBuildingHeight()>=31 m

      OR getBuildingStoriesCount()>=11 

    )

   getBuildingUsage()="SpecificFireFightingBuilding"

   

}



KS{

      getObjectProperty(FireDepartmentConnectionSystem.dryWetType)="WetFireDepartmentConnectionSystem" 

} 




Python Code 변환 예정



25
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 2 항

② 배관은 다음 각 호의 어느 하나에 해당하는 것을 사용하여야 한다. 다만, 배관 이음은 각 배관과 동등 이상의 성능에 적합한 배관이음쇠를 사용하고 배관용 스테인리스강관(KS D 3576)의 이음을 용접으로 할 경우에는 알곤용접방식에 따른다. <신설 2014.8.18>





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항

Check(NFSC502_5_2){
         KS
}

KS{
    getResult(NFSC502_5_2_1)=True
    OR getResult(NFSC502_5_2_2)=True
} 




Python Code 변환 예정



26
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 2 항 1호

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





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항 1호

Check(NFSC502_5_2_1){
        IF CS THEN KS
}

CS{
   getObjectProperty(Pipe.workingPressure)<1.2 MPa 

}

KS{
     getResult(NFSC502_5_2_1_가)=True
     OR getResult(NFSC502_5_2_1_나)=True
     OR getResult(NFSC502_5_2_1_다)=True
} 




Python Code 변환 예정



27
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 2 항 1호 가 목

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





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항 1호 가목

Check(NFSC502_5_2_1_가){
        KS
}

KS{
     getObjectMaterial(Pipe)="KSD3507"
} 




Python Code 변환 예정



28
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 2 항 1호 나 목

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





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항 1호 나목 

Check(NFSC502_5_2_1_나){
          IF CS THEN KS
}

CS{
   getObjectProperty(Pipe.type)="WetPipe"
}

KS{
   getObjectMaterial(Pipe)="KSD5301"
} 




Python Code 변환 예정



29
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 2 항 1호 다 목

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





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항 1호 다목

Check(NFSC502_5_2_1){
     KS
}


KS{
  getObjectMaterial(Pipe)="KSD3576"
  OR getObjectMateral(Pipe)="KSD3595"

} 




Python Code 변환 예정



30
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 2 항 2호

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





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 2항 2호

Check(NFSC502_5_2_2){
      IF CS THEN KS 
}

CS{
  getObjectProperty(Pipe.workingPressure)>=1.2 MPa 

}

KS{
  getObjectMaterial(Pipe)="KSD3562"
  
} 




Python Code 변환 예정



31
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 3 항

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





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 3항

Check(NFSC502_5_3){
     IF CS THEN KS
}
CS{
    getResult(NFSC502_5_3_2)=True
    OR getResult(NFSC502_5_3_3)=True
}

KS{

isObejctProperty(Pipe.isSyntheticResinForfirefighting)=True

} 




Python Code 변환 예정



32
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 3 항 3호

3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 소화배관 내부에 항상 소화수가 채워진 상태로 설치하는 경우





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 3항 3호

Check(NFSC502_5_3_3){
     KS
}

KS{
   
    (  isObjectProperty(Ceiling.Material.quasiNonCombustibility)=True
      OR isObjectProperty(Ceiling.Material.nonCombustibility)=True
    )

    (
       isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=True
       OR isObjectProperty(CeilingCovering.Material.nonCombustibility)=True
     )


}
 




Python Code 변환 예정



33
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 4 항

④ 연결송수관설비의 배관은 주배관의 구경이 100㎜ 이상인 옥내소화전설비·스프링클러설비 또는 물분무등소화설비의 배관과 겸용할 수 있다.[종전의 제2항에서 이동 2014.8.18]





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 4항

Check(NFSC502_5_4){
	IF CS THEN KS
}
CS2{
	isObjectProperty(Pipe.systemType) = "FireDepartmentConnectionSystem"
}
KS{
	Pipe myPipe1{
	isObjectProperty(Pipe.isRiser) = TRUE
	getObjectProperty(Pipe.diameter) >= 100mm
	isObjectProperty(Pipe.systemType) = "IndoorFireHydrantSystem"
	}
	Pipe myPipe2{
	isObjectProperty(Pipe.isRiser) = TRUE
	getObjectProperty(Pipe.diameter) >= 100mm
	isObjectProperty(Pipe.systemType) = "WaterSprayExtingushingSystem"
	}
	isShared(Pipe,myPipe1) = TRUE
	OR isShared(Pipe,myPipe2) = TRUE
	OR isShared(Pipe,myPipe1) != TRUE
	OR isShared(Pipe,myPipe2) != TRUE
} 




Python Code 변환 예정



34
연결송수관설비의 화재안전기준(NFSC 502) 제 6조

 제6조(방수구) 연결송수관설비의 방수구는 다음 각 호의 기준에 따라 설치하여야 한다.





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구)



Check(NFSC502_6){

    KS

}



KS{

    getResult(NFSC502_6_1)=True

    getResult(NFSC502_6_2)=True

    getResult(NFSC502_6_3)=True

    getResult(NFSC502_6_4)=True

    getResult(NFSC502_6_5)=True

    getResult(NFSC502_6_6)=True

    getResult(NFSC502_6_7)=True



} 




Python Code 변환 예정



35
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 1호

1. 연결송수관설비의 방수구는 그 특정소방대상물의 층마다 설치할 것. 다만, 다음 각목의 어느 하나에 해당하는 층에는 설치하지 아니할 수 있다.





연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 1호



Check(NFSC502_6_0_1){



  IF !CS THEN KS



}



CS{

  getResult(NFSC502_6_0_1_가)=True

  getResult(NFSC502_6_0_1_나)=True

}



KS{
Port myPort{
	Port.typeForWater = "Delivery"
}
   isInstalled(myPort,SpecificFireFightingBuilding)=True

} 




Python Code 변환 예정



36
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 1호 가 목

가. 아파트의 1층 및 2층





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 1호 가목

Check(NFSC502_6_0_1_가){
    KS
}

KS{
    getBuildigUsage()="ApartmentHouse"
    getFloorNumber()=1
    OR getFloorNumber()=2
} 




Python Code 변환 예정



37
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 1호 다 목

다. 송수구가 부설된 옥내소화전을 설치한 특정소방대상물(집회장·관람장·백화점·도매시장·소매시장·판매시설·공장·창고시설 또는 지하가를 제외한다)로서 다음의 어느 하나에 해당하는 층 (1) 지하층을 제외한 층수가 4층 이하이고 연면적이 6,000㎡ 미만인 특정소방대상물의 지상층 (2) 지하층의 층수가 2 이하인 특정소방대상물의 지하층





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 1호 다목



Check(NFSC502_6_0_1_다목){

         KS

}



KS{

       getBuildingUsage()!="AssemblyHall"

       getBuildingUsage()!="Auditorium"

       getBuildingUsage()!="DepartmentStore"

       getBuildingUsage()!="WholesaleMarket"

       getBuildingUsage()!="CommercialFacility"

       getBuildingUsage()!="Factory"

       getBuildingUsage()!="Warehouse"

       getBuildingUsage()!="UndergroundMarket"



      

FireHydrant myFireHydrant{
isExternal(FireHydrant)  = FALSE
         isInstalled(FireDepartmentConnection, FireHydrant)=True

    }       



    isInstalled(myIndoorFireHydrant,SpecificFireFightingBuilding)=True



    Floor myFloor{

            Floor.number>0

    }

    Floor myFloor2{

            Floor.number<0

    }

    (

    gerObjectCount(myFloor)<=4 

    getGrossFloorArea()<6000 m2

    Floor.number>0

    )



    OR 

    (

     getObjectCount(myFloor)<=2

     Floor.number<0        

    )

    



    

} 




Python Code 변환 예정



38
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 2호

2. 방수구는 아파트 또는 바닥면적이 1,000㎡ 미만인 층에 있어서는 계단(계단의 부속실을 포함하며 계단이 2 이상 있는 경우에는 그 중 1개의 계단을 말한다)으로부터 5m 이내에, 바닥면적 1,000㎡ 이상인 층(아파트를 제외한다)에 있어서는 각 계단(계단의 부속실을 포함하며 계단이 3 이상 있는 층의 경우에는 그 중 2개의 계단을 말한다)으로부터 5m 이내에 설치하되, 그 방수구로부터 그 층의 각 부분까지의 거리가 다음 각목의 기준을 초과하는 경우





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 2호

Check(NFSC502_6_0_2){
     KS 
}

KS{
     Space mySpce{
         getSpaceUsage(Space)="Stair.AncillaryRoom"
         OR
         (
         IF getObjectCoutn(Stair)>=2
             THEN getSpace(Stair.One)
         ELSE 
             getSpaceUsage(Space)="Stair"
         END IF
         )
     }

      Space mySpce2{
         getSpaceUsage(Space)="Stair.AncillaryRoom"
         OR
         (
         IF getObjectCoutn(Stair)>=3
             THEN getSpace(Stair.Two)
         ELSE 
             getSpaceUsage(Space)="Stair"
         END IF
         )
     }

     IF getBuildingUsage()="ApartmentHouse"
        OR getFloorArea()<1000 m2 
      
     THEN getObjectDistance(FireDepartmentConnection, mySpace)<5 m 

     ELSE IF getFloorArea()>1000 m2
    
     THEN getObjectDistance(FireDepartmentConnection, mySpace)<5 m 
          getResult(NFSC502_6_0_2_가)=True
          getResult(NFSC502_6_0_2_나)=True
        
     END IF
} 




Python Code 변환 예정



39
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 2호 가 목

가. 지하가(터널은 제외한다) 또는 지하층의 바닥면적의 합계가 3,000㎡ 이상인 것은 수평거리 25m





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 2호 가목



Check(NFSC502_6_0_2_가){



    IF CS THEN KS1 ELSE KS2

}



CS{

       Space mySpace{

            getSpaceUsage()="UndergroundMarket"

            OR getFloorNumber()<0

        }



       getFloorArea(mySpace)>3000 m2

}



KS1{



    getElementDistance(FireDepartmentConnectionSystem.OutLet, Wall )<=25 m

    getElementDistance(FireDepartmentConnectionSystem.OutLet, Column )<=25 m



}





KS2{

       getResult(NFSC502_6_0_2_나)=True

 } 




Python Code 변환 예정



40
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 3호

3. 11층 이상의 부분에 설치하는 방수구는 쌍구형으로 할 것. 다만, 다음 각목의 어느 하나에 해당하는 층에는 단구형으로 설치할 수 있다.





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 3호



Check(NFSC502_6_0_3){

     IF CS1 THEN KS1 ELSE IF CS2 THEN KS2

}





CS1{

   Space mySpace{

      getFloorNumber(Space)>=11

   }

   

    isInstalled(FireDepartmentConnectionSystem.Port, mySpace)=True

}



KS1{

       getObjectProperty(FireDepartmentConnectionSystem.Port.shapeType)="DoubleType"

}





CS2{

   getResult(NFSC502_6_0_3_가)=True

   OR getResult(NFSC502_6_0_3_나)=True

}



KS2{

getObjectProperty(FireDepartmentConnectionSystem.Port.shapeType)="SingleType"

} 




Python Code 변환 예정



41
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 3호 가 목

가. 아파트의 용도로 사용되는 층





//연결송수관설비의 화재안전기준(nfsc502) 6조 (방수구) 3호 가목



Check(NFSC502_6_0_3_가){

        KS      

}



KS{

   getFloorUsage()="ApartmentHouse"

} 




Python Code 변환 예정



42
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 3호 나 목

나. 스프링클러설비가 유효하게 설치되어 있고 방수구가 2개소 이상 설치된 층





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 3호 나목



Check(NFSC502_6_0_3_나){

            KS

}



KS{

       isExist(SprinklerSystem)=True

       getObjectCount(	FireDepartmentConnectionSystem.Port, Floor.One)>=2

} 




Python Code 변환 예정



43
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 4호

4. 방수구의 호스접결구는 바닥으로부터 높이 0.5m 이상 1m 이하의 위치에 설치할 것





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 4호



Check(NFSC502_6_0_4){



    KS

}



KS{

    getObjectVerticalDistance(FloorSlab, FireDepartmentConnectionSystem.Port.HosePort) > 0.5m
OR   getObjectVerticalDistance(FloorSlab, FireDepartmentConnectionSystem.Port.HosePort)  <= 1m 




Python Code 변환 예정



44
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 5호

5. 방수구는 연결송수관설비의 전용방수구 또는 옥내소화전방수구로서 구경 65㎜의 것으로 설치할 것





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 5호



Check(NFSC502_6_0_5){

      KS

}



KS{

    getObjectProperty(FireDepartmentConnectionSystem.Port.isShared)= FALSE

    OR getObjectProperty(FireDepartmentConnectionSystem.Port.typeForWater)="IndoorFireHydrantDischarge"


Port myPort{
Port.typeForWater = "Delivery"
}
    getObjectProperty(myPortt.diameter)=65 mm 

} 




Python Code 변환 예정



45
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 7호

7. 방수구는 개폐기능을 가진 것으로 설치하여야 하며, 평상 시 닫힌 상태를 유지할 것<개정 2008.12.15>





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 7호 

Check(NFSC502_6_0_7){
      KS
}

KS{
   isObjectProperty(FireDepartmentConnectionSystem.OutLet.is"개폐기능")=True
} 




Python Code 변환 예정



46
연결송수관설비의 화재안전기준(NFSC 502) 제 7조

 제7조(방수기구함) 연결송수관설비의 방수용기구함을 다음 각 호의 기준에 따라 설치하여야 한다.





//연결송수관설비의 화재안전기준(NFSC 502) 7조 (방수기구함)

Check(NFSC502_7){
    KS
}

KS{
   getResult(NFSC502_7_1)=True
   getResult(NFSC502_7_2)=True
} 




Python Code 변환 예정



47
연결송수관설비의 화재안전기준(NFSC 502) 제 7조 1호

1. 방수기구함은 피난층과 가장 가까운 층을 기준으로 3개층마다 설치하되, 그 층의 방수구마다 보행거리 5m 이내에 설치할 것 <개정 2014.8.18>





//연결송수관설비의 화재안전기준(NFSC 502) 7조 (방수기구함) 1호



Check(NFSC502_7_0_1){

       KS

}



KS{

    Floor myFloor{

           isObjectProperty(Floor.isEscape)=True

    }



    Floor myFloor2{

         Floor.number>EFN

    }

   

    Floor myFloor3{

         Floor.nmber



Python Code 변환 예정



48
연결송수관설비의 화재안전기준(NFSC 502) 제 7조 2호

2. 방수기구함에는 길이 15m의 호스와 방사형 관창을 다음 각목의 기준에 따라 비치할 것





//연결송수관설비의 화재안전기준(NFSC 502) 7조 (방수기구함) 2호

Check(NFSC502_7_0_2){
     KS
}

KS{
    getResult(NFSC502_7_0_2_나)=True

}

 




Python Code 변환 예정



49
연결송수관설비의 화재안전기준(NFSC 502) 제 7조 2호 나 목

나. 방사형 관창은 단구형 방수구의 경우에는 1개, 쌍구형 방수구의 경우에는 2개 이상 비치할 것





//연결송수관설비의 화재안전기준(NFSC 502) 7조 (방수기구함) 2호 나목



Check(NFSC502_7_0_2_나){



             KS

}



KS{

      IF getObjectPropety(RadialSprayNozzle.Port.shapeType)="SingleType"



      THEN getObjectCount(RadialSprayNozzle)=1

      

      ELSE IF getObjectPropety(RadialSprayNozzle.Port.shapeType)="DoubleType"

            

           getObjectCount(RadialSprayNozzle)=2

        

      END IF



} 




Python Code 변환 예정



50
연결송수관설비의 화재안전기준(NFSC 502) 제 5조 3 항 2호

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





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 3항 2호

Check(NFSC502_5_3_2){
     KS
}

KS{
  Duct myDuct{
       isFireResistantStructure(Duct)=True 
  }
  Pit myPit{
      isFireResistantStructure(Pit)=True 
  }

  isInstalled(Pipe, myDuct)=True
  OR isInstalled(Pipe, myPit)=True
  
} 




Python Code 변환 예정



51
연결송수관설비의 화재안전기준(NFSC 502) 제 6조 2호 나 목

나. 가목에 해당하지 아니하는 것은 수평거리 50m





//연결송수관설비의 화재안전기준(NFSC 502) 6조 (방수구) 2호 나목

Check(NFSC502_6_0_2_가){

    KS
}


KS{

    getElementDistance(FireDepartmentConnectionSystem.OutLet, Wall )<=50 m
    getElementDistance(FireDepartmentConnectionSystem.OutLet, Column )<=50 m

} 




Python Code 변환 예정



52
연소방지설비의 화재안전기준(NFSC 506) 제 4조 1 항

제4조(배관) ①배관은 배관용탄소강관(KS D 3507) 또는 압력배관용탄소강관(KS D 3562)이나 이와 동등 이상의 강도·내식성 및 내열성을 가진 것으로 하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 장소에는 법 제39조에 따라 제품검사에 합격한 소방용 합성수지배관으로 설치할 수 있다.<개정 2012.8.20>





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


KS{
    getObjectProperty(Pipe.Material)="KSD3507"
    OR getObjectProperty(Pipe.Material)="KSD3562"
} 




Python Code 변환 예정



53
연소방지설비의 화재안전기준(NFSC 506) 제 4조 2 항

②급수배관(송수구로부터 연소방지설비방수구에 급수하는 배관을 말한다. 이하 같다)은 전용으로 하여야 한다.





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

KS{
	Pipe myPipe{
		getObjectProperty(Pipe.usage) = "WaterSUpplyPipe"
	}

	isObjectProperty (myPipe.isShared) = FALSE
}
 




Python Code 변환 예정



54
연소방지설비의 화재안전기준(NFSC 506) 제 4조 3 항

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





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

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

	hasObject(myPipe, myFeedWaterShutoffValve) = TRUE
} 




Python Code 변환 예정



55
연소방지설비의 화재안전기준(NFSC 506) 제 4조 4 항

④연소방지설비의 배관의 구경은 다음 각 호의 기준에 적합한 것이어야 한다.<개정 2012.8.20>





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

KS{
	getResult(NFSC506_4_4_1) = TRUE
	getResult(NFSC506_4_4_2) = TRUE
} 




Python Code 변환 예정



56
연소방지설비의 화재안전기준(NFSC 506) 제 4조 4 항 1호

1. 연소방지설비전용헤드를 사용하는 경우에는 다음 표에 따른 구경 이상으로 할 것





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

CS{
	isInstalled(CombustionProtectionSystem, ?) = TRUE
}

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

	SprinklerHead mySprinklerHead{
		isInstalled(myPipe, SprinklerHead) = TRUE
	}

	(getObjectCount(mySprinklerHead) = 1 
	getObjectProperty(myPipe.Diameter) >= 32mm)
	OR(getObjectCount(mySprinklerHead) = 2 
	getObjectProperty(myPipe.Diameter) >= 40mm)
	OR(getObjectCount(mySprinklerHead) = 3
	getObjectProperty(myPipe.Diameter) >= 50mm)
	OR(getObjectCount(mySprinklerHead) = 4
	getObjectProperty(myPipe.Diameter) >= 65mm)
	OR(getObjectCount(mySprinklerHead) = 5
	getObjectProperty(myPipe.Diameter) >= 65mm)
	OR(getObjectCount(mySprinklerHead) >= 6
	getObjectProperty(myPipe.Diameter) >= 80mm)
} 




Python Code 변환 예정



57
연소방지설비의 화재안전기준(NFSC 506) 제 4조 4 항 2호

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





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

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




Python Code 변환 예정



58
연소방지설비의 화재안전기준(NFSC 506) 제 4조 5 항

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





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

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

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




Python Code 변환 예정



59
연소방지설비의 화재안전기준(NFSC 506) 제 4조 6 항

⑥연소방지설비 교차배관의 위치·청소구 및 가지배관의 헤드설치는 다음 각 호의 기준에 따른다.<개정 2012.8.20>





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

KS{
	getResult(NFSC506_4_6_3) = TRUE
} 




Python Code 변환 예정



60
연소방지설비의 화재안전기준(NFSC 506) 제 4조 6 항 3호

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





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

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

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

	isInstalled(myPipe, myHead) = TRUE
}

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

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

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

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




Python Code 변환 예정



61
연소방지설비의 화재안전기준(NFSC 506) 제 4조 7 항

⑦배관에 설치되는 행가는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>





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

KS{
	getResult(NFSC506_4_7_1) = TRUE
	getResult(NFSC506_4_7_2) = TRUE
	getResult(NFSC506_4_7_3) = TRUE
} 




Python Code 변환 예정



62
연소방지설비의 화재안전기준(NFSC 506) 제 4조 7 항 1호

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





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

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

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

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

	getObjectInterval(myHead) <= 3.5m
}

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

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

	getobjectCountInInterval(Hanger, myHead) >= 1
}

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

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

	getObjectInterval(myHead) > 3.5m
}

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

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

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

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

	getObjectInterval(myHead2, Hanger) >= 8cm
} 




Python Code 변환 예정



63
연소방지설비의 화재안전기준(NFSC 506) 제 4조 7 항 2호

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





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

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

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

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

	isConnectedTo(myPipe, myPipe2) = TRUE
}

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

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

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

	getObjectCountInInterval(myHanger,myPipe) >=1
}

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

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

	isConnectedTo(myPipe, myPipe2) = TRUE
}

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

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

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

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




Python Code 변환 예정



64
연소방지설비의 화재안전기준(NFSC 506) 제 4조 7 항 3호

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





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

Check(NFSC506_4_7_3){
        IF CS THEN KS 
}

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

               isObjectProperty(myPipe.isFeedMains)=True

}

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


 




Python Code 변환 예정



65
연소방지설비의 화재안전기준(NFSC 506) 제 4조 8 항

⑧연소방지설비는 습식외의 방식으로 하여야 한다.





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

KS{
	getObjectProperty(CombustionProtectionSystem.type) != "WetPipeCombustionProtectionSystem"
} 




Python Code 변환 예정



66
연소방지설비의 화재안전기준(NFSC 506) 제 5조

제5조(방수헤드) 방수헤드는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>





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

KS{
	getResult(NFSC506_5_0_1) = TRUE
	getResult(NFSC506_5_0_2) = TRUE
	getResult(NFSC506_5_0_3) = TRUE
} 




Python Code 변환 예정



67
연소방지설비의 화재안전기준(NFSC 506) 제 5조 1호

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





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

Check(NFSC506_5_0_1){

	KS

}



KS{

	Head myHead{

		isObjectProperty(Head.isDischargeHead) = TRUE

	}



	isInstalled(myHead, Ceiling.Structure) = TRUE

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

} 




Python Code 변환 예정



68
연소방지설비의 화재안전기준(NFSC 506) 제 5조 2호

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





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

Check(NFSC506_5_0_2){

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

}



CS1{

Head myHead{
	Head.isDischargeHead = TRUE
}

	isObjectProperty(myHead) = TRUE

	isObjectProperty(Head.isShared) = FALSE

	isInstalled(Head, CombustionProtectionSystem) = TRUE

}



KS1{

	getObjectInterval(myHead) <= 2m

}



CS2{

	isObjectProperty(myHead) = TRUE

	isObjectProperty(Sprinkler.Head) = TRUE

}



KS2{

	getObjectInterval(myHead) <= 1.5m

} 




Python Code 변환 예정



69
연소방지설비의 화재안전기준(NFSC 506) 제 5조 3호

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





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


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

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




Python Code 변환 예정



70
연소방지설비의 화재안전기준(NFSC 506) 제 6조

제6조(송수구) 연소방지설비의 송수구는 다음 각 호의 기준에 따라 설치하여야 한다.<개정 2012.8.20>





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

KS{
	getResult(NFSC506_6_0_2) = TRUE
	OR getResult(NFSC506_6_0_4) = TRUE
	OR getResult(NFSC506_6_0_6) = TRUE
} 




Python Code 변환 예정



71
연소방지설비의 화재안전기준(NFSC 506) 제 6조 2호

2. 송수구는 구경 65㎜의 쌍구형으로 할 것





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

KS{

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

	isInstalled(myPort, CombustionProtectionSystem) = TRUE
	getObjectProperty(myPort.diameter) = 65mm
	getObjectProperty(myPort.shapeType) = "DoubleType"
} 




Python Code 변환 예정



72
연소방지설비의 화재안전기준(NFSC 506) 제 6조 6호

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





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

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

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


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

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

	isInstalled(myValve, myPipe) = FALSE
} 




Python Code 변환 예정



73
연소방지설비의 화재안전기준(NFSC 506) 제 8조

제8조(방화벽의 설치기준) 방화벽의 설치기준은 다음 각 호에 따른다.<개정 2012.8.20>





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

KS{
	getResult(NFSC506_8_0_1)
	getResult(NFSC506_8_0_2)
	getResult(NFSC506_8_0_3)
}
 




Python Code 변환 예정



74
연소방지설비의 화재안전기준(NFSC 506) 제 8조 2호

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





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

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

CS{
	isInstalled(myDoor, myWall) = TRUE
}


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




Python Code 변환 예정



75
연소방지설비의 화재안전기준(NFSC 506) 제 8조 3호

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





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

Check(NFSC506_8_0_3){

	 KS

}



KS{



    Wall myWall{

        isObjectProperty(Wall.isFireProofWall)=True

    }

    

  IF   isInstalled(Wire, myWall)=True

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

  END IF



  IF  isInstalled(Cable, myWall)=True

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

  END IF



    

} 




Python Code 변환 예정



76
연소방지설비의 화재안전기준(NFSC 506) 제 6조 4호

4. 지면으로부터 높이가 0.5m 이상 1m 이하의 위치에 설치할 것





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

KS{
	Port myPort{
		getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
		isInstalled(Port, CombustionProtectionSystem) = TRUE
	}
		
	getObjectVerticalLocation(myPort, Ground) >= 0.5m
	getObjectVerticalLocation(myPort, Ground) <= 1m
}
 




Python Code 변환 예정



77
연소방지설비의 화재안전기준(NFSC 506) 제 8조 1호

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





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

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

	isObjectProperty(myWall.isfireResistantStructure) = TRUE
}
 




Python Code 변환 예정



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

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





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

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




Python Code 변환 예정



79
옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 1 항 1호 가 목

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





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

Check(NFSC102_6_1_1_가){
	KS
}
KS{
	getObjectProperty(Pipe.Material) = "KS_D_3507"
} 




Python Code 변환 예정



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

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





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

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




Python Code 변환 예정



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

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






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

Check(NFSC102_6_1_1_다){
	KS
}
KS{
	getObjectProperty(Pipe.Material) = "KS_D_3576"
	OR getObjectProperty(Pipe.Material) = "KS_D_3595"
} 




Python Code 변환 예정



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

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





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

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




Python Code 변환 예정



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

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





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

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

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




Python Code 변환 예정



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

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





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




Python Code 변환 예정



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

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





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 5항 1호
Check(NFSC102_6_5_1){
	KS
}
KS{
	Pipe myPipe{
		isInstalled(Pump.Inlet, Pipe) = TRUE
	}
	isInstalled(myPipe,Filter) = TRUE
}
 




Python Code 변환 예정



86
옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 5 항 2호

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





//  옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 5항 2호
Check(NFSC102_6_5_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 변환 예정



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

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





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

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

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

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

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

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

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




Python Code 변환 예정



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

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





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

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

	isInstalled(DischargeMeasuringEquipment, myPipe) = TRUE
} 




Python Code 변환 예정



89
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 4조

제4조(유도등 및 유도표지의 종류) 특정소방대상물의 용도별로 설치하여야 할 유도등 및 유도표지는 다음 표에 따라 그에 적응하는 종류의 것으로 설치하여야 한다.<개정 2008.12.15, 2012.8.20>





// 유도등 및 유도표지의 화재안전기준(nfsc 303) 4조 (유도등 및 유도표지의 종류) 

Check(NFSC303_4){
   KS
}

KS{
  LeadingLight myLeadingLight1{
      // isObejctProperty(LeadingLight.isForExit)=True, 대형
  }

  LeadingLight myLeadingLight2{
     //  isObejctProperty(LeadingLight.isForExit)=True , 중형
  }

  LeadingLight myLeadingLight3{
     //  isObejctProperty(LeadingLight.isForExit)=True, 소형
  }


  LeadingLight myLeadingLight4{
       isObejctProperty(LeadingLight.isForPassage)=True
  }

  LeadingLight myLeadingLight5{
       isObjectProperty(LeadingLight.isForSeat)=True
  }

  LeadingSign myLeadingSign1{

       isObjectProperty(LeadingSign.isForExit)=True
  }

  LeadingSign myLeadingSign2{

       isObjectProperty(LeadingSign.isForPassage)=True
  }

  IF  getBuildingUsage()="PerformanceHall"
      OR getBuildingUsage()="AssemblyHall"
      OR getBuildingUsage()="Auditorium"   
      OR getBuildingUsage()="SportsFacility" 
      OR getBuildingUsage()="Tavern"  
     THEN 
          isExist(myLeadingLight1)=True
          isExist(myLeadingLight4)=True
          isExist(myLeadingLight5)=True
  
  ELSE IF getBuildingUsage()="AmusementFacility"
      OR getBuildingUsage()="CommercialFacility"
      OR getBuildingUsage()="TransportationFacility"   
      OR getBuildingUsage()="TouristAccommodationBusiness" 
      OR getBuildingUsage()="MedicalFacility"  
      OR getBuildingUsage()="FuneralParlor"  
      OR getBuildingUsage()="FacilityForBroadcastingAndTelecommunication"  
      OR getBuildingUsage()="ExhibitionHall"  
      OR getBuildingUsage()="UndergroundShoppingCenter" 
      OR getBuildingUsage()="SubwayStation"   
     THEN isExist(myLeadingLight1)=True
          isExist(myLeadingLight4)True

  ELSE IF getBuildingUsage()="LodgingFacility"
      OR getBuildingUsage()="Officetel"
   //   OR   지하층, 무창층 또는 층수가 11층 이상인 특정소방대상물 
     THEN isExist(myLeadingLight2)=True
          isExist(myLeadingLight4)True

 
  ELSE IF getBuildingUsage()="ClassINeighborhoodLivingFacility"
      OR getBuildingUsage()="ClassIINeighborhoodLivingFacility"
      OR getBuildingUsage()="FacilitiesForTheAgedAndChildren"
      OR getBuildingUsage()="BusinessFacility"   
      OR getBuildingUsage()="FacilityForPowerGeneration"   
      OR getBuildingUsage()="ReligiousFacility"
      OR getBuildingUsage()="EducationAndResearchFacility"   
      OR getBuildingUsage()="Trainingfacility" 
      OR getBuildingUsage()="Factory"
      OR getBuildingUsage()="Warehouse"   
      OR getBuildingUsage()="CorrectionalFacilityAndMilitaryInstallation"  
      OR getBuildingUsage()="Dormitory"
      OR getBuildingUsage()="AutomobileRepairShop"   
      OR getBuildingUsage()="DrivingSchool" 
      OR getBuildingUsage()="RepairingSchool"
      OR getBuildingUsage()="PubliclyUsedEstablishment"   
      OR getBuildingUsage()="ComplexBuilding"  
      OR getBuildingUsage()="ApartmentHouse"
         
     THEN isExist(myLeadingLight3)=True
          isExist(myLeadingLight4)True


  ELSE THEN  isExist(myLeadingSign1)=True
             isExist(myLeadingSign2)True
  END IF
    






} 




Python Code 변환 예정



90
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 5조 1 항

제5조(피난구유도등) ①피난구유도등은 다음 각 호의 장소에 설치하여야 한다. <개정 2012.8.20>





//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조 (피난구요도등) 1항

Check(NFSC303_5_1){
     KS
}

KS{
   getResult(NFSC303_5_1_1)=True
    getResult(NFSC303_5_1_2)=True
     getResult(NFSC303_5_1_3)=True
} 




Python Code 변환 예정



91
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 5조 1 항 1호

1. 옥내로부터 직접 지상으로 통하는 출입구 및 그 부속실의 출입구





//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조 (피난구유도등) 1항 1호

Check(NFSC303_5_1_1){
     KS
}

KS{
    Door myDoor {

        isObjectProperty(Door.isEntrance)=True
        isDirectlyAccessible(Door, Ground)=True          
    }

    LeadingLight myLeadingLight{
        isObjectProperty(LeadingLight.isForExit)=True
    }

   isEnstalled(myLeadingLight,myDoor)=True

   IF hasObject(AncillaryRoom, myDoor)=True
   THEN isEnstalled(myLeadingLight, AncillaryRoom )=True
} 




Python Code 변환 예정



92
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 5조 1 항 2호

2. 직통계단·직통계단의 계단실 및 그 부속실의 출입구





//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조 (피난구유도등) 1항 2호

Check(NFSC303_5_1_2){
     KS
}

KS{
   Stair myStair {

        isObjectProperty(Stair.isDirect)=True       
    }

  Door myDoor{
      isObjectProperty(Door.isEntrance)=True     
     OR hasObject( myStair, Door)=True
     OR hasObject(myStair.Space,Door)=True
     OR hasObject(myStair.AncillaryRoom,Door)=True

  }

    LeadingLight myLight{
        isObjectProperty(LeadingLight.isForExit)=True
    }

   isEnstalled(myLight,myDoor)=True
   
   
} 




Python Code 변환 예정



93
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 5조 1 항 3호

3. 제1호와 제2호에 따른 출입구에 이르는 복도 또는 통로로 통하는 출입구





//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조(피란구유도등) 1항 3호 

Check(NFSC303){
           KS
}
  Door myDoor{
      isObjectProperty(Door.isEntrance)=True     
     (OR hasObject( myStair, Door)=True
     OR hasObject(myStair.Space,Door)=True
     OR hasObject(myStair.AncillaryRoom,Door)=True)

       OR isDirectlyAccessible(Door, Ground)=True          
    }
 LeadingLight myLeadingLight{
        isObjectProperty(LeadingLight.isForExit)=True
    }

  Passage myPassage{
     isAccessible(myDoor, Passage)=True
   }
  Corridor myCorriodr{
     isAccessible(myDoor, Corridor)=True
  }

  Door myDoor2{
      isObjectProperty(Door.isEntrance)=True    
     isAccessible(myPassage, Door)=True
     or isAccessible(myCorridor, Door)=True
  }

isInstalled(myLeadingLight, myDoor2)=True

} 




Python Code 변환 예정



94
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 5조 2 항

②피난구유도등은 피난구의 바닥으로부터 높이 1.5m 이상의 곳에 설치하여야 한다.





//유도등 및 유도표지의 화재안전기준(nfsc 303) 5조 (피난구유도등) 2항

Check(NFSC303_5_2){
     KS
}

KS{
Opening myOpening{
   isObjectProperty(Opening.isEscape)=True
}
 LeadingLight myLeadingLight{
        isObjectProperty(LeadingLight.isForExit)=True
    }

    getObjectVerticleDistance(myLeadingLight, myOpening.FloorSlab)>=1.5 m
} 




Python Code 변환 예정



95
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 6조 1 항

제6조(통로유도등 설치기준) ①통로유도등은 특정소방대상물의 각 거실과 그로부터 지상에 이르는 복도 또는 계단의 통로에 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>





//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항

Check(NFSC303_6_1){
         KS
}


KS{
 Corridor myCorridor{
       isGothrough(SpecificFireFightingBuilding.Room, Corridor, Ground)=True 
 }
   
 Stair myStair{
        isGothrough(SpecificFireFightingBuilding.Room, Stair, Ground)=True   
 }


       hasObject(myCorridor, LeadingLight.isForPassage)=True
       hasObject(myStair, LeadingLight.isForPassage)=True
       getResult(NFSC303_6_1_1)=True
       getResult(NFSC303_6_1_2)=True
       getResult(NFSC303_6_1_3)=True
} 




Python Code 변환 예정



96
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 6조 1 항 1호

1. 복도통로유도등은 다음 각 목의 기준에 따라 설치할 것





//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항1호

Check(NFSC303_6_1_1){
        KS
}

KS{
    getResult(NFSC303_6_1_1_가)=True
    getResult(NFSC303_6_1_1_나)=True
    getResult(NFSC303_6_1_1_다)=True

}
 




Python Code 변환 예정



97
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 6조 1 항 1호 가 목

가. 복도에 설치할 것





//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 1호 가목

Check(NFSC303_6_1_1_가){
         KS
}

KS{
   isinstalled(Corridor, LeadingLightForCorridors)=True
} 




Python Code 변환 예정



98
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 6조 1 항 1호 다 목

다. 바닥으로부터 높이 1m 이하의 위치에 설치할 것. 다만, 지하층 또는 무창층의 용도가 도매시장·소매시장·여객자동차터미널·지하역사 또는 지하상가인 경우에는 복도·통로 중앙부분의 바닥에 설치하여야 한다.





//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 1호 다목

Check(NFSC303_6_1_1_다){
           KS
}

KS{ 
   Floor myFloor{
       getFloorNumber()<0
       OR hasObject(Floor, Window)=False
   }
   
   IF getFloorUsage(myFloor)="WholesaleMarket"
      OR getFloorUsage(myFloor)="RetailMarket"
      OR getFloorUsage(myFloor)="PassengerVehicleTransportTerminal"
      OR getFloorUsage(myFloor)="UndergroundStation"
      OR getFloorUsage(myFloor)="UndergroundShoppingCenter" 
      THEN   //  복도·통로 중앙부분의 바닥에 설치하여야 한다.
   ELSE THEN
       getObjectVerticalDistance(FloorSlab, LeadingLightForCorridors )<= 1 m
} 




Python Code 변환 예정



99
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 6조 1 항 2호

2. 거실통로유도등은 다음 각 목의 기준에 따라 설치할 것





//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 2호

Check(NFSC303_6_1_2){
        KS
}

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




Python Code 변환 예정



100
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 6조 1 항 2호 가 목

가. 거실의 통로에 설치할 것. 다만, 거실의 통로가 벽체 등으로 구획된 경우에는 복도통로유도등을 설치하여야 한다.





// 유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 2호 가목

Check(NFSC303_6_1_2_가){
          KS
}

KS{
     IF  // isPartitioned(Room.Passage, c)=True  type c: 벽체 등으로 구획
         THEN   isInstalled(Room.Passage,LeadingLightForCorridors)=True 
     ELSE THEN isInstalled(Room.Passage, LeadingLightForLivingRoom )=True
} 




Python Code 변환 예정



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