개방형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      
1 / 1 page Total 2500 / 4000 records    신규입력
Select
ALL
None
#
ID
Law
Jo
JO Name
HANG
HO
MOK
Text
Search!
1
20048 건축물의 구조기준 등에 관한 규칙 제 31조 1 항

제31조(내력벽의 높이 및 길이) ①조적식구조인 건축물중 2층 건축물에 있어서 2층 내력벽의 높이는 4미터를 넘을 수 없다.





//건축물의 구조기준 등에 관한 규칙 31조 (내력벽의 높이 및 길이) 1항
Check(RSSB_31_1){
        getResult(RSSB_28_1) = TRUE AND getResult(RSSB_28_1) = TRUE AND getResult(RSSB_3_3) = TRUE AND IF CS THEN KS
}
CS{
	isObjectProperty(Building.Structure.isMansoryStructure) = TRUE
	getBuildingStoriesCount() = 2
}
KS{
	Wall myWall{
	isObjectProperty(Wall.isLoadBearingWall) = TRUE
	getFloorNumber(Wall.Floor) = TRUE
	}
	getObjectHeight(myWall) < 4m
} 




Python Code 변환 예정



Modify
2
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
3
24866 건축물의 구조기준 등에 관한 규칙 제 9조의3조 2 항

② 주요구조부가 비보강조적조인 건축물은 지붕높이 15미터 이하, 처마높이 11미터 이하 및 3층 이하로 하여야 한다.





//건축물의 구조기준 등에 관한 규칙 9조의3 (건축물의 규모제한) 2항
Check(RSSB_9-3_2){
        IF CS THEN KS
}
CS{
	isObjectProperty(MainStructuralPart.Structure.isUnreinforcedMansoryStructure) = TRUE
}
KS{
	getObjectVerticalDistance(FloorSlab, Roof) <= 15m
	getObjectVerticalDistance(FloorSlab, Eave) <= 11m	
	getBuildingStoriesCount() <= 3
} 




Python Code 변환 예정



Modify
4
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
5
19376 건축물의 설비기준 등에 관한 규칙 제 9조 3호

3. 높이 31미터를 넘는 층수가 4개층이하로서 당해 각층의 바닥면적의 합계 200제곱미터(벽 및 반자가 실내에 접하는 부분의 마감을 불연재료로 한 경우에는 500제곱미터)이내마다 방화구획으로 구획한 건축물





//건축물의 설비기준 등에 관한 규칙 9조 (비상용승강기를 설치하지 아니할 수 있는 건축물) 3호

Check(RFB_9_0_3){

    KS

}



KS{

    getBuildingHeight()>31 m

    getBuildingStoriesCount()<=4

    IF isObjectProperty(Wall.InteriorFinish.Material.nonCombustibility)=TRUE

       isObjectProperty(CeilingCovering.InteriorFinish.Material.nonCombustibility)=TRUE

    THEN isFirePartition(Floor, a,500)=TRUE 

    ELSE THEN isFirePartition(Floor, a,200)=TRUE 

    END IF

} 




Python Code 변환 예정



Modify
6
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
7
25399 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 8조의2조 1 항

① 영 제34조제3항 및 제4항에 따라 설치하는 피난안전구역(이하 "피난안전구역"이라 한다)은 해당 건축물의 1개층을 대피공간으로 하며, 대피에 장애가 되지 아니하는 범위에서 기계실, 보일러실, 전기실 등 건축설비를 설치하기 위한 공간과 같은 층에 설치할 수 있다. 이 경우 피난안전구역은 건축설비가 설치되는 공간과 내화구조로 구획하여야 한다. <개정 2012.1.6>





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 8조의2 (피난안전구역의 설치기준) 1항
check(REFB_8-2_1){
	KS1 AND IF CS THEN KS2
}

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

	Space mySpace{
		hasSpace(Space, FacilitiesOfABuilding)
	}

	Structure myStructure{
		isObjectProperty(Space.isfireResistantStructure) = TRUE
	}

KS1{
 	BSC = getBuildingStoriesCount()
	getFloorNumber(myZone) <= BSC
}

CS{
	getFloorNumber(mySpace) = getFloorNumber(myZone)
}

KS2{
	isPartitioned(myZone, myStructure, mySpace) = TRUE
}
 




Python Code 변환 예정



Modify
8
25620 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 20조의2조

제20조의2 (내화구조의 적용이 제외되는 공장건축물) 영 제56조제1항제3호 단서에서 "국토해양부령으로 정하는 공장"이란 별표 2의 업종에 해당하는 공장으로서 주요구조부가 불연재료로 되어 있는 2층 이하의 공장을 말한다. <개정 2005.7.22, 2008.3.14, 2009.7.1>





check(REFB_20-2){

     getResult(REFB_*_2) = True

     getObjectProperty(MainStructuralPart.Material.nonCombustibility)= TRUE

     getBuildingStoriesCount()<2;

} 




Python Code 변환 예정



Modify
9
26546 건축법 제 64조 1 항

① 건축주는 6층 이상으로서 연면적이 2천제곱미터 이상인 건축물(대통령령으로 정하는 건축물은 제외한다)을 건축하려면 승강기를 설치하여야 한다. 이 경우 승강기의 규모 및 구조는 국토교통부령으로 정한다. <개정 2013.3.23>





//건축법 64조 (승강기) 1항
check(BA_64_1){
   IF CS THEN KS
}

CS{ 
   getBuildingStoriesCount() >= 6    
   getGrossFloorArea()>= 2000 m2
}

KS{
	isExist(Elevator) = TRUE
        getResult(RFB_5)=TRUE
        getResult(RFB_6)=TRUE
        getResult(REFB_29_1)=True
} 




Python Code 변환 예정



Modify
10
19738 건축법 시행령 제 58조 1호

1. 연면적 30제곱미터 미만인 단층 부속건축물로서 외벽 및 처마면이 내화구조 또는 불연재료로 된 것





check(EDBA_58_0_1){

	getGrossFloorArea() < 30m2;

	isObjectProperty(Building.isAttachedBuilding) = TRUE

	getBuildingStoriesCount() = 1;

	isFireResistantStructure(MainStructure) = TRUE

	OR isFireResistantStructure(ExternalWall) = TRUE;

} 




Python Code 변환 예정



Modify
11
36586 건축법 시행령 제 36조

제36조 (옥외 피난계단의 설치) 건축물의 3층 이상인 층(피난층은 제외한다)으로서 다음 각 호의 어느 하나에 해당하는 용도로 쓰는 층에는 제34조에 따른 직통계단 외에 그 층으로부터 지상으로 통하는 옥외피난계단을 따로 설치하여야 한다.





//건축법 시행령 36조 (옥외 피난계단의 설치)

Check(EDBA_36){
    IF CS THEN KS
}

CS{
   getBuildingStoriesCount()>=3
   getResult(EDBA_36_0_1)=True
   OR getResult(EDBA_36_0_2)=True
}

KS{
   Stair myStair1{
       isObjectProperty(Stair.isDirect)=True
   }
   
   Stair myStair2{
       isObjectProperty(Stair.isEscape)=True
       isAccessible(Stair, Ground)=True
   }
  
   isExist(myStair1)=True
   isExist(myStair2)=True
} 




Python Code 변환 예정



Modify
12
36635 건축법 시행령 제 51조 2 항

② 법 제49조제2항에 따라 6층 이상인 건축물로서 문화 및 집회시설, 종교시설, 판매시설, 운수시설, 의료시설, 교육연구시설 중 연구소, 노유자시설 중 아동 관련 시설·노인복지시설, 수련시설 중 유스호스텔, 운동시설, 업무시설, 숙박시설, 위락시설, 관광휴게시설 및 장례식장의 거실에는 국토해양부령으로 정하는 기준에 따라 배연설비(排煙設備)를 하여야 한다. 다만, 피난층인 경우에는 그러하지 아니하다.





//건축법 시행령 51조 (거실의 채광 등) 2항
Check(EDBA_51_2){
	IF (!CS1 AND CS2) THEN KS
}


CS1{
	Floor myFloor{
		isObjectProperty(Floor.isEscape) = TRUE
	}
	getFloorNumber(Room) = getFloorNumber(myFloor)
}

CS2{
	getBuildingStoriesCount() >= 6
	getResult(EDBA_51_2_1) = True
	OR getResult(EDBA_51_2_2) = True
	OR getResult(EDBA_51_2_3) = True
	OR getResult(EDBA_51_2_4) = True
	OR getResult(EDBA_51_2_5) = True
	OR getResult(EDBA_51_2_6) = True
	OR getResult(EDBA_51_2_7) = True
	OR getResult(EDBA_51_2_8) = True
	OR getResult(EDBA_51_2_9) = True
	OR getResult(EDBA_51_2_10) = True
	OR getResult(EDBA_51_2_11) = True
	OR getResult(EDBA_51_2_12) = True
	OR getResult(EDBA_51_2_13) = True
	OR getResult(EDBA_51_2_14) = True
	OR getResult(EDBA_51_2_15) = True
}

KS{
	hasSpace(Room, SmokeExhaustionSystem) = True
	getResult(RFB_14_1) = True
	getResult(REFB_17_1) = True
	getResult(REFB_17_2) = True
}
 




Python Code 변환 예정



Modify
13
36704 건축법 시행령 제 89조

제89조 (승용 승강기의 설치) 법 제64조제1항 전단에서 "대통령령으로 정하는 건축물"이란 층수가 6층인 건축물로서 각 층 거실의 바닥면적 300제곱미터 이내마다 1개소 이상의 직통계단을 설치한 건축물을 말한다.





//건축법 시행령 89조 (승용 승강기의 설치)
Check(EDBA_89){
     KS
}

KS{
     Stair myStair{
          isObjectProperty(Stair.isDirect) = TRUE
     }
     getBuildingStoriesCount() = 6
     isExist(myStair) = TRUE
} 




Python Code 변환 예정



Modify
14
37042 건축법 시행령 제 56조 1 항

① 법 제50조제1항에 따라 다음 각 호의 어느 하나에 해당하는 건축물(제5호에 해당하는 건축물로서 2층 이하인 건축물은 지하층 부분만 해당한다)의 주요구조부는 내화구조로 하여야 한다. 다만, 연면적이 50제곱미터 이하인 단층의 부속건축물로서 외벽 및 처마 밑면을 방화구조로 한 것과 무대의 바닥은 그러하지 아니하다. <개정 2009.6.30>





//건축법 시행령 56조 (건축물의 내화구조) 1항

check(EDBA_56_1){

        IF !CS THEN KS

}

Space mySpace{
Space.usage="StagePart"
}

Floor myFloor{

     hasSpace(mySpace, Floor) = TRUE

}



CS {

       getTotalFloorArea()<= 50m2

       AND getBuildingStoriesCount()=1

       AND getBuildingUsage()="AccessoryBuidling"

       AND isFireProofStructure("OuterWall" | "eaves" | myFloor)=TRUE

}



KS {

	getResult(EDBA_56_1_1 = TRUE  

	OR getResult(EDBA_56_1_2) = TRUE  

	OR getResult(EDBA_56_1_3) = TRUE  

	OR getResult(EDBA_56_1_4) = TRUE  

	OR getResult(EDBA_56_1_5) = TRUE  

   		

	AND isFireProofStructure(MainStructuralPart) = TRUE

} 




Python Code 변환 예정



Modify
15
37047 건축법 시행령 제 56조 1 항 5호

5. 3층 이상인 건축물 및 지하층이 있는 건축물. 다만, 단독주택(다중주택 및 다가구주택은 제외한다), 동물 및 식물 관련 시설, 발전시설(발전소의 부속용도로 쓰는 시설은 제외한다), 교도소·감화원 또는 묘지 관련 시설(화장장은 제외한다)의 용도로 쓰는 건축물과 철강 관련 업종의 공장 중 제어실로 사용하기 위하여 연면적 50제곱미터 이하로 증축하는 부분은 제외한다.





//건축법 시행령 56조 (건축물의 내화구조) 1항 5호

check(EDBA_56_1_5){

	IF !CS THEN KS

}

Building myBuilding{

     getBuildingUsage() = "PowerPlant"

     isObjectProperty(Building.isAttachedBuilding) = TRUE

}


Building  myBuilding{

     getResult(REFB_*_3_30) = TRUE

     getResult(REFB_*_3_31) = TRUE

}



CS{

         getBuildingUsage() = "facilities for animals and plants"

                                       

                              | "facilities for power generation"

                              | "correctional facilities and military installations.prison"

                              | "correctional facilities and military installations.reformatories 

                              | "myFactory"



	 OR (getBuildingUsage() = "detached houses"

             AND getBuildingUsage() != "detached houses.multi-user houses" 

                                     | "detached houses.multi-family houses" )



	 OR (getBuildingUsage() = "facilities for power generation" 

	 AND (getBuildingUsage() = "myBuilding"



	 OR (getBuildingUsage() = "cemeteries and related facilities"

	 AND getBuildingUsage() != "Crematorium") 





}



KS{

Floor myFloor{
Floor.number < 0
}

          getBuildingStoriesCount() >= 3 

	  AND isExist(myFloor) = TRUE

} 




Python Code 변환 예정



Modify
16
37352 건축법 시행령 제 34조 1 항

① 건축물의 피난층(직접 지상으로 통하는 출입구가 있는 층을 말한다. 이하 같다) 외의 층에서는 피난층 또는 지상으로 통하는 직통계단(경사로를 포함한다. 이하 같다)을 거실의 각 부분으로부터 계단(거실로부터 가장 가까운 거리에 있는 계단을 말한다)에 이르는 보행거리가 30미터 이하가 되도록 설치하여야 한다. 다만, 건축물(지하층에 설치하는 것으로서 바닥면적의 합계가 300제곱미터 이상인 공연장·집회장·관람장 및 전시장은 제외한다)의 주요구조부가 내화구조 또는 불연재료로 된 건축물은 그 보행거리가 50미터(층수가 16층 이상인 공동주택은 40미터) 이하가 되도록 설치할 수 있으며, 자동화 생산시설에 스프링클러 등 자동식 소화설비를 설치한 공장으로서 국토해양부령으로 정하는 공장인 경우에는 그 보행거리가 75미터(무인화 공장인 경우에는 100미터) 이하가 되도록 설치할 수 있다. <개정 2009.7.16>





// 건축법 시행령 34조 (직통계단의 설치) 1항

Check(EDBA_34_1){
     KS
}

KS{
Floor myFloor{
      isObjectProperty(Floor.isEscape) = TRUE
}

Space mySpace{
      getObjectProperty(Space.usage)="PerformanceHall"
      OR getObjectProperty(Space.usage)="AssemblyHall"
      OR getObjectProperty(Space.usage)="Auditorium"	
      OR getObjectProperty(Space.usage)="ExhibitionHall"
}

Door myDoor{
     isDirectlyAccessible(Door, Ground)=TRUE
}

Stair myStair{
     isObjectProperty(Stair.isDirect)=TRUE
     isAccessible(Stair,myFloor)=TRUE
     OR isAccessible(Stair,Ground)=TRUE
}

Ramp myRamp{
     isAccessible(Ramp,myFloor)=TRUE
     OR isAccessible(Ramp,Ground)=TRUE
}

Floor myFloor2{
     isObjectProperty(Floor.isEscape)=FALSE
     OR hasObject(Floor, myDoor)=FALSE
}

	Zone myZone{

		isDirectlyAccessible(myStair, Zone)=FALSE

	}

 

IF

	getFloorNumber(mySpace)>0

	getFloorArea(mySpace)<=300 m2

	isFireResistantStructure(MainStructuralPart)=TRUE

	OR isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE 

	THEN IF        getBuildingStoriesCount()>=16

	               getBuildingUsage()="MultiUnitHouse"

	          THEN ED= 40 

	ELSE THEN   ED=50               

	END IF



ELSE IF   

	getBuildingUsage() = "Factory" 

	isExist(ExtinguishingSystem)=TRUE 

	isObjectProperty(ExtinguishingSystem.isAutomatic)=TRUE

	getResult(REFB_8_2)=TRUE

	THEN IF   	getBuildingUsage() = "UnmannedFactory" 

			THEN ED=100

	ELSE THEN  ED=75

	END IF 



ELSE THEN ED=30

	END IF 



	(hasObject(myFloor,myStair)=TRUE

	hasObject(myZone, myStair)=TRUE

	getObjectDistance(Room,myStair, 1)<=ED)

	OR 

	(hasObject(myFloor,myRamp)=TRUE

	hasObject(myZone, myRamp)=TRUE

	getObjectDistance(Room,myRamp, 1)<=ED)

} 








max_route_length = 30

def Check():
    evac_storey_exist = False
    stories = SELECT('storey')

    for storey in stories:
        if storey.SELECT('is evacuation storey').BOOL() == True:
            evac_storey_exist = True
            break

    if evac_storey_exist == False:
        ERROR('피난층이 존재하지 않습니다.')
        return

    for storey in stories:
        if storey.SELECT('is evacuation storey').BOOL() == True:
            continue

        stairs = storey.SELECT('direct stair')

        if stairs.COUNT() == 0:
            storey.ERROR(storey.SELECT('name').STRING() + '에 직통계단이 존재하지 않습니다.')
            continue

        for space in storey.SELECT('space'):
            route_length = -1
            for route in space.SELECT('escape route', stairs):
                length = route.SELECT('length').UNIT('m').NUMBER()
                if length > 0:
                    if route_length < 0:
                        route_length = length
                    else:
                        route_length = min([route_length, length])
            if route_length < 0:
                space.ERROR(space.SELECT('name').STRING() + '부터 직통계단까지 갈 수 없다.')
            elif route_length > max_route_length:
                space.ERROR(space.SELECT('name').STRING() + '부터 직통계단까지의 거리가 멀다 : ' + str(route_length))
            else:
                space.SUCCESS(space.SELECT('name').STRING() + ' : ' + str(route_length)) 





Modify
17
37359 건축법 시행령 제 34조 3 항

③ 초고층 건축물에는 피난층 또는 지상으로 통하는 직통계단과 직접 연결되는 피난안전구역(초고층 건축물의 피난·안전을 위하여 지상층으로부터 최대 30개 층마다 설치하는 대피공간을 말한다. 이하 같다)을 설치하여야 한다. <신설 2009.7.16>





// 건축법 시행령 제 34조 (직통계단의 설치) 3항

check(EDBA_34_3){

		IF CS THEN KS ENDIF

}



CS{

isObjectProperty(Building.isHighriseBuilding) = TRUE

}

KS{

		Stair myStair{

				isObjectProperty(Stair.isDirect) = TRUE			

		}

		Zone myZone{

				isObjectProperty(Zone.isEgressSafetyZone) = TRUE

		}

		Floor myFloor{

				isObjectProperty(Floor.isEscape) = TRUE

		}

isGoThrough(myFloor, myZone, myStair) = TRUE

		OR isGoThrough(myFloor, Ground, myStair) = TRUE



		getObjectCount(myZone) >= getBuildingStoriesCount()/30

} 




Python Code 변환 예정



Modify
18
37360 건축법 시행령 제 34조 4 항

④ 제3항에 따른 피난안전구역의 규모와 설치기준은 국토해양부령으로 정한다. <신설 2009.7.16>





// 건축법 시행령 34조 (직통계단의 설치) 4항

check(EDBA_34_4){

		IF !CS THEN KS ENDIF

}

CS{

		Stair myStair{

				isObjectProperty(Stair.isDirect) = TRUE

		}

		Floor myFloor{

				isObjectProperty(Floor.isEscape) = TRUE

		}

		isDirectlyAccessible(myStair, myFloor) = TRUE

		OR isDirectlyAccessible(myStair, Ground) = TRUE

}

				

KS{

		isObjectProperty(Building.isQuasiHighriseBuilding) = TRUE

		Stair myStair{

				isObjectProperty(Stair.isDirect) = TRUE			

		}

		Zone myZone{

				isObjectProperty(Zone.isEgressSafetyZone) = TRUE

		}

		Floor myFloor{

				isObjectProperty(Floor.isEscape) = TRUE

		}

                isGoThrough(myFloor, myZone, myStair) = TRUE

		OR isGoThrough(myFloor, Ground, myStair) = TRUE

		(getBuildingStoriesCount()/2)-5 < getFloorNumber(myZone)

                getFloorNumber(myZone) < (getBuildingStoriesCount()/2)+5

} 




Python Code 변환 예정



Modify
19
37373 건축법 시행령 제 40조 3 항

③ 층수가 11층 이상인 건축물로서 11층 이상인 층의 바닥면적의 합계가 1만 제곱미터 이상인 건축물(지붕을 평지붕으로 하는 경우만 해당한다)의 옥상에는 국토해양부령으로 정하는 기준에 따라 헬리포트를 설치하거나 헬리콥터를 통하여 인명 등을 구조할 수 있는 공간을 확보하여야 한다. <개정 2009.7.16>





//건축법 시행령 40조 (옥상광장 등의 설치) 3항
Check(EDBA_40_3){
  IF (CS) THEN KS 
}

CS{
	Floor myFloor{
		Floor.number > 11
	}

   	getBuildingStoriesCount() > 11
   	getTotalFloorArea(myFloor) > 10000m2
}

KS{
  getResult(EDBA_40_3_1) = True
  getResult(EDBA_40_3_2) = True
}
 




Python Code 변환 예정



Modify
20
20471 연결송수관설비의 화재안전기준(NFSC 502) 제 5조 1 항 2호

2. 지면으로부터의 높이가 31m 이상인 특정소방대상물 또는 지상 11층 이상인 특정소방대상물에 있어서는 습식설비로 할 것





//연결송수관설비의 화재안전기준(NFSC 502) 5조 (배관) 1항 2호



Check(NFSC502_5_1_2){

    IF CS THEN KS 

}



CS{

   (

      getBuildingHeight()>=31 m

      OR getBuildingStoriesCount()>=11 

    )

   getBuildingUsage()="SpecificFireFightingBuilding"

   

}



KS{

      getObjectProperty(FireDepartmentConnectionSystem.dryWetType)="WetFireDepartmentConnectionSystem" 

} 




Python Code 변환 예정



Modify
21
62347 주택건설기준 등에 관한 규정 제 15조 1 항

①6층 이상인 공동주택에는 국토교통부령이 정하는 기준에 따라 대당 6인승 이상인 승용승강기를 설치하여야 한다. 다만, 「건축법 시행령」 제89조의 규정에 해당하는 공동주택의 경우에는 그러하지 아니하다. <개정 1992.5.30, 1994.12.23, 1994.12.30, 1999.9.29, 2005.6.30, 2008.2.29, 2013.3.23>





//주택건설기준 등에 관한 규정 15조 (승강기등) 1항
Check(RHC_15_1){
	getResult(RHC_15_5) = TRUE AND IF (CS1 AND !CS2) THEN KS
}

CS1{
	getBuildingUsage() = "MultiUnitHouse"
	getBuildingStoriesCount() >= 6
}

CS2{
	getBuildingStoriesCount = 6
	
	Stair myStair{
		isObjectProperty(Stair.isDirect) = TRUE
	}

	getFloorArea() = FA
	FA / 300 = FA2
	getIntegeralNumber(FA2) = FA3
	getObjectCount(myStair) >= FA3
}

KS{
	Elevator myElevator{
		getObjectProperty(Elevator.occupancy) >= 6
	}

	isExist(myElevator) = TRUE
} 




Python Code 변환 예정



Modify
22
62348 주택건설기준 등에 관한 규정 제 15조 2 항

②10층 이상인 공동주택의 경우에는 제1항의 승용승강기를 비상용승강기의 구조로 하여야 한다. <개정 2007.7.24>





//주택건설기준 등에 관한 규정 15조 (승강기등) 2항
Check(RHC_15_2){
	IF CS THEN KS
}

CS{
	getBuildingUsage() = "MultiUnitHouse"
	getBuildingStoriesCount() >= 10
}

KS{
	Elevator myElevator{
		getObjectProperty(Elevator.cooupancy) >= 6
		isObjectProperty(Elevator.isEmergency) = TRUE
	}

	isExist(myElevator) = TRUE
} 




Python Code 변환 예정



Modify
23
62814 주택건설기준 등에 관한 규정 제 15조 3 항

③10층 이상인 공동주택에는 이사짐등을 운반할 수 있는 다음 각호의 기준에 적합한 화물용승강기를 설치하여야 한다. <개정 1993.9.27, 2001.4.30, 2016.12.30>





//주택건설기준 등에 관한 규정 15조 (승강기등) 3항
Check(RHC_15_3){
	getResult(RHC_15_5) = TRUE AND IF CS THEN KS
}

CS{
	getBuildingUsage() = "MultiUnitHouse"
	getBuildingStoriesCount() >= 7
}

KS{
	getResult(RHC_15_3_1) = TRUE
	getResult(RHC_15_3_2) = TRUE
	getResult(RHC_15_3_3) = TRUE
	getResult(RHC_15_3_4) = TRUE
} 




Python Code 변환 예정



Modify
    1      
 

Related Sites

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