개방형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
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
2
72896 건축물의 에너지절약설계기준 제 28조 2 항

② 국토교통부장관은 제1항 업무의 효율적 수행을 위하여 제로에너지빌딩 지원센터로 하여금 시행세칙을 제정하여 운영토록 할 수 있다.





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

KS{
	Ceiling myCeiling{
		isAdjacent(Ceiling, Indoors) = TRUE
	}

	CeilingCovering myCeilingCovering{
		isAdjacent(CeilingCovering, Indoors) = TRUE
	}

	isInstalled(myCeiling, Sensor) = TRUE
	OR isInstalled(myCeilingCovering, Sensor) = TRUE
} 




Python Code 변환 예정



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

3. 공동주택등과 위락시설등은 서로 이웃하지 아니하도록 배치할 것





// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 14조의2 (복합건축물의 피난시설 등) 3호

Check(REFB_14-2_0_3){
     KS
}

KS{

  Space mySpace{
  Space.usage="MultiUnitHouse"  
  OR Space.usage="MedicalFacility"
  OR Space.usage="ChildrenRelatedFacility"
  OR Space.usage="WelfareFacilityForTheAged"
 }
 
 Space mySpace2{
  Space.usage="AmusementFacility"  
  OR Space.usage="FacilityForStorageAndTreatmentOfDangerousSubstance"
  OR Space.usage="Factory"
  OR Space.usage="AutomobileRepairShop"
 }

 isAdjacent(mySpace, mySpace2)=False

} 




Python Code 변환 예정



Modify
4
25611 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 15조의2조 2 항

②문화 및 집회시설(공연장ㆍ집회장ㆍ관람장ㆍ전시장에 한한다), 종교시설 중 종교집회장, 노유자시설 중 아동 관련 시설ㆍ노인복지시설, 수련시설 중 생활권수련시설, 위락시설 중 유흥주점 및 장례식장의 관람석 또는 집회실과 접하는 복도의 유효너비는 제1항의 규정에 불구하고 다음 각 호에서 정하는 너비로 하여야 한다. <개정 2010.4.7>





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 2항

check(REFB_15-2_2){

     IF CS THEN KS 

}



CS{

Space  mySpace{

getSpaceUsage(Space) = “AssemblyHall”

OR getSpaceUsage(Space) = “PerformanceHall”

}

    Corridor myCorridor{

       isAdjacent(mySpace,Corridor) = TRUE

    }



    (getBuildingUsage()="CulturalAndAssemblyFacility.PerformanceHall"

    OR getBuildingUsage()="CulturalAndAssemblyFacility.AssemblyHall"

    OR getBuildingUsage()="CulturalAndAssemblyFacility.Auditorium"

    OR getBuildingUsage()="CulturalAndAssemblyFacility.ExhibitionHall"

    OR getBuildingUsage()="ReligiousFacility.ReligiousAssemblyFacility"

    OR getBuildingUsage()="FacilitiesForTheAgedAndChildren.ChildrenRelatedFacility"

    OR getBuildingUsage()="FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged"

    OR getBuildingUsage()="Trainingfacility.TrainingFacilitiesInLiving "

    OR getBuildingUsage()="AmusementFacility.tavern"

    OR getBuildingUsage()="AmusementFacility.FuneralParlors" )

     

    isExist(myCorridor)=TRUE   

}



KS{



 

   getResult(REFB_15-2_2_1)=TRUE

   getResult(REFB_15-2_2_2)=TRUE

   getResult(REFB_15-2_2_3)=TRUE

} 








corridor_code = '33105'
std_floor_area = 200

corridor_code_label = '복도 공간분류코드'
std_floor_area_label = '기준 연면적'

def Check():
    for building in SELECT('building'):
        if building.SELECT('prop', '연면적').NUMBER() <= std_floor_area:
            continue

        bldg_use = building.SELECT('building type').STRING()
        sub_use = building.SELECT('prop', '세부용도').STRING()
        if not ((bldg_use == '문화 및 집회시설' and sub_use in ['공연장' ,'집회장', '관람장', '전시장'])
            or (bldg_use == '종교시설' and sub_use == '종교집회장')
            or (bldg_use == '노유자시설' and sub_use in ['아동관련시설' ,'노인복지시설'])
            or (bldg_use == '수련시설' and sub_use == '생활권수련시설')
            or (bldg_use == '위락시설' and sub_use == '유흥주점')
            or (bldg_use == '장례시설' and sub_use == '장례식장')):
            continue

        for storey in building.SELECT('storey'):
            area = 0.0
            corridors = []
            for space in storey.SELECT('space'):
                if space.SELECT('class code').STRING() == corridor_code:
                    corridors.append(space)
                
                area += space.SELECT('area').UNIT('m2').NUMBER()
            
            min_cor_w = 1.8
            if area < 500:
                min_cor_w = 1.5
            elif area >= 1000:
                min_cor_w = 2.4

            for space in corridors:    
                width = space.SELECT('min clear width').UNIT('m')
                w = width.NUMBER()

                if w < min_cor_w:
                    width.ERROR('유효너비: ' + str(w) + ' < ' + str(min_cor_w))
                else:
                    width.SUCCESS('유효너비: ' + str(w) + ' >= ' + str(min_cor_w)) 





Modify
5
72623 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 조 1(표) 항

표





//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 15조의2 (복도의 너비 및 설치기준) 1항

Check(REFB_15-2_1){
            KS
}

KS{

  IF (Building.usage="Kindergarten"
      OR Building.usage="ElementarySchool"
      OR Building.usage="MiddleAndHighSchool" )
      IF(isAdjacent(Corridor, Room)=True)
         THEN   Corridor.width>=2.4 m
            ELSE THEN  Corridor.width>=1.8 m                 
      END IF 

  ELSE IF( Building.usage="MultiUnitHouse"
           OR Building.usage="Officetels" )
         IF( isAdjacent(Corridor, Room)=True)
            TEHN  Corridor.width>=1.8 m
         ELSE THEN Corridor.width>=1.2 m
         END IF
  ELSE IF( Floor.One.Room.area > 200 m2) 
          IF(isAdjacent(Corridor, Room)=True)
             TEHN IF (Building.usage="MedicalFacility")
                   THEN Corridor.width>=1.8 m
             ELSE THEN  Corridor.width>=1.5 m
             
          ELSE THEN Corridor.width>=1.2 m
          END IF
  END IF

}














 




Python Code 변환 예정



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

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





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

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

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




Python Code 변환 예정



Modify
7
12312 주차장법 시행규칙 제 16조의2조 1 항 1호 가 목

가. 중형 기계식주차장(길이 5.05미터 이하, 너비 1.9미터 이하, 높이 1.55미터 이하, 무게 1,850킬로그램 이하인 자동차를 주차할 수 있는 기계식주차장을 말한다. 이하 같다): 너비 8.1미터 이상, 길이 9.5미터 이상의 전면공지 또는 지름 4미터 이상의 방향전환장치와 그 방향전환장치에 접한 너비 1미터 이상의 여유 공지





//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 1호 가목



Check(ERPA_16-2_0_1_가){

   IF CS THEN KS

}



CS{

ParkingLot myParkingLot{
	ParkingLot.operationType = "MechanicalParking"
}
   getObjectProperty(myParkingLot.scale)="MiddleSize"

}



KS{

   Space mySpace{

     getSpaceUsage()="FrontageSpace"

     Space.width>=8.1 m

     Space.length>9.5 m

   }

  

    isExist(mySpace)=True

    OR isExist(DirectionSwitchingEquipment)=True

       getObjectDiameter(DirectionSwitchingEquipment)>=4 m

       isExist(Space)=True

       isAdjacent(DirectionSwitchingEquipment, Space)=True

       Space.width>=1 m

} 




Python Code 변환 예정



Modify
8
61303 주차장법 시행규칙 제 11조 5 항 1호

1. 차로의 너비는 2.5미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 따른 기준 이상으로 하여야 한다. img10250470 ┌───────┬──────┐ │주차형식 │차로의 너비 │ ├───────┼──────┤ │평행주차 │3.0미터 │ ├───────┼──────┤ │직각주차 │6.0미터 │ ├───────┼──────┤ │60도 대향주차 │4.0미터 │ ├───────┼──────┤ │45도 대향주차 │3.5미터 │ ├───────┼──────┤ │교차주차 │3.5미터 │ └───────┴──────┘





//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 5항 1호



Check(ERPA_11_5_1){

     KS

}



KS{

    IF  isAdjacent(ParkingUnit, ParkingLot.Driveway)=True

    THEN 

        IF getObjectProperty(ParkingUnit.parkingType)="ParallelParking"

           THEN ParkingLot.Driveway.width>=3.0 m

        ELSE IF getObjectProperty(ParkingUnit.parkingType)="RightAngleParking"

                THEN ParkingLot.Driveway.width>=6.0 m

              ELSE IF getObjectProperty(ParkingUnit.parkingType)="60AngleParking"

                THEN ParkingLot.Driveway.width>=4.0 m

                   ELSE IF getObjectProperty(ParkingUnit.parkingType)="45AngleParking"

                       THEN ParkingLot.Driveway.width>=3.5 m 

                       ELSE IF getObjectProperty(ParkingUnit.parkingType)="CrossParking"

                THEN ParkingLot.Driveway.width>=3.5 m

       END IF



    ELSE THEN

    ParkingLot.Driveway.width>=2.5 m

    END IF 

} 




Python Code 변환 예정



Modify
9
61612 주차장법 시행규칙 제 6조 1 항 3호 가 목

가. 주차부분의 장ㆍ단변중 1변이상이 차로에 접하여야 한다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호 가목

Check(ERPA_6_1_3_가){

      KS

}





KS{

   isAdjacent(ParkingLotAreaMark.Edge, ParkingLot.Driveway)=True

} 




Python Code 변환 예정



Modify
10
71942 주차장법 시행규칙 제 16조의2조 1 항 1호 나 목

나. 대형 기계식주차장(길이 5.75미터 이하, 너비 2.15미터 이하, 높이 1.85미터 이하, 무게 2,200킬로그램 이하인 자동차를 주차할 수 있는 기계식주차장을 말한다. 이하 같다): 너비 10미터 이상, 길이 11미터 이상의 전면공지 또는 지름 4.5미터 이상의 방향전환장치와 그 방향전환장치에 접한 너비 1미터 이상의 여유 공지





//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 1호 나목



Check(ERPA_16-2_0_1_나){

   IF CS THEN KS      

}





CS{
ParkingLot myParkingLot{
	ParkingLot.operationType = "MechanicalParking"
}
   getObjectProperty(myParkingLot.scale)="LargeSize"

}



KS{

   Space mySpace{

     getSpaceUsage()="FrontageSpace"

     Space.width>=10 m

     Space.length>11 m

   }

  

    isExist(mySpace)=True

    OR isExist(DirectionSwitchingEquipment)=True

       getObjectDiameter(DirectionSwitchingEquipment)>=4.5 m

       isExist(Space)=True

       isAdjacent(DirectionSwitchingEquipment, Space)=True

       Space.width>=1 m

} 




Python Code 변환 예정



Modify
11
71944 주차장법 시행규칙 제 16조의2조 1 항 3호

3. 기계식주차장에는 도로에서 기계식주차장치 출입구까지의 차로(이하 "진입로"라 한다) 또는 전면공지와 접하는 장소에 자동차가 대기할 수 있는 장소(이하 "정류장"이라 한다)를 설치하여야 한다. 이 경우 주차대수 20대를 초과하는 20대마다 한 대분의 정류장을 확보하여야 하며, 정류장의 규모는 다음 각 목과 같다. 다만, 주차장의 출구와 입구가 따로 설치되어 있거나 진입로의 너비가 6미터 이상인 경우에는 종단경사도가 6퍼센트 이하인 진입로의 길이 6미터





//주차장법 시행규칙 16조의2 (기계식주차장의 설치기준) 3호

Check(ERPA_16-2_0_3){
       IF CS THEN KS 
}

CS{
   getSpaceUsage()="MechanicalParking"
}


KS{
   Space mySpace{
       isAdjacent(FrontageSpace,Space)=True
   }
   
   isExist(ApproachRoad)=True
   isExist(mySpace)=True
   IF(// 주차장의 출구와 입구가 따로 설치되어 있거나
   OR "진입로".width>6 m) THEN
   //종단경사도가 6퍼센트 이하인 진입로의 길이 6미터마다 
한 대분의 정류장을 확보한 것으로 본다.
   ELSE THEN

   //주차대수 20대를 초과하는 20대마다 한 대분의 정류장을 확보하여야 하며
   getResult(ERPA_16-2_0_3_가)=True
   getResult(ERPA_16-2_0_3_나)=True

  END IF

} 




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.