개방형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-27 기준) 설계품질검토용 건축법 및 관련법규 - KBIMCode (문장단위)
    1   2   3   4   next▷  
1 / 4 page Total 2500 / 4000 records    신규입력
Select
ALL
None
#
ID
Law
Jo
JO Name
HANG
HO
MOK
Text
Search!
1
72567 간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 1 항 1호 가 목

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





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



Check(NFSC503A_8_1_1_가){

	KS

}

KS{

	getObjectProperty(Pipe.Material) = "KS_D_3507"

} 




Python Code 변환 예정



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

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





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

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




Python Code 변환 예정



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

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





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

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




Python Code 변환 예정



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

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





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

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




Python Code 변환 예정



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

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





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

Check(NFSC103A_8_6_2){

	KS

}

KS{

	Pipe myPipe{

		isObjectProperty(Pipe.isForTest) = TRUE

	}

	

	isConnectedTo(myPipe, DischargeMeasuringEquipment) = TRUE

	getObjectProperty(DischargeMeasuringEquipment.measurementCapacity) = DME

	getObjectProperty(Pump.ratedDischargePressure) = PDP



	PDP*1.75 <= DME

} 




Python Code 변환 예정



Modify
6
20046 건축물의 구조기준 등에 관한 규칙 제 30조 1 항

제30조(기초) ①조적식구조인 내력벽의 기초(최하층의 바닥면 이하에 해당하는 부분을 말한다)는 연속기초로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 30조 (기초) 1항
Check(RSSB_30_1){
        getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
	Wall myWall{
	isObjectProperty(Wall.isLoadBearingWall) = TRUE
	getObjectProperty(Wall.Structure.isMansoryStructure) = TRUE
	}
	Foundation myFoundation{
	isInstalled(myWall, Foundation) = TRUE
	}
	isObjectProperty(myFoundation.isContinuousFoundation) = TRUE
} 




Python Code 변환 예정



Modify
7
20047 건축물의 구조기준 등에 관한 규칙 제 30조 2 항

②제1항의 규정에 의한 기초중 기초판은 철근콘크리트구조 또는 무근콘크리트구조로 하고, 기초벽의 두께는 250밀리미터 이상으로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 30조 (기초) 2항

Check(RSSB_30_2){

        getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS

}

CS{

	getResult(RSSB_30_1) = TRUE

}

KS{

	Wall myWall{

	isObjectProperty(Wall.isFoundationWall) = TRUE

	}

	(getObjectProperty(FoundationPlate.Structure.materialType) = "ReinforcedConcrete"

	OR getObjectProperty(FoundationPlate.Structure.materialType) = "PlainConcrete")

	getObjectProperty(myWall.depth) >= 250mm

} 




Python Code 변환 예정



Modify
8
20051 건축물의 구조기준 등에 관한 규칙 제 32조 1 항

제32조(내력벽의 두께) ①조적식구조인 내력벽의 두께(마감재료의 두께는 포함하지 아니한다. 이하 이 절에서 같다)는 바로 윗층의 내력벽의 두께 이상이어야 한다.





//건축물의 구조기준 등에 관한 규칙 32조 (내력벽의 두께) 1항
Check(RSSB_32_1){
        getResult(RSSB_32_7) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
	Wall myWall1{
	isObjectProperty(Wall.isLoadBearingWall) = TRUE
	isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
	}
	Floor myFloor{
	isInstalled(myWall1, Floor) = TRUE
	}
	Wall myWAll2{
	isInstalled(Wall, myFloor.UpperFloor) = TRUE
	}
	WD = getObjectProperty(myWall2.depth)

	getObjectProperty(myWall1.depth) >= WD
} 




Python Code 변환 예정



Modify
9
20053 건축물의 구조기준 등에 관한 규칙 제 32조 3 항

③제2항의 규정을 적용함에 있어서 그 조적재가 돌이거나, 돌과 벽돌 또는 블록 등을 병용하는 경우에는 내력벽의 두께는 제2항의 두께에 10분의 2를 가산한 두께 이상으로 하되, 당해 벽높이의 15분의 1이상으로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 32조 (적용범위 등) 3항

Check(RSSB_32_3){

	getResult(RSSB_32_7) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CH TEHN KS

}

	Wall myWall{

		isObjectProperty(Wall.isLoadBearingWall) = TRUE

	}

	Wall myWall1{

		getResult(RSSB_32_2) = TRUE

	}

CS{

	getObjectProperty(myWall.Structure.materialType) = "Stone" OR "Brick" OR "ConcreteBlock" OR "SteelReinforcedConcreteBlock"

}

KS{

	WT = getWallThickness(myWall)

	WT >= 1.2* getWallThinkness(myWall1)

	WT >= 1/15*getObjectHeight(myWall)

} 




Python Code 변환 예정



Modify
10
20059 건축물의 구조기준 등에 관한 규칙 제 34조

제34조(테두리보) 건축물의 각층의 조적식구조인 내력벽 위에는 그 춤이 벽두께의 1.5배 이상인 철골구조 또는 철근콘크리트구조의 테두리보를 설치하여야 한다. 다만, 1층인 건축물로서 벽두께가 벽의 높이의 16분의 1이상이거나 벽길이가 5미터 이하인 경우에는 목조의 테두리보를 설치할 수 있다.





//건축물의 구조기준 등에 관한 규칙 34조 (테두리보)



Check(RSSB_34){

     getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN  KS

}



CS{

    Wall myWall{

      isObjectProperty(Wall.isLoadBearingWall)=True

    }



    isObjectProperty(myWall.Structure.isMansoryStructure)= True

}

   



KS{

  

    WD=getObjectProperty(myWall.depth)

    WH=getObjectProperty(myWall.height)

    WallGirder  myWallGirder{   

      getObjectProperty(WallGirder.height)>=1.5*WD

    }

   

    isInstalled(myWallGrider, myWall, Top)=True







   IF getBuildingStoriesCount()=1

     (WD>=WH/16

      OR getObjectProperty(myWall.length)<=5 m

      )

   THEN getObjectProperty(myWallGrider.Structure.materialType)="Timber"

   

   ELSE THEN   getObjectProperty(myWallGrider.Structure.materialType)="SteelFrame"

OR getObjectProperty(myWallGrider.Structure.materialType)="ReinforcedConcrete"



   END IF

} 




Python Code 변환 예정



Modify
11
20063 건축물의 구조기준 등에 관한 규칙 제 35조 2 항

②조적식구조인 벽에 설치하는 개구부에 있어서는 각층마다 그 개구부 상호간 또는 개구부와 대린벽의 중심과의 수평거리는 그 벽의 두께의 2배 이상으로 하여야 한다. 다만, 개구부의 상부가 아치구조인 경우에는 그러하지 아니하다.





//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 2항
Check(RSSB_35_2){
	getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF (!CS1 AND CS2) THEN KS
}
	Wall myWall1{
	isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
	}
CS1{
	isObjectProperty(Opening.UpperSideShape) = "Arc"
}
CS2{
	isInstalled(Opening, myWall1) = TRUE
}
KS{
	Wall myWall2{
	isObejctProperty(Wall.isRightAngleCrossingWall) = TRUE
	isInstalled(Wall, myWall1.Floor) = TRUE
	}
	WD = getObjectProperty(myWall1.depth)
	getObject(Floor.One.Opening)
	(getObjectInterval(Opening, ) >= 2* WD
	OR getObjectDistance(Opening, myWall2.Center) >= 2* WD
} 




Python Code 변환 예정



Modify
12
20064 건축물의 구조기준 등에 관한 규칙 제 35조 3 항

③폭이 1.8미터를 넘는 개구부의 상부에는 철근콘크리트구조의 윗 인방(引枋)을 설치하여야 한다.





//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 3항

Check(RSSB_35_3){

	getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS

}

CS{

	getObjectProperty(Opening.width) > 1.8m

}

KS{

	Beam myBeam{

	isOjectProperty(Beam.isLintel) = TRUE

	getObjectProperty(Beam.Structure.materialType) = "ReinforcedConcrete"

 	}



	getObjectVerticalLocation(myBeam, Opening) > 0

} 




Python Code 변환 예정



Modify
13
20065 건축물의 구조기준 등에 관한 규칙 제 36조

제36조(벽의 홈) 조적식구조인 벽에 그 층의 높이의 4분의 3이상인 연속한 세로홈을 설치하는 경우에는 그 홈의 깊이는 벽의 두께의 3분의 1이하로 하고, 가로홈을 설치하는 경우에는 그 홈의 깊이는 벽의 두께의 3분의 1이하로 하되, 길이는 3미터 이하로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 36조 (벽의 홈)



Check(RSSB_36){

   getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS 

}



CS{

   Wall myWall{

     isObjectProperty(Wall.Structure.isMansoryStructure)=True

   }

   

   isInstalled(Channel, myWall)=True

   

}

   

KS{

   WD=getObjectProperty(myWall.depth)



   IF getObjectProperty(Channel.shapeType)="VerticleChannel"

      FH=getObjectHeight(Floor.Space)

      getObjectProperty(Channel.length)>=FH*3/4

   

   THEN getObjectProperty(Channel.depth)<= WD/3



   ELSE IF getObjectProperty(Channel.shapeType)="HorizontalChannel"

  

   THEN getObjectProperty(Channel.depth)<= WD/3

        getObjectProperty(Channel.length)<= 3 m



   END IF 

} 




Python Code 변환 예정



Modify
14
20069 건축물의 구조기준 등에 관한 규칙 제 39조 3호

3. 담의 길이 2미터 이내마다 담의 벽면으로부터 그 부분의 담의 두께 이상 튀어나온 버팀벽을 설치하거나, 담의 길이 4미터 이내마다 담의 벽면으로부터 그 부분의 담의 두께의 1.5배 이상 튀어나온 버팀벽을 설치할 것. 다만, 각 부분의 담의 두께가 제2호의 규정에 의한 담의 두께의 1.5배 이상인 경우에는 그러하지 아니하다.





//건축물의 구조기준 등에 관한 규칙 39조 (조적식구조인 담) 3호
Check(RSSB_39_0_3){
	IF !CS THEN KS
}
CS{
	
}
KS{
	FD = getObjectProperty(Fence.depth)
	Wall myWall{
	isObjectProperty(Wall.isSupportingWall) = TRUE
	}
	(isInstalled(myWall, Fence, b, 2) = TRUE
	getObjectProperty(Wall.depth) >= FD)
	OR (isInstalled(myWall, Fence, b, 4) = TRUE
	getObjectProperty(Wall.depth) >= 1.5* 2호 규정에 의한 담의 두께)
} 




Python Code 변환 예정



Modify
15
20070 건축물의 구조기준 등에 관한 규칙 제 41조 1 항

제41조(적용범위) ①이 절의 규정은 보강블록구조의 건축물이나 보강블록구조와 철근콘크리트구조 그 밖의 구조를 병용하는 건축물의 보강블록구조인 부분에 이를 적용한다.





//건축물의 구조기준 등에 관한 규칙 41조 (적용범위 등) 1항
Check(RSSB_41_1){
	getResult(RSSB_41_1) = TRUE AND KS
}
KS{
	getObjectProperty(Building.Structure.materialType) = "SteelReinforcedConcreteBlock" 
	OR "ReinforcedConcrete"
} 




Python Code 변환 예정



Modify
16
20072 건축물의 구조기준 등에 관한 규칙 제 42조

제42조(기초) 보강블록구조인 내력벽의 기초(최하층 바닥면 이하의 부분을 말한다)는 연속기초로 하되 그 중 기초판 부분은 철근콘크리트구조로 하여야 한다.





//	건축물의 구조기준 등에 관한 규칙 42조 (기초)
Check(RSSB_42){
	getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
	Wall myWall{
		isObjectProperty(Wall.isLoadBearingWall) = TRUE
		getFloorNumber(Wall) < 1
	}

	getObjectProperty(myWall.Structure.materialType) = "SteelReinforcedConcreteBlock"
	isObjectProperty(Foundation.isCountinuousFoundation) = TRUE

	getObjectStructure(FoundationPlate.Structure.materialType) = "ReinforcedConcrete"
} 




Python Code 변환 예정



Modify
17
20073 건축물의 구조기준 등에 관한 규칙 제 43조 1 항

제43조(내력벽) ①건축물의 각층에 있어서 건축물의 길이방향 또는 너비방향의 보강블록구조인 내력벽의 길이(대린벽의 경우에는 그 접합된 부분의 각 중심을 이은 선의 길이를 말한다. 이하 이 절에서 같다)는 각각 그 방향의 내력벽의 길이의 합계가 그 층의 바닥면적 1제곱미터에 대하여 0.15미터 이상이 되도록 하되, 그 내력벽으로 둘러쌓인 부분의 바닥면적은 80제곱미터를 넘을 수 없다.





//	건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 1항
Check(RSSB_43_1){
	getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
    Wall myWall{
      isObjectProperty(Wall.isLoadBearingWall) = TRUE
      getObjectProperty(Wall.Structure.materialType) = "SteelReinforcedConcreteBlock"
    }
  
        FA =getObjectArea(Floor.One)
	getObjectProperty(myWall.Length)>= FA*0.15 m
        getObjectProperty(myWall.width)>= FA*0.15 m

        Space mySpace{
            isSurrounded(Space, myWall)=True
        }

         getFloorArea(mySpace)<=80 m2
} 




Python Code 변환 예정



Modify
18
20074 건축물의 구조기준 등에 관한 규칙 제 43조 2 항

②보강블록구조인 내력벽의 두께(마감재료의 두께를 포함하지 아니한다. 이하 이절에서 같다)는 150밀리미터 이상으로 하되, 그 내력벽의 구조내력에 주요한 지점간의 수평거리의 50분의 1이상으로 하여야 한다.





//	건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 2항
Check(RSSB_43_2){
	getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
	Wall myWall{
		isObjectProperty(Wall.isLoadBearingWall) = TRUE
		getFloorNumber(Wall) < 1
		getObjectProperty(Wall.Structure.materialType) = "SteelReinforcedConcreteBlock"
	}

	getWallThickness(myWall) >= 150mm
} 




Python Code 변환 예정



Modify
19
20075 건축물의 구조기준 등에 관한 규칙 제 43조 3 항

③보강블록구조의 내력벽은 그 끝부분과 벽의 모서리부분에 12밀리미터 이상의 철근을 세로로 배치하고, 9밀리미터 이상의 철근을 가로 또는 세로 각각 800밀리미터 이내의 간격으로 배치하여야 한다.





//	건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 3항
Check(RSSB_43_3){
	getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}

KS{
    Wall myWall{
      isObjectProperty(Wall.isLoadBearingWall) = TRUE
      getObjectProperty(Wall.Structure.materialType) = "SteelReinforcedConcreteBlock"
    }

   Reinforcement myReinforcement{
        getObjectProperty(Reinforcement.diameter)>=12 mm
   }
      
    isInstalled( myReinforcement, myWall, Vertical , myWall.BothEndSides)=True
    isInstalled( myReinforcement, myWall, Vertical , myWall.Edge)=True

    Reinforcement myReinforcement2{
        getObjectProperty(Reinforcement.diameter)>=9 mm
   }
   
    isInstalled( myReinforcement2, myWall, 800 mm , myWall.BothEndSides)=True
    isInstalled( myReinforcement2, myWall, 800 mm , myWall.Edge)=True
} 




Python Code 변환 예정



Modify
20
20076 건축물의 구조기준 등에 관한 규칙 제 43조 4 항

④제3항의 규정에 의한 세로철근의 양단은 각각 그 철근지름의 40배 이상을 기초판 부분이나 테두리보 또는 바닥판에 정착시켜야 한다.





//건축물의 구조기준 등에 관한 규칙 43조 (내력벽) 4항

Check(RSSB_43_4){

	getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS

}



KS{

   RD>=40*getObjectProperty(RSSB_43_3_myReinforcement.diameter)

      

    isInstalled( RSSB_43_3_myReinforcement.BothEndSides, FoundationPlate , RD, "정착")=True



    OR  isInstalled( RSSB_43_3_myReinforcement.BothEndSides, WallGirder, RD, "정착")=True



      OR  isInstalled( RSSB_43_3_myReinforcement.BothEndSides, FloorSlab   , RD, "정착")=True



} 




Python Code 변환 예정



Modify
21
20077 건축물의 구조기준 등에 관한 규칙 제 44조

제44조(테두리보) 보강블록구조인 내력벽의 각층의 벽 위에는 춤이 벽두께의 1.5배 이상인 철근콘크리트구조의 테두리보를 설치하여야 한다. 다만, 최상층의 벽으로서 그 벽위에 철근콘크리트구조의 옥상바닥판이 있는 경우에는 그러하지 아니하다.





//건축물의 구조기준 등에 관한 규칙 44조 (테두리보)



Check(RSSB_44){

     getResult(RSSB_41_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF !CS THEN  KS

}



!CS{

  Wall myWall{

   isInstalled(Wall, TopFloor)=True

  } 

  

  FloorSlab myFloorSlab{
isInstalled(FloorSlab, Rooftop) = TRUE
       getObjectProperty(FloorSlab.Structure.materialType)="ReinforcedConcrete"

  }

   isInstalled(myFloorSlabOfRooftop, myWall, Top)=True   

    } 



KS{

   Wall myWall{

     isObjectProperty(Wall.isLoadBearingWall)=True

     isObjectProperty(Wall.Structure.isMansoryStructure)= True

   }



   WD=getObjectProperty(myWall.depth)

   

   WallGirder myWallGirder{   

     getObjectProperty(WallGirder.height)>=1.5*WD

     getObjectProperty(myWallGrider.Structure.materialType)="ReinforcedConcrete"

   }

   

    isInstalled(myWallGrider, myWall, Top)=True



  

} 




Python Code 변환 예정



Modify
22
20081 건축물의 구조기준 등에 관한 규칙 제 45조 3호

3. 담의 내부에는 가로 또는 세로 각각 800밀리미터 이내의 간격으로 철근을 배치하고, 담의 끝 및 모서리부분에는 세로로 직경 9밀리미터 이상의 철근을 배치할 것





//	건축물의 구조기준 등에 관한 규칙 45조 (내력벽) 4호
Check(RSSB_45_0_4){
	getResult(RSSB_3_3) = TRUE AND KS
}

KS{
  
    isInstalled( Reinforcement, Fense, 800 mm , Fense.In)=True

    Reinforcement myReinforcement{
        getObjectProperty(Reinforcement.diameter)>=9 mm
   }

     isInstalled( myReinforcement, Fense, Vertical , Fense.BothEndSides)=True
     isInstalled( myReinforcement, Fense, Vertical , Fense.Edge)=True
} 




Python Code 변환 예정



Modify
23
20097 건축물의 구조기준 등에 관한 규칙 제 54조 2호

2. 내력벽의 배근은 9밀리미터 이상의 것을 450밀리미터 이하의 간격으로 하고, 벽두께의 3배 이하이어야 한다. 이 경우 벽의 두께가 200밀리미터 이상일 때에는 벽 양면에 복근으로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 54조 (내력벽의 구조) 2호

Check(RSSB_54_02){
      KS
}

KS{
   Wall myWall{
     isObjectProperty(Wall.isLoadBearingWall)=True
  }

  Reinforcement myReinforcement{
       getObjectProperty(Reinforcement.diameter)>=9 mm
  }
  
  isInstalled(myReinforcement, myWall, 450 mm)=True
  //벽두께의 3배 이하이어야 한다. 
  IF getObjectProperty(myWall.depth)>=200 mm
  THEN isInstalled(DoubleReinforcement, myWall, myWall.BothSides)=True
  END IF 

} 




Python Code 변환 예정



Modify
24
24865 건축물의 구조기준 등에 관한 규칙 제 9조의3조 1 항

① 주요구조부(바닥·지붕틀 및 주계단은 제외한다. 이하 이 조에서 같다)가 목구조인 건축물은 지붕높이 18미터 이하, 처마높이 15미터 이하 및 연면적 3,000제곱미터 이하로 하여야 한다. 다만, 스프링클러를 설치하는 경우에는 연면적을 6,000제곱미터까지 허용할 수 있다.





//건축물의 구조기준 등에 관한 규칙 9조의3 (건축물의 규모제한) 1항

Check(RSSB_9-3_1){

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

}

	MainStructuralPart myMainStructuralPart1{
	getObject(FloorSlab) OR getObject(RoofTruss)
	}
MainStructuralPart myMainStructuralPart2{
	MainStructuralPart != myMainStructuralPart1
	}

CS1{

	isInstalled(SprinklerSystem) != TRUE

	getObjectProperty(myMainStructuralPart2.Structure.materialType) = "Timber"

}

KS1{

	getObjectVerticalDistance(FloorSlab, Roof) <= 18m

	getObjectVerticalDistance(FloorSlab, Eave) <= 15m

	getGrossFloorArea() <= 3000m2

}

CS2{

	isInstalled(SprinklerSystem) = TRUE

	getObjectProperty(myMainStructuralPart2.Structure.materialType) = "Timber"

}

KS1{

	getObjectVerticalDistance(FloorSlab, Roof) <= 18m

	getObjectVerticalDistance(FloorSlab, Eave) <= 15m

	getGrossFloorArea() <= 6000m2

} 




Python Code 변환 예정



Modify
25
24885 건축물의 구조기준 등에 관한 규칙 제 25조 2 항

②압축력을 받는 가새는 두께 35밀리미터 이상이고 골조기둥의 3분의 1쪽에 해당하는 두께인 목재를 사용하여야 한다.





//건축물의 구조기준 등에 관한 규칙 25조 (가새) 2항

Check(RSSB_25_2){

        getResult(RSSB_3_3) = TRUE AND KS

}

KS{

	Brace myBrace{

	isObjectProperty(Brace.isCompressionBrace) = TRUE

	}

	Column myColumn{

	isObjectProperty(Column.isFramedColumn) = TRUE

	}

	CW = getObjectProperty(myColumn.width) * 1/3



	getObjectProperty(Brace.depth) >= 35mm

	getObjectMaterial(Brace) = "Timber"

	getObjectProperty(Brace.Material.width) = CW

} 




Python Code 변환 예정



Modify
26
24892 건축물의 구조기준 등에 관한 규칙 제 28조 1 항

①이 절의 규정은 벽돌구조·돌구조·콘크리트블록구조 그 밖의 조적식구조(보강블록구조를 제외한다. 이하 이 절에서 같다)의 건축물이나 조적식구조와 목구조 그 밖의 구조를 병용하는 건축물의 조적식구조로 된 부분에 이를 적용한다.





//건축물의 구조기준 등에 관한 규칙 28조 (적용범위 등) 1항
Check(RSSB_28_1){
	getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND KS
}
KS{
	(getObjectProperty(Building.Structure.materialType) = "Brick" OR "Stone" OR "ConcreteBlock")
	OR (isObjectProperty(Building.Structure.isMansoryStructure) = TRUE
	getObjectProperty(Building.Structure.materialType) != "SteelReinforcedConcreteBlock")
} 




Python Code 변환 예정



Modify
27
24898 건축물의 구조기준 등에 관한 규칙 제 52조

제52조(보의 구조) 구조부재인 보는 복근(複筋)으로 배근하되, 주근(主筋)은 직경 12밀리미터 이상의 것을 사용하여야 한다. 다만, 늑근(肋筋)은 직경 6밀리미터 이상의 것을 사용하여야 하며, 그 배치간격은 보춤의 4분의 3이하 또는 450밀리미터 이하이어야 한다. <개정 2009.12.31>





//건축물의 구조기준 등에 관한 규칙 52조 (보의 구조) 



Check(RSSB_52){

     getResult(RSSB_3_3) = TRUE AND IF CS THEN KS

}



CS{

    isObjectProperty(Beam.isStructuralMember)=True

}



KS{

    getObjectProperty(Beam.MainReinforcement.diameter)>=12 mm

    getObjectProperty(Beam."늑근".diameter 




Python Code 변환 예정



Modify
28
24900 건축물의 구조기준 등에 관한 규칙 제 54조

제54조(내력벽의 구조) 구조부재인 콘크리트벽체는 다음 각호의 기준에 적합하여야 한다. <개정 2009.12.31>





//건축물의 구조기준 등에 관한 규칙 54조 (내력벽의 구조)

Check(RSSB_54){
   getResult(RSSB_3_3) = TRUE AND IF CS THEN KS 
}

CS{
    isObjectProperty(Wall.isStructuralMember)=True
    getObjectProperty(Wall.material)="Concrete"
}

KS{
    getResult(RSSB_54_0_1)=True
    getResult(RSSB_54_0_2)=True
} 




Python Code 변환 예정



Modify
29
19383 건축물의 설비기준 등에 관한 규칙 제 10조 2호 바 목

바. 승강장의 바닥면적은 비상용승강기 1대에 대하여 6제곱미터 이상으로 할 것. 다만, 옥외에 승강장을 설치하는 경우에는 그러하지 아니하다.





//건축물의 설비기준 등에 관한 규칙 10조 (비상용승강기의 승강장 및 승강로의 구조) 2호 바목
Check(RFB_10_0_2_바){
	IF !CS THEN KS
}

	Elevator myElevator{
		isObjectProperty(Elevator.isEmergency)=TRUE
	}

CS{
	isExternal(myElevator.Platform) = TRUE
}
KS{
	EN = getObjectProperty(Elevator.numberOf)
	getObjectProperty(myElevator.Platform.area) >= EN*6
} 




Python Code 변환 예정



Modify
30
24964 건축물의 설비기준 등에 관한 규칙 제 17조의2조 1 항

① 다음 각 호의 어느 하나에 해당하는 지역에서 연면적 1만제곱미터 이상의 건축물을 건축하려는 자는 빗물 등의 유입으로 건축물이 침수되지 아니하도록 해당 건축물의 지하층 및 1층의 출입구(주차장의 출입구를 포함한다)에 차수판(遮水板) 등 해당 건축물의 침수를 방지할 수 있는 설비(이하 "차수설비"라 한다)를 설치하여야 한다. 다만, 법 제5조제1항에 따른 허가권자가 침수의 우려가 없다고 인정하는 경우에는 그러하지 아니하다.





//	건축물의 설비기준 등에 관한 규칙 17조의2 (차수설비) 1항

Check(RFB_17-2_1){

	IF CS THEN KS

}



CS{

	getResult(RFB_17-2_1_1) = TRUE

	OR getResult(RFB_17-2_1_2) = TRUE



	getGrossFloorArea() >= 10000m2

}



KS{

	Floor myFloor{

		getObjectProperty(Floor.number) <0

	}



	hasSpace(myFloor,WaterCutoffSystem) = TRUE

} 




Python Code 변환 예정



Modify
31
25075 건축물의 설비기준 등에 관한 규칙 제 5조

제5조(승용승강기의 설치기준) 「건축법」(이하 "법"이라 한다) 제64조제1항에 따라 건축물에 설치하는 승용승강기의 설치기준은 별표 1의2와 같다. 다만, 승용승강기가 설치되어 있는 건축물에 1개층을 증축하는 경우에는 승용승강기의 승강로를 연장하여 설치하지 아니할 수 있다. <개정 2001.1.17, 2006.2.13, 2008.7.10, 2015.7.9>





//건축물의 설비기준 등에 관한 규칙 5조 (승용승강기의 설치기준) 

Check(RFB_5){

	IF !(CS) THEN KS1

}

CS{
getObjectProperty(Elevator.usage) = "PassengerElevator"
	isExist(Elevator) = TRUE
}

KS1{
        getResult(RFB_*_1-2) = TRUE
} 








def Check(RFB_5):


CS

myobject = getobject(PassengerElevator)
if isExist(myobject) = True:
    
else:
    
getObjectProperty(Elevator, usage) = "PassengerElevator"
is






def getobjectproperty(str objname, str propname):
    myobj = root.select(objname)
    myprop = myobj.select(propname)
    return myprop
  





Modify
32
25140 건축물의 설비기준 등에 관한 규칙 제 14조 2 항 1호

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(SmokeExhaustionOpening,Chimney) = TRUE

            isConnectedTo(myDuct,Chimney) = TRUE)

} 




Python Code 변환 예정



Modify
33
72660 건축물의 에너지절약설계기준 제 5조 10호 다 목

다. "열원설비”라 함은 에너지를 이용하여 열을 발생시키는 설비를 말한다.





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

CS{
	getObjectProperty(Floor.number) < 0
}

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




Python Code 변환 예정



Modify
34
72667 건축물의 에너지절약설계기준 제 5조 10호 차 목

차. "이코노마이저시스템”이라 함은 중간기 또는 동계에 발생하는 냉방부하를 실내 엔탈피 보다 낮은 도입 외기에 의하여 제거 또는 감소시키는 시스템을 말한다.





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

Check(NFSC504_4_1_2){

	IF CS THEN KS

}



	Floor myFloor{

		getFloorNumber < 0

		hasSpace(Floor, SpecificFireFightingBuilding) = TRUE

	}



	Floor myFloor2{

		getFloorNumber >= 0

		hasSpace(Floor, SpecificFireFightingBuilding) = TRUE

	}



CS{

	(getBuildingStoriesCount() >= 7

	getGrossFloorArea(myFloor2) >= 2000m2)

	OR getTotalFloorArea(myFloor) >= 3000m2

}



KS{

	isInstalled(EmergencyPower, EmergencyPowerOutletSystem) = TRUE

	getObjectProperty(EmergencyPowerReceivingSystem.type) = "InhousePowerGenerationSystem"

	OR getObjectProperty(EmergencyPowerReceivingSystem.type) = "EmergencyPowerReceivingSystem"

} 




Python Code 변환 예정



Modify
35
72668 건축물의 에너지절약설계기준 제 5조 10호 카 목

카. "중앙집중식 냉·난방설비”라 함은 건축물의 전부 또는 냉난방 면적의 60% 이상을 냉방 또는 난방함에 있어 해당 공간에 순환펌프, 증기난방설비 등을 이용하여 열원 등을 공급하는 설비를 말한다. 단, 산업통상자원부 고시 「효율관리기자재 운용규정」에서 정한 가정용 가스보일러는 개별 난방설비로 간주한다.





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

Check(NFSC504_4_1_3){

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

}



CS1{

	getObjectProperty(EmergencyPowerReceivingSystem.type) = "InhousePowerGenerationSystem"

}



KS1{

	getResult(NFSC504_4_1_3_4) = TRUE

}



CS2{

	getObjectProperty(EmergencyPowerReceivingSystem.type) = "EmergencyPowerReceivingSystem"

}



KS2{

	getResult(Unimplemented_NFSC_602) = TRUE

} 




Python Code 변환 예정



Modify
36
72691 건축물의 에너지절약설계기준 제 5조 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(Pipe, myPort) = TRUE

	}



	Pipe myPipe2{

		isObjectProperty(Pipe.isRiser) = TRUE

	}



CS1{

	getObjectProperty(myPipe.systemType) = "HoseReelHydrantSystem"

}



KS1{

	getObjectProperty(myPipe.diameter) >= 25mm

}



CS2{

	getObjectProperty(myPipe.systemType) != "HoseReelHydrantSystem"

}



KS2{

	getObjectProperty(myPipe.diameter) >= 40mm

}



CS3{

	getObjectProperty(myPipe2.systemType) = "HoseReelHydrantSystem"

}



KS3{

	getObjectProperty(myPipe2.diameter) >= 32mm

}



CS4{

	getObjectProperty(myPipe2.systemType) != "HoseReelHydrantSystem"

}



KS4{

	getObjectProperty(myPipe2.diameter) >= 50mm

} 




Python Code 변환 예정



Modify
37
72692 건축물의 에너지절약설계기준 제 5조 6호

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(Pipe, myPort) = TRUE

	}

	

	isObjectProperty(myPipe1.diameter) >= 100 mm	

	getObjectProperty(myPipe2.diameter) >= 65 mm

} 




Python Code 변환 예정



Modify
38
72696 건축물의 에너지절약설계기준 제 5조 9호 가 목

가. "거실”이라 함은 건축물 안에서 거주(단위 세대 내 욕실·화장실·현관을 포함한다)·집무·작업·집회·오락 기타 이와 유사한 목적을 위하여 사용되는 방을 말하나, 특별히 이 기준에서는 거실이 아닌 냉·난방공간 또한 거실에 포함한다.





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

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




Python Code 변환 예정



Modify
39
72699 건축물의 에너지절약설계기준 제 5조 9호 너 목

너. "태양열취득률(SHGC)"이라 함은 입사된 태양열에 대하여 실내로 유입된 태양열취득의 비율을 말한다.





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

Check(NFSC503A_6_13_2){

 IF !CS THEN KS 

}

CS{

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

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

}

KS{

	Port myPort{ 

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

 	}

 	Pipe myPipe{

	isObjectProperty(Pipe.isRiser)=TRUE

	}

	Vavle myValve{

	isObjectProperty(Valve.isShutoffValve)= TRUE

	}

 	isConnectedTo(myPort, Pipe) = TRUE

 	isConnectedTo(Pipe, myPipe) = TRUE

  	isInstalled(myValve, myPipe) = FALSE

 } 




Python Code 변환 예정



Modify
40
72700 건축물의 에너지절약설계기준 제 5조 9호 다 목

다. "거실의 외벽”이라 함은 거실의 벽 중 외기에 직접 또는 간접 면하는 부위를 말한다. 다만, 복합용도의 건축물인 경우에는 해당 용도로 사용하는 공간이 다른 용도로 사용하는 공간과 접하는 부위를 외벽으로 볼 수 있다.





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

Check(NFSC503A_6_13_3){

  KS

}

KS{

	Port myPort{ 

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

 	}

 	getObjectVerticalDistance(Ground, myPort) >= 0.5m

 	getObjectVerticalDistance(Ground, myPort) <= 1m

} 




Python Code 변환 예정



Modify
41
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(WaterSupplyOpening, myPipe) = TRUE
}

WaterSupplyOpening myWaterSupplyOpening2{
	WaterSupplyOpening != myWaterSupplyOpening
}

KS{
	getObjectVerticalLocation(myWaterSupplyOpening, myWaterSupplyOpening2) < 0
}

 




Python Code 변환 예정



Modify
42
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
43
72718 건축물의 에너지절약설계기준 제 6조 1호 가 2) 목

2) 지면 및 토양에 접한 바닥 부위로서 난방공간의 외벽 내표면까지의 모든 수평거리가 10미터를 초과하는 바닥부위





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



Check(NFSC103_6_4){

    KS 

}



KS{

	Material myMaterial{

	getObjectProperty(Object.Material)="ProtectiveWireMesh"

	}

	isExternal(WaterflowIndicator)=FALSE

	OR isPartitioned(WaterflowIndicator, , myMaterial) = TRUE

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



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



	Door myDoor{

	getObjectProperty(Door.width) >= 0.5m

	getObjectProperty(Door.height) >= 1m

	}

	hasObject(WaterflowIndicator.Space,myDoor)=TRUE

} 




Python Code 변환 예정



Modify
44
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
45
72729 건축물의 에너지절약설계기준 제 6조 1호 라 목

라. 별표1 건축물부위의 열관류율 산정을 위한 단열재의 열전도율 값은 한국산업규격 KS L 9016 보온재의 열전도율 측정방법에 따른 국가공인시험기관의 KOLAS 인정마크가 표시된 시험성적서에 의한 값을 사용하되 열전도율 시험을 위한 시료의 평균온도는 20±5℃로 한다.





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

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




Python Code 변환 예정



Modify
46
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
47
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
48
72749 건축물의 에너지절약설계기준 제 6조 4호 바 목

바. 건축물의 거실의 창이 외기에 직접 면하는 부위인 경우에는 제5조제9호자목에 따른 기밀성 창을 설치하여야 한다.





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

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


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




Python Code 변환 예정



Modify
49
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
50
72763 건축물의 에너지절약설계기준 제 7조 3호 나 목

나. 외벽 부위는 제5조제9호차목에 따른 외단열로 시공한다.





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

Check(NFSC103_12_2){

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

}



CS1{

	Tank myTank{

		getObjectProperty(Tank) = "PressurizedTank"

	}



	isInstalled(myTank) = TRUE

}



CS2{

	getBuildingUsage() = "Garage"

	OR getBuildingUsage() = "ParkingLot"



	ParkingLot myParkingLot{

		getResult(Unimplemented_NFSC105_13_2_2) = TRUE

		getSpace(ParkingLot)

	}



	Floor myFloor{

		isInstalled(SprinklerSystem, Floor) = TRUE

	}



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

}



KS1{

	EmergencyPower myEmergencyPower{

		getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"

		OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem"

	}

	isInstalled(myEmergencyPower, SprinklerSystem) = TRUE

}



KS2{

	EmergencyPower myEmergencyPower{

		getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"

		OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem"

		OR getObjectProperty(EmergencyPower.systemType) = "EmergencyPowerReceivingSystem"

	}

	isInstalled(myEmergencyPower, SprinklerSystem) = TRUE

} 




Python Code 변환 예정



Modify
51
72764 건축물의 에너지절약설계기준 제 7조 3호 다 목

다. 외피의 모서리 부분은 열교가 발생하지 않도록 단열재를 연속적으로 설치하고 충분히 단열되도록 한다.





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

Check(NFSC103_12_3){

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

}



	Pump myPump{

		getObjectProperty(Pump.systemType) = "InternalCombustionEngines"

	}



CS1{

	getResult(Unimplemented_NFSC103_12_2) = TRUE



	getObjectProperty(EmergencyPower.systemType) = "InhousePowerGenerationSystem"

	OR getObjectProperty(EmergencyPower.systemType) = "StorageBatterySystem"

}



CS2{

	isInstalled(Pump, InternalCombustionEngines) = TRUE

	isInstalled(ControlStorageBattery, InternalCombustionEngine) = TRUE

}



KS1{

	getResult(NFSC103_12_3_4) = TRUE

	OR getResult(NFSC103_12_3_8) = TRUE

}



CS3{

	getResult(Unimplemented_NFSC103_12_2) = TRUE

	getObjectProperty(EmergencyPower.systemType) = "EmergencyPowerReceivingSystem"

}



KS2{

	getResult(Unimplemented_NFSC602) = TRUE

} 




Python Code 변환 예정



Modify
52
72767 건축물의 에너지절약설계기준 제 7조 3호 바 목

바. 야간 시간에도 난방을 해야 하는 숙박시설 및 공동주택에는 창으로의 열손실을 줄이기 위하여 단열셔터 등 제5조제9호타목에 따른 야간단열장치를 설치한다.





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

KS{
	getObjectProperty() = "DedicatedGeneratorForFireFighting"
} 




Python Code 변환 예정



Modify
53
72768 건축물의 에너지절약설계기준 제 7조 3호 사 목

사. 태양열 유입에 의한 냉·난방부하를 저감 할 수 있도록 일사조절장치, 태양열투과율, 창면적비 등을 고려한 설계를 한다. 차양장치 등을 설치하는 경우에는 비, 바람, 눈, 고드름 등의 낙하 및 화재 등의 사고에 대비하여 안전성을 검토하고 주변 건축물에 빛반사에 의한 피해 영향을 고려하여야 한다.





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

KS{
	getObjectProperty() = "FireLoadCombinationGenerator"
} 




Python Code 변환 예정



Modify
54
72769 건축물의 에너지절약설계기준 제 7조 3호 아 목

아. 건물 옥상에는 조경을 하여 최상층 지붕의 열저항을 높이고, 옥상면에 직접 도달하는 일사를 차단하여 냉방부하를 감소시킨다.





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

KS{
	getObjectProperty() = "EmergencyPowerSystemForReservedFirefightingPower"
} 




Python Code 변환 예정



Modify
55
72771 건축물의 에너지절약설계기준 제 7조 4호 가 목

가. 틈새바람에 의한 열손실을 방지하기 위하여 외기에 직접 또는 간접으로 면하는 거실 부위에는 기밀성 창 및 문을 사용한다.





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

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




Python Code 변환 예정



Modify
56
72787 건축물의 에너지절약설계기준 제 8조 2호 다 목

다. 기기배관 및 덕트는 국토교통부에서 정하는 「건축기계설비공사표준시방서」의 보온두께 이상 또는 그 이상의 열저항을 갖도록 단열조치를 하여야 한다. 다만, 건축물내의 벽체 또는 바닥에 매립되는 배관 등은 그러하지 아니할 수 있다.





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

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

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

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

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

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




Python Code 변환 예정



Modify
57
72789 건축물의 에너지절약설계기준 제 9조

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





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

Check(NFSC103_16_2){

	IF CS THEN KS

}



	Pump myPump{

		isInstalled(SprinklerSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump2{

		isInstalled(IndoorFireHydrantSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump3{

		isInstalled(SimpleSprinklerSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump4{

		isInstalled(SprinklerSystemForEarlyFireSuppression, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump5{

		isInstalled(WaterSprayExtingushingSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump6{

		isInstalled(FoamExtinguishingSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}



	Pump myPump7{

		isInstalled(OutdoorFireHydrantSystem, PressurizedWaterSupplySystem) = TRUE

		getObjectUsage(Pump) = "PressurizedWaterSupplySystem"

	}





CS{

	isShared(myPump, myPump2) = TRUE

	OR isShared(myPump, myPump3) = TRUE

	OR isShared(myPump, myPump4) = TRUE

	OR isShared(myPump, myPump5) = TRUE

	OR isShared(myPump, myPump6) = TRUE

	OR isShared(myPump, myPump7) = TRUE

}



KS{

	getObjectProperty(myPump.ratedDischargeRate) = PRD



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



	PRD >= TPRD

} 




Python Code 변환 예정



Modify
58
72793 건축물의 에너지절약설계기준 제 9조 2호 가 목

가. 열원설비는 부분부하 및 전부하 운전효율이 좋은 것을 선정한다.





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



Check(NFSC503A_4_2_1){

	KS

}

KS{

	Valve myValve1{

	isObjectProperty(Valve.isFootValve) = TRUE

	isObjectProperty(Valve.systemType) = "SimpleSprinklerSystem"

	}

	Port myPort1{

	getObjectProperty(Port.typeForWater) = "Obsorption"

	isObjectProperty(Valve.systemType) = "SimpleSprinklerSystem"

	}

	Valve myValve2{

	isObjectProperty(Valve.isFootValve) = TRUE

	isObjectProperty(Valve.systemType) != "SimpleSprinklerSystem"

	}

	Port myPort2{

	getObjectProperty(Port.typeForWater) = "Obsorption"

	isObjectProperty(Valve.systemType) != "SimpleSprinklerSystem"

	}

	getObjectVerticalLocation(myValve1|myValve1, myValve2|myPort2) < 0

} 




Python Code 변환 예정



Modify
59
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(Port,myTank) = TRUE



	isConnectedTo(Port,myWaterSupplyPipe) = TRUE



	}







	Port myPort2 {



	getObject(Port) - getObject(myPort1)



	}







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



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







	Distance1 - Distance2 < 0



} 




Python Code 변환 예정



Modify
60
72800 건축물의 에너지절약설계기준 제 9조 3호 가 목

가. 중간기 등에 외기도입에 의하여 냉방부하를 감소시키는 경우에는 실내 공기질을 저하시키지 않는 범위 내에서 이코노마이저시스템 등 외기냉방시스템을 적용한다. 다만, 외기냉방시스템의 적용이 건축물의 총에너지비용을 감소시킬 수 없는 경우에는 그러하지 아니한다.





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

Check(NFSC503A_5_2){
	IF CS THEN KS
}

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

} 




Python Code 변환 예정



Modify
61
72806 건축물의 에너지절약설계기준 제 9조 5호

5. 환기 및 제어설비





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

Check(NFSC103A_5_2_7_1){

	KS

}



KS{

	getObjectProperty(Pump.dischargePressure) = PDP

	getObjectProperty(Sprinkler.dischargePressure) = SDP

	getObjectProperty(PressurizedWaterSupplySystem.ratedDischargePressure) = PWSDP

	

	(SDP + 0.2 <= PDP)

	OR(PDP = PWSDP)

} 




Python Code 변환 예정



Modify
62
72812 건축물의 에너지절약설계기준 제 9조 6호 나 목

나. 에너지 사용설비는 에너지절약 및 에너지이용 효율의 향상을 위하여 컴퓨터에 의한 자동제어시스템 또는 네트워킹이 가능한 현장제어장치 등을 사용한 에너지제어시스템을 채택하거나, 분산제어 시스템으로서 각 설비별 에너지제어 시스템에 개방형 통신기술을 채택하여 설비별 제어 시스템간 에너지관리 데이터의 호환과 집중제어가 가능하도록 한다.





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



Check(NFSC503A_5_3_2){

	KS

}

KS{

	Tank myTank{

	isObjectProperty(Tank.operationType) = "ElevatedWaterTank"

	}

	Pipe myPipe1{

	isObjectProperty(Pipe.isOverflowPipe) = TRUE

	}
	Pipe myPipe2{

	getObjectProperty(Pipe.usage) = "WaterDrainPipe"

	}
	Pipe myPipe3{

	getObjectProperty(Pipe.usage) = "WaterSupplyPipe"

	}
	isInstalled(myTank,WaterLevelGauge) = TRUE

	isInstalled(myTank,myPipe2) = TRUE

	isInstalled(myTank,myPipe3) = TRUE

	isInstalled(myTank,myPipe1) = TRUE

	isInstalled(myTank,Manshole) = TRUE

} 




Python Code 변환 예정



Modify
63
72813 건축물의 에너지절약설계기준 제 10조

제10조(전기부문의 의무사항) 에너지절약계획서 제출대상 건축물의 건축주와 설계자 등은 다음 각 호에서 정하는 전기부문의 설계기준을 따라야 한다.





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



Check(NFSC503A_5_4){

	IF CS THEN KS

}

CS{

	getObjectProperty(PressurizedWaterSupplySystem.supplyType) = "HydropneumaticTankType"

}

KS{

	getResult(NFSC503A_5_4_1)=TRUE

	getResult(NFSC503A_5_4_2)=TRUE



} 




Python Code 변환 예정



Modify
64
72820 건축물의 에너지절약설계기준 제 10조 3호 가 목

가. 조명기기 중 안정기내장형램프, 형광램프, 형광램프용안정기를 채택할 때에는 제5조제11호라목에 따른 고효율 조명기기를 사용하여야 하며, 유도등 및 주차장 조명기기는 고효율에너지기자재 인증제품에 해당하는 LED 조명을 설치하여야 한다.





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



Check(NFSC503A_6_0_4){

	KS

}

KS{


	(isExternal(WaterflowIndicator)=FALSE

	OR isPartitioned(WaterflowIndicator, ProtectiveWireMesh) = TRUE)

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



	Door myDoor{

	getObjectProperty(Door.width) >= 0.5m

	getObjectProperty(Door.height) >= 1m

	}

	hasObject(WaterflowIndicator.Space,myDoor)=TRUE

} 




Python Code 변환 예정



Modify
65
72821 건축물의 에너지절약설계기준 제 10조 3호 나 목

나. 안정기는 해당 형광램프 전용안정기를 사용하여야 한다.





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

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

CS{
	isInstalled(SimpleSprinklerSystem, SpecificFireFightingBuilding) = TRUE
}

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




Python Code 변환 예정



Modify
66
72834 건축물의 에너지절약설계기준 제 11조 1호 마 목

마. 역률개선용콘덴서를 집합 설치하는 경우에는 역률자동조절장치를 설치한다.





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

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

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

CS1{
	isExist(myPipe) = TRUE
}

KS1{
	isObjectProperty(myPipe.isShared) = FALSE
}

CS2{
	isExist(myPipe2) = TRUE
}

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




Python Code 변환 예정



Modify
67
72840 건축물의 에너지절약설계기준 제 11조 3호 가 목

가. 옥외등은 고효율 에너지기자재 인증제품 또는 산업통상자원부 고시 효율관리기자재 운용규정」에서 고효율조명기기로 등록된 고휘도방전램프(HID Lamp : High Intensity Dis charge Lamp) 또는 LED 램프를 사용하고, 옥외등의 조명회로는 격등 점등과 자동점멸기에 의한 점멸이 가능하도록 한다.





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

Check(NFSC503A_8_5){
	IF CS THEN KS
}

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




Python Code 변환 예정



Modify
68
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
69
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
70
72880 건축물의 에너지절약설계기준 제 24조 1 항

제24조(에너지절약계획서 및 설계 검토서의 이행) ① 허가권자는 건축주가 에너지절약계획서 및 설계 검토서의 작성내용을 이행하도록 허가조건에 포함하여 허가할 수 있다.





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



Check(NFSC203_7_1){

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

}

	Sensor mySensor1{

	getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "LineType"

	}

	Sensor mySensor2{

	getObjectProperty(Sensor.sensingMode) = "CompensationType"

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	Sensor mySensor3{

	getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"

	(getObjectProperty(Sensor.sensingRange) = "SpotType"

	OR getObjectProperty(Sensor.lineTypeEnum) = "LineType")

	}

	Sensor mySensor4{

	getObjectProperty(Sensor.sensingMode) = "ionizationType"

	}

	Sensor mySensor5{

	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"

	(getObjectProperty(Sensor.sensingRange) = "SpotType"

	OR getObjectProperty(Sensor.sensingRange) = "SeparateType"

	OR getObjectProperty(Sensor.sensingRange) = "AspiratingType")

	}

	Sensor mySensor6{

	getObjectProperty(Sensor.integratedType) = "HeatIntegratedType"

	}

	Sensor mySensor7{

	getObjectProperty(Sensor.integratedType) = "SmokeIntegratedType"

	}

	Sensor mySensor8{

	getObjectProperty(Sensor.integratedType) = "HeatAndSmokeIntegratedType"

	}

	}

	 

CS1{

	getObjectVerticalDistance(FloorSlab, Sensor) < 4m

}

KS1{

	(isObjectProperty(mySensor1.sensingRange) = "SpotType"

	isInstalled(mySensor1) = TRUE)

	OR isInstalled(mySensor2) = TRUE

	OR isInstalled(mySensor3) = TRUE

	OR isInstalled(mySensor4) = TRUE

	OR isInstalled(mySensor5) = TRUE

	OR isInstalled(mySensor6) = TRUE

	OR isInstalled(mySensor7) = TRUE

	OR isInstalled(mySensor8) = TRUE

	OR isInstalled(FlameSensor) = TRUE

}

CS2{

	getObjectVerticalDistance(FloorSlab, Sensor) >= 4m

	getObjectVerticalDistance(FloorSlab, Sensor) < 8m

}

KS2{

	(isObjectProperty(mySensor1.sensingRange) = "SpotType"

	isInstalled(mySensor1) = TRUE)

	OR isInstalled(mySensor2) = TRUE

	OR ((getObjectProperty(Sensor.type) = "SpecialType"

	OR getObjectProperty(Sensor.type) = "Type1")

	isInstalled(mySensor3) = TRUE)

	OR ((getObjectProperty(Sensor.type) = "Type1"

	OR getObjectProperty(Sensor.type) = "Type2")isInstalled(mySensor4) = TRUE)

	OR ((getObjectProperty(Sensor.type) = "Type1"

	OR getObjectProperty(Sensor.type) = "Type2")

	isInstalled(mySensor5) = TRUE)

	OR isInstalled(mySensor6) = TRUE

	OR isInstalled(mySensor7) = TRUE

	OR isInstalled(mySensor8) = TRUE

	OR isInstalled(FlameSensor) = TRUE

}

CS3{

	getObjectVerticalDistance(FloorSlab, Sensor) >= 8m

	getObjectVerticalDistance(FloorSlab, Sensor) < 15m

}

KS3{

	isInstalled(mySensor1) = TRUE

	OR ((getObjectProperty(Sensor.type) = "Type1"

	OR getObjectProperty(Sensor.type) = "Type2")isInstalled(mySensor4) = TRUE)

	OR ((getObjectProperty(Sensor.type) = "Type1"

	OR getObjectProperty(Sensor.type) = "Type2")

	isInstalled(mySensor5) = TRUE)

	OR isInstalled(mySensor7) = TRUE

	OR isInstalled(FlameSensor) = TRUE

}

CS4{

	getObjectVerticalDistance(FloorSlab, Sensor) >= 15m

	getObjectVerticalDistance(FloorSlab, Sensor) < 20m

}

KS4{

	((getObjectProperty(Sensor.type) = "Type1"

	isInstalled(mySensor4) = TRUE)

	OR (getObjectProperty(Sensor.type) = "Type1"

	isInstalled(mySensor5) = TRUE)

	OR isInstalled(mySensor7) = TRUE

	OR isInstalled(FlameSensor) = TRUE

}

CS5{

	getObjectVerticalDistance(FloorSlab, Sensor) >= 20m

}

KS5{

	Sensor mySensor9{

	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"

	(getObjectProperty(Sensor.sensingRange) = "SeparateType"

	OR getObjectProperty(Sensor.sensingRange) = "AspiratingType")

	getObjectProperty(Sensor.operationMode) = "Analog"isInstalled(mySensor5) = TRUE

	}

	isInstalled(mySensor9) = TRUE

	OR isInstalled(FlameSensor) = TRUE

} 




Python Code 변환 예정



Modify
71
72882 건축물의 에너지절약설계기준 제 25조

제25조(에너지 소요량 평가 세부기준 등) 이 기준 제21조의 에너지 소요량 평가를 위한 세부내용은 「건축물 에너지효율등급 인증기준」을 준용한다.





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

Check(NFSC203_7_1_2){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "LineType"

	}

	getObject(mySensor)

} 




Python Code 변환 예정



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

제26조(에너지절약계획서 및 설계 검토서의 작성·검토업무) 국토교통부 장관은 에너지절약계획서 및 설계 검토서의 작성·검토업무의 효율적 수행을 위하여 법 제17조에 따른 건축물 에너지효율등급 인증제 운영기관을 에너지절약계획서 검토 운영기관으로 지정하고 국토교통부 장관의 승인을 받아 다음 각 호의 업무를 수행하도록 할 수 있다.





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

Check(NFSC203_7_1_3){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingRange) = "LineType"

	}

	getObject(mySensor)

} 




Python Code 변환 예정



Modify
73
72885 건축물의 에너지절약설계기준 제 26조 2호

2. 에너지 절약계획서 검토 전문기관별 검토현황 관리 및 보고에 관한 업무





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

Check(NFSC203_7_1_5){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingMode) = "PhotoelectricType"

	getObjectProperty(Sensor.sensingRange) = "SeparateType"

	}

	getObject(mySensor)

} 




Python Code 변환 예정



Modify
74
72886 건축물의 에너지절약설계기준 제 26조 3호

3. 에너지 절약계획서 검토관련 통계자료 활용 및 분석에 관한 업무





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

Check(NFSC203_7_3_6){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.OperationMode.) = "Analog"

	}

	getObject(mySensor) = TRUE 




Python Code 변환 예정



Modify
75
72887 건축물의 에너지절약설계기준 제 26조 4호

4. 건축물의 에너지절약 설계기준 해설서 작성·운영 등 검토기준의 홍보, 교육, 컨설팅, 조사·연구 및 개발 등에 관한 업무





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

Check(NFSC203_7_1_7){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.OperationMode.) = "MultiSignal"

	}

	getObject(mySensor) = TRUE 




Python Code 변환 예정



Modify
76
72888 건축물의 에너지절약설계기준 제 26조 5호

5. 건축물의 에너지절약 설계기준 운영과 관련하여 검토결과 검수 등 국토교통부장관이 요청하는 업무





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

Check(NFSC203_7_1_8){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.operationMode) = "Accumulation"

	}

	getObject(mySensor) = TRUE 




Python Code 변환 예정



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

제28조(제로에너지빌딩 지원센터) ① 국토교통부장관은 제로에너지빌딩 조기 활성화 업무 수행을 위하여 에너지관리공단과 한국건설기술연구원을 제로에너지빌딩 지원센터로 지정하고, 다음 각 호의 업무를 수행하도록 할 수 있다.





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

KS{
	Ramp myRamp{
		getObjectProperty(Ramp.length) >= 15m
	}

	isInstalled(SmokeSensor, Stair) = TRUE
	isInstalled(SmokeSensor, myRamp) = TRUE
} 




Python Code 변환 예정



Modify
78
72891 건축물의 에너지절약설계기준 제 28조 1 항 1호

1. 제로에너지빌딩 시범사업 운영지원에 관한 업무





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

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

	isInstalled(SmokeSensor, myCorridor) = TRUE
} 




Python Code 변환 예정



Modify
79
72897 건축물의 에너지절약설계기준 제 29조

제29조(재검토기한) 「훈령·예규 등의 발령 및 관리에 관한 규정」 (대통령훈령 제248호)에 따라 이 고시 발령 후의 법령이나 현실여건의 변화 등을 검토하여 이 고시의 폐지, 개정 등의 조치를 하여야 하는 기한은 2017년 5월 31일까지로 한다.





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

Check(NFSC203_7_3_5){

	IF CS1 AND CS2 THEN KS

}

	Sensor mySensor1{

	getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	Sensor mySensor2{

	getObjectProperty(Sensor.sensingMode) = "CompensationType"

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	Sensor mySensor3{

	getObjectProperty(Sensor.sensingMode) = "ConstantTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	 

CS1{

	getElementDistance(FloorSlab, Sensor) < 4m

	}

CS2{

	isFireResistantStructure(SpecificFireFightingBuilding.MainStructuralPart) = TRUE

	}

CS3{

	getElementDistance(FloorSlab, Sensor) < 8m

	getElementDistance(FloorSlab, Sensor) >= 4m

	}



KS{

	isObjectProperty(mySensor1.type) = "Type1"

	isInstalled(mySensor1, FloorSlab, 90) = TRUE

} 




Python Code 변환 예정



Modify
80
72898 건축물의 에너지절약설계기준 제 별표1조

지역별 건축물 부위의 열관류율표





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

Check(NFSC203_7_3_6){

	KS

}

KS{

	Sensor mySensor{

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	getObjectGradient(FloorSlab, mySensor) < 45

} 




Python Code 변환 예정



Modify
81
72899 건축물의 에너지절약설계기준 제 별표10조

연간 1차 에너지 소요량 평가기준





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

Check(NFSC203_7_3_7){

	IF CS THEN KS

}

CS{

	Sensor mySensor{

	getObjectProperty(Sensor.lineTypeEnum) = "ThermopneumaticTube"

	getObjectProperty(Sensor.sensingMode) = "DifferentialTemperatureType"

	getObjectProperty(Sensor.sensingRange) = "SpotType"

	}

	isInstalled(mySensor) = TRUE

}

KS{

	

	getResult(NFSC_7_3_7_1) = TRUE

	getResult(NFSC_7_3_7_2) = TRUE

	getResult(NFSC_7_3_7_3) = TRUE

	getResult(NFSC_7_3_7_4) = TRUE

	getResult(NFSC_7_3_7_5) = TRUE

	getResult(NFSC_7_3_7_6) = TRUE

} 




Python Code 변환 예정



Modify
82
72910 건축물의 에너지절약설계기준 제 서식3조

에너지절약계획 이행 검토서





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

	Sensor mySensor1{
	getObjectProperty(Sensor.type) = "Type1"
	}
	Sensor mySensor2{
	isObjectProperty(Sensor.type) = "Type2"
	}

IF 
{isFireResistantStructure(SpecificFireFightingBuilding) = TRUE)
AND 
{isInstalled(Sensor, FloorSlab) = TRUE
	getObjectVerticalDistance(FloorSlab, Sensor) < 8m
}
THEN
{(FA = 65
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR 
(FA = 36 
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= FA
THEN getObjectCount(Sensor) = 1

ELSE IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}

ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) = TRUE)
AND 
{isInstalled(Sensor, FloorSlab) = TRUE
AND
getObjectVerticalDistance(FloorSlab, Sensor) >= 8m
AND
getObjectVerticalDistance(FloorSlab, Sensor) < 15m

THEN
{(FA = 50
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR 
(FA = 36 
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}

ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) != TRUE)
AND 
{isInstalled(Sensor, FloorSlab) = TRUE
	getObjectVerticalLocation(FloorSlab, Sensor) < 8m
}
THEN
{(FA = 40
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR 
(FA = 23 
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= FA
THEN getObjectCount(Sensor) = 1

ELSE IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
}

ELSE IF
{isFireResistantStructure(SpecificFireFightingBuilding) != TRUE)
AND 
getObjectVerticalDistance(FloorSlab, Sensor) >= 8m
AND
getObjectVerticalDistance(FloorSlab, Sensor) < 15m
}

THEN
{(FA = 30
isInstalled(mySensor1, FloorSlab.Space, C, FA) = TRUE)
OR 
(FA = 23 
isInstalled(mySensor2, FloorSlab.Space, C, FA) = TRUE)

IF getObjectArea(Sensor.FloorSlab) <= 2*FA
THEN getObjectCount(Sensor) >= 2
} 




Python Code 변환 예정



Modify
83
19410 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호 나 목

나. 골구를 철골조로 하고 그 양면을 두께 4센티미터 이상의 철망모르타르(그 바름바탕을 불연재료로 한 것에 한한다. 이하 이 조에서 같다) 또는 두께 5센티미터 이상의 콘크리트블록ㆍ벽돌 또는 석재로 덮은 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 나목

Check (REFB_3_0_1_나){
	KS
}
KS{
	getObjectProperty(Wall.Structure.materialType) = "SteelFrame"  
	(isInstalled(WireMeshMortar, Wall.DoubleSide) = TRUE
	getObjectWidth(WireMeshMortar) >= 4cm)
	(isInstalled(ConcreteBlock, Wall.DoubleSide) = TRUE 
	OR (getObjectWidth(ConcreteBlock) >= 5cm )
	(isInstalled(Brick, Wall.DoubleSide) = TRUE
	OR getObjectWidth(Brick) >= 5cm )
	(isInstalled(Stone, Wall.DoubleSide) = TRUE
	OR getObjectWidth(Stone) >= 5cm)
} 




Python Code 변환 예정



Modify
84
19411 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호 다 목

다. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 5센티미터 이상인 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 다목

Check (REFB_3_0_1_다){
	IF CS THEN KS
}
CS{
getObjectProperty(Wall.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
KS{
getObjectThickness(Wall.Structure) >= 5cm
}	
 




Python Code 변환 예정



Modify
85
19412 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호 라 목

라. 벽돌조로서 두께가 19센티미터 이상인 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 라목

Check (REFB_3_0_1_라){
	KS
}

KS{
	getObjectProperty(Wall.Structure.materialType) = "Brick"
	getObjectThickness(Wall.Structure) >= 19cm
} 




Python Code 변환 예정



Modify
86
19413 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 1호 마 목

마. 고온ㆍ고압의 증기로 양생된 경량기포 콘크리트패널 또는 경량기포 콘크리트블록조로서 두께가 10센티미터 이상인 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 마목

Check (REFB_3_0_1_마){
	KS
}
KS{
	getObjectProperty(Wall.Structure.materialType) = "AeratedConcretePanel" OR "AeratedConcreteBlock"
	getObjectThickness(Wall.Structure) >= 10cm
} 




Python Code 변환 예정



Modify
87
19416 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 4호 나 목

나. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조로서 철재에 덮은 콘크리트블록등의 두께가 5센티미터 이상인 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 1호 다목

Check (REFB_3_0_4_나){
	IF CS THEN KS
}
CS{
getObjectProperty(FloorSlab.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
}
KS{
getObjectThickness(FloorSlab.Structure) >= 5cm
}	
 




Python Code 변환 예정



Modify
88
19420 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 6호 나 목

나. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호 나목

Check (REFB_3_0_6_나){
	IF CS THEN KS
}
CS{
getObjectProperty(Roof.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
} 




Python Code 변환 예정



Modify
89
19421 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 6호 다 목

다. 철재로 보강된 유리블록 또는 망입유리로 된 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 6호 다목

Check (REFB_3_0_6_다){
	IF CS THEN KS
}
CS{
getObjectProperty(Roof.Structure.materialType) = "GlassBlock" OR "WiredSheetGlass"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
} 




Python Code 변환 예정



Modify
90
19424 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 7호 나 목

나. 무근콘크리트조ㆍ콘크리트블록조ㆍ벽돌조 또는 석조





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 나목

Check (REFB_3_0_7_나){
	KS
}
KS{
	getObjectProperty(Stair.Structure.materialType) = "PlainConcrete" OR "ConcreteBlock" OR "Brick" OR "Stone"
} 




Python Code 변환 예정



Modify
91
19425 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 7호 다 목

다. 철재로 보강된 콘크리트블록조ㆍ벽돌조 또는 석조





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 다목

Check (REFB_3_0_7_다){
	IF CS THEN KS
}
CS{
getObjectProperty(Stair.Structure.materialType) = "ConcreteBlock" OR "Brick" OR "Stone"
isObjectProperty(Structure.isReinforcedSteelStructure) = TRUE
} 




Python Code 변환 예정



Modify
92
19426 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 3조 7호 라 목

라. 철골조





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 3조 (내화구조) 7호 라목

Check (REFB_3_0_7_라){
	KS
}
KS{
getObjectProperty(Stair.Structure.materialType) = "SteelFrame"
} 




Python Code 변환 예정



Modify
93
19467 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10조 1 항

제10조(관람석등으로부터의 출구의 설치기준) ①영 제38조 각호의 1에 해당하는 건축물의 관람석 또는 집회실로부터 바깥쪽으로의 출구로 쓰이는 문은 안여닫이로 하여서는 아니된다.





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 1항

check(REFB_10_1){

    Space mySpace = getSpace("Auditorium") + getSpace("AssemblyHall")



    Door myExit {

        isAccessible(mySpace, Door) = TRUE

        isObjectProperty(Door.isEntrance) = TRUE

    }

getObjectProperty(myExit.panelOperationType) != "OpeningInDoor"


} 








SUCCESS
theater_code = '00000'
std_floor_area = 300


theater_code_label = '관람석 공간분류코드'
std_floor_area_label = '기준 바닥면적'

def Check():
    for building in SELECT('building'):
        
        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()

        for storey in building.SELECT('storey'):
            for space in storey.SELECT('space'):
                if space.SELECT('name').STRING() not in ['관람석', '집회실':
                    continue
                for door in space.Select('door'):
                    if door.SELECT('type') is '안여닫이' :
                        door.ERROR('본 공간의 문은 안여닫이입니다.')
                    else:
                        door.SUCCESS('본 공간의 문은 안여닫이가 아닙니다.')
                         





Modify
94
19562 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 20조 3호

3. 금속제 굴뚝으로서 건축물의 지붕속ㆍ반자위 및 가장 아랫바닥밑에 있는 굴뚝의 부분은 금속외의 불연재료로 덮을 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 20조 (건축물에 설치하는 굴뚝) 3호
Check(REFB_20_0_3){
	IF CS THEN KS
}

CS{
	getObjectMaterial(Chimney.Material.nonCombustibility) = TRUE
}

KS{
	Chimney myChimney{
		getObjectMaterial(Chimney.Material.nonCombustibility) = TRUE
	}

	isObjectProperty(A.Finish.Material.nonCombustibility) = TRUE
	getObjectProperty(A.Finish.Material.nonCombustibility) != 
	isObjectProperty(B.Finish.Material.nonCombustibility) = TRUE
	getFloorNumber(myChimney) = LF
	getObjectMaterial(myChimney) != "Metal"
} 




Python Code 변환 예정



Modify
95
19563 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 20조 4호

4. 금속제 굴뚝은 목재 기타 가연재료로부터 15센티미터 이상 떨어져서 설치할 것. 다만, 두께 10센티미터 이상인 금속외의 불연재료로 덮은 경우에는 그러하지 아니하다.





check(REFB_20_0_4){

IF !CS THEN KS

}



CS{

     (isObjectProperty(Chimney.Material.nonCombustibility)= TRUE

     AND !(getObjectProperty(Chimney.Material)="Metal"))

     And getElementWidth(NoncombustibleMaterials)>=10

}



KS{

       getObjectDistance(Chimney, combustibleMaterials)>= 15CM

       AND getObjectProperty(Chimney.Material)="Metal")) 

} 




Python Code 변환 예정



Modify
96
25194 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 라 목

라. 계단실의 바깥쪽과 접하는 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터 이하인 것을 제외한다)은 당해 건축물의 다른 부분에 설치하는 창문등으로부터 2미터 이상의 거리를 두고 설치할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 라목

check(REFB_9_2_1_4){

IF (CS1 AND CS2) THEN KS

}

CS1 {

Opening myOpening1{

	isConnectedTo(Stair.Space, Opening) = TRUE

	getObjectProperty(Opening.material)= “WireContainedGlass”

	getObjectProperty(Window.panelOperationType)= “FixedSashWindow”

	getObjectProperty(Opening.area)=< 1㎡	

}

CS2 {

Opening myOpening2{

	getObject(Opening) != myOpening1 	

}

KS{

getElementDistance(myOpening1, myOpening2, a)>=2m;	

}



} 




Python Code 변환 예정



Modify
97
25195 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 마 목

마. 건축물의 내부와 접하는 계단실의 창문등(출입구를 제외한다)은 망이 들어 있는 유리의 붙박이창으로서 그 면적을 각각 1제곱미터 이하로 할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 마목
check(REFB_9_2_1_5){
     KS
}
KS{

Opening myOpening3{
	getObject(Opening)!= Door
	isConnectedToExternal(Opening) = FALSE
	hasElement(Stair.Space, Opening) = TRUE
}

	getObjectProperty(myOpening3.material)= “WireContainedGlass”
	getObjectProperty(myOpening3.type)= “FixedSashWindow”
	getObjectProperty(myOpening3.area)=< 1㎡
	
}    
 




Python Code 변환 예정



Modify
98
25199 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 2호 가 목

가. 계단은 그 계단으로 통하는 출입구외의 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터 이하인 것을 제외한다)으로부터 2미터 이상의 거리를 두고 설치할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 가목

check(REFB_9_2_2_1){

    IF (CS) THEN KS

}





CS {

Opening myOpening1{			getObjectProperty(Opening.material)= “WireContainedGlass”

	getObjectProperty(Window.panelOperationType)= “FixedSashWindow”

	getObjectProperty(Opening.area)=< 1㎡	

}

Door myDoor {

	isAccessible(Stair, Door)=TRUE

}

Opening myOpening2{

	getObject(Opening) != myOpening1 

	getObject(Opening) != myDoor	

}

isExist(myOpening2) = TRUE

}



KS{

getElementDistance(Stair, myOpening2, a)>=2m;	

} 




Python Code 변환 예정



Modify
99
25201 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 2호 다 목

다. 계단의 유효너비는 0.9미터 이상으로 할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 다목
check(REFB_9_2_3){
	KS     
}
KS {
	getObjectProperty(Stair.effectiveWidth)>= 0.9m
}
 








min_width = 0.9
min_width_label = 'Minimum Stair Width'

def Check():
    for stair in SELECT('stair'):
        dist = stair.SELECT('clear width')
        width = dist.UNIT('m').NUMBER()
        if width < min_width:
            dist.ERROR('Stair Clear Width : ' + str(width) + 'm')
        else:
            dist.SUCCESS('Stair Clear Width : ' + str(width) + 'm') 





Modify
100
25205 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 3호 나 목

나. 계단실·노대 및 부속실(「건축물의 설비기준 등에 관한 규칙」 제10조제2호 가목의 규정에 의하여 비상용승강기의 승강장을 겸용하는 부속실을 포함한다)은 창문등을 제외하고는 내화구조의 벽으로 각각 구획할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 나목
check (REFB_9_2_3_2){
IF (CS) TEHN KS
}

CS{
	Space mySpace {
		getSpace(Stair.Space)
		getSpace(“Balcony”)
		getSpace(“AncillaryRoom”)
}
isExist(mySpace)=TRUE
}

KS{
   Wall myWall {
getObjectProperty(Wall.isFireResistantStructure = TRUE
}
   isPartitioned(mySpace, 0, myWall)= TRUE
}
 




Python Code 변환 예정



Modify
    1   2   3   4   next▷  
 

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.