1
72572
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 2 항 2호
2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우
Check(NFSC103A_8_2_2){
KS
}
KS{
Duct myDcut{
isFireResistantStructure(Duct) = TRUE
}
isInstalled( Pipe, Duct) = TRUE
OR isInstalled( Pipe, Pit.Inside) = TRUE
}
Python Code 변환 예정
Modify
2
72573
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 2 항 3호
3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우
//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 2항 3호
Check(NFSC503A_8_2_3){
KS
}
KS{
SprinklerSystem mySprinklerSystem{
isObjectProperty(SprinklerSystem.type) = "WetPipeSprinklerSystem"
}
(isObjectProperty(Ceiling.Material.nonCombustibility)=TRUE
OR isObjectProperty(Ceiling.Material.quasiNonCombustibility)=TRUE)
(isObjectProperty(CeilingCovering.Material.nonCombustibility)=TRUE
OR isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=TRUE)
isInstalled( mySprinklerSystem, Ceiling)=TRUE
isInstalled( mySprinklerSystem, CeilingCovering)=TRUE
}
Python Code 변환 예정
Modify
3
72574
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 4 항 1호
1. 공기고임이 생기지 아니하는 구조로 하고 여과장치를 설치할 것
//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항 1호
Check(NFSC503A_8_4_1){
KS
}
KS{
Pipe myPipe{
isInstalled( Pump.Inlet, Pipe) = TRUE
}
isInstalled( myPipe,Filter) = TRUE
}
Python Code 변환 예정
Modify
4
72575
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 4 항 2호
2. 수조가 펌프보다 낮게 설치된 경우에는 각 펌프(충압펌프를 포함한다)마다 수조로부터 별도로 설치할 것
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항 2호
Check(NFSC103A_8_4_2){
IF CS THEN KS
}
CS{
getObjectVerticalLocation(Pump, Tank) < 0
}
KS{
Pipe myPipe{
isInstalled( Pump.Inlet, Pipe) = TRUE
}
isInstalled( myPipe, Pump.One) = TRUE
}
Python Code 변환 예정
Modify
5
72576
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8조 6 항 1호
1. 성능시험배관은 펌프의 토출측에 설치된 개폐밸브 이전에서 분기하여 설치하고, 유량측정장치를 기준으로 전단 직관부에 개폐밸브를 후단 직관부에는 유량조절밸브를 설치할 것
// 옥내소화전설비의 화재안전기준(NFSC 102) 6조 (배관 등) 8항 1호
Check(NFSC102_6_8_1){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
Valve myValve{
isObjectProperty(Valve.isShutoffValve) = TRUE
isInstalled( Valve, Pump.Outlet) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isShutoffValve) = TRUE
isInstalled( Valve, Pump.Outlet) = FALSE
}
Valve myValve3{
isObjectProperty(Valve.isFloatControlValve) = TRUE
}
isDiverged(Pump, myPipe) = TRUE
getObjectDistance(StraightPipeLine, myPipe) < getObjectDistance(StraightPipeLine, myValve)
isInstalled( myValve2, myPipe) = TRUE
isInstalled( myValve3, myPipe) = TRUE
}
Python Code 변환 예정
Modify
6
11032
건축물의 구조기준 등에 관한 규칙 제 35조
제35조(개구부)
//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 1항
Check(RSSB_35_1){
getResult(RSSB_28_2) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
Wall myWall1{
isObjectProperty(myWall.Structure.isMansoryStructure) = TRUE
}
isInstalled( Window, myWall) = TRUE
OR isInstalled( Door, myWall) = TRUE
OR isInstalled( Opening, myWall) = TRUE
}
KS{
getResult(RSSB_35_1_1) = TRUE
getResult(RSSB_35_1_2) = TRUE
}
Python Code 변환 예정
Modify
7
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
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
20057
건축물의 구조기준 등에 관한 규칙 제 33조 2 항
②조적식구조인 칸막이벽의 바로 윗층에 조적식구조인 칸막이벽이나 주요 구조물을 설치하는 경우에는 당해 칸막이벽의 두께는 190밀리미터 이상으로 하여야 한다. 다만, 제34조의 규정에 의한 테두리보를 설치하는 경우에는 그러하지 아니하다.
// 건축물의 구조기준 등에 관한 규칙 33조 (칸막이벽 등의 두께) 2항
Check(RSSB_33_2){
getResult(RSSB_28_3) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF (!CS1 AND CS2) THEN KS
}
Wall myWall{
isObjectProperty(Wall.isPartitionWall)=True
isObjectProperty(Wall.Structure.isMansoryStructure)=True
}
CS1{
getResult(RSSB_34)=True
}
CS2{
FN=getFloorNumber(myWall) //FN means myWall's floor number
Floor myFloor{
Floor.number=FN+1
}
isInstalled( myFloor, myWall)= True
OR isInstalled (myFloor, MainStructure)=True
}
KS{
getObjectThickness(myWall)>=190 mm
}
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
20061
건축물의 구조기준 등에 관한 규칙 제 35조 1 항 1호
1. 각층의 대린벽으로 구획된 각 벽에 있어서 개구부의 폭의 합계는 그 벽의 길이의 2분의 1이하로 하여야 한다.
//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 1항 1호
Check(RSSB_35_1_1){
KS
}
KS{
Wall myWall1{
isObjectProperty(Wall.isRightAngleCrossingWall) = TRUE
isInstalled( Wall, Floor.One) = TRUE
}
Wall myWall2{
isPartitioned(Wall, , myWall1) = TRUE
}
WL = getObjectWidth(myWall2)
OW = getObjectWidth(myOpening)
Opening myOpening{
isInstalled( Opening, Wall) = TRUE
}
Sum(OW) <= WL * 1/2
}
Python Code 변환 예정
Modify
12
20062
건축물의 구조기준 등에 관한 규칙 제 35조 1 항 2호
2. 하나의 층에 있어서의 개구부와 그 바로 윗층에 있는 개구부와의 수직거리는 600밀리미터 이상으로 하여야 한다. 같은 층의 벽에 상하의 개구부가 분리되어 있는 경우 그 개구부 사이의 거리도 또한 같다.
//건축물의 구조기준 등에 관한 규칙 35조 (개구부) 1항 2호
Check(RSSB_35_1_2){
KS2 AND IF CS THEN KS1
}
KS2{
Opening myOpening1{
isInstalled( Opening, Floor.One) = TRUE
}
Opening myOpening2{
isInstalled( Opening, myOpening1.Floor.UpperFloor) = TRUE
}
getObjectVerticalDistance(myOpening1, myOpening2) >= 600mm
}
CS{
Opening myOpening3{
isInstalled( Opening, Floor.One.Wall.One) = TRUE
}
getObjectInterval(myOpening3,,a) >= 600mm
}
Python Code 변환 예정
Modify
13
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
14
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
15
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
16
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
17
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
18
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
19
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
20
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
21
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
22
24882
건축물의 구조기준 등에 관한 규칙 제 24조 2 항
②2층 이상인 건축물에 있어서는 모서리에 설치하는 기둥 또는 이에 준하는 기둥은 통재(通材)기둥으로 하여야 한다. 다만, 이은기둥의 경우 그 이은 부분을 통재기둥과 동등 이상의 내력을 가지도록 보강한 경우에는 그러하지 아니하다.
//건축물의 구조기준 등에 관한 규칙 24조 (압축재의 최소단면 및 모서리에 설치하는 기둥) 2항
Check(RSSB_24_2){
getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
getBuildingStoriesCount() >= 2
}
KS{
Column myColumn{
isInstalled( Column, Building.Edge) = TRUE
Python Code 변환 예정
Modify
23
19389
건축물의 설비기준 등에 관한 규칙 제 13조 1 항 2호
2. 보일러실의 윗부분에는 그 면적이 0.5제곱미터 이상인 환기창을 설치하고, 보일러실의 윗부분과 아랫부분에는 각각 지름 10센티미터 이상의 공기흡입구 및 배기구를 항상 열려있는 상태로 바깥공기에 접하도록 설치할 것. 다만, 전기보일러의 경우에는 그러하지 아니하다.
// 건축물의 설비기준 등에 관한 규칙 13조 (개별난방설비) 1항 2호
Check(RFB_13_1_2){
IF CS THEN KS
}
CS{
isExist(Boiler) = TRUE
isObjectProperty(Boiler.isElectricBoiler) = FALSE
}
KS{
Ventilator myVentilator{
getObjectArea(Ventilator) >= 0.5cm2
}
Space mySpace{
getSpaceUsage(Space) = "BoilerRoom"
}
isInstalled( myVentilator, mySpace, a, top) = TRUE
AirInlet myAirInlet{
getObjectDiameter(AirInlet, b) >= 10cm
}
AirOutlet myAirOutlet{
getObjectDiameter(AirOutlet, b) >= 10cm
}
(isInstalled( myAirInlet, mySpace, a, top) = TRUE
OR isInstalled( myAirOutlet, mySpace, a, top) = TRUE)
(isInstalled( myAirInlet, mySpace, a, bottom) = TRUE
OR isInstalled( myAirOutlet, mySpace, a, bottom) = TRUE)
}
Python Code 변환 예정
Modify
24
19403
건축물의 설비기준 등에 관한 규칙 제 20조 5호
5. 측면 낙뢰를 방지하기 위하여 높이가 60미터를 초과하는 건축물 등에는 지면에서 건축물 높이의 5분의 4가 되는 지점부터 최상단부분까지의 측면에 수뢰부를 설치하여야 하며, 지표레벨에서 최상단부의 높이가 150미터를 초과하는 건축물은 120미터 지점부터 최상단부분까지의 측면에 수뢰부를 설치할 것. 다만, 건축물의 외벽이 금속부재(部材)로 마감되고, 금속부재 상호간에 제4호 후단에 적합한 전기적 연속성이 보장되며 피뢰시스템레벨 등급에 적합하게 설치하여
//건축물의 설비기준 등에 관한 규칙 20 (피뢰설비) 5호
Check(RFB_20_0_5){
IF(CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
getBuildingHeight() > 60m
}
KS1{
BH1 = getBuildingHeight()
isInstalled( Terminal, Building, a, side) = TRUE
getObjectVerticalDistance(Ground, Terminal, a) >= BH1 * 4/5
getObjectVerticalDistance(Ground, Terminal, a) < BH1
}
CS2{
getBuildingHeight() > 150m
}
KS2{
BH2 = getBuildingHeight()
isInstalled( Terminal, Building, a, side) = TRUE
getObjectVerticalDistance(Ground, Terminal, a) >= 120m
getObjectVerticalDistance(Ground, Terminal, a) < BH2
}
Python Code 변환 예정
Modify
25
24916
건축물의 설비기준 등에 관한 규칙 제 6조
제6조(승강기의 구조) 법 제64조에 따라 건축물에 설치하는 승강기·에스컬레이터 및 비상용승강기의 구조는 「승강기시설 안전관리법」이 정하는 바에 따른다. <개정 2006.2.13, 2008.7.10, 2010.11.5>
//건축물의 설비기준 등에 관한 규칙 6조 (승강기의 구조)
Check(RFB_6){
IF CS THEN KS
}
CS{
Elevator myElevator{
isObjectProperty(Elevator.isEmergency) = TRUE
}
isInstalled( Elevator) = TRUE
OR isInstalled( Escalator) = TRUE
OR isInstalled( myElevator) = TRUE
}
KS{
getResult(Unimplemented_EFSMA) = TRUE
}
Python Code 변환 예정
Modify
26
72659
건축물의 에너지절약설계기준 제 5조 10호 나 목
나. "효율”이라 함은 설비기기에 공급된 에너지에 대하여 출력된 유효에너지의 비를 말한다.
// 비상경보설비의 화재안전기준 (nfsc 201) 4조 (비상벨설비 또는 자동식사이렌설비) 2항
Check(NFSC201_4_2){
KS
}
KS{
Floor myFloor{
hasSpace(Floor, SpecificFireFightingBuilding) = TRUE
}
AcousticSystem myAcousticSystem{
isObjectProperty(AcousticSystem.isForPublic) = TRUE
}
isInstalled( myAcousticSystem, myFloor) = TRUE
(getObjectDistance(myAcousticSystem, Wall.Structure.) <= 25m
Python Code 변환 예정
Modify
27
72661
건축물의 에너지절약설계기준 제 5조 10호 라 목
라. "대수분할운전”이라 함은 기기를 여러 대 설치하여 부하상태에 따라 최적 운전상태를 유지할 수 있도록 기기를 조합하여 운전하는 방식을 말한다.
// 비상경보설비의 화재안전기준(NFSC 201) 4조 (비상벨설비 또는 자동식사이렌설비) 5항 1호
Check(NFSC201_4_5_1){
KS
}
KS{
Switch mySwitch{
isObjectProperty(Switch.ControlSwitch) = TRUE
isInstalled( Transmitter, Switch) = TRUE
}
getObjectVerticalLocation(FloorSlab, mySwitch) <= 1.5m
getObjectVerticalLocation(FloorSlab, mySwitch) >= 0.8m
}
Python Code 변환 예정
Modify
28
72662
건축물의 에너지절약설계기준 제 5조 10호 마 목
마. "비례제어운전”이라 함은 기기의 출력값과 목표값의 편차에 비례하여 입력량을 조절하여 최적운전상태를 유지할 수 있도록 운전하는 방식을 말한다.
// // 스프링클러설비의 화재안전기준(NFSC 103) 4조 (비상벨설비 또는 자동식사이렌설비) 5항 2호
Check(NFSC201_4_5_1){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
CS1{
getObjectDistance(Corridor | Space, Transmitter) < 40m
}
KS1{
isInstalled( Transmitter, SpecificFireFightingBuilding.Floor.One) = TRUE
getOjectCount(Transmitter) = 1
getElementDistance(SpecificFireFightingBuilding.Wall | SpecificFireFightingBuilding.Column, Transmitter) <= 25m
}
CS2{
getObjectDistance(Corridor | Space, Transmitter) >= 40m
}
KS2{
isInstalled( Transmitter, SpecificFireFightingBuilding.Floor.One) = TRUE
getOjectCount(Transmitter) >= 2
getElementDistance(SpecificFireFightingBuilding.Wall | SpecificFireFightingBuilding.Column, Transmitter) <= 25m
}
Python Code 변환 예정
Modify
29
72664
건축물의 에너지절약설계기준 제 5조 10호 사 목
사. "고효율원심식냉동기”라 함은 원심식냉동기 중 고효율인증제품 또는 동등 이상의 성능을 가진 것을 말한다.
// 비상경보설비의 화재안전기준(NFSC 201) 5조 (단독경보형감지기) 1호
Check(NFSC201_5_0_1){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}
CS1{
Room myRoom{
getFloorArea(Room) <= 150m2
}
Room myRoom2{
isAdjacent(myRoom, Room) = TRUE
}
getFloorArea(myRoom2) <= 30m2
}
KS1{
Room myRoom{
getFloorArea(Room) <= 150m2
}
Room myRoom2{
isAdjacent(myRoom, Room) = TRUE
}
SelfcontainedTypeFireAlarmDevice mySelfcontainedTypeFireAlarmDevice{
hasSpace(myRoom, SelfcontainedTypeFireAlarmDevice) = TRUE
}
isExist(mySelfcontainedTypeFireAlarmDevice) = TRUE
}
CS2{
Room myRoom{
getFloorArea(Room) > 150m2
}
Room myRoom2{
isAdjacent(myRoom, Room) = TRUE
}
getFloorArea(myRoom2) <= 30m2
}
KS2{
Room myRoom{
getFloorArea(Room) > 150m2
}
Room myRoom2{
isAdjacent(myRoom, Room) = TRUE
}
Sensor mySensor{
isObjectProperty(Sensor.isSelfcontainedTypeFireAlarmDevice) = TRUE
hasSpace(myRoom, Sensor ) = TRUE
}
isInstalled( myRoom, mySelfcontainedTypeFireAlarmDevice, c, 150m2) = TRUE
}
Python Code 변환 예정
Modify
30
72665
건축물의 에너지절약설계기준 제 5조 10호 아 목
아. "심야전기를 이용한 축열·축냉시스템”이라 함은 심야시간에 전기를 이용하여 열을 저장하였다가 이를 난방, 온수, 냉방 등의 용도로 이용하는 설비로서 한국전력공사에서 심야전력기기로 인정한 것을 말한다.
// 비상경보설비의 화재안전기준(NFSC 201) 5조 (단독경보형감지기) 2호
Check(NFSC201_5_0_2){
KS
}
KS{
Ceiling myCeiling{
hasSpace(Building.TopFloor.Stair.Space, Ceiling) = TRUE
}
Sensor mySensor{
isObjectProperty(Sensor.isSelfcontainedTypeFireAlarmDevice) = TRUE
}
isInstalled( myCeiling, mySensor) = TRUE
}
Python Code 변환 예정
Modify
31
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
32
72669
건축물의 에너지절약설계기준 제 5조 11호
11. 전기설비부문
// 비상콘센트설비의 화재안전기준(nfsc 504) 4조 (전원 및 콘센트 등) 1항 3호 라목
Check(NFSC504_4_1_3_4){
KS
}
KS{
Room myRoom{
isInstalled( EmergencyPower, Room) = TRUE
}
isFirePartitioned(myRoom) = TRUE
}
Python Code 변환 예정
Modify
33
72676
건축물의 에너지절약설계기준 제 5조 11호 바 목
바. "수용률”이라 함은 부하설비 용량 합계에 대한 최대 수용전력의 백분율을 말한다.
// 비상콘센트설비의 화재안전기준(nfsc 504) 5조 (보호함) 1호
Check(NFSC504_5_0_1){
KS
}
KS{
isInstalled( Door, EmergencyPowerOutletProtectiveBox) = TRUE
}
Python Code 변환 예정
Modify
34
72677
건축물의 에너지절약설계기준 제 5조 11호 사 목
사. "최대수요전력”이라 함은 수용가에서 일정 기간 중 사용한 전력의 최대치를 말하며, "최대수요전력제어설비”라 함은 수용가에서 피크전력의 억제, 전력 부하의 평준화 등을 위하여 최대수요전력을 자동제어할 수 있는 설비를 말한다.
// 비상콘센트설비의 화재안전기준(nfsc 504) 5조 (보호함) 3호
Check(NFSC504_5_0_3){
KS
}
KS{
isInstalled( IndicatingLamp, EmergencyPowerOutletProtectiveBox, a, Top) = TRUE
}
Python Code 변환 예정
Modify
35
72686
건축물의 에너지절약설계기준 제 5조 12호 가 목
가. "신·재생에너지”라 함은「신에너지 및 재생에너지 개발·이용·보급촉진법」에서 규정하는 것을 말한다.
// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 2항 3호
Check(NFSC102_6_2_3){
KS
}
KS{
SprinklerSystem mySprinklerSystem{
isObjectProperty(SprinklerSystem.type) = "WetPipeSprinklerSystem"
}
(isObjectProperty(Ceiling.Material.nonCombustibility)=TRUE
OR isObjectProperty(Ceiling.Material.quasiNonCombustibility)=TRUE)
(isObjectProperty(CeilingCovering.Material.nonCombustibility)=TRUE
OR isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=TRUE)
isInstalled( mySprinklerSystem, Ceiling)=TRUE
isInstalled( mySprinklerSystem, CeilingCovering)=TRUE
}
Python Code 변환 예정
Modify
36
72688
건축물의 에너지절약설계기준 제 5조 2호
2. "권장사항”이라 함은 건축물을 건축하는 건축주와 설계자 등이 건축물의 설계 시 선택적으로 적용이 가능한 사항을 말한다.
// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 5항
Check(NFSC102_6_5){
IF CS THEN KS
}
CS{
isInstalled( Pump.Inlet, Pipe) = TRUE
}
KS{
getResult(NFSC503A_8_4_1) = TRUE
getResult(NFSC503A_8_4_2) = TRUE
}
Python Code 변환 예정
Modify
37
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
38
72697
건축물의 에너지절약설계기준 제 5조 9호 거 목
거. "투광부"라 함은 창, 문면적의 50% 이상이 투과체로 구성된 문, 유리블럭, 플라스틱패널 등과 같이 투과재료로 구성되며, 외기에 접하여 채광이 가능한 부위를 말한다.
// 옥내소화전설비의 화재안전기준(nfsc 102) 6조 (배관 등) 11항
Check(NFSC503A_6_11){
IF CS THEN KS
}
Pipe myPipe{
isObjectProperty(Pipe.usage) = "WaterSupplyPipe"
}
Valve myValve1{
isObjectProperty(Valve.isShutoffValve) = TRUE
}
S{
isInstalled( myValve1,myPipe) = TRUE
isInstalled( myValve1,myPort) = FALSE
}
KS{
isObjectProperty(myValve1.isIndicatingValve) = TRUE
Valve myValve2{
isInstalled( Valve, Pump.Inlet) = TRUE
}
isObjectProperty(myValve2.isIndicatingValve) = TRUE
isObjectProperty(myValve2.isButterflyValve) = FALSE
}
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
72703
건축물의 에너지절약설계기준 제 5조 9호 러 목
러. "일사조절장치"라 함은 태양열의 실내 유입을 조절하기 위한 목적으로 설치하는 장치를 말한다.
// 옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 2항 1호
Check(NFSC503A_7_2_1){
KS2 AND IF CS THEN KS1
}
KS2{
isInstalled( 옥내소화전방수구, SpecificFireFightingBuilding.Floor.One) = TRUE
getElementDistance(SpecificFireFightingBuilding.Wall|SpecificFireFightingBuilding.Column, 옥내소화전방수구.One) <= 25m
}
CS{
getBuildingUsage() = "MultiUnitHouse"
}
KS2{
Door myDoor{
isObjectProperty(Door.isEntrance) = TRUE
}
Floor myFloor{
isInstalled( myDoor, Floor) = TRUE
}
Port myPort{
Port.typeForWater="IndoorFireHydrantDischarge"
}
isInstalled( myPort, myFloor.One) = TRUE
}
Python Code 변환 예정
Modify
41
72707
건축물의 에너지절약설계기준 제 5조 9호 아 목
아. "방풍구조”라 함은 출입구에서 실내외 공기 교환에 의한 열출입을 방지할 목적으로 설치하는 방풍실 또는 회전문 등을 설치한 방식을 말한다.
// 옥내소화전설비의 화재안전기준(nfsc 102) 7조 (함 및 방수구 등) 3항 1호
Check(NFSC503A_7_3_1){
KS
}
KS{
IndicatingLamp myIndicatingLamp{
isObjectProerpty(IndicatingLamp.systemType) = "IndoorFireHydrantSystem"
}
isInstalled( myIndicatingLamp, IndoorFireHydrantSystemCabinet.TopSurface) = TRUE
}
Python Code 변환 예정
Modify
42
72708
건축물의 에너지절약설계기준 제 5조 9호 자 목
자. "기밀성 창”, "기밀성 문”이라 함은 창 및 문으로서 한국산업규격(KS) F 2292 규정에 의하여 기밀성 등급에 따른 기밀성이 1∼5등급(통기량 5㎥/h·㎡ 미만)인 것을 말한다.
// 옥내소화전설비의 화재안전기준(NFSC 102) 7조 (함 및 방수구 등) 3항 2호
Check(NFSC102_7_3_2){
KS
}
KS{
isInstalled( IndicatingLamp, IndoorFireHydrantSystemCabinet, a, Top) = TRUE
}
Python Code 변환 예정
Modify
43
72711
건축물의 에너지절약설계기준 제 5조 9호 타 목
타. "야간단열장치”라 함은 창의 야간 열손실을 방지할 목적으로 설치하는 단열셔터, 단열덧문으로서 총열관류저항(열관류율의 역수)이 0.4㎡·K/W 이상인 것을 말한다.
// 스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 1호
Check(NFSC103_4_5_1){
KS
}
Pump myPump{
isInstalled( Pump, SprinklerSystem) = TRUE
}
Valve myValve{
isObjectProperty(Valve.isFootValve) = TRUE
isInstalled( Valve, myPump) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isFootValve) = TRUE
Valve != myValve
}
Pipe myPipe{
isObjectProperty(Pipe.isObsorptionPipe) = TRUE
}
Obsorption myObsorptionOpening{
isInstalled( ObsorptionOpening, myPipe) = TRUE
}
Obsorption myObsorptionOpening2{
ObsorptionOpening != myObsorptionOpening
}
KS{
getObjectVerticalLocation(myValve, myValve2) < 0
OR getObjectVerticalLocation(myObsorptionOpening, myOpsorptionOpening2) < 0
}
Python Code 변환 예정
Modify
44
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
45
72726
건축물의 에너지절약설계기준 제 6조 1호 다 3) 목
3) 구성재료의 열전도율 값으로 열관류율을 계산한 결과가 별표1의 부위별 열관류율 기준을 만족하는 경우 적합한 것으로 본다.(단, 각 재료의 열전도율 값은 한국산업규격 또는 국가공인시험기관의 KOLAS 인정마크가 표시된 시험성적서의 값을 사용하고, 표면열전달저항 및 중공층의 열저항은 이 기준 별표5 및 별표6에서 제시하는 값을 사용)
// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 1항 3호
Check(NFSC103_9_1_3){
KS
}
KS{
Zone myZone{
isObjectProperty(Zone.isProtectionZone) = TRUE
}
isInstalled( AcousticSystem, myZone) = TRUE
getElementDistance(myZone.Wall|myZone.Column, AcousticSystem.One) <= 25m
}
Python Code 변환 예정
Modify
46
72727
건축물의 에너지절약설계기준 제 6조 1호 다 4) 목
4) 창 및 문의 경우 KS F 2278(창호의 단열성 시험 방법)에 의한 국가공인시험기관의 KOLAS 인정마크가 표시된 시험성적서 또는 별표4에 의한 열관류율값 또는 산업통상자원부고시 「효율관리기자재 운용규정」에 따른 창 세트의 열관류율 표시값이 별표1의 열관류율 기준을 만족하는 경우 적합한 것으로 본다.
// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 1항 4호
Check(NFSC103_9_1_4){
KS
}
KS{
isInstalled( Alarm, SprinklerSystem) = TRUE
OR isInstalled( Siren, SprinklerSystem) = TRUE
}
Python Code 변환 예정
Modify
47
72728
건축물의 에너지절약설계기준 제 6조 1호 다 5) 목
5) 열관류율 또는 열관류저항의 계산결과는 소수점 3자리로 맺음을 하여 적합 여부를 판정한다.(소수점 4째 자리에서 반올림)
// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 1항 5호
Check(NFSC103_9_1_5){
KS
}
KS{
isInstalled( AcousticSystem, Receiver, a, In) = TRUE
}
Python Code 변환 예정
Modify
48
72731
건축물의 에너지절약설계기준 제 6조 1호 바 목
바. 바닥난방을 하는 공간의 하부가 바닥난방을 하지 않는 공간일 경우에는 당해 바닥난방을 하는 바닥부위는 별표1의 최하층에 있는 거실의 바닥으로 보며 외기에 간접 면하는 경우의 열관류율 기준을 만족하여야 한다.
// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 3항 5호
Check(NFSC103_9_3_5){
IF (!CS1 AND CS2) THEN KS
}
CS1{
isInstalled( Transmitter, Building) = TRUE
isObjectProperty(Transmitter.systemType) = "자동화재탐지설비"
}
CS2{
isInstalled( Transmitter, FireDetector.Circuit) = TRUE
}
KS{
getResult(NFSC103_9_3_5_가) = TRUE
getResult(NFSC103_9_3_5_나) = TRUE
}
Python Code 변환 예정
Modify
49
72732
건축물의 에너지절약설계기준 제 6조 2호
2. 에너지절약계획서 및 설계 검토서 제출대상 건축물은 별지 제1호 서식의 에너지 성능지표의 건축부문 1번 항목 배점을 0.6점 이상 획득하여야 한다.
// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 3항 5호 가목
Check(NFSC103_9_3_5_가){
KS
}
KS{
isInstalled( Transmitter, Switch) = TRUE
getObjectVerticalDistance(Switch, FloorSlab) >= 0.8m
getObjectVerticalDistance(Switch, FloorSlab) <= 1.5m
}
Python Code 변환 예정
Modify
50
72733
건축물의 에너지절약설계기준 제 6조 3호
3. 바닥난방에서 단열재의 설치
// 스프링클러설비의 화재안전기준(NFSC 103) 9조 (음향장치 및 기동장치) 3항 5호 나목
Check(NFSC103_9_3_5_나){
IF (CS1 THEN KS1) OR (CS2 THEN KS2)
CS1{
getObjectDistance(Corridor | Space, Transmitter) < 40m
}
KS1{
isInstalled( Transmitter, SpecificFireFightingBuilding.Floor.One) = TRUE
getOjectCount(Transmitter) = 1
getElementDistance(SpecificFireFightingBuilding.Wall | SpecificFireFightingBuilding.Column, Transmitter) <= 25m
}
CS2{
getObjectDistance(Corridor | Space, Transmitter) >= 40m
}
KS2{
isInstalled( Transmitter, SpecificFireFightingBuilding.Floor.One) = TRUE
getOjectCount(Transmitter) >= 2
getElementDistance(SpecificFireFightingBuilding.Wall | SpecificFireFightingBuilding.Column, Transmitter) <= 25m
}
Python Code 변환 예정
Modify
51
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
52
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
53
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
54
72759
건축물의 에너지절약설계기준 제 7조 2호 나 목
나. 건축물의 체적에 대한 외피면적의 비 또는 연면적에 대한 외피면적의 비는 가능한 작게 한다.
//스프링클러설비의 화재안전기준(nfsc 103) 11조 (송수구) 2호
Check(NFSC103_11_0_2){
IF CS THEN KS
}
CS{
Port myPort{
isObjectProperty(Port.typeForWater) = "FireDepartmentConnection"
}
Pipe myPipe{
isObjectProperty(Pipe.isRiser)=TRUE
}
Valve myValve{
isObjectProperty(Valve.isShutoffValve)=TRUE
}
isConnectedTo(myPort,Pipe)=TRUE
isConnectedTo(Pipe,myPipe)=TRUE
isInstalled( Pipe, myValve) = TRUE
}
KS{
Space mySpace{
isObjectProperty(Space.usage) = "MachineRoom"
}
isExternal(myValve)=TRUE
OR hasSpace(mySpace,myValve)=TRUE
Python Code 변환 예정
Modify
55
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
56
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
57
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
58
72765
건축물의 에너지절약설계기준 제 7조 3호 라 목
라. 건물의 창 및 문은 가능한 작게 설계하고, 특히 열손실이 많은 북측 거실의 창 및 문의 면적은 최소화한다.
// 스프링클러설비의 화재안전기준(nfsc 103) 12조 (전원) 3항 4호
Check(NFSC103_12_3_4){
KS
}
KS{
Space mySpace{
isInstalled( EmergencyPower, Space) = TRUE
}
isFirePartitioned(mySpace) = TRUE
}
Python Code 변환 예정
Modify
59
72766
건축물의 에너지절약설계기준 제 7조 3호 마 목
마. 발코니 확장을 하는 공동주택이나 창 및 문의 면적이 큰 건물에는 단열성이 우수한 로이(Low-E) 복층창이나 삼중창 이상의 단열성능을 갖는 창을 설치한다.
// 스프링클러설비의 화재안전기준(NFSC 103) 12조 (전원) 3항 8호
Check(NFSC103_12_3_8){
KS
}
KS{
InhousePowerGeneratingStation myInhousePowerGeneratingStation{
getResult(NFSC103_12_3_8_1) = TRUE
OR getResult(NFSC103_12_3_8_2) = TRUE
OR getResult(NFSC103_12_3_8_3) = TRUE
}
isInstalled( myInhousePowerGeneratingStation) = TRUE
}
Python Code 변환 예정
Modify
60
72770
건축물의 에너지절약설계기준 제 7조 4호
4. 기밀계획
// 스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항
Check(NFSC103_15_1){
IF !CS THEN KS
}
CS{
getResult(NFSC103_15_1_1) = TRUE
OR getResult(NFSC103_15_1_2) = TRUE
OR getResult(NFSC103_15_1_3) = TRUE
OR getResult(NFSC103_15_1_4) = TRUE
OR getResult(NFSC103_15_1_5) = TRUE
OR getResult(NFSC103_15_1_6) = TRUE
OR getResult(NFSC103_15_1_7) = TRUE
OR getResult(NFSC103_15_1_8) = TRUE
OR getResult(NFSC103_15_1_10) = TRUE
OR getResult(NFSC103_15_1_11) = TRUE
OR getResult(NFSC103_15_1_13) = TRUE
OR getResult(NFSC103_15_1_14) = TRUE
OR getResult(NFSC103_15_1_15) = TRUE
}
KS{
isInstalled( SprinklerSystem) = TRUE
}
Python Code 변환 예정
Modify
61
72773
건축물의 에너지절약설계기준 제 7조 5호
5. 자연채광계획
// 스프링클러설비의 화재안전기준(nfsc 103) 15조 (헤드의 설치제외) 1항 3호
Check(NFSC103_15_1_3){
KS
}
KS{
getBuildingUsage() = "GeneratorRoom"
OR getBuildingUsage() = "TransformerRoom"
OR isInstalled(
Transformer, Room) = TRUE
}
Python Code 변환 예정
Modify
62
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
63
72791
건축물의 에너지절약설계기준 제 9조 1호
난방 및 냉방설비의 용량계산을 위한 설계기준 실내온도는 난방의 경우 20℃, 냉방의 경우 28℃를 기준으로 하되(목욕장 및 수영장은 제외) 각 건축물 용도 및 개별 실의 특성에 따라 별표8에서 제시된 범위를 참고하여 설비의 용량이 과다해지지 않도록 한다.
// 간이스프링클러설비의 화재안전기준(NFSC 103A) 4조 (수원) 1항 2호
Check(NFSC103A_4_1_2){
IF CS THEN KS
}
CS{
WaterSource myWaterSource{
isObjectProperty(Tank.isWaterSource) = TRUE
}
isInstalled( myWaterSource) = TRUE
}
KS{
getObjectCount(AutomaticWaterSupplyEquipment) >= 1
}
Python Code 변환 예정
Modify
64
72796
건축물의 에너지절약설계기준 제 9조 2호 라 목
라. 냉방기기는 고효율인증제품 또는 이와 동등 이상의 것 또는 에너지소비효율 등급이 높은 제품을 설치한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 4항 3호
Check(NFSC503A_4_4_3){
KS
}
KS{
isInstalled( Tank.SideSurface, WaterLevelGauge) = TRUE
}
Python Code 변환 예정
Modify
65
72797
건축물의 에너지절약설계기준 제 9조 2호 마 목
마. 보일러의 배출수·폐열·응축수 및 공조기의 폐열, 생활배수 등의 폐열을 회수하기 위한 열회수설비를 설치한다. 폐열회수를 위한 열회수설비를 설치할 때에는 중간기에 대비한 바이패스(by-pass)설비를 설치한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 4항 3호
Check(NFSC503A_4_4_3){
IF CS THEN KS
}
CS{
getObjectVerticalLocation(Tank.TopSurface, FloorSlab) = TRUE
}
KS{
isInstalled( Ladder, Tank.SideSurface) = TRUE
isObjectProperty(Ladder.isFixed) = TRUE
}
Python Code 변환 예정
Modify
66
72799
건축물의 에너지절약설계기준 제 9조 3호
3. 공조설비
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 4항 6호
Check(NFSC503A_4_2_6){
KS
}
KS{
Valve myValve{
isObjectProperty(Valve.isDeliveryValveForCleaning) = TRUE
}
Pipe myPipe{
isObjectProperty(Pipe.usage) = "WaterDrainPipe"
}
isInstalled( Tank.BottomSurface, myValve) = TRUE
OR isInstalled( Tank.BottomSurface, myPipe) = TRUE
}
Python Code 변환 예정
Modify
67
72802
건축물의 에너지절약설계기준 제 9조 4호
4. 반송설비
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (수원) 2항 4호
Check(NFSC503A_5_2_4){
IF !CS THEN KS
}
CS{
getObjectVerticalLocation(WaterSource, Pump) > 0
OR isObjectProperty(Pump.isVerticalPump) = TRUE
}
KS{
Valve myValve{
isObjectProperty(Valve.isCheckValve) = TRUE
}
isInstalled( Pump.Outlet, myValve) = TRUE
isInstalledInOrder(PressureGauge, myValve) = TRUE
}
Python Code 변환 예정
Modify
68
72803
건축물의 에너지절약설계기준 제 9조 4호 가 목
가. 난방 순환수 펌프는 운전효율을 증대시키기 위해 가능한 한 대수제어 또는 가변속제어방식을 채택하여 부하상태에 따라 최적 운전상태가 유지될 수 있도록 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치)2항 5호
Check(NFSC503A_5_2_5){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
isInstalled( PressurizedWaterSupplySystem,myPipe) = TRUE
}
Python Code 변환 예정
Modify
69
72804
건축물의 에너지절약설계기준 제 9조 4호 나 목
나. 급수용 펌프 또는 급수가압펌프의 전동기에는 가변속제어방식 등 에너지절약적 제어방식을 채택한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치)2항 6호
Check(NFSC503A_5_2_6){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isCirculationPipe) = TRUE
}
isInstalled( PressurizedWaterSupplySystem,myPipe) = TRUE
}
Python Code 변환 예정
Modify
70
72807
건축물의 에너지절약설계기준 제 9조 5호 가 목
가. 청정실 등 특수 용도의 공간 외에는 실내공기의 오염도가 허용치를 초과하지 않는 범위 내에서 최소한의 외기도입이 가능하도록 계획한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 8호
Check(NFSC503A_5_2_8){
IF (!CS1 AND CS2) THEN KS
}
CS1{
isObjectProperty(SimpleSprinklerSystem.isCabinetType) = TRUE
}
CS2{
getObjectVerticalLocation(Pump, WaterSource,) < 0
}
KS{
isInstalled( PressurizedWaterSupplySystem, WaterLiftingDevice) = TRUE
getResult(NFSC503A_5_2_가) = TRUE
getResult(NFSC503A_5_2_나) = TRUE
}
Python Code 변환 예정
Modify
71
72808
건축물의 에너지절약설계기준 제 9조 5호 나 목
나. 환기시 열회수가 가능한 제5조제10호자목에 따른 폐열회수형 환기장치 등을 설치한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 2항 8호 가
Check(NFSC503A_5_2_8_가){
KS
}
KS{
isInstalled( WaterLiftingDevice, Tank)=TRUE
isObjectProperty(Tank.isShared) = FALSE
}
Python Code 변환 예정
Modify
72
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
73
72814
건축물의 에너지절약설계기준 제 10조 1호
1. 수변전설비
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 4항 2호
Check(NFSC503A_5_4_2){
KS
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType) = "HydropneumaticTank"
}
Pipe myPipe{
isObjectProperty(Pipe.usage)="WaterSupplyPipe"
OR isObjectProperty(Pipe.usage)="WaterDrainPipe"
OR isObjectProperty(Pipe.usage)="AirSupplyPipe"
}
AirCompressor myAirCompressor{
isObjectProperty(AirCompressor.isAutomatic) = TRUE
}
isInstalled( WaterLevelGauge, myTank) = TRUE
isInstalled( myPipe, myTank) = TRUE
isInstalled( Manshole, myTank) = TRUE
isInstalled( PressureGauge, myTank) = TRUE
isInstalled( SafetyDevice, myTank) = TRUE
isInstalled( AirCompressor, myTank) = TRUE
}
Python Code 변환 예정
Modify
74
72815
건축물의 에너지절약설계기준 제 10조 1호 가 목
가. 변압기를 신설 또는 교체하는 경우에는 제5조제11호가목에 따른 고효율변압기를 설치하여야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 7항
Check(NFSC503A_5_7){
IF CS THEN KS
}
CS{
SpecificFireFightingBuilding mySpecificFireFightingBuilding{
getResult(_*_5_1_마_1)) = TRUE
getResult(_*_5_1_마_6)) = TRUE
getResult(_*_5_1_마_7)) = TRUE
}
}
KS{
SimpleSprinklerSystem mySimpleSprinklerSystem{
isObjectProperty(SimpleSprinklerSystem.isDirectCoupledType) != TRUE
isObjectProperty(SimpleSprinklerSystem.isCabinetType) != TRUE
}
isInstalled( PressurizedWaterSupplySystem, mySpecificFireFightingBuilding) = TRUE
isInstalled( mySimpleSprinklerSystem, mySpecificFireFightingBuilding) != TRUE
}
Python Code 변환 예정
Modify
75
72818
건축물의 에너지절약설계기준 제 10조 2호 나 목
나. 간선의 전압강하는 대한전기협회가 정한 내선규정을 따라야 한다.
//간이스프링클러설비의 화재안전기준(nfsc 103a) 6조 (간이스프링클러설비의 방호구역·유수검지장치) 2호
Check(NFSC503A_6_0_2){
KS
}
KS{
Zone myZone{
isObjectProperty(Zone.isProtectionZone) = TRUE
}
isInstalled( myZone,WaterflowIndicator) = TRUE
}
Python Code 변환 예정
Modify
76
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
77
72835
건축물의 에너지절약설계기준 제 11조 1호 바 목
바. 건축물의 사용자가 합리적으로 전력을 절감할 수 있도록 층별 및 임대 구획별로 전력량계를 설치한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 3항 2호
Check(NFSC503A_8_3_2){
KS2 AND IF CS THEN KS1
}
KS2{
Valve myValve{
isObjectProperty(Valve.isShutoffValve)=TRUE
}
isObjectProperty(myValve.isIndicatingValve) = TRUE
}
CS{
Pipe myPipe{
isInstalled( Pipe, Pump.Inlet) = TRUE
}
isInstalled( myValve, myPipe) = TRUE
}
KS1{
isObjectProperty(myValve.isIndicatingValve) = TRUE
isObjectProperty(myValve.isButterflyValve) = TRUE
}
Python Code 변환 예정
Modify
78
72837
건축물의 에너지절약설계기준 제 11조 2호 가 목
가. 승강기 구동용전동기의 제어방식은 에너지절약적 제어방식으로 한다.
//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항
Check(NFSC503A_8_4){
IF CS THEN KS
}
CS{
isInstalled( Pump.Inlet, Pipe) = TRUE
}
KS{
getResult(NFSC503A_8_4_1) = TRUE
getResult(NFSC503A_8_4_2) = TRUE
}
Python Code 변환 예정
Modify
79
72844
건축물의 에너지절약설계기준 제 11조 3호 마 목
마. KS A 3011에 의한 작업면 표준조도를 확보하고 효율적인 조명설계에 의한 전력에너지를 절약한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 7항
Check(NFSC503A_8_7){
KS
}
KS{
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
PP = isObjectProperty(Pump.shutoffPressure)
Valve myValve2{
isObjectProperty(Valve.isReliefValve) = TRUE
isObjectProperty(Valve.reliefPressure) < PP
}
isInstalledInOrder(myValve1, Pipe, Pump) = TRUE
isObjectProperty(Pipe.diameter) >= 20mm
isInstalled( myValve2, Pipe) = TRUE
}
Python Code 변환 예정
Modify
80
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
81
72851
건축물의 에너지절약설계기준 제 11조 5호
5. 사용하지 않는 기기에서 소비하는 대기전력을 저감하기 위해 도어폰, 홈게이트웨이 등은 대기전력저감 우수제품으로 등록된 제품을 사용한다.
11항 1호
Check(NFSC503A_8_11_1){
KS
}
KS{
Valve myValve{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Pipe myPipe{
isObjectProperty(Pipe.isSecondaryPipe) = TRUE
}
isInstalled( myValve, myPipe) = TRUE
}
Python Code 변환 예정
Modify
82
72853
건축물의 에너지절약설계기준 제 13조
제13조(에너지절약계획서 및 설계 검토서 작성) 에너지절약 설계 검토서는 별지 제1호 서식에 따라 에너지절약설계기준 의무사항 및 에너지성능지표, 에너지소요량 평가서로 구분된다. 에너지절약계획서를 제출하는 자는 에너지절약계획서 및 설계 검토서(에너지절약설계기준 의무사항 및 에너지성능지표, 에너지소요량 평가서)의 판정자료를 제시(전자문서로 제출하는 경우를 포함한다)하여야 한다. 다만, 자료를 제시할 수 없는 경우에는 부득이 당해 건축사 및 설계에 협력하는
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항 2호 가목
Check(NFSC503A_8_11_2_가){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.usage) = "WaterDrainPipe"
isObjectProperty(Pipe.isRiser) = TRUE
}
Valve myValve{
isObjectProperty(Valve.isShutoffValve) = TRUE
}
isConnectedTo(Pipe, myPipe) = TRUE
isInstalled( myValve, Pipe) = TRUE
}
Python Code 변환 예정
Modify
83
72854
건축물의 에너지절약설계기준 제 14조
제14조(에너지절약설계기준 의무사항의 판정) 에너지절약설계기준 의무사항은 전 항목 채택 시 적합한 것으로 본다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항 2호 나목
Check(NFSC503A_8_11_2_나){
KS
}
KS{
isInstalled( AutomaticDrainSystem, Pipe) = TRUE
isInstalled( PressureSwitch, Pipe) = TRUE
}
Python Code 변환 예정
Modify
84
72855
건축물의 에너지절약설계기준 제 15조 1 항
제15조(에너지성능지표의 판정) ① 에너지성능지표는 평점합계가 65점 이상일 경우 적합한 것으로 본다. 다만, 공공기관이 신축하는 건축물(별동으로 증축하는 건축물을 포함한다)은 74점 이상일 경우 적합한 것으로 본다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항
Check(NFSC503A_8_12){
IF !CS THEN KS
}
CS{
WaterflowIndicator myWaterflowIndicator{
isObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator"
}
isInstalled( myWaterflowIndicator, SimpleSprinklerSystem) = TRUE
}
KS{
getResult(NFSC503A_8_12_1) = TRUE
getResult(NFSC503A_8_12_2) = TRUE
getResult(NFSC503A_8_12_3) = TRUE
}
Python Code 변환 예정
Modify
85
72856
건축물의 에너지절약설계기준 제 15조 2 항
② 에너지성능지표의 각 항목에 대한 배점의 판단은 에너지절약계획서 제출자가 제시한 설계도면 및 자료에 의하여 판정하며, 판정 자료가 제시되지 않을 경우에는 적용되지 않은 것으로 간주한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 1호
Check(NFSC503A_8_12_1){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isBranchLines) = TRUE
isFarthestDistance(WaterflowIndicator, Pipe) = TRUE
}
isInstalled( TestingDevice, myPipe.End) = TRUE
isConnectedTo(TestingDevice, myPipe.End) = TRUE
}
Python Code 변환 예정
Modify
86
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
87
72858
건축물의 에너지절약설계기준 제 17조 1 항
제17조(완화기준의 적용방법) ① 완화기준의 적용은 당해 용도구역 및 용도지역에 지방자치단체 조례에서 정한 최대 용적률의 제한기준, 조경면적 기준, 건축물 최대높이의 제한 기준에 대하여 다음 각 호의 방법에 따라 적용한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 3호
Check(NFSC503A_8_12_3){
KS
}
KS{
Pipe myPipe1{
isObjectProperty(Pipe.isForTest) = TRUE
}
Pipe myPipe2{
isObjectProperty(Pipe.usage) = "WaterDrainPipe"
}
isInstalled( myPipe2, myPipe1.End) = TRUE
}
Python Code 변환 예정
Modify
88
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
89
72861
건축물의 에너지절약설계기준 제 17조 1 항 2호
2. 조경면적 적용방법
//간이스프링클러설비의 화재안전기준(NFSC 103A) 8조 (배관 및 밸브) 13조 2
Check(NFSC103A_8_13_2){
IF(CS1 THEN KS1) OR (CS2 THEN KS2)
}
Pipe myPipe1{
isObjectProperty(Pipe.isCrossMains) = TRUE
}
Pipe myPipe2{
isObjectProperty(Pipe.isBranchLines) = TRUE
}
CS1{
getObjectInterval(myPipe2) <= 4.5m
}
KS1{
getObjectCountInInterval(Hanger, myPipe2) >= 1
isInstalled( Hanger, myPipe1) = TRUE
}
CS2{
getObjectInterval(myPipe2) > 4.5m
}
KS2{
isInstalled( Hanger, myPipe1, b, 4.5) = TRUE
getObjectCountInInterval(Hanger, myPipe2) >= 1
}
Python Code 변환 예정
Modify
90
72862
건축물의 에너지절약설계기준 제 17조 1 항 2호
「법 및 조례에서 정하는 기준 조경면적」× [1 - 완화기준]
//간이스프링클러설비의 화재안전기준(NFSC 103A) 8조 (배관 및 밸브) 13조 3호
Check(NFSC103A_8_13_3){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isFeedMains) = TRUE
}
isInstalled( Hanger, myPipe, b, 4.5) = TRUE
getObjectCountInInterval(Hanger, myPipe) >= 1
}
Python Code 변환 예정
Modify
91
72868
건축물의 에너지절약설계기준 제 18조 3 항
③ 신청인의 자격은 건축주 또는 사업주체로 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 1호 나목
Check(NFSC503A_8_16_1_나){
KS
}
KS{
ShutdownEquipment myShutdownEquipment{
isObjectProperty(ShutdownEquipment.type) = "Water"
}
Pipe myPipe{
isObjectProperty(Pipe.systemType) != "SimpleSprinklerSystem"
}
isInstalled( myShutdownEquipment, myPipe) = TRUE
}
Python Code 변환 예정
Modify
92
72869
건축물의 에너지절약설계기준 제 18조 4 항
④ 완화기준의 신청을 받은 허가권자는 신청내용의 적합성을 검토하고, 신청자가 신청내용을 이행하도록 허가조건에 명시하여 허가하여야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 2호
Check(NFSC503A_8_16_2){
IF (!CS1 AND CS2) THEN KS
}
CS1{
getObjectVerticalLocation(WaterSource, Pump) > 0
}
CS2{
PressurizedWaterSupplySystem myPressurizedWaterSupplySystem{
isObjectProperty(PressurizedWaterSupplySystem.supplyType) != "DirectCoupledType" OR "PressurizedTankType"
}
isInstalled( Pipe, myPressurizedWaterSupplySystem) = TRUE
OR isInstalled( Valve, myPressurizedWaterSupplySystem) = TRUE
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType) = "HydropneumaticTank"
}
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
}
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
isInstalledInOrder(WaterSource, CompoundGauge | VacuumGauge, Pump | myTank, PressureGauge, myValve1, myPipe, myValve2, WaterflowIndicator, myValve3) = TRUE
}
Python Code 변환 예정
Modify
93
72870
건축물의 에너지절약설계기준 제 19조 1 항
제19조(인증의 취득) ① 신청인이 인증에 의해 완화기준을 적용받고자 하는 경우에는 인증기관으로부터 예비인증을 받아야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 3호
Check(NFSC503A_8_16_3){
IF CS THEN KS
}
CS{
PressurizedWaterSupplySystem myPressurizedWaterSupplySystem{
isObjectProperty(PressurizedWaterSupplySystem.supplyType) = "PressurizedTankType"
}
isInstalled( Pipe, myPressurizedWaterSupplySystem) = TRUE
OR isInstalled( Valve, myPressurizedWaterSupplySystem) = TRUE
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType) = "PressurizedTank"
}
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
getObjectCount(Valve) = 2
}
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
isInstalledInOrder(WaterSource, myTank, PressureGauge, myValve1, myPipe, myValve2, WaterflowIndicator, myValve3) = TRUE
}
Python Code 변환 예정
Modify
94
72871
건축물의 에너지절약설계기준 제 19조 2 항
② 완화기준을 적용받은 건축주 또는 사업주체는 건축물의 사용승인 신청 이전에 본인증을 취득하여 사용승인 신청 시 허가권자에게 인증서 사본을 제출하여야 한다. 단, 본인증의 등급은 예비인증 등급 이상으로 취득하여야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 4호
Check(NFSC503A_8_16_4){
IF (!CS1 AND CS2) THEN KS
}
CS1{
getObjectVerticalLocation(WaterSource, Pump) > 0
}
CS2{
SimpleSprinklerSystem mySimpleSprinklerSystem{
isObjectProperty(SimpleSprinklerSystem.isCabinetType) = TRUE
}
isInstalled( Pipe, mySimpleSprinklerSystem.PressurizedWaterSupplySystem) = TRUE
OR isInstalled( Valve, mySimpleSprinklerSystem.PressurizedWaterSupplySystem) = TRUE
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType) = "HydropneumaticTank"
}
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
getObjectCount(Valve) = 2
}
isInstalledInOrder(WaterSource, CompoundGauge | VacuumGauge, Pump | myTank, PressureGauge, myValve1, myPipe, myValve2, myValve3) = TRUE
}
Python Code 변환 예정
Modify
95
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
96
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
97
72877
건축물의 에너지절약설계기준 제 23조 2 항
② 다수의 동이 있는 경우에는 동별로 에너지절약계획서 및 설계 검토서를 제출하는 것을 원칙으로 한다.(다만, 공동주택의 주거용도는 하나의 단지로 작성)
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 9조 (간이헤드) 8호
Check(NFSC503A_9_0_8){
IF CS THEN KS
}
CS{
isInstalled( SimpleSprinklerSystem, SpecificFireFightingBuilding) = TRUE
}
KS{
getResult(NFSC503_15_1) = TRUE
}
Python Code 변환 예정
Modify
98
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
99
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
100
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