1  
 
19902 
 
소화기구 및 자동소화장치의 화재안전기준(NFSC 101) 제 4조 1 항 4호 
 
 
 
 
4. 소화기는 다음 각 목의 기준에 따라 설치할 것<개정 2012.6.11>
 
//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 4호
Check(NFSC101_4_1_4){
     KS
}
KS{
     getResult(  NFSC101_4_1_4_가)=True
     getResult(  NFSC101_4_1_4_나)=True  
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
2  
 
19905 
 
소화기구 및 자동소화장치의 화재안전기준(NFSC 101) 제 4조 7호 
 
 
 
 
7. 주방용자동소화장치는 아파트의 각 세대별 주방 및 오피스텔의 각실 별 주방에 다음 각 목의 기준에 따라 설치할 것<개정 2012.6.11>
 
//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 7호
Check(NFSC101_4_1_7){
	IF CS THEN KS
}
CS{
	Space mySpace{
	getSpaceUsage() = "Kitchen"
	}
}
KS{
	AutomaticFireExtinguishingEquipment myAutomaticFireExtinguishingEquipment{
	isObjectProperty(AutomaticFireExtinguishingEquipment.isKitchenType) = TRUE
	}
	hasSpace(mySpace,myAutomaticFireExtinguishingEquipment) = TRUE
	getResult(  NFSC101_4_1_7_3)=TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
3  
 
19907 
 
소화기구 및 자동소화장치의 화재안전기준(NFSC 101) 제 4조 8호 
 
 
 
 
8. 캐비넷형자동소화장치는 다음 각 목의 기준에 따라 설치하여야 한다.<전문개정 2012.6.11>
 
//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 8호
Check(NFSC101_4_1_8){
	getResult(  NFSC101_4_1_8_가)=TRUE
	getResult(  NFSC101_4_1_8_나)=TRUE
	getResult(  NFSC101_4_1_8_마)=TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
4  
 
19909 
 
소화기구 및 자동소화장치의 화재안전기준(NFSC 101) 제 4조 8호 나 목
 
 
 
 
나. 화재감지기는 방호구역내의 천장 또는 옥내에 면하는 부분에 설치하되 「자동화재탐지설비의 화재안전기준(NFSC 203)」 제7조에 적합하도록 설치할 것
 
//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 8호 나목
Check(NFSC101_4_1_8_나){
	KS
}
KS{
	Zone myZone{
		isObjectProperty(Zone.isProtectionZone)=TRUE
	}
	{hasObject(myZone.Ceiling, FireDetector) = TRUE
	OR isExternal(FireDetector) = FALSE}
	getResult(  NFSC203_7) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
5  
 
19911 
 
연결살수설비의 화재안전기준(NFSC 503) 제 4조 1 항 
 
 
 
 
제4조(송수구 등) ①연결살수설비의 송수구는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
 
// 	연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항
Check(NFSC503_4_1){
	getResult(  NFSC503_4_1_2)=TRUE
	getResult(  NFSC503_4_1_3)=TRUE
	getResult(  NFSC503_4_1_4)=TRUE
	getResult(  NFSC503_4_1_5)=TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
6  
 
19916 
 
연결살수설비의 화재안전기준(NFSC 503) 제 4조 3 항 
 
 
 
 
③ 연결살수설비에는 송수구의 가까운 부분에 자동배수밸브와 체크밸브를 다음 각 목의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
 
//  연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 3항
Check(NFSC503_4_3){
 KS 
}
KS{
	Valve myValve1{
	isObjectProperty(Valve.isAutomiaticDeliveryValve) = TRUE
	}
	Valve myValve2{
	isObjectProperty(Valve.isCheckValve) = TRUE
	}
	isInstalled(myValve1, HookingUpSprinklerSystem) = TRUE
	isInstalled(myValve2, HookingUpSprinklerSystem) = TRUE
	getResult(  NFSC503_4_3_1) = TRUE
	getResult(  NFSC503_4_3_2) = TRUE 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
7  
 
19920 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 1 항 
 
 
 
 
제5조(배관 등) ①배관은 배관용탄소강관(KS D 3507) 또는 압력배관용탄소강관(KS D 3562)이나 이와 동등 이상의 강도·내식성 및 내열성을 가진 것으로 하여야 한다. 다만, 다음 각 호의 어느 하나에 해당하는 장소에는 법 제39조에 따라 제품검사에 합격한 소방용 합성수지배관으로 설치할 수 있다. <개정 2012.8.20>
 
//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 1항
Check(NFSC503_5_1){
	IF !CS THEN KS
}
CS{
	getResult(  NFSC503_5_1_2) = TRUE
	getResult(  NFSC503_5_1_3) = TRUE
}
KS{
	getObjectProperty(Pipe.Material) = "KS D 3507"
	OR getObjectProperty(Pipe.Material) = "KS D 3562"
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
8  
 
19923 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 2 항 
 
 
 
 
②연결살수설비의 배관의 구경은 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
 
//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항
Check(NFSC503_5_2){
	KS
}
KS{
	getResult(  NFSC503_5_2_1) = TRUE
	getResult(  NFSC503_5_2_2) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
9  
 
19924 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 2 항 1호 
 
 
 
 
1. 연결살수설비 전용헤드를 사용하는 경우에는 다음 표에 따른 구경 이상으로 할 것
 
//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항 1호
Check(NFSC503_5_2_1){
	IF CS THEN KS
}
CS{
getObjectProperty(Head.systemType) = "HookingUpSprinklerSystem"
	isObjectProperty(Head.isShared) = FALSE 
}
KS{
	Head myHead{
	isInstalled(Head., Pipe.One) = TRUE
	}
	NH = getObjectCount(myHead)
	IF NH = 1 THEN getObjectDiameter(Pipe) >= 32mm
	ELSE IF NH = 2 THEN getObjectDiameter(Pipe) >= 40mm
	ELSE IF NH = 3 THEN getObjectDiameter(Pipe) >= 50mm
	ELSE IF NH = 4 OR NH = 5 THEN getObjectDiameter(Pipe) >= 65mm
	ELSE IF NH >= 6 AND HN <= 10 THEN getObjectDiameter(Pipe) >= 80mm
} 
 
//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 2항 2호
Check(NFSC503_5_2_2){
	IF CS THEN KS
}
CS{
	isObjectProperty(SprinklerSystem.Head.systemType) = "HookingUpSprinklerSystem"
}
KS{
	getResult(  NFSC103_*_1) = TRUE
} 
 
 
 
 
Python Code 변환 예정Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
10  
 
19928 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 4 항 
 
 
 
 
④폐쇄형헤드를 사용하는 연결살수설비에는 다음 각 호의 기준에 따른 시험배관을 설치하여야 한다. <개정 2012.8.20>
 
//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 4항
Check(NFSC503_5_4){
	IF CS THEN KS
}
CS{
	Head myHead{
	isObjectProperty(Head.openAndCloseType) = "EnclosedType"
	}
	isObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem"
}
KS{
	isInstalled(myPipe) = TRUE
	getResult(  NFSC503_5_4_1) = TRUE
	getResult(  NFSC503_5_4_2) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
11  
 
19934 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 9 항 
 
 
 
 
⑨연결살수설비 교차배관의 위치·청소구 및 가지배관의 헤드설치는 다음 각 호의 기준에 따른다. <개정 2012.8.20>
 
 //  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항
Check(NFSC503_5_9){
	IF CS THEN KS
}
CS{
	Pipe myPipe1{
	isObjectProperty(Pipe.isCrossMains) = TRUE
	isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem")
	}
	Pipe myPipe2{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem")
	}
	CleanOut myCleanOut{
	isObjectProperty(CleanOut.systemType) = "HookingUpSprinklerSystem")
	}
	isInstalled(myPipe1) = TRUE
	OR isInstalled(myPipe2.Head) = TRUE
	OR (isInstalled(myCleanOut) = TRUE 
}
KS{
	getResult(  NFSC503_5_9_1) = TRUE
	getResult(  NFSC503_5_9_2) = TRUE
	getResult(  NFSC503_5_9_3) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
12  
 
19935 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 9 항 1호 
 
 
 
 
1. 교차배관은 가지배관과 수평으로 설치하거나 또는 가지배관 밑에 설치하고, 그 구경은 제2항에 따르되, 최소구경이 40㎜ 이상이 되도록 할 것
 
 //  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 1호
Check(NFSC503_5_9_1){
	KS
}
KS{
	Pipe myPipe1{
	isObjectProperty(Pipe.isCrossMains) = TRUE
	isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem"
	}
	Pipe myPipe2{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	isObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem"
	}
	(isParallel(myPipe1, myPipe2) = TRUE
	OR getObjectVerticalLocation(myPipe1, myPipe2) < 0)
	getObjectDiameter(myPipe1) >= 40mm
	getResult(  NFSC503_5_2) = TRUE
}
 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
13  
 
19938 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 10 항 
 
 
 
 
⑩ 배관에 설치되는 행가는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
 
//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항
Check(NFSC503_5_10){
	IF CS THEN KS
}
CS{
	isInstalled(Hanger, Pipe) = TRUE
}
KS{
	getResult(  NFSC503_5_10_1) = TRUE
	getResult(  NFSC503_5_10_2) = TRUE
	getResult(  NFSC503_5_10_3) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
14  
 
19939 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 10 항 1호 
 
 
 
 
1. 가지배관에는 헤드의 설치지점 사이마다 1개 이상의 행가를 설치하되, 헤드간의 거리가 3.5 m를 초과하는 경우에는 3.5m 이내마다 1개 이상 설치할 것. 이 경우 상향식헤드와 행가 사이에는 8 ㎝ 이상의 간격을 두어야 한다.
 
//연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항 1호
Check(NFSC503_5_10_1){
      KS
}
Pipe myPipe{
    isObjectProperty(Pipe.isBranchLines)=True
}
Head myHead{
   getObjectProperty(Head.installationDirectionType)="BottomUpType"
}
KS{
    isInstalled(Hanger, myPipe, "헤드의 설치지점 사이")=True
    IF getObjectDistance(Head)>3.5 m
    THEN isInstalled(Hanger, myPipe, 3.5 m)=True
         getObjectDistance(myHead, Hanger)>8 cm
    getResult(  NFSC503_5_10_3)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
15  
 
19940 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 10 항 2호 
 
 
 
 
2. 교차배관에는 가지배관과 가지배관사이마다 1개 이상의 행가를 설치하되, 가지배관 사이의 거리가 4.5 m를 초과하는 경우에는 4.5 m 이내마다 1개 이상 설치할 것
 
//연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 10항 2호
Check(NFSC503_5_10_2){
      KS
}
Pipe myPipe{
    isObjectProperty(Pipe.isCrossMains)=True
}
Pipe myPipe2{
 isObjectProperty(Pipe.isBranchLines)=True
}
KS{
    isInstalled(Hanger, myPipe, "가지배관 사이")=True
    IF getObjectDistance(myPipe2)>4.5 m
    THEN isInstalled(Hanger, myPipe, 4.5 m)=True
    END IF     
    getResult(  NFSC503_5_10_3)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
16  
 
19943 
 
연결살수설비의 화재안전기준(NFSC 503) 제 6조 2 항 
 
 
 
 
②건축물에 설치하는 연결살수설비의 헤드는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
 
//연결살수설비의 화재안전기준(nfsc 503) 6조 (배관 등) 2항
Check(NFSC503_6_2){
	KS
}
KS{
	getResult(  NFSC503_6_2_1) = TRUE
	getResult(  NFSC503_6_2_2) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
17  
 
19946 
 
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 
 
 
 
 
③폐쇄형스프링클러헤드를 설치하는 경우에는 제2항의 규정 외에 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
 
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항
Check(NFSC503_6_3){
	IF CS THEN KS
}
CS{
	Head  myHead{
		getObjectProperty(SprinklerSystem.Head.openAndCloseType) = "EnclosedType"
	}
	isExist(myHead) = TRUE
}
KS{
	getResult(  NFSC503_6_3_2) = TRUE
	getResult(  NFSC503_6_3_3) = TRUE
	getResult(  NFSC503_6_3_5) = TRUE
	getResult(  NFSC503_6_3_6) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
18  
 
19950 
 
연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 6호 
 
 
 
 
6. 천장의 기울기가 10분의 1을 초과하는 경우에는 가지관을 천장의 마루와 평행하게 설치하고, 스프링클러헤드는 다음 각 목의 어느 하나의 기준에 적합하게 설치할 것
 
//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 6호
Check(NFSC503_6_3_6){
	IF CS THEN (KS1 AND KS2)
}
CS{
	getObjectProperty(Ceiling.gradient) > 0.1
}
KS1{
isObjectProperty(Pipe.isBranchLines) = TRUE
	isParallel(Pipe, Ceiling.Top.) = TRUE
}
KS2{
	getResult(  NFSC503_6_3_6_1) = TRUE
	getResult(  NFSC503_6_3_6_2) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
19  
 
19954 
 
연결살수설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
20  
 
19958 
 
연결살수설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
21  
 
19961 
 
연결살수설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
22  
 
20461 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
23  
 
20466 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
24  
 
20469 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
25  
 
20472 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
26  
 
20473 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
27  
 
20478 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
28  
 
20482 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
29  
 
20483 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
30  
 
20486 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
31  
 
20487 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
32  
 
20489 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
33  
 
20495 
 
연결송수관설비의 화재안전기준(NFSC 502) 제 7조 
 
 
 
 
 제7조(방수기구함) 연결송수관설비의 방수용기구함을 다음 각 호의 기준에 따라 설치하여야 한다.
 
//연결송수관설비의 화재안전기준(NFSC 502) 7조 (방수기구함)
Check(NFSC502_7){
    KS
}
KS{
   getResult(  NFSC502_7_1)=True
   getResult(  NFSC502_7_2)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
34  
 
20497 
 
연결송수관설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
35  
 
20101 
 
연소방지설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
36  
 
20103 
 
연소방지설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
37  
 
20105 
 
연소방지설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
38  
 
20107 
 
연소방지설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
39  
 
20112 
 
연소방지설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
40  
 
20116 
 
연소방지설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
41  
 
20120 
 
연소방지설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
42  
 
72578 
 
옥내소화전설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
43  
 
72583 
 
옥내소화전설비의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
44  
 
19965 
 
유도등 및 유도표지의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
45  
 
19970 
 
유도등 및 유도표지의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
46  
 
19971 
 
유도등 및 유도표지의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
47  
 
19975 
 
유도등 및 유도표지의 화재안전기준(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 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
48  
 
19979 
 
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 6조 1 항 3호 
 
 
 
 
3. 계단통로유도등은 다음 각 목의 기준에 따라 설치할 것
 
//유도등 및 유도표지의 화재안전기준(nfsc 303) 6조 (통로유도등 설치기준) 1항 3호
Check(NFSC303_6_1_3){
          KS
}
KS{
    getResult(  NFSC303_6_1_3_가)=True
    getResult(  NFSC303_6_1_3_나)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
49  
 
19985 
 
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 8조 1 항 
 
 
 
 
제8조(유도표지 설치기준) ①유도표지는 다음 각 호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>
 
//유도등 및 유도표지의 화재안전기준(nfsc 303) 8조 (유도표지 설치기준) 1항 
Check(NFSC303_8_1){
    IF !CS THEN KS
}
CS{
    getResult(  NFSC303_8_2)=True
}
KS{
     getResult(  NFSC303_8_1_1)=True
     getResult(  NFSC303_8_1_2)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
50  
 
19989 
 
유도등 및 유도표지의 화재안전기준(NFSC 303) 제 8조의2조 2 항 
 
 
 
 
②광원점등방식의 피난유도선은 다음 각 호의 기준에 따라 설치하여야 한다.
 
//	유도등 및 유도표지의 화재안전기준(nfsc 303)  8조의2 (피난유도선 설치기준) 2항 
Check(NFSC303_8-2_2){
	IF CS THEN KS
}
CS{
	isObjectProperty(LeadingLine.isLuminousTypeLeadingLine) = TRUE
}
KS{
	getResult(  NFSC303_8-2_2_1) = TRUE
	OR getResult(  NFSC303_8-2_2_2) = TRUE
	OR getResult(  NFSC303_8-2_2_3) = TRUE
	OR getResult(  NFSC303_8-2_2_7) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
51  
 
20441 
 
자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7조 3 항 10호 
 
 
 
 
10. 연기감지기는 다음의 기준에 따라 설치할 것
 
//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 10호
Check(NFSC203_7_3_10){
	KS
}
KS{
	getResult(  NFSC203_7_3_10_1) = TRUE
	getResult(  NFSC203_7_3_10_2) = TRUE
	getResult(  NFSC203_7_3_10_5) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
52  
 
20445 
 
자동화재탐지설비 및 시각경보장치의 화재안전기준(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)
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
53  
 
20446 
 
자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7조 3 항 12호 
 
 
 
 
12. 정온식감지선형감지기는 다음의 기준에 따라 설치할 것
 
//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 12호
Check(NFSC203_7_3_12){
	KS
}
KS{
	getResult(  NFSC203_7_3_12_2) = TRUE
	getResult(  NFSC203_7_3_12_3) = TRUE
	getResult(  NFSC203_7_3_12_4) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
54  
 
20448 
 
자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7조 3 항 13호 
 
 
 
 
13. 불꽃감지기는 다음의 기준에 따라 설치할 것
 
//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 13호
Check(NFSC203_7_3_13){
	KS
}
KS{
	getResult(  NFSC203_7_3_13_4) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
55  
 
20450 
 
자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7조 3 항 15호 
 
 
 
 
15. 광전식분리형감지기는 다음의 기준에 따라 설치할 것
 
//	자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 15호
Check(NFSC203_7_3_15){
	KS
}
KS{
	getResult(  NFSC203_7_3_15_1) = TRUE
	getResult(  NFSC203_7_3_15_2) = TRUE
	getResult(  NFSC203_7_3_15_3) = TRUE
	getResult(  NFSC203_7_3_15_4) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
56  
 
20452 
 
자동화재탐지설비 및 시각경보장치의 화재안전기준(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
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
57  
 
20455 
 
자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7조 5 항 
 
 
 
 
⑤ 다음 각 호의 장소에는 감지기를 설치하지 아니한다.
 
자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 5항
Check(NFSC203_7_5){
	KS
}
KS{
	getResult(  NFSC203_7_5_1) = TRUE
	OR getResult(  NFSC203_7_5_2) = TRUE
	OR getResult(  NFSC203_7_5_5) = TRUE
	OR getResult(  NFSC203_7_5_6) = TRUE
	OR getResult(  NFSC203_7_5_8) = TRUE
	OR getResult(  NFSC203_7_5_9) = TRUE
}
 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
58  
 
20460 
 
자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7조 6 항 
 
 
 
 
⑥ 지하구에 설치하는 감지기는 제1항 각 호의 감지기로서 먼지·습기등의 영향을 받지 아니하고 발화지점을 확인할 수 있는 감지기를 설치하여야 한다.<개정 2008.12.15>
 
자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 6항 
Check(NFSC203_7_6){
	IF CS THEN KS
}
CS{
	isInstalled(Sensor, Underground) = TRUE
}
KS{
	getResult(  NFSC203_7_1_1) = TRUE
	OR getResult(  NFSC203_7_1_2) = TRUE
	OR getResult(  NFSC203_7_1_3) = TRUE
	OR getResult(  NFSC203_7_1_4) = TRUE
	OR getResult(  NFSC203_7_1_5) = TRUE
	OR getResult(  NFSC203_7_1_6) = TRUE
	OR getResult(  NFSC203_7_1_7) = TRUE
	OR getResult(  NFSC203_7_1_8) = TRUE
}
 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
59  
 
60278 
 
장애인·노인·임산부등의편의증진보장에관한법률 제 8조 1 항 
 
 
 
 
①대상시설별로 설치하여야 하는 편의시설의 종류는 대상시설의 규모, 용도등을 고려하여 대통령령으로 정한다.
 
//  장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 8조 (편의시설의 설치기준) 1항
Check(CDAPA_8_1){
	KS
}
KS{
	getResult(  EDCDAPA_4) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
60  
 
20029 
 
장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 제 7조 
 
 
 
 
제7조(대상시설) 편의시설을 설치하여야 하는 대상(이하 "대상시설"이라 한다)은 다음 각 호의 어느 하나에 해당하는 것으로서 대통령령으로 정하는 것을 말한다.
 
//	장애인ㆍ노인ㆍ임산부등의편의증진보장에관한법률 7조 (대상시설) 
Check(CDAPA_7){
	IF CS THEN KS
}
CS{
	getResult(  CDAPA_7_0_1) = TRUE
	OR getResult(  CDAOA_7_0_2) = TRUE
	OR getResult(  CDAOA_7_0_3) = TRUE
	OR getResult(  CDAOA_7_0_4) = TRUE
}
KS{
	isInstalled(ConvenientFacility) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
61  
 
19994 
 
장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 시행규칙 제 2조 1 항 
 
 
 
 
제2조(편의시설의 세부기준) ①「장애인·노인·임산부 등의 편의증진보장에 관한 법률」(이하 "법"이라 한다) 제8조제2항 전단 및 「장애인·노인·임산부 등의 편의증진보장에 관한 법률시행령」(이하 "영"이라 한다) 제4조의 규정에 의한 편의시설의 구조·재질등에 관한 세부기준은 별표 1과 같다. <개정 1999.6.8., 2005.12.30.>
 
// 	장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행규칙 2조 (편의시설의 세부기준) 1항
Check(ERCDAPA_2_1){
KS
}
KS{
getResult(  ERCDAPA_*_1)=TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
62  
 
19996 
 
장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 시행령 제 3조 
 
 
 
 
제3조(대상시설) 법 제7조 본문의 규정에 의하여 편의시설을 설치하여야 하는 대상시설은 별표 1과 같다.
 
// 장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 3조 (대상시설)
Check(EDCDAPA_3){
KS
}
KS{
getResult(  EDCDAPA_*_1)=TRUE
}
 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
63  
 
19997 
 
장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 시행령 제 4조 
 
 
 
 
제4조(편의시설의 종류) 법 제8조제1항의 규정에 의하여 대상시설별로 설치하여야 하는 편의시설의 종류 및 그 설치기준은 별표 2와 같다.
 
// 장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 4조 (편의시설의 종류)
Check(EDCDAPA_4){
KS
}
KS{
getResult(  EDCDAPA_*_2)=TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
64  
 
19999 
 
장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 시행령 제 별표2조 
 
 
 
 
1. 삭제 <2006.1.19>
2. 공원<표-EDCDAPA_*_2_T1>
(편의시설의 종류
:설치기준)
가. 장애인 등의 출입이 가능한 출입구
:공원 외부에서 내부로 이르는 출입구는 주출입구를 포함하여 적어도 하나 이상을 장애인등의 출입이 가능하도록 유효폭·형태 및 부착물 등을 고려하여 설치하여야 한다.
나. 장애인등의 통행이 가능한 보도
:공원시설(공중이 직접 이용하는 시설에 한한다)에 접근할 수 있는 공원안의 보도중 적어도 하나는 장애인등이 통행할
 
// 장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 별표2 대상시설별 편의시설의 종류 및 설치기준(제4조관련)
Check(EDCDAPA_*_2_3_가_2_가){
IF CS1 AND CS2 THEN KS
}
ParkingLot myParkingLot{
isObjectProperty(ParkingLot.isAttachedParking) = TRUE
}
CS1 {
isExist(myParkingLot) = TRUE
}
CS2 {
getObjectProperty(myParkingLot.numberOfParkingUnit) >= 10
}
KS1 {
Area myArea{
isObjectProperty(ParkingLotArea.isHandicapParking)=TRUE
}
hasSpace(myParkingLot, myArea) = TRUE
getResult(  EDPA_*_1) = TRUE
}
Check(EDCDAPA_*_2_3_가_4_가){
KS1 IF CS1 THEN KS2
}
Door myDoor1{
	isObjectProperty(Door.isEntrance)=TRUE
	isObjectProperty(myDoor1.isHandicapAccessible)=TRUE
}
Door myDoor2{
Door.Space.usage = “Office”
isObjectProperty(myDoo2.isHandicapAccessible)=TRUE
}
KS1 {
isExist(myDoor1) = TRUE
isExist(myDoor2) = TRUE
}
CS1{
Building.usage = “BusinessFacility.GovernmentOfficeBuilding”
Building.usage != “ClassINeighborhoodLivingFacility”
}
KS2 {
isObjectProperty(myDoor1.isAutomatic)=TRUE
isObjectProperty(myDoo2.isAutomatic)=TRUE
}
ParkingLot myParkingLot{
isObjectProperty(ParkingLotArea.isHandicapParking)=TRUE
}
Building myBuilding1_1{
	Building.usage = “ClassINeighborhoodLivingFacility.RetailStore”
	Building.usage = “ClassINeighborhoodLivingFacility.Barbershop”
	Building.usage = “ClassINeighborhoodLivingFacility.BeautyShop”
	Building.usage = “ClassINeighborhoodLivingFacility.Bathhouse”
}
Building myBuilding1_2{
	Building.usage = “ClassINeighborhoodLivingFacility.CommunityCenter”
	Building.usage = “ClassINeighborhoodLivingFacility.PoliceBox”
	Building.usage = “ClassINeighborhoodLivingFacility.PoliceSubstation”
	Building.usage = “ClassINeighborhoodLivingFacility.PostOffice”
Building.usage = “ClassINeighborhoodLivingFacility.HealthCenter”
	Building.usage = “ClassINeighborhoodLivingFacility.PublicLibrary”
	Building.usage = “ClassINeighborhoodLivingFacility.NationalHealthInsuranceService_NationalPensionService_Korea EmploymentAgencyForTheDisabled_KoreaWorkersCompensationAndWelfareServiceOffice”
}
Building myBuilding1_3{
	Building.usage = “ClassINeighborhoodLivingFacility.Clinic_ DentalClinic_OrientalMedicalClinic_MaternityClinic”
}
Building myBuilding1_4{
	Building.usage = “ClassINeighborhoodLivingFacility.CommunityChildCenter”
	Building.facilityArea >= 300 m2
}
Building myBuilding1_5{
	Building.usage = “ClassINeighborhoodLivingFacility.Shelter”
}
Building myBuilding1_6{
	Building.usage = “ClassINeighborhoodLivingFacility.PublicToilet”
}
Building myBuilding2_1{
	Building.usage = “ClassIINeighborhoodLivingFacility.Restaurant”
	Building.usage = “ClassIINeighborhoodLivingFacility.RestingRestaurant”
	Building.usage = “ClassIINeighborhoodLivingFacility.Bakery”
	Building.usage != “ClassINeighborhoodLivingFacility”
Building.facilityArea >= 300 m2
}
Building myBuilding2_2{
	Building.usage = “ClassIINeighborhoodLivingFacility.MassageParlor”
}
Building myBuilding3_1{
	Building.usage = “CulturalAndAssemblyFacility.PerformanceHall”
Building.usage = “CulturalAndAssemblyFacility.Auditorium”
}
Building myBuilding3_2{
	Building.usage = “CulturalAndAssemblyFacility.AssemblyHall”
}
Building myBuilding3_3{
	Building.usage = “CulturalAndAssemblyFacility.ExhibitionHall”
Building.usage = “CulturalAndAssemblyFacility.ZoologicalAndBotanicalGarden”
}
Building myBuilding4_1{
	Building.usage = “ReligiousFacility.ReligiousAssemblyFacility”
	Building.facilityArea >= 500 m2
}
Building myBuilding5_1{
	Building.usage = “CommercialFacility.WholesaleMarket”
	Building.usage = “CommercialFacility.RetailMarket”
	Building.usage = “CommercialFacility.Shop”
	Building.facilityArea >= 1000 m2
}
Building myBuilding6_1{
	Building.usage = “MedicalFacility.Hospital”
	Building.usage = “MedicalFacility.DetentionHospital”
}
Building myBuilding7_1{
	Building.usage = “EducationAndResearchFacility.School”
	Building.usage = “EducationAndResearchFacility.SpecialSchool”
	Building.usage != “EducationAndResearchFacility.Kindergarten”
}
Building myBuilding7_2{
	Building.usage = “EducationAndResearchFacility.Kindergarten”
}
Building myBuilding7_3{
	Building.usage = “EducationAndResearchFacility.TrainingInstitute”
	Building.usage = “EducationAndResearchFacility.VocationalTrainingCenter”
	Building.usage != “EducationAndResearchFacility.EducationalInstitute”
Building.facilityArea >= 500 m2
}
Building myBuilding8_1{
	Building.usage = “FacilitiesForTheAgedAndChildren.ChildrenRelatedFacility”
Building.usage = “FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged”
Building.usage = “FacilitiesForTheAgedAndChildren.SocialWelfareFacility”
Building.usage = “경로당”
Building.usage = “ResidentialFacilityForTheDisabled”
Building.facilityArea >= 500 m2
}
Building myBuilding9_1{
	Building.usage = “Trainingfacility.TrainingFacilityInLivingZone”
	Building.usage = “Trainingfacility.TrainingFacilityInNatureZone”
}
Building myBuilding10_1{
	Building.usage = “SportsFacility”
Building.facilityArea >= 500 m2
}
Building myBuilding11_1{
	Building.usage = “BusinessFacility.GovernmentOfficeBuilding”
Building.facilityArea >= 500 m2
}
Building myBuilding11_2{
	Building.usage = “BusinessFacility.FinanceBusiness”
	Building.usage = “BusinessFacility.Office”
	Building.usage = “BusinessFacility.NewspaperOffice”
	Building.usage = “BusinessFacility.Officetel”
Building.facilityArea >= 500 m2
}
Building myBuilding12_1{
	Building.usage = “LodgingFacility.GeneralLodgingFacility”
}
Building myBuilding12_2{
	Building.usage = “LodgingFacility.TouristAccommodation”
}
Building myBuilding13_1{
	Building.usage = “Factory”
}
Building myBuilding14_1{
	Building.usage = “FacilityForMotorVehicle.ParkingLot”
Building.usage = “FacilityForMotorVehicle.DrivingSchool”
}
Building myBuilding15_1{
	Building.usage = “FacilityForBroadcastingAndTelecommunication.BroadcastingStation”
Building.facilityArea >= 1000 m2
}
Building myBuilding15_2{
	Building.usage = “FacilityForBroadcastingAndTelecommunication.TelegraphAndTelephoneStation”
Building.facilityArea >= 1000 m2
}
Building myBuilding16_1{
	Building.usage = “CorrectionalFacilityAndMilitaryInstallation.Prison”
Building.usage = “CorrectionalFacilityAndMilitaryInstallation.DetentionCenter”
}
Building myBuilding17_1{
	Building.usage = “CemeteryAndRelatedFacility.CremationFacility”
	Building.usage = “CemeteryAndRelatedFacility.CharnelHouse”
	Building.usage != “ReligiousFacility”
}
Building myBuilding18_1{
	Building.usage = “FacilityForTourismAndRelaxation.BandStand”
	Building.usage = “FacilityForTourismAndRelaxation.OutdoorTheater”
	Building.usage = “FacilityForTourismAndRelaxation.ChildrenCenter”
}
Building myBuilding18_2{
	Building.usage = “FacilityForTourismAndRelaxation.RestArea”
}
Building myBuilding19_1{
	Building.usage = “FuneralParlor”
}
Check(EDCDAPA_*_2_3_나){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
Building myBuilding20_1 {
getObject(myBuilding1_1 | myBuilding12_2)
}
KS1{
hasSpace(myBuilding20_1, myParkingLot) = TRUE 
OR hasSpace(myBuilding20_1, myParkingLot) = FALSE
}
CS2{
 Building myBuilding20_2 {
getObject(myBuilding1_2 | myBuilding1_3 | myBuilding1_4 | myBuilding2_1 | myBuilding2_2 | myBuilding3_1 | myBuilding3_2 | myBuilding3_3 | myBuilding4_1 | myBuilding5_1 | Building myBuilding6_1 | Building myBuilding7_1 | myBuilding7_2 | myBuilding7_3 | myBuilding8_1 | myBuilding9_1 | myBuilding10_1 | myBuilding11_1 | myBuilding11_2 | myBuilding12_1 | myBuilding13_1 | myBuilding14_1 | myBuilding15_1 | myBuilding15_2 | myBuilding16_1 | myBuilding17_1 | myBuilding18_1 | myBuilding18_2 | myBuilding19_1) 
}
KS2{
hasSpace(Building20_2, myParkingLot) = TRUE
}
Check(EDCDAPA_*_2_3_나){
IF CS THEN KS
CS{
Building myBuilding20_3{
getObject(myBuilding1_1 | myBuilding1_2 | myBuilding1_3 | myBuilding1_4 | myBuilding1_5 | myBuilding1_6 | myBuilding2_1 | myBuilding2_2 | myBuilding3_1 | myBuilding3_2 | myBuilding3_3 | myBuilding4_1 | myBuilding5_1 | Building myBuilding6_1 | Building myBuilding7_1 | myBuilding7_2 | myBuilding7_3 | myBuilding8_1 | myBuilding9_1 | myBuilding10_1 | myBuilding11_1 | myBuilding11_2 | myBuilding12_1 | myBuilding13_1 | myBuilding14_1 | myBuilding15_1 | myBuilding15_2 | myBuilding16_1 | myBuilding17_1 | myBuilding18_1 | myBuilding18_2 | myBuilding19_1) 
}
KS{
isObjectProperty(myBuilding20_3.Door.isSillFree) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
65  
 
60836 
 
주차장법 제 19조의5조 1 항 
 
 
 
 
① 기계식주차장의 설치기준은 국토교통부령으로 정한다. <개정 2013.3.23, 2018.8.14>
 
//주차장법 19조의5 (기계식주차장의 설치기준)
Check(PLA_19-5){
  IF CS THEN KS
}
CS{
   getSpaceUsage()="MechanicalParking"
}
KS{
    getResult(  ERPA_16-2_0_1)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
66  
 
60915 
 
주차장법 제 6조 1 항 
 
 
 
 
①주차장의 구조·설비기준등에 관하여 필요한 사항은 국토해양부령으로 정한다. 이 경우 「자동차관리법」에 따른 배기량 1천시시 미만의 자동차(이하 "경형자동차"라 한다)에 대하여는 전용주차구획을 일정비율 이상 정할 수 있다. <개정 2003.7.29, 2003.12.31, 2008.2.29, 2008.3.28>
 
//주차장법 6조 (주차장설비기준 등) 1항
Check(PLA_6_1){
       KS
}
KS{
   getResult(  ERPA_2)=TRUE
   getResult(  ERPA_3)=TRUE
   getResult(  ERPA_4)=TRUE
   getResult(  ERPA_6)=TRUE
   getResult(  ERPA_11)=TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
67  
 
60931 
 
주차장법 제 12조의2조 
 
 
 
 
제12조의2 (다른 법률과의 관계) 노외주차장인 주차전용건축물의 건폐율, 용적률, 대지면적의 최소한도 및 높이 제한 등 건축제한에 대하여는 「국토의 계획 및 이용에 관한 법률」 제76조부터 제78조까지, 「건축법」 제57조 및 제60조에도 불구하고 다음 각 호의 기준에 따른다.
 
// 주차장법 12조의2 (다른 법률과의 관계)
Check(PLA_12-2){
     IF CS THEN KS
}
CS{
  isObjectProperty(Building.isExclusiveUseOfParkingLot)=True
}
KS{
     getResult(  PLA_12-2_0_1)=True
      getResult(  PLA_12-2_0_2)=True
      getResult(  PLA_12-2_0_3)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
68  
 
20146 
 
주차장법 시행규칙 제 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
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
69  
 
20148 
 
주차장법 시행규칙 제 5조 8호 
 
 
 
 
8. 특별시장·광역시장, 시장·군수 또는 구청장이 설치하는 노외주차장의 주차대수 규모가 50대 이상인 경우에는 주차대수의 2퍼센트부터 4퍼센트까지의 범위에서 장애인의 주차수요를 고려하여 지방자치단체의 조례로 정하는 비율 이상의 장애인 전용주차구획을 설치하여야 한다.
 
//주차장법 시행규칙 5조 (노상주차장의 구조·설비기준) 8호 
Check(ERPA_5_0_8){
    IF CS THEN KS
}
CS{
  
  ParkingLot myParkingLot{
    isObjectProperty(ParkingLot.isOffStreetParking)=True
  }
  getObjectCount(myParkingLot.ParkingUnit)>=50
}
KS{
    Area myArea{
        isObjectProperty(myParkingLotArea.isHandicapParking)=True
    }
    PLC=getObjectCount(myParkingLot.ParkingUnit)
    getObjectCount(myArea)>=PLC*2%
    getObjectCount(myArea)<=PLC*4%
    getResult(  Unimplemented_LGMO)=True
}
 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
70  
 
61081 
 
주차장법 시행규칙 제 3조 1 항 
 
 
 
 
① 법 제6조제1항에 따른 주차장의 주차단위구획은 다음 각 호와 같다.
 
//	주차장법 시행규칙 3조 (주차장의 주차구획) 1항
Check(ERPA_3_1){
	KS
}
KS{
	getResult(  ERPA_3_1_1) = TRUE
	getResult(  ERPA_3_1_2) = TRUE
}
 
 
 
 
 
def Check():
    for parklot in ROOT.SELECT('parklot'):
        park_type = parklot.SELECT('prop', '주차형식').STRING()
        car_type = parklot.SELECT('prop', '주차단위구획').STRING()
        min_w = 0.0
        min_l = 0.0
        if park_type == '평행주차':
            if car_type == '경형':
                min_w = 1.7
                min_l = 4.5
            elif car_type == '일반형':
                min_w = 2.0
                min_l = 6.0
            elif car_type == '이륜자동차전용':
                min_w = 1.0
                min_l = 2.3
            else:
                continue
        else:
            if car_type == '경형':
                min_w = 2.0
                min_l = 3.6
            elif car_type == '일반형':
                min_w = 2.5
                min_l = 5.0
            elif car_type == '확장형':
                min_w = 2.6
                min_l = 5.2
            elif car_type == '장애인전용':
                min_w = 3.3
                min_l = 5.0
            elif car_type == '이륜자동차전용':
                min_w = 1.0
                min_l = 2.3
            else:
                continue
        width = parklot.SELECT('width').UNIT('m')
        length = parklot.SELECT('length').UNIT('m')
        w = width.NUMBER()  
        l = length.NUMBER()
        if w < min_w:
            width.ERROR('너비: ' + str(w) + ' (< ' + str(min_w) + ')' ) 
        elif l < min_l:
            length.ERROR('길이: ' + str(l) + ' (< ' + str(min_l) + ')' ) 
        else:
            parklot.SUCCESS(str(w) + ' x ' + str(l)) 
 
 
 
 
 
 
 
 
	Modify 
 
 
 
 
71  
 
61086 
 
주차장법 시행규칙 제 4조 1 항 
 
 
 
 
① 법 제6조제1항에 따른 노상주차장의 구조·설비기준은 다음 각 호와 같다.
 
//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항
Check(ERPA_4_1){
      KS
}
KS{
   getResult(  ERPA_4_1_8)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
72  
 
61096 
 
주차장법 시행규칙 제 4조 1 항 8호 
 
 
 
 
8. 주차대수 규모가 20대 이상인 경우에는 장애인 전용주차구획을 한 면 이상 설치하여야 한다.
 
//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항8호
Check(ERPA_4_1_8){
     IF CS THEN KS
}
CS{
   isObjectProperty(ParkingLot.isOffStreetParking)=True
}
Area myArea{
   isObjectProperty(ParkingLotArea.isHandicapParking)=True
}
KS{
   isExist(myArea)=True
   getResult(  ERPA_4_1_8_가)=True
}
 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
73  
 
61161 
 
주차장법 시행규칙 제 11조 2 항 
 
 
 
 
② 다음 각 호의 부설주차장에 대해서는 제6조제1항제9호 및 제11호를 준용한다.
 
//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 2항
Check(ERPA_11_2){
	getResult(  ERPA_6_1_9) = TRUE
	getResult(  ERPA_6_1_11) = TRUE
}
 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
74  
 
61301 
 
주차장법 시행규칙 제 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
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
75  
 
61376 
 
주차장법 시행규칙 제 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)
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
76  
 
61395 
 
주차장법 시행규칙 제 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
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
77  
 
61608 
 
주차장법 시행규칙 제 6조 1 항 
 
 
 
 
①법 제6조제1항에 따른 노외주차장의 구조 및 설비기준은 다음 각 호와 같다. <개정 1992.9.5, 1996.6.29, 2000.7.29, 2004.7.1, 2008.2.22, 2008.3.14, 2009.6.30>
 
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항
Check(ERPA_6_1){
   KS
}
KS{
   getResult(  ERPA_6_1_2)=True
   getResult(  ERPA_6_1_3)=True
   getResult(  ERPA_6_1_4)=True
   getResult(  ERPA_6_1_5)=True
   getResult(  ERPA_6_1_6)=True
   getResult(  ERPA_6_1_7)=True
   getResult(  ERPA_6_1_12)=True
   getResult(  ERPA_6_1_14)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
78  
 
61611 
 
주차장법 시행규칙 제 6조 1 항 3호 
 
 
 
 
3. 노외주차장에는 자동차의 안전하고 원활한 통행을 확보하기 위하여 다음 각 목에서 정하는 바에 의하여 차로를 설치하여야 한다.
 
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호
Check(ERPA_6_1_3){
    IF CS THEN KS
}
CS{
  isObjectProperty(ParkingLot.isOffStreetParking)=True
}
KS{
  isExist(ParkingLot.Driveway)=True
  getResult(  ERPA_6_1_3_가)=True
  getResult(  ERPA_6_1_3_나)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
79  
 
61613 
 
주차장법 시행규칙 제 6조 1 항 3호 나 목
 
 
 
 
나. 차로의 너비는 주차형식 및 출입구(지하식 또는 건축물식 주차장의 출입구를 포함한다. 이하 제4호에서 같다)의 개수에 따라 다음 표에 의한 기준이상으로 하여야 한다.						
						                                                             (단위 : 미터)
						
						        +-------------------+------------------------------------------------+
						
						        |                   |              차 로 의   너비                   |
						
						        |    주 차 형 식    +------------------------+-----------------------+
						
						        |                   |   출입구가 2개 이상인  |  출입구가 1개인 경우  |
						
						        |                   |   경우                 |                       |
						
						        +-------------------+------------------------+-----------------------+
						
						        | 평행주차          |          3.3           |         5.0           |
						
						        | 직각주차          |          6.0           |         6.0           |
						
						        | 60도 대향주차     |          4.5           |         5.5           |
						
						        | 45도 대향주차     |          3.5           |         5.0           |
						
						        | 교차주차          |          3.5           |         5.0           |
						
						        +-------------------+------------------------+-----------------------+
 
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호 나목
Check(ERPA_6_1_3_나){
      KS
}
KS{
   getResult(  ERPA_6_1_3_나_1)=True
   getResult(  ERPA_6_1_3_나_2)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
80  
 
61615 
 
주차장법 시행규칙 제 6조 1 항 5호 
 
 
 
 
5. 지하식 또는 건축물식 노외주차장의 차로는 제3호의 기준에 의하는 외에 다음 각 목에서 정하는 바에 의한다.
 
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호
Check(ERPA_6_1_5){
      KS
}
KS{
	getResult(  ERPA_6_1_3)=TRUE
	getResult(  ERPA_6_1_5_가)=TRUE
	getResult(  ERPA_6_1_5_나)=TRUE
	getResult(  ERPA_6_1_5_다)=TRUE
	getResult(  ERPA_6_1_5_라)=TRUE
	getResult(  ERPA_6_1_5_바)=TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
81  
 
61623 
 
주차장법 시행규칙 제 6조 1 항 6호 
 
 
 
 
6. 노외주차장의 주차에 사용되는 부분의 높이는 주차바닥면으로부터 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
}
 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
82  
 
61635 
 
주차장법 시행규칙 제 6조 1 항 12호 
 
 
 
 
12. 노외주차장의 주차단위구획은 평평한 장소에 설치하여야 한다. 다만, 경사도가 7퍼센트 이하인 경우로서 시장ㆍ군수 또는 구청장이 안전에 지장이 없다고 인정하는 경우에는 그러하지 아니하다.
 
//주차장법 시행규칙 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
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
83  
 
61639 
 
주차장법 시행규칙 제 6조 4 항 
 
 
 
 
④노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적의 20퍼센트를 초과하여서는 아니 된다. <개정 1992.9.5, 1996.6.29, 2009.6.30>
 
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항
Check(ERPA_6_4){
	IF !CS THEN KS
}
CS{
	TFA = getFloorArea(ParkingLot)
	getTotalObjectArea(	ParkingLotSubsidiaryFacility) > TFA*0.2
}
KS{
	ParkingLot myParkingLot{
		isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
	}
	SubsidiaryFacility mySubsidiaryFacility{
		getResult(  ERPA_4_1) = TRUE
		OR getResult(  ERPA_4_2) = TRUE
		OR getResult(  ERPA_4_3) = TRUE
	}
	hasSpace(myParkingLot, mySubsidiaryFacility) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
84  
 
61643 
 
주차장법 시행규칙 제 6조 4 항 4호 
 
 
 
 
4. 특별자치도ㆍ시ㆍ군 또는 자치구(이하 "시ㆍ군 또는 구"라 한다)의 조례로 정하는 이용자 편의시설
 
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항 4호
Check(ERPA_6_4_4){
	KS
}
KS{
   getResult(  Unimplemented_LGMO)
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
85  
 
61644 
 
주차장법 시행규칙 제 6조 5 항 
 
 
 
 
⑤법 제20조제2항 또는 제3항의 규정에 의한 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적중 부대시설이 차지하는 비율에 대하여는 제4항의 규정에 불구하고 특별시ㆍ광역시ㆍ시ㆍ군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총 시설면적의 40퍼센트를 초과할 수 없다. <신설 1996.6.29, 2004.7.1>
 
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 5항
Check(ERPA_6_5){
	IF CS THEN KS
}
CS{
	ParkingLot myParkingLot{
		isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
		getResult(  PLA_20_2) = TRUE
		OR getResult(  PLA_20_3) = TRUE
	}
	hasSpace(myParkingLot,SubsidiaryFacility) = TRUE
	getTotalFloorArea(myParkingLot.facilityArea)
}
KS{
	getFloorArea(ParkingLotSubsidiaryFacility) <= getTotalObjectArea(ParkingLot)*0.4
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
86  
 
61645 
 
주차장법 시행규칙 제 6조 6 항 
 
 
 
 
⑥시장ㆍ군수 또는 구청장이 노외주차장내에 국토의계획및이용에관한법률 제2조제7호의 도시계획시설을 부대시설로서 중복하여 설치하고자 하는 경우에는 노외주차장외의 용도로 사용하고자 하는 도시계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총 시설면적의 40퍼센트를 초과할 수 없다. <신설 2004.7.1>
 
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 6항
Check(ERPA_6_6){
	IF CS THEN KS
}
ParkingLot myParkingLot{
	isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
}
Building myBuilding{
Building.usage = "UrbanGunPlanningFacility"
getResult(  LPUA_2_0_7) = TRUE
hasSpace(myParkingLot, Building) = TRUE
getSpaceUsage(Building) = getSpaceUsage(SubsidiaryFacility)
}
Building myBuilding1{
Building.usage = "UrbanGunPlanningFacility"
}
CS{
	getObjectNumber(myBuilding) >= 2
}
KS{
	(getFloorArea(myBuilding1)- getFloorArea(myBuilding)) <= (getTotalObjectArea(ParkingLot) + getTotalObjectArea(SubsidiaryFacility))*0.4
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
87  
 
71941 
 
주차장법 시행규칙 제 16조의2조 1 항 1호 
 
 
 
 
1. 기계식주차장치 출입구의 앞면에는 다음 각 목에 따라 자동차의 회전을 위한 공지(空地)(이하 "전면공지"라 한다) 또는 자동차의 방향을 전환하기 위한 기계장치(이하 "방향전환장치"라 한다)를 설치하여야 한다.
 
//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 1호
Check(ERPA_16-2_0_1){
   
  KS
}
KS{
  isExist(FrontageSpace, MechanicalParkingEquipment.Opening.FrontSurface)=True
  isExist(DirectionSwitchingEquipment, MechanicalParkingEquipment.Opening.FrontSurface)=True
  getResult(  ERPA_16-2_0_1_가)=True
   getResult(  ERPA_16-2_0_1_나)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
88  
 
71943 
 
주차장법 시행규칙 제 16조의2조 1 항 2호 
 
 
 
 
2. 기계식주차장치의 내부에 방향전환장치를 설치한 경우와 2층 이상으로 주차구획이 배치되어 있고 출입구가 있는 층의 모든 주차구획을 기계식주차장치 출입구로 사용할 수 있는 기계식주차장의 경우에는 제1호에도 불구하고 제6조제1항제3호 또는 제11조제5항제2호를 준용한다.
 
//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 2호
Check(ERPA_16-2_0_2){
   IF CS THEN KS      
}
CS{
   hasObject(MechanicalParkingEquipment,DirectionSwitchingEquipment)=True
   OR 
   //2츠이상으로 주차구획이 배치되어 있고 
   // 출입구가 있는 층의 모든 주차구획을 기계식주차장치 출입구로 사용할 수 있는
   getSpaceUsage()="MechanicalParking"
}
KS{
   getResult(  ERPA_6_1_3)=True
   OR getResult(  ERPA_11_5_2)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
89  
 
71944 
 
주차장법 시행규칙 제 16조의2조 1 항 3호 
 
 
 
 
3. 기계식주차장에는 도로에서 기계식주차장치 출입구까지의 차로(이하 "진입로"라 한다) 또는 전면공지와 접하는 장소에 자동차가 대기할 수 있는 장소(이하 "정류장"이라 한다)를 설치하여야 한다. 이 경우 주차대수 20대를 초과하는 20대마다 한 대분의 정류장을 확보하여야 하며, 정류장의 규모는 다음 각 목과 같다. 다만, 주차장의 출구와 입구가 따로 설치되어 있거나 진입로의 너비가 6미터 이상인 경우에는 종단경사도가 6퍼센트 이하인 진입로의 길이 6미터
 
//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 3호
Check(ERPA_16-2_0_3){
       IF CS THEN KS 
}
CS{
   getSpaceUsage()="MechanicalParking"
}
KS{
   Space mySpace{
       isAdjacent(FrontageSpace,Space)=True
   }
   
   isExist(ApproachRoad)=True
   isExist(mySpace)=True
   IF(// 주차장의 출구와 입구가 따로 설치되어 있거나
   OR "진입로".width>6 m) THEN
   //종단경사도가 6퍼센트 이하인 진입로의 길이 6미터마다 
한 대분의 정류장을 확보한 것으로 본다.
   ELSE THEN
   //주차대수 20대를 초과하는 20대마다 한 대분의 정류장을 확보하여야 하며
   getResult(  ERPA_16-2_0_3_가)=True
   getResult(  ERPA_16-2_0_3_나)=True
  END IF
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
90  
 
20003 
 
주차장법 시행령 제 별표1조 
 
 
 
 
부설주차장의 설치대상 시설물 종류 및 설치기준(제6조제1항 관련)
(시설물
:설치기준)
1. 위락시설
:○ 시설면적 100㎡당 1대(시설면적/100㎡)
2. 문화 및 집회시설(관람장은 제외한다), 종교시설, 판매시설, 운수시설, 의료시설(정신병원·요양병원 및 격리병원은 제외한다), 운동시설(골프장·골프연습장 및 옥외수영장은 제외한다), 업무시설(외국공관 및 오피스텔은 제외한다), 방송통신시설 중 방송국, 장례식장
:○ 시설면적 150㎡당 1대(시설면적/
 
//주차장법 시행령 별표1 부설주차장의 설치대상 시설물 종류 및 설치기준
Check(EDPA_*_1_1){
IF CS THEN KS
}
Space mySpace1{
getBuildingUsage()=” AmusementFacility”
myTotalFloorArea = getTotalFloorArea(mySpace1)
CS{
isExist(mySpace1)=TRUE
} 
KS{
ParkingLot.numberOfParkingUnit<=myTotalFloorArea/100
}
Check(EDPA_*_1_2){
IF CS THEN KS
}
Space mySpace2{
(getBuildingUsage()= “CulturalAndAssemblyFacility”
AND getBuildingUsage() !=” Auditorium”)
OR (getBuildingUsage() = “ReligiousFacility | CommercialFacility | TransportationFacilit”
OR getBuildingUsage() = ”MedicalFacility”
AND getBuildingUsage() != “MentalHospital | ConvalescentHospital | DetentionHoispital”)
OR (getBuildingUsage() = “SportsFacility” 
AND getBuildingUsage() != “GolfCourse | GolfDrivingRange | OurdoorSwimmingPool”)
OR (getBuildingUsage()= “BusinessFacility”
AND getBuildingUsage() != “ForeignOfficialResidence | Officetels” )
}
myTotalFloorArea2 = getTotalFloorArea(mySpace2)
}
CS{
isExist(mySpace2)=TRUE
} 
KS{
ParkingLot.numberOfParkingUnit<=myTotalFloorArea2/150
}
Check(EDPA_*_1_3){
IF CS THEN KS
}
Space mySpace3{
 ((getBuildingUsage ()=” ClassINeighborhoodLivingFacility”
AND getSpaceUsage != “PublicToilet | Shelter | CommunityChildCenter”)
OR getBuildingUsage ()=”ClassIINeighborhoodLivingFacility”
OR getBuildingUsage ()=”LodgingFacility”)
}
myTotalFloorArea3 = getTotalFloorArea(mySpace3)
}
CS{
isExist(mySpace3)=TRUE
} 
KS{
ParkingLot.numberOfParkingUnit<=myTotalFloorArea3/200
}
Check(EDPA_*_1_4){
IF CS1 THEN KS1 OR CS2 THEN KS2
}
Space mySpace1{
getBuildingUsage ()=” DetachedHouse”
}
myTotalFloorArea = getTotalFloorArea(mySpace1)
}
CS1{
myTotalFloorArea>50 
AND myTotalFloorArea<=150
}
KS1{
isObjectProperty(parkingLot.numberofParkingUnit)=1
}
CS2{
myTotalFloorArea>150 
}
KS2{
(myTotalFloorArea-150)/100+1=ParkingLot.numberofParkingUnit
}
Check(EDPA_*_1_7){
IF CS THEN KS
}
Space mySpace7{
getBuildingUsage ()=”Trainingfacility” 
getBuildingUsage ()=”Factory”
getBuildingUsage () != ”AptartmentTypeFactory”
}
myTotalFloorArea7 = getTotalFloorArea(myspace7)
CS{
isExist(mySpace7)=TRUE
} 
KS{
ParkingLot.numberOfParkingUnit<=myTotalFloorArea7/400
}
Check(EDPA_*_1_8){
IF CS THEN KS
}
Space mySpace8{
getBuildingUsage ()= “Warehouse”
}
myTotalFloorArea8 = getTotalFloorArea(mySpace8)
}
CS{
isExist(mySpace8)=TRUE
} 
KS{
ParkingLot.numberOfParkingUnit<=myTotalFloorArea8/400
}
Check(EDPA_*_1_9){
IF CS THEN KS
}
Space mySpace9{
getBuildingUsage ()= “DormitoryForStudents”
}
myTotalFloorArea9 = getTotalFloorArea(myspace9)
CS{
isExist(mySpace9)=TRUE
} 
KS{
ParkingLot.numberOfParkingUnit<=myTotalFloorArea9/400
}
Check(EDPA_*_1_10){
IF CS THEN KS
}
Space mySpace10 { 
getObject(Space) != myspace1 | myspace2 | myspace3 | myspace4 | myspace5 | myspace6 | myspace7 | myspace8 | myspace9 |
}
myTotalFloorArea10 = getTotalFloorArea(mySpace10)
}
CS{
isExist(mySpace9)=TRUE
} 
KS{
ParkingLot.numberOfParkingUnit<=myTotalFloorArea10/300
}
Check(EDPA_*_1_0_1){
IF CS THEN KS
}
CS{
getResult(  EDPA_*_1_0_1_가)= TRUE
OR getResult(  EDPA_*_1_0_1_나)= TRUE
OR getResult(  EDPA_*_1_0_1_다)= TRUE
OR getResult(  EDPA_*_1_0_1_라)= TRUE
OR getResult(  EDPA_*_1_0_1_마)= TRUE
OR getResult(  EDPA_*_1_0_1_바)= TRUE
OR getResult(  EDPA_*_1_0_1_사)= TRUE
}
KS{
isExist(ParkingLot.isAttachedParking)=FALSE
}
Check(EDPA_*_1_0_1_가){
KS
}
isExist(ClassINeighborhoodLivingFacility.Substation)=TRUE
OR isExist(ClassINeighborhoodLivingFacility.PumpingStation)=TRUE
OR isExist(ClassINeighborhoodLivingFacility.PurificationPlant)=TRUE
OR isExist(ClassINeighborhoodLivingFacility.Shelter)=TRUE
OR isExist(ClassINeighborhoodLivingFacility.PublicToilet)=TRUE
Check(EDPA_*_1_0_1_나){
KS
}
isExist(ReligiousFacility.Monastery)=TRUE
OR isExist(ReligiousFacility.Convent)=TRUE
OR isExist(ReligiousFacility.Chapel)=TRUE
OR isExist(ReligiousFacility.Shrine)=TRUE
Check(EDPA_*_1_0_1_다){
KS
}
isExist(getBuildingUsage()=”FacilityForAnimalAndPlant”)=TRUE
AND isExist(getBuildingUsage()=”SlaughterHouse”)=FALSE
AND isExist(getBuildingUsage()=”ChickenSlaughterHouse”)=FALSE
Check(EDPA_*_1_0_1_라){
KS
}
isExist(FacilityForBroadcastingAndTelecommunication.TransmitAndReceptionAndTransitFacility)=TRUE
Check(EDPA_*_1_0_1_마){
KS
}
getObjectProperty(Building.isExclusiveUseOfParkingLot) = FALSE
(getBuildingUsage() != "CommercialFacility.DepartmentStore" OR "CommercialFacility.ShoppingCenter" OR  "LargeStore"
OR getBuildingUsage() != "CulturalAndAssemblyFacility.MovieTheater" OR  "CulturalAndAssemblyFacility.ExhibitionHall" OR "CulturalAndAssemblyFacility.WeddingHall"
Check(EDPA_*_1_0_1_바){
KS
}
getBuildingUsage()= “Station”
Check(EDPA_*_1_0_1_사){
KS
}
getResult(  EDBA_6_1_4)=TRUE
Check(EDPA_*_1_0_4){
KS
}
Space mySpace{
getBuildingUsage()= “DetachedHouse”
getBuildingUsage() !=”Multi-familyHouses”
}
getTotalArea(mySpace)<=50m2
getTotalArea(mySpace)/100 = ParkingLot.numberOfParkingUnit 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
91  
 
61910 
 
주차장법 시행령 제 6조 1 항 
 
 
 
 
①법 제19조제3항에 따라 부설주차장을 설치하여야 할 시설물의 종류와 부설주차장의 설치기준은 별표 1과 같다. 다만, 다음 각 호의 경우에는 특별시·광역시·특별자치도·시 또는 군(광역시의 군은 제외한다. 이하 이 조에서 같다)의 조례로 시설물의 종류를 세분하거나 부설주차장의 설치기준을 따로 정할 수 있다. <개정 1996.6.4, 2004.2.9, 2005.7.27, 2008.7.31, 2009.7.7>
 
//주차장법 시행령 6조 (부설주차장의 설치) 1항
Check(ERPA_6_1){
IF !CS THEN KS
}
CS{
getResult(  ERPA_6_1_1)=TRUE
OR getResult(  ERPA_6_1_2)=TRUE
OR getResult(  ERPA_6_1_3)=TRUE
OR getResult(  ERPA_6_1_4)=TRUE
OR getResult(  ERPA_6_1_5)=TRUE
OR getResult(  ERPA_6_1_6)=TRUE
}
KS{ 
getResult(  ERPA_*_1)=TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
92  
 
62347 
 
주택건설기준 등에 관한 규정 제 15조 1 항 
 
 
 
 
①6층 이상인 공동주택에는 국토교통부령이 정하는 기준에 따라 대당 6인승 이상인 승용승강기를 설치하여야 한다. 다만, 「건축법 시행령」 제89조의 규정에 해당하는 공동주택의 경우에는 그러하지 아니하다. <개정 1992.5.30, 1994.12.23, 1994.12.30, 1999.9.29, 2005.6.30, 2008.2.29, 2013.3.23>
 
//주택건설기준 등에 관한 규정 15조 (승강기등) 1항
Check(RHC_15_1){
	getResult(  RHC_15_5) = TRUE AND IF (CS1 AND !CS2) THEN KS
}
CS1{
	getBuildingUsage() = "MultiUnitHouse"
	getBuildingStoriesCount() >= 6
}
CS2{
	getBuildingStoriesCount = 6
	
	Stair myStair{
		isObjectProperty(Stair.isDirect) = TRUE
	}
	getFloorArea() = FA
	FA / 300 = FA2
	getIntegeralNumber(FA2) = FA3
	getObjectCount(myStair) >= FA3
}
KS{
	Elevator myElevator{
		getObjectProperty(Elevator.occupancy) >= 6
	}
	isExist(myElevator) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
93  
 
62354 
 
주택건설기준 등에 관한 규정 제 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
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
94  
 
62814 
 
주택건설기준 등에 관한 규정 제 15조 3 항 
 
 
 
 
③10층 이상인 공동주택에는 이사짐등을 운반할 수 있는 다음 각호의 기준에 적합한 화물용승강기를 설치하여야 한다. <개정 1993.9.27, 2001.4.30, 2016.12.30>
 
//주택건설기준 등에 관한 규정 15조 (승강기등) 3항
Check(RHC_15_3){
	getResult(  RHC_15_5) = TRUE AND IF CS THEN KS
}
CS{
	getBuildingUsage() = "MultiUnitHouse"
	getBuildingStoriesCount() >= 7
}
KS{
	getResult(  RHC_15_3_1) = TRUE
	getResult(  RHC_15_3_2) = TRUE
	getResult(  RHC_15_3_3) = TRUE
	getResult(  RHC_15_3_4) = TRUE
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
95  
 
62820 
 
주택건설기준 등에 관한 규정 제 15조 5 항 
 
 
 
 
⑤「건축법」 제64조는 제1항 내지 제3항의 규정에 의한 승용승강기ㆍ비상용승강기 및 화물용승강기의 구조 및 그 승강장의 구조에 관하여 이를 준용한다. <개정 1992.5.30, 2005.6.30, 2008.10.29>
 
//주택건설기준 등에 관한 규정 15조 (승강기등) 5항
Check(RHC_15_5){
     KS
}
KS{
	getResult(  RHC_15_1) = TRUE
	getResult(  RHC_15_2) = TRUE
	getResult(  RHC_15_3) = TRUE
}
 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
96  
 
62907 
 
주택건설기준 등에 관한 규정 제 11조 
 
 
 
 
제11조(지하층의 활용) 공동주택을 건설하는 주택단지에 설치하는 지하층은 「주택법 시행령」 제7조제1호 및 제2호에 따른 근린생활시설(이하 "근린생활시설"이라 한다. 다만, 이 조에서는 변전소ㆍ정수장 및 양수장을 제외하되, 변전소의 경우 「전기사업법」 제2조제2호에 따른 전기사업자가 자신의 소유 토지에 「전원개발촉진법 시행령」 제3조제1호에 따른 시설의 설치ㆍ운영에 종사하는 자를 위하여 건설하는 공동주택 및 주택과 주택 외의 건축물을 동일건축물에 복합하여 건설하는 경우로서 사업계획승인권자가 주거안정에 지장이 없다고 인정하는 건축물의 변전소는 포함한다)ㆍ주차장ㆍ주민공동시설 및 주택(사업계획승인권자가 해당 주택의 주거환경에 지장이 없다고 인정하는 경우로서 1층 세대의 주거전용부분으로 사용되는 구조만 해당한다) 그 밖에 관계 법령에 따라 허용되는 용도로 사용할 수 있으며, 그 구조 및 설비는 「건축법」제53조에 따른 기준에 적합하여야 한다. <개정 2005.6.30, 2006.1.6, 2008.10.29, 2009.10.19, 2013.6.17, 2017.10.17>
 
//주택건설기준 등에 관한 규정 11조 (지하층의 활용) 
Check(RHC_11){
     IF CS THEN KS
}
CS{
   
   getBuildingUsage()="	MultiUnitHouse"
   getFloorNumber(Space)<0
}
KS{
    getResult(  BA_53)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
97  
 
20011 
 
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 14조 1호 
 
 
 
 
1. 수직풍도는 내화구조로 하되 「건축물의 피난·방화구조 등의 기준에 관한 규칙」제3조제1호 또는 제2호의 기준 이상의 성능으로 할 것<개정 2013.9.3>
 
//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 14조 (수직풍도에 따른 배출) 1호
Check(NFSC501A_14_0_1){
        KS
}
KS{
  Duct myDuct{
    isObjectProperty(Duct.isVerticalDuct)=TRUE
  }
  isFireResistantStructure(myDuct)=True
  getResult(  REFB_3_0_1)=True
  OR getResult(  REFB_3_0_2)=True
  
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
98  
 
20012 
 
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 14조 3호 
 
 
 
 
3. 각층의 옥내와 면하는 수직풍도의 관통부에는 다음 각목의 기준에 적합한 댐퍼 (이하 "배출댐퍼"라 한다)를 설치하여야 한다.
 
//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 14조 (수직풍도에 따른 배출) 3호 
Check(NFSC501A_14_0_3){
        KS
}
KS{
      Duct myDuct{
    isObjectProperty(Duct.isVerticalDuct)=TRUE
          isExternal(Duct)=False
      }
      isInstalled(Damper, myDuct.PenetrationPart)=True 
      getResult(  NFSC501A_14_0_3_가)=True
      getResult(  NFSC501A_14_0_3_사)=True
      getResult(  NFSC501A_14_0_3_아)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
99  
 
20016 
 
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 15조 
 
 
 
 
제15조(배출구에 따른 배출) 배출구에 따른 배출은 다음 각 호의 기준에 적합하여야 한다.
 
//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 15조 (배출구에 따른 배출)
Check(NFSC_15){
       KS
}
KS{
     getResult(  NFSC_15_0_1)=True
       getResult(  NFSC_15_0_2)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify 
 
 
 
 
100  
 
20017 
 
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 15조 1호 
 
 
 
 
1. 배출구에는 다음 각 목의 기준에 적합한 장치(이하 "개폐기"라 한다)를 설치할 것
 
//특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 15조 (배출구에 따른 배출) 1호
Check(NFSC_15_0_1){
       KS
}
KS{
       getResult(  NFSC_15_0_1_다)=True
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
 
 
	Modify