개방형BIM 기반의 건축설계 적법성 평가 자동화 기술 및 응용기술 개발
Development of OpenBIM based Architectural Design Code Checking and Evaluation Technology
  Welcome to BIM - 2nd Project Website - Yonsei University
PAGE MENU  
전체법규 - 법규데이터베이스
- 대한민국 전체 법규 목록
- 설계품질검토 대상 관련법규
- 관련법규 변동 현황
대상법규 - 문장 논리규칙체계화
- 조항단위 논리규칙체계
- 문장단위 논리규칙체계
주어부 - 객체.속성 데이터베이스
- 법규로부터의 객체.속성 분류
- 명칭DB: 객체 | 객체및속성
서술부 - 함수 데이터베이스
- 논리규칙화 함수 분류
- 논리규칙화 함수 DB
관계부 - 문장 내.외 관계논리
- 문장 내.외 관계유형분류
- 문장 내.외관계 논리체계화
문장단위 | 체크리스트 단위
KBimCode 데이터베이스
- KBimCode Lang. Definition
- KBimCode Editor:
전체 개발항목 단위
우선순위 개발항목 단위
- KBimCode DB 2단계:
문장단위 | 조항단위 |
분야/용도/단계 체크리스트 단위
- KBimLogic Applications
KBimAssess Code 데이터베이스
- Executable KBimAssess Code
- KBimCode-Assess 연동모듈
 
(2025-06-28 기준) 설계품질검토용 건축법 및 관련법규 - KBIMCode (문장단위)
    1      
1 / 1 page Total 2500 / 4000 records    신규입력
Select
ALL
None
#
ID
Law
Jo
JO Name
HANG
HO
MOK
Text
Search!
1
72714 건축물의 에너지절약설계기준 제 6조

제6조(건축부문의 의무사항) 제2조에 따른 열손실방지 조치 대상 건축물의 건축주와 설계자 등은 다음 각 호에서 정하는 건축부문의 설계기준을 따라야 한다.





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




Python Code 변환 예정



Modify
2
72717 건축물의 에너지절약설계기준 제 6조 1호 가 1) 목

1) 지표면 아래 2미터를 초과하여 위치한 지하 부위(공동주택의 거실 부위는 제외)로서 이중벽의 설치 등 하계 표면결로 방지 조치를 한 경우





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



Check(NFSC103_6_0_3){

    IF CS THEN KS1 ELSE KS2 

}



CS{

Building myBuilding{
Building.usage = "MultiUnitHouse"
}

     getObjectCount(Floor.One, SprinklerHead)<=10

     OR isObjectProperty(myBuilding.isDuplexType)=True

}



KS1{

     getObjectCount(SprinklerSystem.ProtectionZone.One.Floor )<=3

}



KS2{

   

 getObjectCount(SprinklerSystem.ProtectionZone.One.Floor )<2

} 




Python Code 변환 예정



Modify
3
72719 건축물의 에너지절약설계기준 제 6조 1호 가 3) 목

3) 외기에 간접 면하는 부위로서 당해 부위가 면한 비난방공간의 외피를 별표1에 준하여 단열조치하는 경우





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

     

} 




Python Code 변환 예정



Modify
4
72723 건축물의 에너지절약설계기준 제 6조 1호 다 목

다. 단열조치를 하여야 하는 부위에 대하여는 다음 각 호에서 정하는 방법에 따라 단열기준에 적합한지를 판단할 수 있다.





//스프링클러설비의 화재안전기준(NFSC 103) 7조 (개방형스프링클러설비의 방수구역 및 일제개방밸브) 3호



NFSC103_7_0_3{

      IF CS THEN KS1 ELSE KS2

}



CS{

 getObjectCount(myZone)>=2

}



KS1{

  getObjectCount(SprinklerSystem.Head, myZone.One)>=25

}



KS2{

 getObjectCount(SprinklerSystem.Head, myZone.One)<=50

} 




Python Code 변환 예정



Modify
5
72734 건축물의 에너지절약설계기준 제 6조 3호 가 목

가. 바닥난방 부위에 설치되는 단열재는 바닥난방의 열이 슬래브 하부 및 측벽으로 손실되는 것을 막을 수 있도록 온수배관(전기난방인 경우는 발열선) 하부와 슬래브 사이에 설치하고, 온수배관(전기난방인 경우는 발열선) 하부와 슬래브 사이에 설치되는 구성 재료의 열저항의 합계는 층간 바닥인 경우에는 해당 바닥에 요구되는 총열관류저항(별표1에서 제시되는 열관류율의 역수)의 60% 이상, 최하층 바닥인 경우에는 70% 이상이 되어야 한다. 다만, 바닥난방을 하는





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



Check(NFSC_10_1){

KS2 AND IF CS THEN KS1





KS2{

Space mySpace1{

천장과반자사이

}

hasElement(SpecificFireFightingBuilding.Ceiling,SprinklerHead)= TRUE

hasElement(SpecificFireFightingBuilding.CeilingCovering,SprinklerHead)= TRUE

hasElement(SpecificFireFightingBuilding.mySpace1,SprinklerHead)= TRUE

hasElement(SpecificFireFightingBuilding.Duct,SprinklerHead)= TRUE

hasElement(SpecificFireFightingBuilding.Shelf,SprinklerHead)= TRUE

}



CS{

Space mySpace2{

isExternal(Space)= FALSE 

}

getSpaceWidth(Building.mySpace)<= 9m

}



KS1{

Wall myWall{

Wall.isSideWall=TRUE

}

hasElement(myWall,SprinklerSystem.Head)=TRUE

hasElement(myWall,SprinklerSystem.Head)=FALSE

} 




Python Code 변환 예정



Modify
6
72735 건축물의 에너지절약설계기준 제 6조 4호

4. 기밀 및 결로방지 등을 위한 조치





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

Check(NFSC103_10_2){

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

}



CS1{
Space.usage = "RackWarehouse"
isObjectProperty(Space.hasSpecialCombustible) = TRUE

}



KS1{

	getObjectHeight(Rack) / 4 = RH



	(RH-1) <= getObjectCount(SprinklerHead) < RH

	getObjectInterval(SprinklerHead) = 4m

}



CS2{

Space.usage = "RackWarehouse"
isObjectProperty(Space.hasSpecialCombustible) != TRUE


}



KS2{

	getObjectHeight(Rack) / 6 = RH



	(RH-1) <= getObjectCount(SprinklerHead) < RH

	getObjectInterval(SprinklerHead) = 6m

} 




Python Code 변환 예정



Modify
7
72737 건축물의 에너지절약설계기준 제 6조 4호 나 목

나. 방습층 및 단열재가 이어지는 부위 및 단부는 이음 및 단부를 통한 투습을 방지할 수 있도록 다음과 같이 조치하여야 한다.





//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항 1호



check(NFSC103_10_3_1){

IF CS THEN KS

}



Space mySpace1{

Space.usage="StagePart"

OR isObjectProperty(Space.hasSpecialCombustible)=TRUE

}

CS{

isExist(PlenumSpace)=TRUE

}

KS{

getHorizontalDistance(Ceiling | CeilingCovering | mySpace2 | Duct | Shelf,SprinklerSystem.Head)<=1.7m

} 




Python Code 변환 예정



Modify
8
72738 건축물의 에너지절약설계기준 제 6조 4호 나 1) 목

1) 단열재의 이음부는 최대한 밀착하여 시공하거나, 2장을 엇갈리게 시공하여 이음부를 통한 단열성능 저하가 최소화될 수 있도록 조치할 것





//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항 2호



check(NFSC103_10_3_2){

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

}



Space mySpace1{

Space.usage="RackWarehouse"

Space mySpace2{

Space.usage="RackWarehouse"

isObjectProperty(Space.hasSpecialCombustible)=TRUE

}

CS1{

isExist(mySpace1)=TRUE

}

KS1{

getHorizontalDistance(Ceiling|CeilingCovering|PlenumSpace|Duct|Shelf,SprinklerHead)<=2.5m

}

CS2{

isExist(mySpace2)=TRUE

}

KS2{

getHorizontalDistance(Ceiling|CeilingCovering|PlenumSpace|Duct|Shelf,SprinklerHead)<=1.7m

} 




Python Code 변환 예정



Modify
9
72739 건축물의 에너지절약설계기준 제 6조 4호 나 2) 목

2) 방습층으로 알루미늄박 또는 플라스틱계 필름 등을 사용할 경우의 이음부는 100 ㎜ 이상 중첩하고 내습성 테이프, 접착제 등으로 기밀하게 마감할 것





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

check(NFSC103_10_3_3){

	IF (CS) THEN KS ENDIF

}



CS{

	getBuildingUsage() = "MultiUnitHouse"

}



KS{

	Space mySpace = getObject(Room)

			

	getObjectVerticalDistance(mySpace.Ceiling, SprinklerHead) <= 3.2m

	getObjectVerticalDistance(mySpace.CeilingCover, SprinklerHead) <= 3.2m

	getObjectVerticalDistance(mySpace.Duct, SprinklerHead) <= 3.2m

	getObjectVerticalDistance(mySpace.Shelf, SprinklerHead) <= 3.2m

} 




Python Code 변환 예정



Modify
10
72740 건축물의 에너지절약설계기준 제 6조 4호 나 3) 목

3) 단열부위가 만나는 모서리 부위는 방습층 및 단열재가 이어짐이 없이 시공하거나 이어질 경우 이음부를 통한 단열성능 저하가 최소화되도록 하며, 알루미늄박 또는 플라스틱계 필름 등을 사용할 경우의 모서리 이음부는 150㎜이상 중첩되게 시공하고 내습성 테이프, 접착제 등으로 기밀하게 마감할 것





//스프링클러설비의 화재안전기준(NFSC 103) 10조 3항 4호
check(NFSC103_10_3_4){
	IF CS1 THEN IF (CS2) THEN KS ELSE KS2 ENDIF ENDIF
}

CS1{
	Space mySpace = getObject(특정소방대상물)
	getResult(_1) = False
	getResult(_2) = False
	getResult(_3) = False
}

CS2{
	isFireResistanceStructure(mySpace) = TRUE
}

KS1{
	getObjectVerticalDistance(mySpace.Ceiling, SprinklerHead) <= 2,3m
	getObjectVerticalDistance(mySpace.CeilingCover, SprinklerHead) <= 2.3m
	getObjectVerticalDistance(mySpace.Duct, SprinklerHead) <= 2.3m
	getObjectVerticalDistance(mySpace.Shelf, SprinklerHead) <= 2.3m
}

KS2{
	getObjectVerticalDistance(mySpace.Ceiling, SprinklerHead) <= 2,1m
	getObjectVerticalDistance(mySpace.CeilingCover, SprinklerHead) <= 2.1m
	getObjectVerticalDistance(mySpace.Duct, SprinklerHead) <= 2.1m
	getObjectVerticalDistance(mySpace.Shelf, SprinklerHead) <= 2.1m
} 




Python Code 변환 예정



Modify
11
72741 건축물의 에너지절약설계기준 제 6조 4호 나 4) 목

4) 방습층의 단부는 단부를 통한 투습이 발생하지 않도록 내습성 테이프, 접착제 등으로 기밀하게 마감할 것





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

} 




Python Code 변환 예정



Modify
12
72745 건축물의 에너지절약설계기준 제 6조 4호 라 2) 목

2) 주택의 출입문(단, 기숙사는 제외)





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

check(NFSC103_10_7_1){
	KS
}

KS{
	getObjectDistance(Wall, SprinklerHead) >= 10cm
	isVacant(SprinklerHead,a, 60) = TRUE
} 




Python Code 변환 예정



Modify
13
72746 건축물의 에너지절약설계기준 제 6조 4호 라 3) 목

3) 사람의 통행을 주목적으로 하지 않는 출입문





Check(NFCS103){
KS}


KS{
getObjectDistance(SprinklerHead,Ceiling,a)<=30CM
} 




Python Code 변환 예정



Modify
14
72747 건축물의 에너지절약설계기준 제 6조 4호 라 4) 목

4) 너비 1.2미터 이하의 출입문





Check(NFCS103_10_7_3){

IF !CS THEN KS

}



objectDistance myObjectDistance1{

getObjectDistance(SprinklerHead,Obstacle,a)

}



objectDistance myObjectDistance2{

getObjectDistance(SprinklerHead,Ceiling,a)

}







CS{

getObjectWidth(Obstacle)<="myObjectDistance"





KS{

getObjectDistance(Pipe,Ceiling,a)<"myObjectDistance"

OR getObjectDistance(Pipe,Hanger,a)<"myObjectDistance"

OR getObjectDistance(Pipe,LightingFixture,a)<"myObjectDistance"

} 




Python Code 변환 예정



Modify
15
72748 건축물의 에너지절약설계기준 제 6조 4호 마 목

마. 방풍구조를 설치하여야 하는 출입문에서 회전문과 일반문이 같이 설치되어진 경우, 일반문 부위는 방풍실 구조의 이중문을 설치하여야 한다.





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

} 




Python Code 변환 예정



Modify
16
72752 건축물의 에너지절약설계기준 제 6조 5호 나 목

나. 「건축법 시행령」별표1 제14호에 따른 연면적의 합계가 3,000제곱미터 이상인 업무시설





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

Check(NFSC103_10_7_6){
	IF (CS1 THEN KS1) or (CS2 THEN KS2)
}
CS1{
	isObjectProperty(Opening.isFireSpreading)=TRUE
	getObjectWidth(Opening, a) > 2.5m
}
KS2{
	isInstalled(Opening, Sprinkler.Head, 2.5m) = TRUE
	getElementDistance(Opening.InsideSurface, Sprinkler.Head) <= 15cm
}

CS2{
	isObjectProperty(Opening.isFireSpreading)=TRUE
	getObjectWidth(Opening, Sprinkler.Head, a) <= 2.5m
}
KS2{
	isInstalled(Opening, Sprinkler.Head, center) = TRUE
	getElementDistance(Opening.InsideSurface, Sprinkler.Head) <= 15cm
}

 




Python Code 변환 예정



Modify
17
72753 건축물의 에너지절약설계기준 제 7조

제7조(건축부문의 권장사항) 에너지절약계획서 제출대상 건축물의 건축주와 설계자 등은 다음 각 호에서 정하는 사항을 제13조의 규정에 적합하도록 선택적으로 채택할 수 있다.





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

check(NFSC103_10_7_7){

IF !CS THEN KS

}



CS{

getResult(NFSC103_10_7_7_가)=TRUE

OR getResult(NFSC103_10_7_7_나)=TRUE

}



KS{

SprinklerHead mySprinklerHead{

SprinklerHead.installationDirectionType="BottomUpType"

}
SprinklerSystem mySprinklerSystem1{
SprinklerSystem.type = "VacuumSprinklerExtinguishingSystem"
}
SprinklerSystem mySprinklerSystem2{
SprinklerSystem.type = "WetPipeSprinklerSystem"
}
hasElement(mySprinklerSystem1, mySprinklerHead)=TRUE

hasElement(mySprinklerSystem2, mySprinklerHead)=TRUE

} 




Python Code 변환 예정



Modify
18
72756 건축물의 에너지절약설계기준 제 7조 1호 나 목

나. 공동주택은 인동간격을 넓게 하여 저층부의 일사 수열량을 증대시킨다.





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




Python Code 변환 예정



Modify
19
72757 건축물의 에너지절약설계기준 제 7조 2호

2. 평면계획





//스프링클러설비의 화재안전기준 10조 (헤드) 8항
check(NFSC103_10_8){
	(IF !(CS1) THEN KS1) or (IF CS1 THEN KS2)
}

KS1{
	Beam myBeam{
		hasObject(SpecificFireFightingBuilding, Beam) = TRUE
	}

	getElementDistance(myBeam, SprinklerHead, 1) = TRUE

	//Table

	getElementDistance(SprinklerHead.Deflector, Beam, a) + getObjectWidth(SprinklerHead.Deflector)*0.5 = SBD
	getObjectVerticalDistance(SprinklerHead.Deflector, Beam.BottomSurface, a) = SHD

	IF SBD < 0.75 m 
	THEN SHD < getObjectHeight(Beam.BottomSurface)

	IF 0.75 m <= SBD < 1 m 
	THEN SHD < 0.1 m

	IF 1 m <= SBD < 1.5 m
	THEN SHD < 0.15 m

	IF SBD >= 1.5 m 
	THEN SHD < 0.3 m 
}

CS1{
	getObjectDistance(Ceiling.Surface, Beam.BottomSurface) > 55 cm
	getObjectDistance(Beam.BottomSideSurface, SprinklerHead) = OD
	OD <= getElementDistance(SprinklerHead, c)*0.5
}

KS2{
	getObjectDistance(SprinklerHead, SprinklerHead.AttachingToSurface) <= 55 cm
} 




Python Code 변환 예정



Modify
20
72761 건축물의 에너지절약설계기준 제 7조 3호

3. 단열계획





//스프링클러설비의 화재안전기준(nfsc 103) 11조 (송수구) 5호

Check(NFSC103_11_0_5){
	IF CS THEN KS
}
CS{
	isObject(Sprinkler.Head.openAndCloseType) = "EnclosedType"
}
KS{
	Port myPort{
	isObjectProperty(Port.typeForWater)="FireDepartmentConnection"
	}
	Space mySpace{
	isObjectProperty(Space.FloorSlab.area) = 3000m2
	}
	isInstalled(mySpace, myPort) = TRUE
	getObjectCount(mySpace.One.myPort) >= 1
	getObjectCount(myPort) <= 5
	
} 




Python Code 변환 예정



Modify
21
72811 건축물의 에너지절약설계기준 제 9조 6호 가 목

가. 위생설비 급탕용 저탕조의 설계온도는 55℃ 이하로 하고 필요한 경우에는 부스터히터 등으로 승온하여 사용한다.





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



Check(NFSC503A_5_3_1){

	KS

}

KS{

	Tank myTank{

	isObjectProperty(Tank.operationType) = "ElevatedWaterTank"

	}

	Head myHead{

	hasSpace(TopFloor,Head) = TRUE

	}

	getObjectVerticalDistance(myTank.BottomSurface,myHead) >= Pipe.frictionHeadLossH + 10m 

} 




Python Code 변환 예정



Modify
22
72819 건축물의 에너지절약설계기준 제 10조 3호

3. 조명설비





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



Check(NFSC503A_6_0_3){

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

}

	Zone myZone{

	isObjectProperty(Zone.isProtectionZone) = TRUE

	}

CS1{

	getObjectCount(Floor.One.SimpleSprinklerHead) > 10

}

KS1{

	getObjectCount(Zone.One.Floor) < 2

}

CS2{

	getObjectCount(Floor.One.SimpleSprinklerHead) <= 10

}

KS2{

	getObjectCount(myZone.One.Floor) <= 3

} 




Python Code 변환 예정



Modify
23
72847 건축물의 에너지절약설계기준 제 11조 4호 나 목

나. 팬코일유닛이 설치되는 경우에는 전원의 방위별, 실의 용도별 통합제어가 가능하도록 한다.





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

Check(NFSC503A_8_9_2){
	IF !CS THEN KS
}
CS{
	getResult(NFSC503A_8_9_2_가) = TRUE
}
KS{
	Pipe myPipe{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Head myHead{
	isIntalled(SimpleSprinkler.Head, myPipe.One) = TRUE
	getObjectVerticalLocation(CeilingCovering, SimpleSprinkler.Head) < 0
	}
	getObjectCount(myHead) <= 8  
} 




Python Code 변환 예정



Modify
24
72848 건축물의 에너지절약설계기준 제 11조 4호 다 목

다. 수변전설비는 종합감시제어 및 기록이 가능한 자동제어설비를 채택한다.





9항 3호

Check(NFSC503A_8_9_3){
	IF CS THEN KS
}
	Pipe myPipe1{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Pipe myPipe2{
	isObjectProperty(Pipe.isFlexibleTube) = TRUE
	}
CS{
	isInstalledInOrder(myPipe1, myPipe2, Head) = TRUE
}
KS{
	getResult(NFSC503_10_3) = TRUE
} 




Python Code 변환 예정



Modify
25
72849 건축물의 에너지절약설계기준 제 11조 4호 라 목

라. 실내 조명설비는 군별 또는 회로별로 자동제어가 가능하도록 한다.





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



Check(NFSC503A_8_10){

	IF CS THEN KS

}

	Pipe myPipe1{

	isObjectProperty(Pipe.isBranchLines) = TRUE

	}

	Head myHead{

	isObjectProperty(Head.installationDirectionType) = "TopDownType"

	}

CS{

	isInstalled(myHead, myPipe1) = TRUE

}

KS{

	Pipe mypipe2{

	isConnectedTo(myPipe1, Pipe) = TRUE

	isConnectedTo(myHead, Pipe) = TRUE

	}

	getObjectVerticalLocation(myPipe1, myPipe1) > 0 

} 




Python Code 변환 예정



Modify
26
72857 건축물의 에너지절약설계기준 제 16조

제16조(완화기준) 영 제11조에 따라 건축물에 적용할 수 있는 완화기준은 별표9에 따르며, 건축주가 건축기준의 완화적용을 신청하는 경우에 한해서 적용한다.





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

} 




Python Code 변환 예정



Modify
27
72860 건축물의 에너지절약설계기준 제 17조 1 항 1호

「법 및 조례에서 정하는 기준 용적률」× [1 + 완화기준]





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



Check(NFSC103A_8_13_1){

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

}

Pipe myPipe{

	isObjectProperty(Pipe.isBranchLines) = TRUE

}

CS1{

	getObjectInterval(SimpleSprinkler.Head) <= 3.5m

}

KS1{

	getObjectCountInInterval(Hanger, SimpleSprinkler.Head) >= 1

	isInstalled(Hanger, myPipe) = TRUE

}



CS2{

	getObjectInterval(SimpleSprinkler.Head) > 3.5m

}

KS2{

	Head myHead{

	isObjectProperty(Head.installationDirectionType) = "BottomUpType"

	}

	isInstalled(Hanger, myPipe, b, 3.5) = TRUE

getObjectCountInInterval(Hanger, SimpleSprinkler.Head) >= 1

	getObjectDistance(myHead, Hanger) >= 8cm 



} 




Python Code 변환 예정



Modify
28
72872 건축물의 에너지절약설계기준 제 20조 1 항

제20조(이행여부 확인) ① 인증취득을 통해 완화기준을 적용받은 경우에는 본인증서를 제출하는 것으로 이행한 것으로 본다.





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 



Check(NFSC503A_9){

	IF CS THEN KS

}

CS{

	isInstalled(SimpleSprinkler.Head, Building) = TRUE

}

KS{

	getResult(NFSC503A_9_1) = TRUE

	getResult(NFSC503A_9_3) = TRUE

	getResult(NFSC503A_9_4) = TRUE

	getResult(NFSC503A_9_6) = TRUE

	getResult(NFSC503A_9_8) = TRUE

	getResult(NFSC503A_9_9) = TRUE

} 




Python Code 변환 예정



Modify
29
72873 건축물의 에너지절약설계기준 제 20조 2 항

② 이행여부 확인결과 건축주가 본인증서를 제출하지 않은 경우 허가권자는 사용승인을 거부할 수 있으며, 완화적용을 받기 이전의 해당 기준에 맞게 건축하도록 명할 수 있다.





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 1항

Check(NFSC503A_9_1){
	KS
}
KS{
	isObjectProperty(SimpleSprinkler.Head.openAndCloseType) = "EnclosedType"
} 




Python Code 변환 예정



Modify
30
72874 건축물의 에너지절약설계기준 제 21조

제21조(건축물의 에너지 소요량의 평가) 「건축법 시행령」제3조의4에 따른 업무시설 기타 에너지소비특성 및 이용 상황 등이 이와 유사한 건축물로서 연면적의 합계가 3천 제곱미터 이상인 건축물은 1차 에너지 소요량 등을 평가하여 별지 제1호 서식에 따른 건축물 에너지 소요량 평가서를 제출하여야 한다. 다만, 「건축물 에너지효율등급 인증에 관한 규칙」 제11조에 따라 건축물 에너지효율등급 예비인증을 취득한 경우에는 동 규칙 별지 제6호 서식의 건축물 에너지





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 3호



Check(NFSC503A_9_0_3){

	KS

}

KS{

	getObjectDistance(SimpleSprinkler.Head, Ceiling | CeilingCovering | PlenumSpace | Duct | Shelf) <= 2.3m

} 




Python Code 변환 예정



Modify
31
72875 건축물의 에너지절약설계기준 제 22조

제22조(건축물의 에너지 소요량의 평가방법) 건축물 에너지소요량은 ISO 13790 등 국제규격에 따라 난방, 냉방, 급탕, 조명, 환기 등에 대해 종합적으로 평가하도록 제작된 프로그램에 따라 산출된 연간 단위면적당 1차 에너지소요량 등으로 평가하며, 별표10의 평가기준과 같이 한다.





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 4호



Check(NFSC503A_9_0_4){

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

}

CS1{

	isObjectProperty(Head.installationDirectionType) = "BottomUpType" OR "TopDownType"

}

KS1{

	getObjectDistance(Deflector, Ceiling | CeilingCovering) >= 25mm

	getObjectDistance(Deflector, Ceiling | CeilingCovering) <= 102mm

}

CS2{

	isObjectProperty(Head.shapeType) = "SideWallType" 

}

KS2{

	getObjectDistance(Deflector, Ceiling | CeilingCovering) >= 102mm

	getObjectDistance(Deflector, Ceiling | CeilingCovering) <= 152mm

}

CS3{

	isObjectProperty(Head.shapeType) = "FlushType" 

}

KS2{

	getObjectDistance(Deflector, Ceiling | CeilingCovering) <= 102mm

} 




Python Code 변환 예정



Modify
32
72876 건축물의 에너지절약설계기준 제 23조 1 항

제23조(복합용도 건축물의 에너지절약계획서 및 설계 검토서 작성방법 등) ① 에너지절약계획서 및 설계 검토서를 제출하여야 하는 건축물 중 비주 거와 주거용도가 복합되는 건축물의 경우에는 해당 용도별로 에너지절 약계획서 및 설계 검토서를 제출하여야 한다.





/ 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 6호



Check(NFSC503A_9_0_6){

	IF !CS THEN KS

}

CS{

	DBSH = getObjectDistance(Head.One, Head.One)

	getObjectdistance(Ceiling.Surface, Beam.BottomSurface) > 55cm

	getObjectdistance(Beam.BottomSideSurface, SimpleSprinkler.Head) <= DBSH/2

}

KS{

Beam myBeam{
isInstalled(Beam, SpecificFireFightingBuilding) = TRUE
}
	DCH = getObjectInterval(Head, myBeam)

	Head myHead{

	getObjectDistance(Head, myBeam) = DCH

	}

	

	IF getElementDistance(myHead.Deflector.Center, Beam) < 0.75m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0



	ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 0.75m 

	OR getElementDistance(myHead.Deflector.Center, Beam) < 1m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0 

	getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.1m



	ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 1m 

	OR getElementDistance(myHead.Deflector.Center, Beam) < 1.5m THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0 

	getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.15m



	ELSE IF getElementDistance(myHead.Deflector.Center, Beam) >= 1.5m 

	THEN getObjectVerticalLocation(myHead.Deflector, Beam.BottomSurface) < 0 

	getElementDistance(myHead.Deflector, Beam.BottomSurface) < 0.3m

} 




Python Code 변환 예정



Modify
33
72878 건축물의 에너지절약설계기준 제 23조 3 항

③ 설비 및 기기, 장치, 제품 등의 효율·성능 등의 판정 방법에 있어 본 기준에서 별도로 제시되지 않는 것은 해당 항목에 대한 한국산업규격(KS)을 따르도록 한다.





// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 9호

Check(NFSC503A_9_0_9){
	IF CS THEN KS
}
CS{
	isExist(NFSC503A_6_0_7.mySpace) = TRUE
}
KS{
	Head myHead{
	isObjectProperty(Head.responseType) = "StandardResponseType"
	}
	isInstalled(myHead, NFSC503A_6_0_7.mySpace) = TRUE
	getResult(NFSC503_10) = TRUE
} 




Python Code 변환 예정



Modify
34
72879 건축물의 에너지절약설계기준 제 23조 4 항

④ 기숙사, 오피스텔은 별표1 및 별표3의 공동주택 외의 단열기준을 준수할 수 있으며, 별지 제1호서식의 에너지성능지표 작성 시, 기본배점에서 비주거를 적용한다.





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

} 




Python Code 변환 예정



Modify
35
19908 소화기구 및 자동소화장치의 화재안전기준(NFSC 101) 제 4조 8호 가 목

가. 분사헤드의 설치 높이는 방호구역의 바닥으로부터 최소 0.2m 이상 최대 3.7m 이하로 하여야 한다. 다만, 별도의 높이로 형식승인 받은 경우에는 그 범위 내에서 설치할 수 있다.





//소화기구 및 자동 소화장치의 화재안전기준(nfsc 101) 4조 (설치기준) 1항 8호 가목
Check(NFSC101_4_1_8_가){
	KS
}

Zone myZone{
	isObjectProperty(Zone.isProtectionZone)=TRUE
}

02.m <= getObjectVerticalDistance(myZone.FloorSlab, AutomaticFireExtinguishingEquipment.Head, a) <= 3.7m
	 




Python Code 변환 예정



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

가. 천장의 최상부에 스프링클러헤드를 설치하는 경우에는 최상부에 설치하는 스프링클러헤드의 반사판을 수평으로 설치할 것





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

Check(NFSC103_10_7_5_1){
   IF CS THEN KS
}

CS{
   isInstalled(SprinklerHead, a)=TRUE
}

KS{
   isHorizontal(SprinklerHead.Deflector)=TRUE
} 




Python Code 변환 예정



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

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





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



Check(NFSC103_10_7_5_2){

    IF CS THEN KS

}



CS{

   isInstalled(Celling,BranchPipe,b)=TRUE

}



KS{

   BD=getElementDistance(BranchPipe, c)

   SD=getElementDistance(SprinklerHead, c)

   SD/BD>=2

   BD>=1 m

  

   IF isInstalled(BranchPipe, SprinklerHead, a )=TRUE

   THEN getVerticalDistance(SprinklerHead,Ceiling.UppermostPart)<=90 cm

   END IF

} 




Python Code 변환 예정



Modify
38
72619 스프링클러설비의 화재안전기준(NFSC 103) 제 10조 7 항 7호 가 목

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





//스프링클러설비의 화재안전기준(NFSC 103) 10조 7항 7호 가목
check(NFSC103_10_7_7_가){
KS
}

KS{
SprinklerHead mySprinklerHead{
isObjectProperty(SprinklerHead.isDryPendent)=TRUE
}

SprinklerSystem mySprinklerSystem{
getObject(WetPipeSprinklerSystem)
getObject(VacuumSprinklerExtinguishingSystem)
}
SprinklerSystem mySprinklerSystem1{
getObject(SprinklerSystem)!= mySprinklerSystem
}

hasElement(mySprinklerSystem1, mySprinklerHead)=TRUE
} 




Python Code 변환 예정



Modify
39
72620 스프링클러설비의 화재안전기준(NFSC 103) 제 10조 7 항 7호 다 목

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





//스프링클러설비의 화재안전기준(NFSC 103) 10조 7항 7호 다목
check(NFSC103_10_7_7_다){
KS
}

KS{
SprinklerHead mySprinklerHead{
isObjectProperty(SprinklerHead.openAndCloseType)="OpenType"
}

SprinklerSystem mySprinklerSystem{
getObject(WetPipeSprinklerSystem)
getObject(VacuumSprinklerExtinguishingSystem)
}
SprinklerSystem mySprinklerSystem1{
getObject(SprinklerSystem)!= mySprinklerSystem
}

hasElement(mySprinklerSystem1, mySprinklerHead)=TRUE
} 




Python Code 변환 예정



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

2. 송수구는 구경 65㎜의 쌍구형으로 설치할 것. 다만, 하나의 송수구역에 부착하는 살수헤드의 수가 10개 이하인 것은 단구형의 것으로 할 수 있다.





//  연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항 2호



Check(NFSC503_4_1_2){

 IF CS THEN KS 

}

CS{

 Zone myZone{

  isObjectProperty(Zone.isWaterSupplyZone)=TRUE

 }

 hasObject(myZone.One,HookingUpSprinklerSystem.Head.)=TRUE

 getObjectCount(HookingUpSprinklerSystem.Head.) <= 10  

}

KS{

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

 }

 isObjectProperty(myPort.diameter) = 65mm

 getObjectProperty(myPort.shapeType) = "DoubleType"

} 




Python Code 변환 예정



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

3. 개방형헤드를 사용하는 송수구의 호스접결구는 각 송수구역마다 설치할 것. 다만, 송수구역을 선택할 수 있는 선택밸브가 설치되어 있고 각 송수구역의 주요구조부가 내화구조로 되어 있는 경우에는 그러하지 아니하다.





//  연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 1항 3호



Check(NFSC503_4_1_3){

 IF !CS THEN KS 

}

	Zone myZone{

  isObjectProperty(Zone.isWaterSupplyZone)=TRUE

	}

CS{

	Valve myValve{

	isObjectProerpty(Valve.isSelectionValve) = TRUE

	}

	isInstalled(myValve) = TRUE

	hasObject(myZone,MainStructuralPart) = TRUE

	isFireResistantStructure(MainStructuralPart) = TRUE

}

KS{

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

 }

	Head myHead{

	getObjectProperty(Head.openAndCloseType) = "OpenType"

	}

	isInstalled(myPort.호스접결구, myZone.One) = TRUE

} 




Python Code 변환 예정



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

1. 폐쇄형헤드를 사용하는 설비의 경우에는 송수구·자동배수밸브·체크밸브의 순으로 설치할 것





//  연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 3항 1호



Check(NFSC503_4_3_1){

	IF CS THEN KS

}

CS{

	Head myHead{

	getObjectProperty(Head.openAndCloseType) = "EnclosedType"	

	}

	getObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem"

}

KS{

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

 	}

 	Valve myValve1{

	isObjectProperty(Valve.isAutomiaticDeliveryValve) = TRUE

	}

	Valve myValve2{

	isObjectProperty(Valve.isCheckValve) = TRUE

	}



	isInstalledInOrder(myPort, myValve1, myValve2) = TRUE

} 




Python Code 변환 예정



Modify
43
19918 연결살수설비의 화재안전기준(NFSC 503) 제 4조 3 항 2호

2. 개방형헤드를 사용하는 설비의 경우에는 송수구·자동배수밸브의 순으로 설치할 것





//  연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 3항 2호



Check(NFSC503_4_3_2){

	IF CS THEN KS

}

CS{

	Head myHead{

	getObjectProperty(Head.openAndCloseType) = "OpenType"	

	}

	getObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem"

}

KS{

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

 	}

 	Valve myValve1{

	isObjectProperty(Valve.isAutomiaticDeliveryValve) = TRUE

	}



	isInstalledInOrder(myPort, myValve1) = TRUE

} 




Python Code 변환 예정



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

④개방형헤드를 사용하는 연결살수설비에 있어서 하나의 송수구역에 설치하는 살수헤드의 수는 10개 이하가 되도록 하여야 한다.





//  연결살수설비의 화재안전기준(nfsc 503) 4조 (송수구 등) 4항

Check(NFSC503_4_4){
	IF CS THEN KS
}
CS{
	Head myHead{
	getObjectProperty(Head.openAndCloseType) = "OpenType"	
	}
	getObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem"
}
KS{
	Zone myZone{
	isObjectProperty(Zone.isWaterSupplyZone) = TRUE
	}
	Head myHead{
	isInstalled(HookingUpSprinklerSystem.Head, myZone.One) = TRUE
	}

	getObjectCount(myHead) <= 10
} 




Python Code 변환 예정



Modify
45
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
46
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
47
19926 연결살수설비의 화재안전기준(NFSC 503) 제 5조 2 항 2호

2. 스프링클러헤드를 사용하는 경우에는 「스프링클러설비의 화재안전기준(NFSC 103)」 별표 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(HookingUpSprinklerSystem.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

} 




Python Code 변환 예정



Modify
48
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(myPipe1, myPipe2) = TRUE

	isInstalled(myValve, myPipe1) = TRUE

	isInstalled(myValve, myPipe2) = TRUE)



	OR (isConnectedTo(myPipe1, myPipe3) = TRUE

	isInstalled(myValve, myPipe1) = TRUE

	isInstalled(myValve, myPipe3) = TRUE)



	OR (isConnectedTo(myPipe1, myTank) = TRUE

	isInstalled(myValve, myPipe1) = TRUE

	isInstalled(myValve, myTank) = TRUE)

} 




Python Code 변환 예정



Modify
49
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
50
19931 연결살수설비의 화재안전기준(NFSC 503) 제 5조 5 항

⑤개방형헤드를 사용하는 연결살수설비의 수평주행배관은 헤드를 향하여 상향으로 100분의 1 이상의 기울기로 설치하고 주배관중 낮은 부분에는 자동배수밸브를 제4조제3항제3호의 기준에 따라 설치하여야 한다. <개정 2012.8.20>





//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 5항



Check(NFSC503_5_5){

	IF CS THEN KS

}

CS{

	Head myHead{

	isObjectProperty(Head.openAndCloseType) = "OpenType"

	}

	isInstalled(myHead, HookingUpSprinklerSystem) = TRUE

}

KS{

	Pipe myPipe{

	isObjectProperty(Pipe.isFeedMains) = TRUE
getObjectProperty(Pipe.systemType) = "HookingUpSprinklerSystem"

	}

	두 객체의 기울기(myPipe, Head) >= 1/100

} 




Python Code 변환 예정



Modify
51
19932 연결살수설비의 화재안전기준(NFSC 503) 제 5조 6 항

⑥가지배관 또는 교차배관을 설치하는 경우에는 가지배관의 배열은 토너멘트방식이 아니어야 하며, 가지배관은 교차배관 또는 주배관에서 분기되는 지점을 기점으로 한 쪽 가지배관에 설치되는 헤드의 개수는 8개 이하로 하여야 한다.





//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 6항

Check(NFSC503_5_6){
	IF CS THEN KS
}

	Pipe myPipe1{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Pipe myPipe2{
	isObjectProperty(Pipe.isCrossMains) = TRUE
	}
	Pipe myPipe3{
	isObjectProperty(Pipe.isRiser) = TRUE
	}
CS{
	isInstalled(myPipe1) = TRUE 
	OR isInstalled(myPipe2) = TRUE
}
KS{
	Head myHead{
	isInstalled(Head, myPipe1.DivergedSide.One) = TRUE
	}
	isObjectProperty(myPipe1.tournamentArrangement) = FALSE
	getObjectCount(myHead) <= 8
} 




Python Code 변환 예정



Modify
52
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
53
19936 연결살수설비의 화재안전기준(NFSC 503) 제 5조 9 항 2호

2. 폐쇄형헤드를 사용하는 연결살수설비의 청소구는 주배관 또는 교차배관(교차배관을 설치하는 경우에 한한다) 끝에 40㎜ 이상 크기의 개폐밸브를 설치하고, 호스접결이 가능한 나사식 또는 고정배수 배관식으로 할 것. 이 경우 나사식의 개폐밸브는 옥내소화전 호스접결용의 것으로 하고, 나사보호용의 캡으로 마감하여야 한다.





 //  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 2호

Check(NFSC503_5_9_2){
	IF CS THEN KS
}
CS{
	Head myHead{
	isObjectProperty(Head.openAndCloseType)="EnclosedType"
	}
	isObjectProperty(myHead.systemType) = "HookingUpSprinklerSystem"
}
KS{
	Pipe myPipe1{
	isObjectProperty(Pipe.isRiser) = TRUE
	}
	Pipe myPipe2{
	isObjectProperty(Pipe.isCrossMains) = TRUE
	}
	Valve myValve{
	isObjectProperty(Valve.isShutoffValve) = TRUE
	getObjectLength(Valve) >= 40mm
	}
	getObjectProperty(myValve.Type) = "나사식" 
	getObjectProperty(myValve.usage) = "옥내소화전 호스접결용"
} 




Python Code 변환 예정



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

3. 폐쇄형헤드를 사용하는 연결살수설비에 하향식헤드를 설치하는 경우에는 가지배관으로부터 헤드에 이르는 헤드접속배관은 가지관상부에서 분기할 것. 다만, 소화설비용 수원의 수질이 「먹는물관리법」 제5조에 따라 먹는물의 수질기준에 적합하고 덮개가 있는 저수조로부터 물을 공급받는 경우에는 가지배관의 측면 또는 하부에서 분기할 수 있다.





//  연결살수설비의 화재안전기준(nfsc 503) 5조 (배관 등) 9항 3호

Check(NFSC503_5_9_3){
	IF CS THEN KS
}
	Head myHead1{
	isObjectProperty(Head.openAndCloseType) = "EnclosedType"
	}
	Head myHead2{
	isObjectProperty(myHead.installationDirectionType) = "TopDownType"
	}
CS{
	isObjectProperty(myHead1.systemType) = "HookingUpSprinklerSystem"
	isInstalled(myHead2, HookingUpSprinklerSystem) = TRUE
}
KS{
	Pipe myPipe1{
	isObjectProperty(Pipe.isBranchLines) = TRUE
	}
	Pipe myPipe2{
	isConnectedTo(Pipe, myPipe1) = TRUE
	isConnectedTo(Pipe, myHead2) = TRUE
	}
	getObjectVerticalLocation(myPipe2, myPipe1) > 0
} 




Python Code 변환 예정



Modify
55
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
56
19942 연결살수설비의 화재안전기준(NFSC 503) 제 6조 1 항

제6조(연결살수설비의 헤드) ①연결살수설비의 헤드는 연결살수설비전용헤드 또는 스프링클러헤드로 설치하여야 한다.





//연결살수설비의 화재안전기준(nfsc 503) 6조 (배관 등) 1항
Check(NFSC503_6_1){
	KS
}

KS{
	getObjectProperty(HookingUpSprinklerSystem.Head) = "SprinklerHead"
} 




Python Code 변환 예정



Modify
57
19944 연결살수설비의 화재안전기준(NFSC 503) 제 6조 2 항 1호

1. 천장 또는 반자의 실내에 면하는 부분에 설치할 것





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

KS{
	SprinklerHead mySprinklerHead{
		isInstalled(SprinklerHead, HookingUpSprinklerSystem) = TRUE
	}

	isAdjacent(mySprinklerHead.Head.AttachingToSurface, Indoors) = TRUE
	(isAdjacent(mySprinklerHead.Head.AttachingToSurface, Ceiling) = TRUE
	OR isAdjacent(mySprinklerHead.Head.AttachingToSurface, CeilingCovering) = TRUE)
} 




Python Code 변환 예정



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

2. 천장 또는 반자의 각 부분으로부터 하나의 살수헤드까지의 수평거리가 연결살수설비전용헤드의 경우은 3.7m 이하, 스프링클러헤드의 경우는 2.3m 이하로 할 것. 다만, 살수헤드의 부착면과 바닥과의 높이가 2.1m 이하인 부분은 살수헤드의 살수분포에 따른 거리로 할 수 있다.





//	연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 2항 2호
Check(NFSC503_6_2_2){
	IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

CS1{
	Head myHead{
		isObjectProperty(HookingUpSprinklerSystem.Head.isShared) = FALSE
	}
	isExist(myHead) = TRUE
}

KS1{
	getObjectDistance(Ceiling, HookingUpSprinklerSystem.Head) <= 3.7m
	OR getObjectDistance(CeilingCovering, HookingUpSprinklerSystem.Head) <= 3.7m
}

CS2{
	isExist(SprinklerHead) = TRUE
}

KS2{
	getObjectDistance(Ceiling, SprinklerSystem) <= 2.3m
	OR getObjectDistance(CeilingCovering, SprinklerSystem) <= 2.3m
} 




Python Code 변환 예정



Modify
59
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
60
19947 연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 2호

2. 살수가 방해되지 아니하도록 스프링클러헤드로부터 반경 60㎝ 이상의 공간을 보유할 것. 다만, 벽과 스프링클러헤드간의 공간은 10㎝이상으로 한다.





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

KS{
	isVacant(SprinklerHead,a, 60) = TRUE
	getObjectDistance(Wall, SprinklerHead) >= 10CM
} 




Python Code 변환 예정



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

3. 스프링클러헤드와 그 부착면(상향식헤드의 경우에는 그 헤드의 직상부의 천장·반자 또는 이와 비슷한 것을 말한다. 이하 같다)과의 거리는 30㎝ 이하로 할 것





//연결살수설비의 화재안전기준(nfsc 503) 6조 (연결살수설비의 헤드) 3항 3호
Check(NFSC503_6_3_3){
	IF (CS1 THEN KS1) or (CS2 THEN KS2)
}

CS1{
	getObjectProperty(SprinklerHead) != "BottomUpType"
}

KS1{
	getObjectDistance(SprinklerHead.AttachingToSurface, SprinklerHead) <= 30CM
}

CS2{
	getObjectProperty(SprinklerHead) = "BottomUpType"
}

KS2{
	getObjectVerticalDistance(Ceiling, SprinklerHead) <= 30CM
} 




Python Code 변환 예정



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

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





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

Check(NFSC503_6_3_5){

	IF !CS THEN KS

}



CS{

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

}



KS{

	isParallel(SprinklerSystem.Head.Deflector, SprinklerSystem.Head.AttachingToSurface) = TRUE

} 




Python Code 변환 예정



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

가. 천장의 최상부에 스프링클러헤드를 설치하는 경우에는 최상부에 설치하는 스프링클러헤드의 반사판을 수평으로 설치할 것





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

Check(NFSC503_6_3_6_1){

	IF CS THEN KS

}



CS{

	hasObject(Celing, SprinklerSystem.Head) = TRUE

}



KS{

	isParallel(Ceiling, SprinklerSystem.Head.Deflector) = TRUE

} 




Python Code 변환 예정



Modify
64
19952 연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 6호 나 목

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





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

Check(NFSC503_6_3_6_2){

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

}



CS1{

	hasObject(Ceiling, SprinklerHead.Deflector) = TRUE

	getObjectWidth(SprinklerHead, c) = SH

	getObjectWidth(SprinklerHead.Deflector) = SHD

	SH*0.5 < 1m

}



KS1{

	getObjectWidth(SprinklerHead.Deflector) = 1m

	getVerticalObjectDistance(SprinklerHead, Ceiling) <= 90cm

}



CS2{

	hasObject(Ceiling, SprinklerSystemHead.Deflector) = TRUE

	getObjectWidth(SprinklerSystemHead, c) = SH

	getObjectWidth(SprinklerSystemHead.Deflector) = SHD

	SH*0.5 >= 1m

}



KS2{

	getObjectWidth(SprinklerSystemHead.Deflector) = SHD

	SHD <= SH*0.5

	getVerticalObjectDistance(SprinklerSystemHead, Ceiling) <= 90cm

} 




Python Code 변환 예정



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

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





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

Check(NFSC503_6_3_7){

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

}



CS1{

	Opening myOpening{

		isObjectProperty(Opening.isFireSpreading) = TRUE

	}

	isExist(myOpening) = TRUE

	getObjectWidth(myOpening, a) > 2.5m

}



KS1{

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

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

	OR (getObjectWidth(myOpening) <= 9m

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

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

}



CS2{

	Opening myOpening{

		isObjectProperty(Opening.isFireSpreading) = TRUE

	}

	isExist(myOpening) = TRUE

	getObjectWidth(myOpening, a) <= 2.5m

}



KS2{

	hasObject(myOpening, SprinklerSystem.Head) = TRUE

} 




Python Code 변환 예정



Modify
66
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
67
19955 연결살수설비의 화재안전기준(NFSC 503) 제 6조 3 항 8호 가 목

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





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

Check(NFSC503_6_3_8_1){

	KS

}



KS{

	Head myHead{

		isObjectProperty(SprinklerSystem.Head.isDryPendent) = TRUE

	}

	isExist(mySprinklerHead) = TRUE

} 




Python Code 변환 예정



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

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





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

Check(NFSC503_6_3_8_3){

	KS

}



KS{

	Head myHead{

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

	}

	isExist(myHead) = TRUE

} 




Python Code 변환 예정



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

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





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

Check(NFSC503_6_3_9){

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

}



CS1{

	SprinklerHead mySprinklerHead{

		getObjectProperty(SprinklerHead.shapeType) = "SideWallType"

	}

	isExist(mySprinklerHead) = TRUE

	getObjectWidth(Room) < 4.5m

	OR getObjectWidth(Room) > 9m

}



KS1{

	SprinklerHead mySprinklerHead{

		getObjectProperty(SprinklerHead.shapeType) = "SideWallType"

	}

	getObjectWidth(mySprinklerHead, c) < 3.6m

}



CS2{

	Head  myHead{

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

	}

	isExist(mySprinklerHead) = TRUE

	getObjectWidth(Room) >= 4.5m

	OR getObjectWidth(Room) <= 9m

}



KS2{

	Head myHead{

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

	}

	isParallel(mySprinklerHead, Wall) = TRUE

} 




Python Code 변환 예정



Modify
70
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
71
19959 연결살수설비의 화재안전기준(NFSC 503) 제 6조 4 항 1호

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





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

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




Python Code 변환 예정



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

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





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

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




Python Code 변환 예정



Modify
73
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
74
20102 연소방지설비의 화재안전기준(NFSC 506) 제 4조 4 항 1호

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





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

CS{
	isInstalled(CombustionProtectionSystem, ?) = TRUE
}

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

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

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




Python Code 변환 예정



Modify
75
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
76
20106 연소방지설비의 화재안전기준(NFSC 506) 제 4조 6 항 3호

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





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

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

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

	isInstalled(myPipe, myHead) = TRUE
}

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

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

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

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




Python Code 변환 예정



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

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





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

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

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

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

	getObjectInterval(myHead) <= 3.5m
}

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

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

	getobjectCountInInterval(Hanger, myHead) >= 1
}

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

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

	getObjectInterval(myHead) > 3.5m
}

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

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

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

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

	getObjectInterval(myHead2, Hanger) >= 8cm
} 




Python Code 변환 예정



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

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





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

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

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

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

	isConnectedTo(myPipe, myPipe2) = TRUE
}

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

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

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

	getObjectCountInInterval(myHanger,myPipe) >=1
}

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

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

	isConnectedTo(myPipe, myPipe2) = TRUE
}

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

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

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

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




Python Code 변환 예정



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

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





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

Check(NFSC506_5_0_1){

	KS

}



KS{

	Head myHead{

		isObjectProperty(Head.isDischargeHead) = TRUE

	}



	isInstalled(myHead, Ceiling.Structure) = TRUE

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

} 




Python Code 변환 예정



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

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





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

Check(NFSC506_5_0_2){

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

}



CS1{

Head myHead{
	Head.isDischargeHead = TRUE
}

	isObjectProperty(myHead) = TRUE

	isObjectProperty(Head.isShared) = FALSE

	isInstalled(Head, CombustionProtectionSystem) = TRUE

}



KS1{

	getObjectInterval(myHead) <= 2m

}



CS2{

	isObjectProperty(myHead) = TRUE

	isObjectProperty(Sprinkler.Head) = TRUE

}



KS2{

	getObjectInterval(myHead) <= 1.5m

} 




Python Code 변환 예정



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

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





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


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

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




Python Code 변환 예정



Modify
    1      
 

Related Sites

국토부 BIM과제-1st  |   Ministry of Land, Infrasrtucture and Transport   |   Korea Agency for Infrastructure Technology Advancement  |   Space and Design IT Lab   |   Yonsei University
This is Design IT Lab server's restricted area. Authorized users could access this website.