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

3. 계단실형인 공동주택의 경우에는 계단실마다 설치할 것





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

CS{
	
}

KS{
	Elevator myElevator{
		getObjectProperty(Elevator.usage) = "FreightElevator"
	}

	isInstalled(myElevator, Stair.Space) = TRUE
} 














Modify
2
12905 주택건설기준 등에 관한 규정 제 15조 3 항 4호

4. 복도형인 공동주택의 경우에는 100세대까지 1대를 설치하되, 100세대를 넘는 경우에는 100세대마다 1대를 추가로 설치할 것





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

CS{
	
}

KS{
	Elevator myElevator{
		getObjectProperty(Elevator.usage) = "FreightElevator"
	}

	getObjectCount(myElevator) = ELV
	100*n <= getObjectProperty(Building.numberOfHousehold) <100*(n+1)
	n <= ELV
}
 














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

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





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

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

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

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

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

	isReplaced(myElevator2, myElevator) = TRUE
} 














Modify
4
13883 주차장법 시행규칙 제 3조 1 항 1호

1. 평행주차형식의 경우 (표)





//  주차장법 시행규칙 3조 (주차장의 주차구획) 1항 1호
Check(ERPA_3_1_1){
	KS
}

KS{
	getObjectProperty(ParkingUnit.parkingType) = "ParallelParking"
}
 














Modify
5
13884 주차장법 시행규칙 제 3조 1 항 2호

2. 평행주차형식 외의 경우 (표)





//  주차장법 시행규칙 3조 (주차장의 주차구획) 1항 2호
Check(ERPA_3_1_2){
	KS
}

KS{
	getObjectProperty(ParkingUnit.parkingType) != "ParallelParking"
} 














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

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





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



Check(ERPA_4_1_8_나){

    IF CS THEN KS

}



CS{

  getObjectCount(ParkingLot.ParkingUnit)>=50



}





KS{



    Area myArea{

        isObjectProperty(ParkingLotArea.isHandicapParking)=True

    }

    PLC=getObjectProperty(ParkingLot.numberOfParkingUnit)



    getObjectCount(myArea)>=PLC*2%

    getObjectCount(myArea)<=PLC*4%

    getResult(Unimplemented_LGMO)=True

} 














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

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





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

Check(ERPA_5_7){

      IF (!CS1 AND CS2) THEN KS

}



CS2{

	ParkingLot myParkingLot{

	isObjectProperty(ParkingLot.isOffStreetParking)=TRUE

	}

	getObjectProperty(ParkingLot.numberOfParkingUnit) > 400

}

	Opening myOpening1{

	isObjectProperty(myParkingLot.Oepning.isEntrance)=TRUE

	}

	Opening myOpening2{

	isObjectProperty(myParkingLot.Oepning.isExit)=TRUE

	}

	myOpening1 != myOpening2



CS1{



	getObjectProperty(myOpening1.width) = W1

	getObjectProperty(myOpening2.width) = W2

	W1 + W2 >= 5.5m

}



KS2{

	isExist(myOpening1) = TRUE

	isExist(myOpening2) = TRUE	

} 














Modify
8
13928 주차장법 시행규칙 제 6조 1 항 3호 나 1) 목

1) 이륜자동차전용 노외주차장 (표)





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호 나목
Check(ERPA_6_1_3_나){
     IF CS THEN KS
}

CS{
   getSpaceUsage()="ParkingLot"
   getObjectProperty(ParkingLot.parkingUseType)="TwowheeledVehicle"
}

KS{
   IF 	getObjectProperty(ParkingUnit.parkingType)="ParallelParking"
       IF getObjectCount(Opening)>=2
       THEN  ParkingLot.Driveway.width>=2.25 m
       ELSE IF getObjectCount(Opening)=1
       THEN  ParkingLot.Driveway.width>=3.5 m
       END IF
   ELSE IF getObjectProperty(ParkingUnit.parkingType)="RightAngleParking"
       IF getObjectCount(Opening)>=2
       THEN  ParkingLot.Driveway.width>=4.0 m
       ELSE IF getObjectCount(Opening)=1
       THEN  ParkingLot.Driveway.width>=4.0 m
       END IF
   ELSE IF getObjectProperty(ParkingUnit.parkingType)="45AngleParking"
       IF getObjectCount(Opening)>=2
       THEN  ParkingLot.Driveway.width>=2.3 m
       ELSE IF getObjectCount(Opening)=1
       THEN  ParkingLot.Driveway.width>=3.5 m
       END IF
  END IF
}
 














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

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





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

Check(ERPA_6_1_3_나){

     IF CS THEN KS

}



CS{

   getSpaceUsage()="ParkingLot"

   isObjectProperty(ParkingLot.isOffStreetParking)=True

   getObjectProperty(ParkingLot.parkingUseType)!="TwowheeledVehicle"

}



KS{

   IF 	getObjectProperty(ParkingUnit.parkingType)="ParallelParking"

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=3.3 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.0 m

       END IF

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

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=6.0 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=6.0 m

       END IF

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

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=4.5 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.5 m

       END IF

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

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=3.5 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.0 m

       END IF

getObjectProperty(ParkingUnit.parkingType)="CrossParking"

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=3.5 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.0 m

       END IF

  END IF

} 














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

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





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

Check(ERPA_6_1_4){

      KS1 AND IF CS THEN KS2

}



KS1{

	ParkingLot myParkingLot{

	isObjectProperty(ParkingLot.isOffStreetParking)=TRUE

	}

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

}



CS{

	getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50

}



KS2{

	Opening myOpening1{

	isObjectProperty(Opening.isExit)=TRUE

	}

	Opening myOpening2{

	isObjectProperty(Opening.isEntrance)=TRUE

	}

	myOpening1 != myOpening2

	isExist(myOpening1)=TRUE

	isExist(myOpening2)=TRUE

	OR getObjectProperty(Opening.width) >= 5.5m

} 














Modify
11
13934 주차장법 시행규칙 제 6조 1 항 5호 다 목

다. 경사로의 차로 너비는 직선형인 경우에는 3.3미터 이상(2차로의 경우에는 6미터 이상)으로 하고, 곡선형인 경우에는 3.6미터 이상(2차로의 경우에는 6.5미터 이상)으로 하며, 경사로의 양쪽 벽면으로부터 30센티미터 이상의 지점에 높이 10센티미터 이상 15센티미터 미만의 연석(沿石)을 설치하여야 한다. 이 경우 연석 부분은 차로의 너비에 포함되는 것으로 본다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호 다목
Check(ERPA_6_1_5_다){
       KS AND IF (CS1 THEN KS1 ELSE KS2) OR (CS2 THEN KS3 ELSE KS4)
}

KS{
	Wall myWall{
		hasObject(Ramp,Wall)=TRUE 
	}
	hasObject(Ramp, ParkingLot.Driveway)=TRUE 
	getElementDistance(myWall.Surface, 	Curb, a) >= 30cm
	10cm =< getObjectProperty(Curb.height) < 15cm
}

CS1{
	getObjectProperty(ParkingLot.Driveway.shapeType) = "LinearType"
	getObjectProperty(ParkingLot.Driveway.numberOfLane) >= 2

}
KS1{
	getOjbectProperty(ParkingLot.Driveway.width) >= 6m
}
KS2{
	getOjbectProperty(ParkingLot.Driveway.width) >= 3.3m
}

CS2{
	getObjectProperty(ParkingLot.Driveway.shapeType) = "CurvedType"
	getObjectProperty(ParkingLot.Driveway.numberOfLane) >= 2

}
KS1{
	getOjbectProperty(ParkingLot.Driveway.width) >= 6.5m
}
KS2{
	getOjbectProperty(ParkingLot.Driveway.width) >= 3.6m
} 














Modify
12
13935 주차장법 시행규칙 제 6조 1 항 5호 라 목

라. 경사로의 종단경사도는 직선 부분에서는 17퍼센트를 초과하여서는 아니 되며, 곡선 부분에서는 14퍼센트를 초과하여서는 아니 된다.





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

CS1{
	getObjectProperty(ParkingLot.Driveway.shapeType) = "LinearType"
}
KS1{
	getObjectProperty(ParkingLot.Driveway.gradient) < 17%
}
CS2{
	getObjectProperty(ParkingLot.Driveway.shapeType) = "CurvedType"
}
KS2{
	getObjectProperty(ParkingLot.Driveway.gradient) < 14%
} 














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

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





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

Check(ERPA_6_1_5_바){

       IF CS THEN (KS1 OR KS2)

}



CS{

	getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50

	hasObject(Ramp, ParkingLot.Driveway.)=TRUE 

}

KS1{

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

	getObjectProperty(ParkingLot.Driveway.numberOfLane) >= 2

}

KS2{

	Opening myOpening1{

	isObjectProperty(Opening.isExit)=TRUE 

	}

	Opening myOpening2{

	isObjectProperty(Opening.isEntrance)=TRUE 

	}

	myOpening1 != myOpening2

	hasObject(ParkingLot.Driveway., myOpening1)=TRUE 

	hasObject(ParkingLot.Driveway., myOpening2)=TRUE 

} 














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

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





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

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

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














Modify
15
13951 주차장법 시행규칙 제 6조 1 항 12호

12. 2층 이상의 건축물식 주차장 및 특별시장·광역시장·특별자치도지사·시장·군수가 정하여 고시하는 주차장에는 다음 각 목의 어느 하나에 해당하는 추락방지 안전시설을 설치하여야 한다.





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

CS{
		getObjectProperty(ParkingLot.buildingType)="BuildingType"
		getObjectProperty(ParkingLot.Floor.numberOf) >= 2
}
KS{
	getResult(ERPA_6_1_12_나)=TRUE
} 














Modify
16
13953 주차장법 시행규칙 제 6조 1 항 12호 나 목

나. 「도로법 시행령」 제3조제4호에 따른 방호(防護) 울타리





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

KS{
	isExist(CrashBarrier) = TRUE
	getObjectProperty(CrashBarrier) = "FallPreventionSafetyFacility"
} 














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

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





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

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

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

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

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














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

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





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

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

} 














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

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





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

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

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

	hasSpace(myParkingLot, myParkingUnit) = TRUE
}

KS{
	getResult(ERPA_6_1_14) = TRUE
} 














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

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





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

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

	getObjectProperty(myParkingLot.numberOfParkingUnit) >= 8
}

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














Modify
21
13998 주차장법 시행규칙 제 11조 5 항 1호

1. 차로의 너비는 2.5미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 따른 기준 이상으로 하여야 한다. (표)





//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 5항 1호



Check(ERPA_11_5_1){

     KS

}



KS{

    IF  isAdjacent(ParkingUnit, ParkingLot.Driveway)=True

    THEN 

        IF getObjectProperty(ParkingUnit.parkingType)="ParallelParking"

           THEN ParkingLot.Driveway.width>=3.0 m

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

                THEN ParkingLot.Driveway.width>=6.0 m

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

                THEN ParkingLot.Driveway.width>=4.0 m

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

                       THEN ParkingLot.Driveway.width>=3.5 m 

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

                THEN ParkingLot.Driveway.width>=3.5 m

       END IF



    ELSE THEN

    ParkingLot.Driveway.width>=2.5 m

    END IF 

} 














Modify
22
14025 주차장법 시행규칙 제 16조의2조 1호 가 목

가. 중형 기계식주차장(길이 5.05미터 이하, 너비 1.85미터 이하, 높이 1.55미터 이하, 무게 1,850킬로그램 이하인 자동차를 주차할 수 있는 기계식주차장을 말한다. 이하 같다): 너비 8.1미터 이상, 길이 9.5미터 이상의 전면공지 또는 지름 4미터 이상의 방향전환장치와 그 방향전환장치에 접한 너비 1미터 이상의 여유 공지





//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 1호 가목



Check(ERPA_16-2_0_1_가){

   IF CS THEN KS

}



CS{

ParkingLot myParkingLot{
	ParkingLot.operationType = "MechanicalParking"
}
   getObjectProperty(myParkingLot.scale)="MiddleSize"

}



KS{

   Space mySpace{

     getSpaceUsage()="FrontageSpace"

     Space.width>=8.1 m

     Space.length>9.5 m

   }

  

    isExist(mySpace)=True

    OR isExist(DirectionSwitchingEquipment)=True

       getObjectDiameter(DirectionSwitchingEquipment)>=4 m

       isExist(Space)=True

       isAdjacent(DirectionSwitchingEquipment, Space)=True

       Space.width>=1 m

} 














Modify
23
14026 주차장법 시행규칙 제 16조의2조 1호 나 목

나. 대형 기계식주차장(길이 5.75미터 이하, 너비 2.15미터 이하, 높이 1.85미터 이하, 무게 2,200킬로그램 이하인 자동차를 주차할 수 있는 기계식주차장을 말한다. 이하 같다): 너비 10미터 이상, 길이 11미터 이상의 전면공지 또는 지름 4.5미터 이상의 방향전환장치와 그 방향전환장치에 접한 너비 1미터 이상의 여유 공지





//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 1호 나목



Check(ERPA_16-2_0_1_나){

   IF CS THEN KS      

}





CS{
ParkingLot myParkingLot{
	ParkingLot.operationType = "MechanicalParking"
}
   getObjectProperty(myParkingLot.scale)="LargeSize"

}



KS{

   Space mySpace{

     getSpaceUsage()="FrontageSpace"

     Space.width>=10 m

     Space.length>11 m

   }

  

    isExist(mySpace)=True

    OR isExist(DirectionSwitchingEquipment)=True

       getObjectDiameter(DirectionSwitchingEquipment)>=4.5 m

       isExist(Space)=True

       isAdjacent(DirectionSwitchingEquipment, Space)=True

       Space.width>=1 m

} 














Modify
24
14029 주차장법 시행규칙 제 16조의2조 3호 가 목

가. 중형 기계식주차장: 길이 5.05미터 이상, 너비 1.85미터 이상





//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 3호 가목



Check(ERPA_16-2_0_3_가){

   IF CS THEN KS

}



CS{
ParkingLot myParkingLot{
	ParkingLot.operationType = "MechanicalParking"
}
   getObjectProperty(myParkingLot.scale)="MiddleSize"


}



KS{

    myParking.length>=5.05 m

    myParking.width>1.85 m

} 














Modify
25
14030 주차장법 시행규칙 제 16조의2조 3호 나 목

나. 대형 기계식주차장: 길이 5.3미터 이상, 너비 2.15미터 이상





//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 3호 나목



Check(ERPA_16-2_0_3_나){

   IF CS THEN KS 

}



CS{
ParkingLot myParkingLot{
	ParkingLot.operationType = "MechanicalParking"
}
   getObjectProperty(myParkingLot.scale)="LargeSize"

}





KS{

   myParking.length>5.3 m

   myParking.width>2.15 m

} 














Modify
26
14199 비상경보설비의 화재안전기준(NFSC 201) 제 4조 5 항

⑤발신기는 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 지하구의 경우에는 발신기를 설치하지 아니할 수 있다. <개정 2012.8.20>





//	비상경보설비의 화재안전기준(NFSC 201) 4조 (전원 및 콘센트 등 ) 5항
Check(NFSC201_4_5){
	IF !CS THEN KS
}

CS{
	getObjectProperty(Floor.number) < 0
}

KS{
	getResult(NFSC201_4_5_1) = TRUE
	getResult(NFSC201_4_5_2) = TRUE
} 














Modify
27
14230 비상콘센트설비의 화재안전기준(NFSC 504) 제 4조 1 항 2호

2. 지하층을 제외한 층수가 7층 이상으로서 연면적이 2,000㎡ 이상이거나 지하층의 바닥면적의 합계가 3,000㎡ 이상인 특정소방대상물의 비상콘센트설비에는 자가발전설비 또는 비상전원수전설비를 비상전원으로 설치할 것. 다만, 둘 이상의 변전소에서 전력을 동시에 공급받을 수 있거나 하나의 변전소로부터 전력의 공급이 중단되는 때에는 자동으로 다른 변전소로부터 전력을 공급받은 수 있도록 상용전원을 설치한 경우에는 비상전원을 설치하지 아니할 수 있다.<개정 2012.8.20, 2013.9.3.>





//	비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 1항 2호

Check(NFSC504_4_1_2){

	IF CS THEN KS

}



	Floor myFloor{

		getFloorNumber < 0

		hasSpace(Floor, SpecificFireFightingBuilding) = TRUE

	}



	Floor myFloor2{

		getFloorNumber >= 0

		hasSpace(Floor, SpecificFireFightingBuilding) = TRUE

	}



CS{

	(getBuildingStoriesCount() >= 7

	getGrossFloorArea(myFloor2) >= 2000m2)

	OR getTotalFloorArea(myFloor) >= 3000m2

}



KS{

	isInstalled(EmergencyPower, EmergencyPowerOutletSystem) = TRUE

	getObjectProperty(EmergencyPowerReceivingSystem.type) = "InhousePowerGenerationSystem"

	OR getObjectProperty(EmergencyPowerReceivingSystem.type) = "EmergencyPowerReceivingSystem"

} 














Modify
28
14231 비상콘센트설비의 화재안전기준(NFSC 504) 제 4조 1 항 3호

3. 제2호에 따른 비상전원 중 자가발전설비는 다음 각 목의 기준에 따라 설치하고, 비상전원수전설비는 「소방시설용비상전원수전설비의 화재안전기준(NFSC 602)」에 따라 설치할 것<개정 2012.8.20>





//	비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 1항 3호

Check(NFSC504_4_1_3){

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

}



CS1{

	getObjectProperty(EmergencyPowerReceivingSystem.type) = "InhousePowerGenerationSystem"

}



KS1{

	getResult(NFSC504_4_1_3_4) = TRUE

}



CS2{

	getObjectProperty(EmergencyPowerReceivingSystem.type) = "EmergencyPowerReceivingSystem"

}



KS2{

	getResult(Unimplemented_NFSC_602) = TRUE

} 














Modify
29
14347 옥내소화전설비의 화재안전기준(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"
} 














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

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





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

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














Modify
31
14349 옥내소화전설비의 화재안전기준(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"
} 














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

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





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

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














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

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





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

Check(NFSC102_6_6){

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

}

Port myPort{
Port.typeForWater = "IndoorFireHydrantDischarge"
}

	Pipe myPipe{

		isObjectProperty(Pipe.isBranchLines) = TRUE

		isConnectedTo(Pipe, myPort) = TRUE

	}



	Pipe myPipe2{

		isObjectProperty(Pipe.isRiser) = TRUE

	}



CS1{

	getObjectProperty(myPipe.systemType) = "HoseReelHydrantSystem"

}



KS1{

	getObjectProperty(myPipe.diameter) >= 25mm

}



CS2{

	getObjectProperty(myPipe.systemType) != "HoseReelHydrantSystem"

}



KS2{

	getObjectProperty(myPipe.diameter) >= 40mm

}



CS3{

	getObjectProperty(myPipe2.systemType) = "HoseReelHydrantSystem"

}



KS3{

	getObjectProperty(myPipe2.diameter) >= 32mm

}



CS4{

	getObjectProperty(myPipe2.systemType) != "HoseReelHydrantSystem"

}



KS4{

	getObjectProperty(myPipe2.diameter) >= 50mm

} 














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

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





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

Check(NFSC503A_6_7){

	IF CS THEN KS

}



CS{

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

}

KS{

	Pipe myPipe1{

	isObjectProperty(Pipe.isRiser) = TRUE

	}

	Port myPort{

	getObjectProperty(Port.typeForWater) = "Delivery"

	Pipe myPipe2{

	isConnectedTo(Pipe, myPort) = TRUE

	}

	

	isObjectProperty(myPipe1.diameter) >= 100 mm	

	getObjectProperty(myPipe2.diameter) >= 65 mm

} 














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

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





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

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














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

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





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

Check(NFSC503A_6_13_2){

 IF !CS THEN KS 

}

CS{

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

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

}

KS{

	Port myPort{ 

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

 	}

 	Pipe myPipe{

	isObjectProperty(Pipe.isRiser)=TRUE

	}

	Vavle myValve{

	isObjectProperty(Valve.isShutoffValve)= TRUE

	}

 	isConnectedTo(myPort, Pipe) = TRUE

 	isConnectedTo(Pipe, myPipe) = TRUE

  	isInstalled(myValve, myPipe) = FALSE

 } 














Modify
37
14379 옥내소화전설비의 화재안전기준(NFSC 102) 제 6조 13 항 3호

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





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

Check(NFSC503A_6_13_3){

  KS

}

KS{

	Port myPort{ 

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

 	}

 	getObjectVerticalDistance(Ground, myPort) >= 0.5m

 	getObjectVerticalDistance(Ground, myPort) <= 1m

} 














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

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





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

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

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

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

WaterSupplyOpening myWaterSupplyOpening2{
	WaterSupplyOpening != myWaterSupplyOpening
}

KS{
	getObjectVerticalLocation(myWaterSupplyOpening, myWaterSupplyOpening2) < 0
}

 














Modify
39
14559 스프링클러설비의 화재안전기준(NFSC 103) 제 6조

제6조(폐쇄형스프링클러설비의 방호구역·유수검지장치) 폐쇄형스프링클러헤드를 사용하는 설비의 방호구역(스프링클러설비의 소화범위에 포함된 영역을 말한다. 이하 같다)·유수검지장치는 다음 각 호의 기준에 적합하여야 한다.<개정 2008.12.15>





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

Check(NFSC103_6){
      IF CS THEN KS
}

CS{
  
getObjectProperty(SprinklerSystem.Head.openAndCloseType)="EnclosedType"

}

KS{
  getResult(NFSC103_6_0_1)=True
  getResult(NFSC103_6_0_2)=True
  getResult(NFSC103_6_0_3)=True
  getResult(NFSC103_6_0_4)=True
  getResult(NFSC103_6_0_7)=True
} 














Modify
40
14563 스프링클러설비의 화재안전기준(NFSC 103) 제 6조 4호

4. 유수검지장치를 실내에 설치하거나 보호용 철망 등으로 구획하여 바닥으로부터 0.8m 이상 1.5m 이하의 위치에 설치하되, 그 실 등에는 가로 0.5m 이상 세로 1m 이상의 출입문을 설치하고 그 출입문 상단에 "유수검지장치실" 이라고 표시한 표지를 설치할 것. 다만, 유수검지장치를 기계실(공조용기계실을 포함한다)안에 설치하는 경우에는 별도의 실 또는 보호용 철망을 설치하지 아니하고 기계실 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 수 있다.<개정 2008.12.15>





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



Check(NFSC103_6_4){

    KS 

}



KS{

	Material myMaterial{

	getObjectProperty(Object.Material)="ProtectiveWireMesh"

	}

	isExternal(WaterflowIndicator)=FALSE

	OR isPartitioned(WaterflowIndicator, , myMaterial) = TRUE

	 getObjectVerticalDistance(FloorSlab, WaterflowIndicator, a)0.8m >=



 getObjectVerticalDistance(FloorSlab, WaterflowIndicator, a)0.8m <= 1.5m



	Door myDoor{

	getObjectProperty(Door.width) >= 0.5m

	getObjectProperty(Door.height) >= 1m

	}

	hasObject(WaterflowIndicator.Space,myDoor)=TRUE

} 














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

7. 조기반응형 스프링클러헤드를 설치하는 경우에는 습식유수검지장치 또는 부압식스프링클러설비를 설치할 것<개정 2011.11.24>





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



Check(NFSC103_6_0_7){

       IF CS THEN KS

}



CS{

   SprinklerHead mySprinklerHead{

       getObjectProperty(SprinklerHead.responseType)="QuickResponseType"

   }

   isExist(mySprinklerHead)=True

}



KS{

    WaterflowIndicator myWaterflowIndicator{

         getObjectProperty(WaterflowIndicator.type)="WetWaterflowIndicator"

   }

   SprinklerSystem mySprinklerSystem{

         getObjectProperty(SprinklerSystem.type)="VacuumSprinklerExtinguishingSystem"

  }

 

   isExist(myWaterflowIndicator)=True

   OR isExist(mySprinklerSystem)=True

     

} 














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

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





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

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














Modify
43
14670 스프링클러설비의 화재안전기준(NFSC 103) 제 10조 5 항

⑤ 다음 각 호의 어느 하나에 해당하는 장소에는 조기반응형 스프링클러헤드를 설치하여야 한다.





Check(NFCS103_10_5){

IF CS THEN KS

}





CS{

getResult(NFCS103_10_5_1)

OR getResult(NFCS103_10_5_2)

}





KS{
Head myHead{
getObjectProperty(SprinklerSystem.Head.responseType)=QuickResponseType
}
isInstalled(myHead) = TRUE

} 














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

4. 스프링클러헤드의 반사판은 그 부착 면과 평행하게 설치할 것. 다만, 측벽형헤드 또는 제6호에 따른 연소할 우려가 있는 개구부에 설치하는 스프링클러헤드의 경우에는 그러하지 아니하다.





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

Check(NFSC103_10_7_4){
  IF !CS THEN KS 
}

CS{

   getObjectProperty(SprinklerHead.shapeType)="SideWallType"
OR getResult(NFSC203_10_7_6)=TRUE
   
}


KS{ isParallel(SprinklerHead.Deflector,Deflector.AttachingToSurface)=TRUE

} 














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

5. 천장의 기울기가 10분의 1을 초과하는 경우에는 가지관을 천장의 마루와 평행하게 설치하고, 스프링클러헤드는 다음 각 목의 어느 하나의 기준에 적합하게 설치할 것





//스프링클러설비의 화재안전기준(NFSC 103) 10조 (헤드) 7항5호
Check(NFSC103_10_7_5){
    IF CS THEN KS    
}

CS{
  getObjectProperty(Ceiling.gradient)>1/10  
}


KS{
  isParallel(BranchPipe, Ceiling.Top)=TRUE
  
  getResult(NFSC103_10_7_5_1)=TRUE
  OR getResult(NFSC103_10_7_5_2)=TRUE
} 














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

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





//스프링클러설비의 화재안전기준 10조 (헤드) 7항 8호
check(NFSC103_10_7_8){
	IF CS THEN KS
}

SprinklerHead mySprinklerHead{
	getObjectProperty(SprinklerHead.shapeType) = "SideWallType"
}

CS{
	isExist(mySprinklerHead) = TRUE
}

KS{
	isInstalled(mySprinklerHead, c) = TRUE
} 














Modify
47
14702 스프링클러설비의 화재안전기준(NFSC 103) 제 12조 2 항

② 스프링클러설비에는 자가발전설비 또는 축전지설비에 따른 비상전원을 설치하여야 한다. 다만, 차고·주차장으로서 스프링클러설비가 설치된 부분의 바닥면적(「포소화설비의 화재안전기준(NFSC 105)」제13조제2항제2호에 따른 차고·주차장의 바닥면적을 포함한다)의 합계가 1,000㎡ 미만인 경우에는 비상전원수전설비로 설치할 수 있으며, 2이상의 변전소(「전기사업법」제67조에 따른 변전소를 말한다. 이하 같다)에서 전력을 동시에 공급받을 수 있거나 하나의 변전소로부터 전력의 공급이 중단되는 때에는 자동으로 다른 변전소로부터 전력을 공급받을 수 있도록 상용전원을 설치한 경우와 가압수조방식에는 비상전원을 설치하지 아니할 수 있다.<개정 2008.12.15, 2013.6.10>





//	스프링클러설비의 화재안전기준(nfsc 103) 12조 (전원) 2항

Check(NFSC103_12_2){

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

}



CS1{

	Tank myTank{

		getObjectProperty(Tank) = "PressurizedTank"

	}



	isInstalled(myTank) = TRUE

}



CS2{

	getBuildingUsage() = "Garage"

	OR getBuildingUsage() = "ParkingLot"



	ParkingLot myParkingLot{

		getResult(Unimplemented_NFSC105_13_2_2) = TRUE

		getSpace(ParkingLot)

	}



	Floor myFloor{

		isInstalled(SprinklerSystem, Floor) = TRUE

	}



	getFloorArea(myFloor) + getFloorArea(myFloor2) >= 1000m2

}



KS1{

	EmergencyPower myEmergencyPower{

		getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"

		OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem"

	}

	isInstalled(myEmergencyPower, SprinklerSystem) = TRUE

}



KS2{

	EmergencyPower myEmergencyPower{

		getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"

		OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem"

		OR getObjectProperty(EmergencyPower.systemType) = "EmergencyPowerReceivingSystem"

	}

	isInstalled(myEmergencyPower, SprinklerSystem) = TRUE

} 














Modify
48
14703 스프링클러설비의 화재안전기준(NFSC 103) 제 12조 3 항

③ 제2항에 따른 비상전원 중 자가발전설비 또는 축전지설비(내연기관에 따른 펌프를 설치한 경우에는 내연기관의 기동 및 제어용축전지를 말한다)는 다음 각 호의 기준을, 비상전원수전설비는 「소방시설용비상전원수전설비의 화재안전기준(NFSC 602)」에 따라 설치하여야 한다.<개정 2013.6.10>





//	스프링클러설비의 화재안전기준(nfsc 103) 12조 (전원) 3항

Check(NFSC103_12_3){

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

}



	Pump myPump{

		getObjectProperty(Pump.systemType) = "InternalCombustionEngines"

	}



CS1{

	getResult(Unimplemented_NFSC103_12_2) = TRUE



	getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"

	OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem"

}



CS2{

	isInstalled(Pump, InternalCombustionEngines) = TRUE

	isInstalled(ControlStorageBattery, InternalCombustionEngine) = TRUE

}



KS1{

	getResult(NFSC103_12_3_4) = TRUE

	OR getResult(NFSC103_12_3_8) = TRUE

}



CS3{

	getResult(Unimplemented_NFSC103_12_2) = TRUE

	getObjectProperty(EmergencyPower.systemType) = "EmergencyPowerReceivingSystem"

}



KS2{

	getResult(Unimplemented_NFSC602) = TRUE

} 














Modify
49
14715 스프링클러설비의 화재안전기준(NFSC 103) 제 12조 3 항 8호 가 목

가. 소방전용 발전기 : 소방부하용량을 기준으로 정격출력용량을 산정하여 사용하는 발전기<개정 2013.6.10>





//	스프링클러설비의 화재안전기준(NFSC 103) 12조 (전원) 3항 8호 가목
Check(NFSC103_12_3_8_1){
	KS
}

KS{
	getObjectProperty() = "DedicatedGeneratorForFireFighting"
} 














Modify
50
14716 스프링클러설비의 화재안전기준(NFSC 103) 제 12조 3 항 8호 나 목

나. 소방부하 겸용 발전기 : 소방 및 비상부하 겸용으로서 소방부하와 비상부하의 전원용량을 합산하여 정격출력용량을 산정하여 사용하는 발전기<개정 2013.6.10>





//	스프링클러설비의 화재안전기준(NFSC 103) 12조 (전원) 3항 8호 나목
Check(NFSC103_12_3_8_2){
	KS
}

KS{
	getObjectProperty() = "FireLoadCombinationGenerator"
} 














Modify
51
14717 스프링클러설비의 화재안전기준(NFSC 103) 제 12조 3 항 8호 다 목

다. 소방전원 보존형 발전기 : 소방 및 비상부하 겸용으로서 소방부하의 전원용량을 기준으로 정격출력용량을 산정하여 사용하는 발전기<신설 2013.6.10>





//	스프링클러설비의 화재안전기준(NFSC 103) 12조 (전원) 3항 8호 다목
Check(NFSC103_12_3_8_3){
	KS
}

KS{
	getObjectProperty() = "EmergencyPowerSystemForReservedFirefightingPower"
} 














Modify
52
14772 스프링클러설비의 화재안전기준(NFSC 103) 제 15조 1 항 1호

1. 계단실(특별피난계단의 부속실을 포함한다)·경사로·승강기의 승강로·비상용승강기의 승강장·파이프덕트 및 덕트피트(파이프·덕트를 통과시키기 위한 구획된 구멍에 한한다)·목욕실·수영장(관람석부분을 제외한다)·화장실·직접 외기에 개방되어 있는 복도·기타 이와 유사한 장소<개정 2008.12.15, 2011.11.24>





//	스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 1호
Check(NFSC103_15_1_1){
	KS
}

KS{
	getBuildingUsage() = "Stair.Space"
	OR getSpaceUsage() = "Ramp"
	OR getSpaceUsage() = "Elevator.ElevatorShaft"
	OR getSpaceUsage() = "EmergencyElevatorPlatform"
	OR getObjectProperty(Duct.isPipeDuct) = TRUE
	OR getObjectProperty(Pit.isPipePit) = TRUE
	OR getBuildingUsage() = "BathRoom"
	OR getBuildingUsage() = "SwimmingPool"
	OR getBuildingUsage() = "Toilet"
} 














Modify
53
14790 스프링클러설비의 화재안전기준(NFSC 103) 제 15조 1 항 14호

14. 실내에 설치된 테니스장·게이트볼장·정구장 또는 이와 비슷한 장소로서 실내 바닥·벽·천장이 불연재료 또는 준불연재료로 구성되어 있고 가연물이 존재하지 않는 장소로서 관람석이 없는 운동시설(지하층은 제외한다)





//	스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 14호
Check(NFSC103_15_1_14){
	KS
}

KS{
	(getBuildingUsage() = "Indoor.TennisCourts"
	OR getBuildingUsage() = "Indoor.게이트볼장"
	OR getBuildingUsage() = "Indoor.정구장")

	(getObjectProperty(Floor.InteriorFinish.Material.nonCombustibility) = TRUE
	OR getObjectProperty(Floor.InteriorFinish.Material.quasiNonCombustibility) TRUE)

	(getObjectProperty(Wall.InteriorFinish.Material.nonCombustibility) = TRUE
	OR getObjectProperty(Wall.InteriorFinish.Material.quasiNonCombustibility) TRUE)

	(getObjectProperty(Ceiling.InteriorFinish.Material.nonCombustibility) = TRUE
	OR getObjectProperty(Ceiling.InteriorFinish.Material.quasiNonCombustibility) TRUE)

	isObjectProperty(Space.hasCombustible) = FALSE
	hasSpace(Auditorium, SportsFacility) = FALSE
	getObjectProperty(Floor.number) > 0
} 














Modify
54
14799 스프링클러설비의 화재안전기준(NFSC 103) 제 16조 2 항

② 스프링클러설비의 가압송수장치로 사용하는 펌프를 옥내소화전설비·간이스프링클러설비·화재조기진압용 스프링클러설비·물분무소화설비·포소화설비 및 옥외소화전설비의 가압송수장치와 겸용하여 설치하는 경우의 펌프의 토출량은 각 소화설비에 해당하는 토출량을 합한 양 이상이 되도록 하여야 한다. 다만, 이들 소화설비 중 고정식 소화설비가 2 이상 설치되어 있고, 그 소화설비가 설치된 부분이 방화벽과 방화문으로 구획되어 있으며 각 소화설비에 지장이 없는 경우에는 펌프의 토출량 중 최대의 것 이상으로 할 수 있다.





//	스프링클러설비의 화재안전기준(NFSC 103) 16조 (수원 및 가압송수장치의 펌프 등의 겸용) 2항

Check(NFSC103_16_2){

	IF CS THEN KS

}



	Pump myPump{

		isInstalled(SprinklerSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump2{

		isInstalled(IndoorFireHydrantSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump3{

		isInstalled(SimpleSprinklerSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump4{

		isInstalled(SprinklerSystemForEarlyFireSuppression, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump5{

		isInstalled(WaterSprayExtingushingSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump6{

		isInstalled(FoamExtinguishingSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump7{

		isInstalled(OutdoorFireHydrantSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}





CS{

	isShared(myPump, myPump2) = TRUE

	OR isShared(myPump, myPump3) = TRUE

	OR isShared(myPump, myPump4) = TRUE

	OR isShared(myPump, myPump5) = TRUE

	OR isShared(myPump, myPump6) = TRUE

	OR isShared(myPump, myPump7) = TRUE

}



KS{

	getObjectProperty(myPump.ratedDischargeRate) = PRD



	getObjectProperty(myPump2.ratedDischargeRate) + getObjectProperty(myPump3.ratedDischargeRate) + getObjectProperty(myPump4.ratedDischargeRate) + getObjectProperty(myPump5.ratedDischargeRate) + getObjectProperty(myPump6.ratedDischargeRate) + getObjectProperty(myPump7.ratedDischargeRate) = TPRD



	PRD >= TPRD

} 














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

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





// 간이스프링클러설비의 화재안전기준(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(myValve1|myValve1, myValve2|myPort2) < 0

} 














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

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





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 2항 2호







Check(NFSC503A_4_2_2){



	KS



}



KS{



Pipe myPipe{

getObjectProperty(Pipe.usage)= "WaterSupplyPipe"

getObjectProperty(Pipe.systemType)="SimpleSprinklerSystem"
isObjectProperty(Pipe.isRiser)= TRUE

}



	Tank myTank{ 



	getObjectProperty(Tank.operationType) = "ElevatedWaterTank"



	}



	Port myPort1{



	getObjectProperty(Port.typeForWater) = "Supply"



	isConnectedTo(Port,myTank) = TRUE



	isConnectedTo(Port,myWaterSupplyPipe) = TRUE



	}







	Port myPort2 {



	getObject(Port) - getObject(myPort1)



	}







	Distance1 = getObjectVerticalDistance(myPort1, Ground.Surface, b)  



	Distance2 = getObjectVerticalDistance(myPort2, Ground.Surface, b)







	Distance1 - Distance2 < 0



} 














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

② 전동기 또는 내연기관에 따른 펌프를 이용하는 가압송수장치는 다음 각 호의 기준에 따라 설치하여야 한다.





// 	간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항

Check(NFSC503A_5_2){
	IF CS THEN KS
}

CS{
	getObjectProperty(PressurizedWaterSupplySystem.supplyType)="PumpType"
}
KS{
	getResult(NFSC503A_5_2_3) = TRUE
	getResult(NFSC503A_5_2_4) = TRUE
	getResult(NFSC503A_5_2_5) = TRUE
	getResult(NFSC503A_5_2_6) = TRUE
	getResult(NFSC503A_5_2_7) = TRUE

} 














Modify
58
14855 간이스프링클러설비의 화재안전기준(NFSC 103A) 제 5조 2 항 7호 가 목

가. 펌프의 토출압력은 그 설비의 최고위 살수장치의 자연압보다 적어도 0.2 ㎫이 더 크도록 하거나 가압송수장치의 정격토출압력과 같게할 것<신설 2013.6.10>





//  간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 7호 가목

Check(NFSC103A_5_2_7_1){

	KS

}



KS{

	getObjectProperty(Pump.dischargePressure) = PDP

	getObjectProperty(Sprinkler.dischargePressure) = SDP

	getObjectProperty(PressurizedWaterSupplySystem.ratedDischargePressure) = PWSDP

	

	(SDP + 0.2 <= PDP)

	OR(PDP = PWSDP)

} 














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

2. 고가수조에는 수위계·배수관·급수관·오버플로우관 및 맨홀을 설치할 것





//간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 3항 2호



Check(NFSC503A_5_3_2){

	KS

}

KS{

	Tank myTank{

	isObjectProperty(Tank.operationType) = "ElevatedWaterTank"

	}

	Pipe myPipe1{

	isObjectProperty(Pipe.isOverflowPipe) = TRUE

	}
	Pipe myPipe2{

	getObjectProperty(Pipe.usage) = "WaterDrainPipe"

	}
	Pipe myPipe3{

	getObjectProperty(Pipe.usage) = "WaterSupplyPipe"

	}
	isInstalled(myTank,WaterLevelGauge) = TRUE

	isInstalled(myTank,myPipe2) = TRUE

	isInstalled(myTank,myPipe3) = TRUE

	isInstalled(myTank,myPipe1) = TRUE

	isInstalled(myTank,Manshole) = TRUE

} 














Modify
60
14866 간이스프링클러설비의 화재안전기준(NFSC 103A) 제 5조 4 항

④ 압력수조를 이용한 가압송수장치는 다음 각 호의 기준에 따라 설치하여야 한다.





/ 	간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 4항



Check(NFSC503A_5_4){

	IF CS THEN KS

}

CS{

	getObjectProperty(PressurizedWaterSupplySystem.supplyType) = "HydropneumaticTankType"

}

KS{

	getResult(NFSC503A_5_4_1)=TRUE

	getResult(NFSC503A_5_4_2)=TRUE



} 














Modify
61
14880 간이스프링클러설비의 화재안전기준(NFSC 103A) 제 6조 4호

4. 유수검지장치는 실내에 설치하거나 보호용 철망 등으로 구획하여 바닥으로부터 0.8m 이상 1.5m 이하의 위치에 설치하되, 그 실 등에는 가로 0.5m 이상 세로 1m 이상의 출입문을 설치하고 그 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 것. 다만, 유수검지장치를 기계실(공조용기계실을 포함한다)안에 설치하는 경우에는 별도의 실 또는 보호용 철망을 설치하지 아니하고 기계실 출입문 상단에 "유수검지장치실"이라고 표시한 표지를 설치할 수 있다. <개정 2008.12.15, 2013.6.10>





//간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치) 4호



Check(NFSC503A_6_0_4){

	KS

}

KS{


	(isExternal(WaterflowIndicator)=FALSE

	OR isPartitioned(WaterflowIndicator, ProtectiveWireMesh) = TRUE)

	0.8m <= getObjectVerticalDistance(FloorSlab, WaterflowIndicator, a) <= 1.5m



	Door myDoor{

	getObjectProperty(Door.width) >= 0.5m

	getObjectProperty(Door.height) >= 1m

	}

	hasObject(WaterflowIndicator.Space,myDoor)=TRUE

} 














Modify
62
14883 간이스프링클러설비의 화재안전기준(NFSC 103A) 제 6조 7호

7. 간이스프링클러설비가 설치되는 특정소방대상물에 부설된 주차장부분(영 별표 5 제1호마목에 해당하지 아니하는 부분에 한한다)에는 습식 외의 방식으로 하여야 한다. 다만, 동결의 우려가 없거나 동결을 방지할 수 있는 구조 또는 장치가 된 곳은 그러하지 아니하다.<신설 2013.6.10>





//	간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치)
Check(NFSC503A_6){
	IF CS THEN KS
}

	ParkingLot myParkingLot{
		hasSpace(SpecificFireFightingBuilding, ParkingLot) = TRUE
	}

CS{
	isInstalled(SimpleSprinklerSystem, SpecificFireFightingBuilding) = TRUE
}

KS{
	getObjectProperty(SprinklerSystem.type) != "WetPipeSprinklerSystem"
} 














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

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





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



Check(NFSC503A_8_1_1_가){

	KS

}

KS{

	getObjectProperty(Pipe.Material) = "KS_D_3507"

} 














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

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





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

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














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

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





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

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














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

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





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

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














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

1. 전용으로 할 것. 다만, 상수도직결형의 경우에는 수도배관 호칭지름 32㎜ 이상의 배관이어야 하고, 간이헤드가 개방될 경우에는 유수신호 작동과 동시에 다른 용도로 사용하는 배관의 송수를 자동 차단할 수 있도록 하여야 하며, 배관과 연결되는 이음쇠 등의 부속품은 물이 고이는 현상을 방지하는 조치를 하여야 한다. <개정 2011.11.24>





//	간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 3항 1호
Check(NFSC103A_8_3_1){
	IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

	Pipe myPipe{
		getObjectProperty(Pipe.usage) = "WaterSupplyType"
		isObjectProperty(myPipe.isDirectCoupledType) != TRUE
	}

	Pipe myPipe2{
		getObjectProperty(Pipe.usage) = "WaterSupplyType"
		isObjectProperty(myPipe.isDirectCoupledType) = TRUE
	}

CS1{
	isExist(myPipe) = TRUE
}

KS1{
	isObjectProperty(myPipe.isShared) = FALSE
}

CS2{
	isExist(myPipe2) = TRUE
}

KS2{
	isObjectProperty(myPipe.isShared) = FALSE
	getObjectProperty(Pipe.diameter) >= 32mm
}
 














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

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





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

Check(NFSC503A_8_5){
	IF CS THEN KS
}

CS{
	Pipe myPipe1{
Pipe.systemType = "SimpleSprinklersystem"
}
	Pipe myPipe2{
Pipe.systemType = "FireDepartmentConnectionSystem"
}
Pipe.isShared(myPipe1, myPipe2) = TRUE
}
KS{
	Pipe myPipe3{
	isObjectProperty(Pipe.isRiser) = TRUE
	}
	Port myPort{
	getObjectProperty(Port.typeForWater) = "Delivery"
	Pipe myPipe4{
	isConnectedTo(Pipe, myPort) = TRUE
	}
	
	isObjectProperty(myPipe3.diameter) >= 100 mm	
	getObjectProperty(myPipe4.diameter) >= 65 mm
} 














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

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





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

Check(NFSC103A_8_6_2){

	KS

}

KS{

	Pipe myPipe{

		isObjectProperty(Pipe.isForTest) = TRUE

	}

	

	isConnectedTo(myPipe, DischargeMeasuringEquipment) = TRUE

	getObjectProperty(DischargeMeasuringEquipment.measurementCapacity) = DME

	getObjectProperty(Pump.ratedDischargePressure) = PDP



	PDP*1.75 <= DME

} 














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

2. 시험장치배관의 구경은 유수검지장치에서 가장 먼 가지배관의 구경과 동일한 구경으로 하고, 그 끝에 개방형간이헤드를 설치할 것. 이 경우 개방형간이헤드는 반사판 및 프레임을 제거한 오리피스만으로 설치할 수 있다.





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



Check(NFSC503A_8_12_2){

	KS

}

KS{

	Pipe myPipe{

	isObjectProperty(Pipe.isForTest) = TRUE

	}

	Head myHead{

	isObjectProperty(Head.openAndCloseType) = "OpenType"
getObjectProperty(Head.systemType) = "SimpleSprinklerSystem"
	}

	BD = getObjectDiameter(NFSC503A_8_12_1.myPipe)

	getObjectDiameter(myPipe, a) = BD 

	isInstalled(myHead, myPipe.End) = TRUE

} 














Modify
71
15002 간이스프링클러설비의 화재안전기준(NFSC 103A) 제 별표1조

[별표 1] <개정 2015.1.23.> 간이헤드 수별 급수관의 구경(제8조제3항제3호관련)





//	간이스프링클러설비의 화재안전기준(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

} 














Modify
72
15349 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 1 항

 제7조(감지기) ① 자동화재탐지설비의 감지기는 부착높이에 따라 다음 표에 따른 감지기를 설치하여야 한다. 다만, 지하층·무창층 등으로서 환기가 잘되지 아니하거나 실내면적이 40㎡ 미만인 장소, 감지기의 부착면과 실내바닥과의 거리가 2.3m 이하인 곳으로서 일시적으로 발생한 열·연기 또는 먼지 등으로 인하여 화재신호를 발신할 우려가 있는 장소(제5조제2항 본문에 따른 수신기를 설치한 장소를 제외한다)에는 다음 각 호에서 정한 감지기중 적응성 있는 감지기를 설치하여야 한다.





자동화재탐지설비의 화재안전기준(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

} 














Modify
73
15351 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 1 항 2호

2. 정온식감지선형감지기





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

Check(NFSC203_7_1_2){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "LineType"

	}

	getObject(mySensor)

} 














Modify
74
15352 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 1 항 3호

3. 분포형감지기





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

Check(NFSC203_7_1_3){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingRange) = "LineType"

	}

	getObject(mySensor)

} 














Modify
75
15354 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 1 항 5호

5. 광전식분리형감지기





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

Check(NFSC203_7_1_5){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"

	getObjectProperty(Sensor.sensingRange) = "SeparateType"

	}

	getObject(mySensor)

} 














Modify
76
15355 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 1 항 6호

6. 아날로그방식의 감지기





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

Check(NFSC203_7_3_6){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.OperationMode.) = "Analog"

	}

	getObject(mySensor) = TRUE 














Modify
77
15356 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 1 항 7호

7. 다신호방식의 감지기





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

Check(NFSC203_7_1_7){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.OperationMode.) = "MultiSignal"

	}

	getObject(mySensor) = TRUE 














Modify
78
15357 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 1 항 8호

8. 축적방식의 감지기





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

Check(NFSC203_7_1_8){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.operationMode) = "Accumulation"

	}

	getObject(mySensor) = TRUE 














Modify
79
15360 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 2 항 1호

1. 계단·경사로 및 에스컬레이터 경사로(15m 미만의 것을 제외한다)<개정 2008.12.15>





//	자동화재탐지설비의 화재안전기준(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
} 














Modify
80
15361 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 2 항 2호

2. 복도(30m 미만의 것을 제외한다)





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

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

	isInstalled(SmokeSensor, myCorridor) = TRUE
} 














Modify
81
15369 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 3 항 5호

5. 차동식스포트형·보상식스포트형 및 정온식스포트형 감지기는 그 부착 높이 및 특정소방대상물에 따라 다음 표에 따른 바닥면적마다 1개 이상을 설치할 것





자동화재탐지설비의 화재안전기준(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

} 














Modify
82
15371 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 3 항 6호

6. 스포트형감지기는 45° 이상 경사되지 아니하도록 부착할 것





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

Check(NFSC203_7_3_6){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	getObjectGradient(FloorSlab, mySensor) < 45

} 














Modify
83
15372 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 3 항 7호

7. 공기관식 차동식분포형감지기는 다음의 기준에 따를 것





자동화재탐지설비의 화재안전기준(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

} 














Modify
84
15383 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 3 항 9호 가 목

가. 감지부는 그 부착높이 및 특정소방대상물에 따라 다음 표에 따른 바닥면적마다 1개 이상으로 할 것. 다만, 바닥면적이 다음 표에 따른 면적의 2배 이하인 경우에는 2개(부착높이가 8m 미만이고, 바닥면적이 다음 표에 따른 면적 이하인 경우에는 1개) 이상으로 하여야 한다.





자동화재탐지설비의 화재안전기준(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
} 














Modify
85
15387 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 3 항 10호 가 목

가. 감지기의 부착높이에 따라 다음 표에 따른 바닥면적마다 1개 이상으로 할 것





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

Check(NFSC203_7_3_10_가){

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

}



	Sensor mySensor1{

	getObjectProperty(Sensor.type) = "Type1"

	OR getObjectProperty(Sensor.type) = "Type2"

	}

	Sensor mySensor2{

	isObjectProperty(Sensor.type) = "Type3"

	}



CS1{

	getObjectVerticalDistance(FloorSlab, Sensor) < 4m

} 

KS1{

	isInstalled(mySensor1, FloorSlab.Space, C, 150) = TRUE)

	OR isInstalled(mySensor2, FloorSlab.Space, C, 50) = TRUE)

}

CS2{

	getObjectVerticalDistance(FloorSlab, Sensor) >= 4m

	getObjectVerticalDistance(FloorSlab, Sensor) < 20m

}

KS2{

	isInstalled(mySensor1, FloorSlab.Space, C, 75) = TRUE)

} 














Modify
86
15393 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 3 항 11호

11. 열복합형감지기의 설치에 관하여는 제3호 및 제9호를, 연기복합형감지기의 설치에 관하여는 제10호를, 열연기복합형감지기의 설치에 관하여는 제5호 및 제10호 나목 또는 마목을 준용하여 설치할 것





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



Check(NFSC203_7_3_11){

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

}

CS1{

	getObjectProperty(Sensor.isIntegratedType) = "HeatIntegratedType"

}

KS1{

	getResult(NFSC203_7_3_3) = TRUE

	OR getResult(NFSC203_7_3_9) = TRUE

}	

CS2{

	getObjectProperty(Sensor.isIntegratedType) = "SmokeIntegratedType"

}

KS2{

	getResult(NFSC203_7_3_10) = TRUE

}	

CS3{

	getObjectProperty(Sensor.isIntegratedType) = "HeatAndSmokeIntegratedType"

}

KS3{

	getResult(NFSC203_7_3_5) = TRUE

	OR (getResult(NFSC203_7_3_10_나) = TRUE

	OR getResult(NFSC203_7_3_10_마) = TRUE)

} 














Modify
87
15398 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 3 항 12호 라 목

라. 감지기와 감지구역의 각부분과의 수평거리가 내화구조의 경우 1종 4.5m 이하, 2종 3m 이하로 할 것. 기타 구조의 경우 1종 3m 이하, 2종 1m 이하로 할 것





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

Check(NFSC203_7_3_12_라){

	IF (CS1 THEN KS1 AND KS2) OR (!CS1 THEN KS3 AND KS4)

}

	Zone myZone{

	isObjectProperty(Zone.isDetectionZone) = TRUE

	}

	Sensor mySensor1{

	getObjectProperty(Sensor.type) = "Type1"

	}

	Sensor mySensor2{

	getObjectProperty(Sensor.type) = "Type2"

	}

CS1{

	isFireResistantStructure(myZone.Wall) = TRUE

	isFireResistantStructure(myZone.Column) = TRUE

}

KS1{

	getElementDistance(mySensor1, myZone.Wall) <= 4.5m

	getElementDistance(mySensor1, myZone.Column) <= 4.5m

}

KS2{

	getElementDistance(mySensor2, myZone.Wall) <= 3m

	getElementDistance(mySensor2, myZone.Column) <= 3m

}

KS3{

	getElementDistance(mySensor1, myZone.Wall) <= 3m

	getElementDistance(mySensor1, myZone.Column) <= 3m	

}

KS4{

	getElementDistance(mySensor2, myZone.Wall) <= 1m

	getElementDistance(mySensor2, myZone.Column) <= 1m	

} 














Modify
88
15418 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 4 항

④ 제3항에도 불구하고 다음 각 호의 장소에는 각각 광전식분리형감지기 또는 불꽂감지기를 설치하거나 광전식공기흡입형감지기를 설치할 수 있다.





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

Check(NFSC203_7_4){
	IF CS THEN KS
}
CS{
	getResult(NFSC203_7_4_1) = TRUE
	OR getResult(NFSC203_7_4_2) = TRUE
}
KS{
	Sensor mySensor1{
	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"
	getObjectProperty(Sensor.sensingRange) = "SeparateType"
	}	
	Sensor mySensor2{
	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"
	getObjectProperty(Sensor.sensingRange) = "AspiratingType"
	}

	isInstalled(mySensor1) = TRUE
	OR isInstalled(mySensor2) = TRUE
} 














Modify
89
15419 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 4 항 1호

1. 화학공장·격납고·제련소등 : 광전식분리형감지기 또는 불꽃감지기. 이 경우 각 감지기의 공칭감시거리 및 공칭시야각등 감지기의 성능을 고려하여야 한다.





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

Check(NFSC203_7_4_1){
	IF CS THEN KS
}
CS{
	getBuildingUsage() = "ChemistryFactory"
	OR getBuildingUsage() = "Hangar"
	OR getBuildingUsage() = "Smelter"
}
KS{
	Sensor mySensor1{
	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"
	getObjectProperty(Sensor.sensingRange) = "SeparateType"
	}	
	isInstalled(mySensor1) = TRUE
	OR isInstalled(FlameSensor) = TRUE
} 














Modify
90
15420 자동화재탐지설비의 화재안전기준(NFSC 203) 제 7조 4 항 2호

2. 전산실 또는 반도체 공장등 : 광전식공기흡입형감지기. 이 경우 설치장소·감지면적 및 공기흡입관의 이격거리등은 형식승인 내용에 따르며 형식승인 사항이 아닌 것은 제조사의 시방에 따라 설치하여야 한다.





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

Check(NFSC203_7_4_2){
	IF CS THEN KS
}
CS{
	getSpaceUsage() = "ComputerRoom"
	OR getBuildingUsage() = "SemiconductorFactory"
}
KS{
	Sensor mySensor1{
	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"
	getObjectProperty(Sensor.sensingRange) = "AspiratingType"
	}
	isInstalled(mySensor1) = TRUE
} 














Modify
91
15500 연결송수관설비의 화재안전기준(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

} 














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

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





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



Check(){

     IF CS THEN KS

}



CS{

     getObjectProperty(FireDepartmentConnectionSystem.dryWetType)="WetFireDepartmentConnectionSystem"

}



KS{

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

} 














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

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





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



Check(NFSC502_4_0_8_나){

    IF CS THEN KS

}



CS{

     getObjectProperty(FireDepartmentConnectionSystem.dryWetType)="DryFireDepartmentConnectionSystem"

}



KS{

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

  

} 














Modify
94
15510 연결송수관설비의 화재안전기준(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" 

} 














Modify
95
15512 연결송수관설비의 화재안전기준(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
} 














Modify
96
15514 연결송수관설비의 화재안전기준(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"
} 














Modify
97
15516 연결송수관설비의 화재안전기준(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"
  
} 














Modify
98
15521 연결송수관설비의 화재안전기준(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
} 














Modify
99
15534 연결송수관설비의 화재안전기준(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"

} 














Modify
100
15538 연결송수관설비의 화재안전기준(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 

} 














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