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

1. 10층 이하의 층은 바닥면적 1천제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 바닥면적 3천제곱미터)이내마다 구획할 것





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의 설치) 1항1호



check(REFB_14_1_1){KS

}



KS{

	Floor myFloor{

		Floor.number>=10

	}



	IF (


        isExist(SprinklerSystem)=TRUE 
isObjectProperty(ExtinguishingSystem.isAutomatic) = TRUE


        ) 

	(

        isFirePartition(myFloor, 3000)=TRUE

        OR isFirePartition(myFloor, a, 1000)=TRUE

        )

	

} 




Python Code 변환 예정



Modify
2
25241 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 14조 1 항 3호

3. 11층 이상의 층은 바닥면적 200제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 600제곱미터)이내마다 구획할 것. 다만, 벽 및 반자의 실내에 접하는 부분의 마감을 불연재료로 한 경우에는 바닥면적 500제곱미터(스프링클러 기타 이와 유사한 자동식 소화설비를 설치한 경우에는 1천500제곱미터)이내마다 구획하여야 한다.





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조 (방화구획의설치) 1항3호





check(REFB_14_1_3){

KS2 AND IF CS THEN KS

}



  

Floor myFloor {

		getFloorNumebr()>= 11

              } 





KS2{

     isFirepartition(myFloor,200)=TRUE 

     OR 

     ((isExist(SprinklerSystem) = TRUE 

      OR isObjectProperty(ExtinguishingSystem.isAutomatic) = TRUE)

      AND isFirepartition(myFloor,600)=TRUE)

}



CS1 {

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

}



KS1 {

     isFirepartition(myFloor,500)=TRUE

     OR

      ((isExist(SprinklerSystem) = TRUE 

      OR isObjectProperty(ExtinguishingSystem.isAutomatic) = TRUE)

      AND isFirepartition(myFloor,1500)=TRUE)

} 




Python Code 변환 예정



Modify
3
29929 건축법 시행령 제 61조 1 항 7호

7. 창고로 쓰이는 바닥면적 3천 제곱미터(스프링클러나 그 밖에 이와 비슷한 자동식 소화설비를 설치한 경우에는 6천 제곱미터) 이상인 건축물





//건축법 시행령 61조 (건축물의 마감재료) 1항7호

Check(EDBA_61_1_7){
  KS
}

KS{

  Floor myFloor{
      getObjectUsage(Floor)="Storage"

  }
   IF (isExist(SprinklerSystem)=TRUE
       OR isExist(ExtinguishingSystem.isAutomatic)=TRUE ) 

   THEN  getFloorArea(myFloor)>6000 m2
   ELSE THEN  getFloorArea(myFloor)>3000 m2
} 




Python Code 변환 예정



Modify
4
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
    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.