1  
72577 
 
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 6 항 2호 
 
 
//  간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 6항 2호
Check(NFSC103A_8_6_2){
	KS
}
KS{
	Pipe myPipe{
		isObjectProperty(Pipe.isForTest) = TRUE
	}
	
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
2  
24886 
 
건축물의 구조기준 등에 관한 규칙 제 25조 3 항 
 
 
//건축물의 구조기준 등에 관한 규칙 25조 (가새) 3항
Check(RSSB_25_3){
        KS
}
KS{
	isObjectProperty(HorizontalMember.isStructuralMember) = TRUE
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
3  
19386 
 
건축물의 설비기준 등에 관한 규칙 제 10조 3호 나 목
 
 
//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 3호 나목
Check(RFB_10_0_3_나){
	KS
}
KS{
	Floor myFloor{
		isObjectProperty(Floor.isEscape)=TRUE
	}
ElevatorShaft myElevatorShaft1{
	hasObject(Floor,ElevatorShaft)=TRUE
}
ElevatorShaft myElevatorShaft2{
	hasObject(myFloor,ElevatorShaft)=TRUE	
}
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
4  
25140 
 
건축물의 설비기준 등에 관한 규칙 제 14조 2 항 1호 
 
 
//건축물의 설비기준 등에 관한 규칙 14조 (배연설비) 2항1호
Check(RFB_14_2_1){
Duct myDuct{
getObjectProperty(Duct.functionType) = "Exhaust"
}
	isObjectProperty(SmokeExhaustionOpening.Material.nonCombustibility) = TRUE
	isObjectProperty(myDuct.Material.nonCombustibility) = TRUE
	(isConnectedToExternal(SmokeExhaustionOpening) = TRUE
        isConnectedToExternal(myDuct) = TRUE)
	OR( isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
5  
72691 
 
건축물의 에너지절약설계기준 제 5조 5호 
 
 
//	옥내소화전설비의 화재안전기준(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(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
6  
72692 
 
건축물의 에너지절약설계기준 제 5조 6호 
 
 
//  옥내소화전설비의 화재안전기준(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(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
7  
72699 
 
건축물의 에너지절약설계기준 제 5조 9호 너 목
 
 
//  옥내소화전설비의 화재안전기준(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( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
8  
72712 
 
건축물의 에너지절약설계기준 제 5조 9호 파 목
 
 
//  스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 2호
Check(NFSC103_4_5_2){
	KS
}
Pipe myPipe{
	isObjectProperty(Pipe.isRiser) = TRUE
	isInstalled(Pipe, SprinklerSystem) = TRUE
}
Tank myTank{
	getObjectProperty(Tank.operationType) = "ElevatedWaterTank"
}
WaterSupplyOpening myWaterSupplyOpening{
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
9  
72759 
 
건축물의 에너지절약설계기준 제 7조 2호 나 목
 
 
//스프링클러설비의 화재안전기준(nfsc 103) 11조 (송수구) 2호
Check(NFSC103_11_0_2){
	IF CS THEN KS
}
CS{
	Port myPort{
	isObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
	}
	Pipe myPipe{
	isObjectProperty(Pipe.isRiser)=TRUE
	}
	Valve myValve{
	isObjectProperty(Valve.isShutoffValve)=TRUE
	}
	isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
10  
72777 
 
건축물의 에너지절약설계기준 제 7조 5호 라 목
 
 
//	스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 5호 나목
Check(NFSC103_15_1_5_2){
	KS
}
KS{
	Wall myWall{
		isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
11  
72794 
 
건축물의 에너지절약설계기준 제 9조 2호 나 목
 
 
// 간이스프링클러설비의 화재안전기준(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( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
12  
72840 
 
건축물의 에너지절약설계기준 제 11조 3호 가 목
 
 
//간이스프링클러설비의 화재안전기준(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(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
13  
72849 
 
건축물의 에너지절약설계기준 제 11조 4호 라 목
 
 
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 10항
Check(NFSC503A_8_10){
	IF CS THEN KS
}
	Pipe myPipe1{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Head myHead{
	isObjectProperty(Head.installationDirectionType) = "TopDownType"
	}
CS{
	isInstalled(myHead, myPipe1) = TRUE
}
KS{
	Pipe mypipe2{
	isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
14  
72853 
 
건축물의 에너지절약설계기준 제 13조 
 
 
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항 2호 가목
Check(NFSC503A_8_11_2_가){
	KS
}
KS{
	Pipe myPipe{
	isObjectProperty(Pipe.usage) = "WaterDrainPipe"
	isObjectProperty(Pipe.isRiser) = TRUE
	}
	Valve myValve{
	isObjectProperty(Valve.isShutoffValve) = TRUE
	}
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
15  
72856 
 
건축물의 에너지절약설계기준 제 15조 2 항 
 
 
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 1호
Check(NFSC503A_8_12_1){
	KS
}
KS{
	Pipe myPipe{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	isFarthestDistance(WaterflowIndicator, Pipe) = TRUE
	}
	isInstalled(TestingDevice, myPipe.End) = TRUE
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
16  
72903 
 
건축물의 에너지절약설계기준 제 별표5조 
 
 
자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 7호 라목
Check(NFSC203_7_3_7_라){
	KS
}
KS{
	Pipe myPipe{
	isObjectProperty(Pipe.isForAir) = TRUE
	}
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
17  
72908 
 
건축물의 에너지절약설계기준 제 서식1조 
 
 
자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 8호 나목
Check(NFSC203_7_3_8_나){
	KS
}
KS{
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
18  
11463 
 
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 19조 3 항 
 
 
check(REFB_19_1){
     KS
}
KS{
Wall myWall{
   isObjectProperty(Wall.isPartitionWall) = TRUE
}
Floor myFloor{
hasObject(Floor, myWall)
}
   isFireResistantStructure(myWall)=TRUE
(isConnectedTo(  
 
 
 
def Check():
    for building in SELECT('building'):
        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()
        space_codes = []
        
        if bldg_use == '단독주택' and sub_use == '다가구주택':
            space_codes = ['가구'] #가구
        elif (bldg_use == '공동주택' and sub_use != '기숙사') or (bldg_use == '노유자시설' and sub_use == '노인복지주택'):
            space_codes = ['33237'] #세대
        elif bldg_use == '공동주택' and sub_use == '기숙사':
            space_codes = ['33230'] #침실
        elif bldg_use == '의료시설':
            space_codes = ['34310'] #병실
        elif bldg_use == '교육연구시설' and sub_use == '학교':
            space_codes = ['34404', '34409']    #교실
        elif bldg_use == '숙박시설':
            space_codes = ['33201'] #객실
        elif (bldg_use == '제2종 근린생활시설' and sub_use == '다중생활시설') or (bldg_use == '노유자시설' and sub_use == '노인요양시설'):
            space_codes = ['호실'] #호실
        else:
            return
        for storey in building.SELECT('storey'):
            walls_list = []
            for space in storey.SELECT('space'):
                code = space.SELECT('class code').STRING()
                if code in space_codes:
                    walls_list.append(space.SELECT('wall'))
            
            n = len(walls_list)
            for i, walls in enumerate(walls_list):
                if i == n-1:
                    break
                for j, walls2 in enumerate(walls_list):
                    if i >= j:
                        continue
                    for wall in walls:
                        if wall.SELECT('isexterior').BOOL():
                            continue
                        id = wall.SELECT('element id').STRING()
                        for wall2 in walls2:
                            if wall2.SELECT('isexterior').BOOL():
                                continue
                            id2 = wall2.SELECT('element id').STRING()
                            if id == id2:
                                if wall.SELECT('prop', '경계벽').BOOL() == False:
                                    wall.ERROR('해당 벽은 경계벽이어야 합니다.')
                                else:
                                    if wall.SELECT('prop', '내화구조').BOOL() == False:
                                        wall.ERROR('경계벽은 내화구조이어야 합니다.')
                                    else:
                                        if wall.SELECT('top touched').BOOL():
                                            wall.SUCCESS('경계벽 조건에 부합합니다.')
                                        else:
                                            wall.ERROR('경계벽 상단이 슬라브와 닿지 않습니다.')
                                break 
 
 
 
 
 
 
	Modify 
 
 
 
19  
19602 
 
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 1호 나 목
 
 
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 1호 나목
check(REFB_30_0_1_나){
      KS
}
KS{
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
20  
19608 
 
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 30조 2호 나 목
 
 
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 30조 (피난용승강기의 설치기준) 2호 나목
Check(REFB_30_0_2_나){
      KS
}
KS{
   Floor myFloor{
     isObjectProperty(Floor.isEscape)=True
   }
   
ElevatorShaft myElevatorShaft1{
	hasObject(Floor,ElevatorShaft)=TRUE
}
ElevatorShaft myElevatorShaft2{
	hasObject(myFloor,ElevatorShaft)=TRUE	
isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
21  
25175 
 
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조 1 항 
 
 
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조 (직통계단의 설치기준) 1항
Check(REFB_8_1){
        Stair myStair{
             isObjectProperty(Stair.isDirect)=TRUE  
        }
        Passage myPassage{
             isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
22  
25194 
 
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 라 목
 
 
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 라목
check(REFB_9_2_1_4){
IF (CS1 AND CS2) THEN KS
}
CS1 {
Opening myOpening1{
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
23  
25307 
 
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 19조 1 항 
 
 
check(REFB_19_1){
     KS
}
KS{
Wall myWall{
   isObjectProperty(Wall.isPartitionWall) = TRUE
}
Floor myFloor{
hasObject(Floor, myWall)
}
   isFireResistantStructure(myWall)=TRUE
(isConnectedTo(  
 
 
 
def Check():
    for building in SELECT('building'):
        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()
        space_codes = []
        
        if bldg_use == '단독주택' and sub_use == '다가구주택':
            space_codes = ['가구'] #가구
        elif (bldg_use == '공동주택' and sub_use != '기숙사') or (bldg_use == '노유자시설' and sub_use == '노인복지주택'):
            space_codes = ['33237'] #세대
        elif bldg_use == '공동주택' and sub_use == '기숙사':
            space_codes = ['33230'] #침실
        elif bldg_use == '의료시설':
            space_codes = ['34310'] #병실
        elif bldg_use == '교육연구시설' and sub_use == '학교':
            space_codes = ['34404', '34409']    #교실
        elif bldg_use == '숙박시설':
            space_codes = ['33201'] #객실
        elif (bldg_use == '제2종 근린생활시설' and sub_use == '다중생활시설') or (bldg_use == '노유자시설' and sub_use == '노인요양시설'):
            space_codes = ['호실'] #호실
        else:
            return
        for storey in building.SELECT('storey'):
            walls_list = []
            for space in storey.SELECT('space'):
                code = space.SELECT('class code').STRING()
                if code in space_codes:
                    walls_list.append(space.SELECT('wall'))
            
            n = len(walls_list)
            for i, walls in enumerate(walls_list):
                if i == n-1:
                    break
                for j, walls2 in enumerate(walls_list):
                    if i >= j:
                        continue
                    for wall in walls:
                        if wall.SELECT('isexterior').BOOL():
                            continue
                        id = wall.SELECT('element id').STRING()
                        for wall2 in walls2:
                            if wall2.SELECT('isexterior').BOOL():
                                continue
                            id2 = wall2.SELECT('element id').STRING()
                            if id == id2:
                                if wall.SELECT('prop', '경계벽').BOOL() == False:
                                    wall.ERROR('해당 벽은 경계벽이어야 합니다.')
                                else:
                                    if wall.SELECT('prop', '내화구조').BOOL() == False:
                                        wall.ERROR('경계벽은 내화구조이어야 합니다.')
                                    else:
                                        if wall.SELECT('top touched').BOOL():
                                            wall.SUCCESS('경계벽 조건에 부합합니다.')
                                        else:
                                            wall.ERROR('경계벽 상단이 슬라브와 닿지 않습니다.')
                                break 
 
 
 
 
 
 
	Modify 
 
 
 
24  
25346 
 
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 25조 2 항 4호 
 
 
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 25조 (지하층의 구조) 2항 4호
check(REFB_25_2_4){
	IF CS THEN KS
}
CS{
Door myDoor{
Door.functionType = "Emergency"
Door.Floor.number < 0
}
Floor myFloor{
Floor.number < 0 
}
	getObjectVerticalDistance(myFloor, myDoor) >= 1.2 m
}
KS{
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
25  
19915 
 
연결살수설비의 화재안전기준(NFSC 503) 제 4조 1 항 5호 
 
 
//  연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항 5호
Check(NFSC503_4_1_5){
 IF !CS THEN KS 
}
CS{
Pipe myPipe1{
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem"
}
Pipe myPipe2{
getObjectProperty(Port.systemType) = "SprinklerSystem"
}
Pipe myPipe3{
getObjectProperty(Port.systemType) = "WaterSprayExtingushingSystem"
}
Pipe myPipe4{
getObjectProperty(Port.systemType) = "FoamExtinguishingSystem"
}
Pipe myPipe5{
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem"
}
Pipe myPipe6{
getObjectProperty(Port.systemType) = "FireDepartmentConnectionSystem"
}
	isShared(myPipe1, myPipe2, myPipe3, myPipe4) = TRUE
	OR isShared(myPipe5, myPipe6) = TRUE
}
KS{
	Port myPort{ 
getObjectProperty(Port.systemType) = "HookingUpSprinklerSystem"
	getObjectProperty(Port.typeForWater) = "FireDepartmentConnection" 
 	}
 	Pipe myPipe{
	isObjectProperty(Pipe.isRiser)=TRUE
	}
	Vavle myValve{
	isObjectProperty(Valve.isShutoffValve)= TRUE
	}
 	isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
26  
19927 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 3 항 
 
 
//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 3항
Check(NFSC503_5_3){
	IF CS THEN KS
}
	Head myHead{
	isObjectProperty(Head.openAndCloseType) = "EnclosedType"
	}
	Pipe myPipe1{
	isObjectProperty(Pipe.isRiser) = TRUE
	isObjectProperty(myPipe.systemType) = "HookingUpSprinklerSystem"
	}
CS{
	isInstalled(myHead, myPipe1) = TRUE
}
KS{
	Pipe myPipe2{
	isObjectProperty(Pipe.isRiser) = TRUE
	isObjectProperty(myPipe.systemType) = "IndoorFireHydrantSystem"
	}
	Tank myTank{
	isInstalled(Tank, Rooftop) = TRUE
	}
	Pipe myPipe3{
	Pipe.isForWater = TRUE
	연결살수설비가 설치된 건축물 안에 설치된 수도배관 중 구경이 가장 큰 배관
	}
	Valve myValve{
	isObjectProperty(Valve.isCheckValve) = TRUE
	}
	(isConnectedTo( isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
27  
19929 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 4 항 1호 
 
 
//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 4항
Check(NFSC503_5_4_1){
	KS
}
KS{
	Pipe myPipe1{
	isObjectProperty(Pipe.isForTest) = TRUE
	}
	Port myPort{
	getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
	}
	Pipe myPipe2{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	isFarthestDistance(myPort, Pipe) = TRUE
	}
	isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
28  
19937 
 
연결살수설비의 화재안전기준(NFSC 503) 제 5조 9 항 3호 
 
 
//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 3호
Check(NFSC503_5_9_3){
	IF CS THEN KS
}
	Head myHead1{
	isObjectProperty(Head.openAndCloseType) = "EnclosedType"
	}
	Head myHead2{
	isObjectProperty(myHead.installationDirectionType) = "TopDownType"
	}
CS{
	isObjectProperty(myHead1.systemType) = "HookingUpSprinklerSystem"
	isInstalled(myHead2, HookingUpSprinklerSystem) = TRUE
}
KS{
	Pipe myPipe1{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Pipe myPipe2{
	isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
29  
20463 
 
연결송수관설비의 화재안전기준(NFSC 502) 제 4조 4호 
 
 
//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 4호
Check(NFSC502_4_0_4){
      IF CS THEN KS 
}
CS{
    Pipe  myPipe1{
Pipe.systemType = "FireDepartmentConnectionSystem"
Pipe.isRiser = TRUE
}
    Pipe  myPipe2{
         isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
30  
20465 
 
연결송수관설비의 화재안전기준(NFSC 502) 제 4조 7호 
 
 
//연결송수관설비의 화재안전기준(NFSC 502) 4조 (송수구) 7호
Check(NFSC502_4_0_7){
    IF CS THEN KS1 ELSE KS2
}
CS{
Port myPort{
Port.typeForWater = "FireDepartmentConnection"
}
    Pipe myPipe{
Pipe.systemType = "FireDepartmentConnectionSystem"
         isObjectProperty(Pipe.isRiser)=True
   }
   Pipe myPipe2{
       isInstalled( myValve, Pipe)=False
   }
   
   Valve myValve{
      isObjectProperty(Valve.isShutOffValve)=True
   }
   
   isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
31  
20106 
 
연소방지설비의 화재안전기준(NFSC 506) 제 4조 6 항 3호 
 
 
//연소방지설비의 화재안전 기준(nfsc 506) 4조 (배관) 6항 3호
Check(NFSC506_4_6_3){
	IF CS THEN KS
}
CS{
	Pipe myPipe{
		hasObject(CombustionProtectionSystem, Pipe) = TRUE
		isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Head myHead{
		getObjectProperty(Head.installationDirectionType) = "TopDownType"
	}
	isInstalled(myPipe, myHead) = TRUE
}
KS{
	Pipe myPipe{
		hasObject(CombustionProtectionSystem, Pipe) = TRUE
		isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Head myHead{
		getObjectProperty(Head.installationDirectionType) = "TopDownType"
	}
	Pipe myPipe2{
		isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
32  
20109 
 
연소방지설비의 화재안전기준(NFSC 506) 제 4조 7 항 2호 
 
 
//  연소방지설비의 화재안전기준(nfsc 506) 4조 (배관) 7항 2호
Check(NFSC506_4_7_2){
	IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
	Pipe myPipe{
		isObjectProperty(Pipe.isBranchLines) = TRUE
		getObjectInterval(Pipe) <= 4.5m
	}
	Pipe myPipe2{
		isObjectProperty(Pipe.isCrossMains) = TRUE
	}
	isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
33  
20119 
 
연소방지설비의 화재안전기준(NFSC 506) 제 6조 6호 
 
 
//	연소방지설비의 화재안전기준(nfsc 506) 6조 (송수구) 6호
Check(NFSC506_6_0_6){
	KS
}
KS{
	Port myPort{
		getObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
	}
	Pipe myPipe2{
		isObjectProperty(Pipe.isRiser) = TRUE
	}
	Pipe myPipe{
		isConnectedTo( isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
34  
20440 
 
자동화재탐지설비 및 시각경보장치의 화재안전기준(NFSC 203) 제 7조 3 항 9호 나 목
 
 
자동화재탐지설비의 화재안전기준(nfsc 203) 7조 (감지기) 3항 9호 나목
Check(NFSC203_7_3_9_나){
	IF CS THEN KS
}
CS{
	isConnectedTO(Detector.One, SensingElement) = TRUE
}
KS{
	getObjectCount(SensingElement) >= 2
	getObjectCount(SensingElement) <= 15
} 
 
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify 
 
 
 
35  
20027 
 
특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(NFSC 501A) 제 19조 6호 
 
 
//  특별피난계단의 계단실 및 부속실 제연설비의 화재안전기준(nfsc 501a) 19조 (급기송풍기) 6호
Check(NFSC 501A){
	IF CS THEN KS
}
CS{ 
isConnectedTo(  
 
 
 
Python Code 변환 예정
 
 
 
 
 
	Modify