(2025-04-10 기준) 설계품질검토용 건축법 및 관련법규 - KBIMCode (문장단위)
      KBIMCode - KBimAssess Python Code     KBIMCode - 체크리스트 단위     KBIMCode - 조항단위
    1      
1 / 1 page Total 2500 / 4000 records
Select
ALL
None
#
Law
Jo
JO Name
HANG
HO
MOK
Text
Search!
1
건축물의 에너지절약설계기준 제 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 변환 예정



2
건축물의 에너지절약설계기준 제 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 변환 예정



3
건축법 시행령 제 46조 2 항 6호

6. 주요구조부가 내화구조 또는 불연재료로 된 주차장





//건축법 시행령 46조 (방화구획의 설치) 2항 6호

check(EDBA_46_2_6){

KS

}



KS{

  isObjectProperty(MainStructuralPart.isFireResistantStructure)=TRUE

  AND isObjectProperty(MainStructuralPart.Material.nonCombustibility)=TRUE

  AND getSpaceUsage()=ParkingLot



Python Code 변환 예정



4
장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 시행규칙 제 별표1조

1. 장애인등의 통행이 가능한 접근로 가. 유효폭 및 활동공간 (1) 휠체어사용자가 통행할 수 있도록 접근로의 유효폭은 1.2미터 이상으로 하여야 한다. (2) 휠체어사용자가 다른 휠체어 또는 유모차 등과 교행할 수 있도록 50미터마다 1.5미터×1.5미터 이상의 교행구역을 설치할 수 있다. (3) 경사진 접근로가 연속될 경우에는 휠체어사용자가 휴식할 수 있도록 30미터마다 1.5미터×1.5미터 이상의 수평면으로 된 참을 설치할





//장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행규칙 별표1 편의시설의 구조·재질등에 관한 세부기준(제2조제1항관련)

Check(ERCDAPA_2_1_*_1_4_나_1){
	IF (CS1 THEN KS1) OR (CS2 THEN KS2)

	ParkingUnit myParkingUnit{
		isObjectProperty(ParkingUnit.isParallelParking) = TRUE
	}

	CS1{
		isObjectProperty(ParkingUnit.isParallelParking) = TRUE
	}

	KS1{
		getObjectWidth(ParkingLotArea.isHandicapParking, a) >= 3.3 m
		getElementLength(ParkingLotArea.isHandicapParking) >= 5 m
	}

	CS2{
		isObjectProperty(ParkingLotArea.isParallelParking) = FALSE
	}

	KS2{
		getObjectWidth(ParkingLotArea.isHandicapParking, a) >= 2 m
		getElementLength(ParkingLotArea.isHandicapParking) >= 6 m
	}
}


check(ERCDAPA_2_1_*_1_4_나_2){
	getObjectGradient(ParkingSpace.Floor) <= 1/50
}


check(ERCDAPA_2_1_*_1_6_가_1){
	
	Door myDoor1{
		isObjectProperty(Door.isEntrance) = TRUE
	}

	Door myDoor2{
		isObjectProperty(Door.isEntrance) = TRUE
		getObject(Door.isEntrance) != getObject(myDoor1)
	}

	getObjectWidth(Door.isEntrance) >= 0.8 m
	isEgressDirection(myDoor1) = isEgressDirection(myDoor2)
	getObjectDistance(myDoor1, myDoor2) >= 1.2 m
}


check(ERCDAPA_2_1_*_1_6_가_2){
	
	isObjectProperty(Door.isAutomatic) = FALSE
	isObjectProperty(Door.isSillFree) = TRUE
}

check(ERCDAPA_2_1_*_1_8_가_2){
	
	getObjectVerticalDistance(FloorSurface,Door.Bottom)
}

check(ERCDAPA_2_1_*_1_8_나){
	
	Stair myStair{
		isObjectProperty(Stair.isEscape) = TRUE
		isObjectProperty(Stair.isOutdoor) = TRUE
	}

	getObjectWidth(myStair) >= 0.9 m 
	getObjectWidth(myStair.StairLanding) >= 0.9 m

	Stair myStair2{
		isObjectProperty(Stair.isEscape) = FALSE
		isObjectProperty(Stair.isOutdoor) = FALSE
	}

	getObjectWidth(myStair2) >= 1.2 m 
	getObjectWidth(myStair2.StairLanding) >= 1.2 m
}


check(ERCDAPA_2_1_*_1_8_다_1){
	
	hasObject(Stair, VerticalSurfaceStair) = TRUE
}

check(ERCDAPA_2_1_*_1_8_다_2){
	
	getObjectWidth(Stair.threadWidth) >= 0.28 m
	getObjectHeight(Stair.riserHeight) <= 0.18m
}

check(ERCDAPA_2_1_*_1_8_다_3){
	
	getObjectGradient(Stair.riserGradient) >= 60
	getObjectLength(Stair.nosingLength) < 3 cm
} 




Python Code 변환 예정



5
장애인ㆍ노인ㆍ임산부 등의 편의증진 보장에 관한 법률 시행령 제 별표2조

1. 삭제 <2006.1.19> 2. 공원<표-EDCDAPA_*_2_T1> (편의시설의 종류 :설치기준) 가. 장애인 등의 출입이 가능한 출입구 :공원 외부에서 내부로 이르는 출입구는 주출입구를 포함하여 적어도 하나 이상을 장애인등의 출입이 가능하도록 유효폭·형태 및 부착물 등을 고려하여 설치하여야 한다. 나. 장애인등의 통행이 가능한 보도 :공원시설(공중이 직접 이용하는 시설에 한한다)에 접근할 수 있는 공원안의 보도중 적어도 하나는 장애인등이 통행할





// 장애인ㆍ노인ㆍ임산부 등의 편의증진보장에 관한 법률 시행령 별표2 대상시설별 편의시설의 종류 및 설치기준(제4조관련)



Check(EDCDAPA_*_2_3_가_2_가){

IF CS1 AND CS2 THEN KS

}



ParkingLot myParkingLot{

isObjectProperty(ParkingLot.isAttachedParking) = TRUE

}

CS1 {

isExist(myParkingLot) = TRUE

}

CS2 {

getObjectProperty(myParkingLot.numberOfParkingUnit) >= 10

}

KS1 {

Area myArea{

isObjectProperty(ParkingLotArea.isHandicapParking)=TRUE

}

hasSpace(myParkingLot, myArea) = TRUE

getResult(EDPA_*_1) = TRUE

}



Check(EDCDAPA_*_2_3_가_4_가){

KS1 IF CS1 THEN KS2

}



Door myDoor1{

	isObjectProperty(Door.isEntrance)=TRUE

	isObjectProperty(myDoor1.isHandicapAccessible)=TRUE

}

Door myDoor2{

Door.Space.usage = “Office”

isObjectProperty(myDoo2.isHandicapAccessible)=TRUE

}

KS1 {

isExist(myDoor1) = TRUE

isExist(myDoor2) = TRUE

}

CS1{

Building.usage = “BusinessFacility.GovernmentOfficeBuilding”

Building.usage != “ClassINeighborhoodLivingFacility”

}

KS2 {

isObjectProperty(myDoor1.isAutomatic)=TRUE

isObjectProperty(myDoo2.isAutomatic)=TRUE

}







ParkingLot myParkingLot{

isObjectProperty(ParkingLotArea.isHandicapParking)=TRUE

}





Building myBuilding1_1{

	Building.usage = “ClassINeighborhoodLivingFacility.RetailStore”

	Building.usage = “ClassINeighborhoodLivingFacility.Barbershop”

	Building.usage = “ClassINeighborhoodLivingFacility.BeautyShop”

	Building.usage = “ClassINeighborhoodLivingFacility.Bathhouse”

}

Building myBuilding1_2{

	Building.usage = “ClassINeighborhoodLivingFacility.CommunityCenter”

	Building.usage = “ClassINeighborhoodLivingFacility.PoliceBox”

	Building.usage = “ClassINeighborhoodLivingFacility.PoliceSubstation”

	Building.usage = “ClassINeighborhoodLivingFacility.PostOffice”

Building.usage = “ClassINeighborhoodLivingFacility.HealthCenter”

	Building.usage = “ClassINeighborhoodLivingFacility.PublicLibrary”

	Building.usage = “ClassINeighborhoodLivingFacility.NationalHealthInsuranceService_NationalPensionService_Korea EmploymentAgencyForTheDisabled_KoreaWorkersCompensationAndWelfareServiceOffice”

}

Building myBuilding1_3{

	Building.usage = “ClassINeighborhoodLivingFacility.Clinic_ DentalClinic_OrientalMedicalClinic_MaternityClinic”

}

Building myBuilding1_4{

	Building.usage = “ClassINeighborhoodLivingFacility.CommunityChildCenter”

	Building.facilityArea >= 300 m2

}

Building myBuilding1_5{

	Building.usage = “ClassINeighborhoodLivingFacility.Shelter”

}

Building myBuilding1_6{

	Building.usage = “ClassINeighborhoodLivingFacility.PublicToilet”

}

Building myBuilding2_1{

	Building.usage = “ClassIINeighborhoodLivingFacility.Restaurant”

	Building.usage = “ClassIINeighborhoodLivingFacility.RestingRestaurant”

	Building.usage = “ClassIINeighborhoodLivingFacility.Bakery”

	Building.usage != “ClassINeighborhoodLivingFacility”

Building.facilityArea >= 300 m2

}

Building myBuilding2_2{

	Building.usage = “ClassIINeighborhoodLivingFacility.MassageParlor”

}

Building myBuilding3_1{

	Building.usage = “CulturalAndAssemblyFacility.PerformanceHall”

Building.usage = “CulturalAndAssemblyFacility.Auditorium”

}

Building myBuilding3_2{

	Building.usage = “CulturalAndAssemblyFacility.AssemblyHall”

}

Building myBuilding3_3{

	Building.usage = “CulturalAndAssemblyFacility.ExhibitionHall”

Building.usage = “CulturalAndAssemblyFacility.ZoologicalAndBotanicalGarden”

}

Building myBuilding4_1{

	Building.usage = “ReligiousFacility.ReligiousAssemblyFacility”

	Building.facilityArea >= 500 m2

}

Building myBuilding5_1{

	Building.usage = “CommercialFacility.WholesaleMarket”

	Building.usage = “CommercialFacility.RetailMarket”

	Building.usage = “CommercialFacility.Shop”

	Building.facilityArea >= 1000 m2

}

Building myBuilding6_1{

	Building.usage = “MedicalFacility.Hospital”

	Building.usage = “MedicalFacility.DetentionHospital”

}

Building myBuilding7_1{

	Building.usage = “EducationAndResearchFacility.School”

	Building.usage = “EducationAndResearchFacility.SpecialSchool”

	Building.usage != “EducationAndResearchFacility.Kindergarten”

}

Building myBuilding7_2{

	Building.usage = “EducationAndResearchFacility.Kindergarten”

}

Building myBuilding7_3{

	Building.usage = “EducationAndResearchFacility.TrainingInstitute”

	Building.usage = “EducationAndResearchFacility.VocationalTrainingCenter”

	Building.usage != “EducationAndResearchFacility.EducationalInstitute”

Building.facilityArea >= 500 m2

}

Building myBuilding8_1{

	Building.usage = “FacilitiesForTheAgedAndChildren.ChildrenRelatedFacility”

Building.usage = “FacilitiesForTheAgedAndChildren.WelfareFacilityForTheAged”

Building.usage = “FacilitiesForTheAgedAndChildren.SocialWelfareFacility”

Building.usage = “경로당”

Building.usage = “ResidentialFacilityForTheDisabled”

Building.facilityArea >= 500 m2

}

Building myBuilding9_1{

	Building.usage = “Trainingfacility.TrainingFacilityInLivingZone”

	Building.usage = “Trainingfacility.TrainingFacilityInNatureZone”

}

Building myBuilding10_1{

	Building.usage = “SportsFacility”

Building.facilityArea >= 500 m2

}

Building myBuilding11_1{

	Building.usage = “BusinessFacility.GovernmentOfficeBuilding”

Building.facilityArea >= 500 m2

}

Building myBuilding11_2{

	Building.usage = “BusinessFacility.FinanceBusiness”

	Building.usage = “BusinessFacility.Office”

	Building.usage = “BusinessFacility.NewspaperOffice”

	Building.usage = “BusinessFacility.Officetel”

Building.facilityArea >= 500 m2

}

Building myBuilding12_1{

	Building.usage = “LodgingFacility.GeneralLodgingFacility”

}

Building myBuilding12_2{

	Building.usage = “LodgingFacility.TouristAccommodation”

}

Building myBuilding13_1{

	Building.usage = “Factory”

}

Building myBuilding14_1{

	Building.usage = “FacilityForMotorVehicle.ParkingLot”

Building.usage = “FacilityForMotorVehicle.DrivingSchool”

}

Building myBuilding15_1{

	Building.usage = “FacilityForBroadcastingAndTelecommunication.BroadcastingStation”

Building.facilityArea >= 1000 m2

}

Building myBuilding15_2{

	Building.usage = “FacilityForBroadcastingAndTelecommunication.TelegraphAndTelephoneStation”

Building.facilityArea >= 1000 m2

}

Building myBuilding16_1{

	Building.usage = “CorrectionalFacilityAndMilitaryInstallation.Prison”

Building.usage = “CorrectionalFacilityAndMilitaryInstallation.DetentionCenter”

}

Building myBuilding17_1{

	Building.usage = “CemeteryAndRelatedFacility.CremationFacility”

	Building.usage = “CemeteryAndRelatedFacility.CharnelHouse”

	Building.usage != “ReligiousFacility”

}

Building myBuilding18_1{

	Building.usage = “FacilityForTourismAndRelaxation.BandStand”

	Building.usage = “FacilityForTourismAndRelaxation.OutdoorTheater”

	Building.usage = “FacilityForTourismAndRelaxation.ChildrenCenter”

}

Building myBuilding18_2{

	Building.usage = “FacilityForTourismAndRelaxation.RestArea”

}

Building myBuilding19_1{

	Building.usage = “FuneralParlor”

}







Check(EDCDAPA_*_2_3_나){

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

}



CS1{

Building myBuilding20_1 {

getObject(myBuilding1_1 | myBuilding12_2)

}

KS1{

hasSpace(myBuilding20_1, myParkingLot) = TRUE 

OR hasSpace(myBuilding20_1, myParkingLot) = FALSE

}

CS2{

 Building myBuilding20_2 {

getObject(myBuilding1_2 | myBuilding1_3 | myBuilding1_4 | myBuilding2_1 | myBuilding2_2 | myBuilding3_1 | myBuilding3_2 | myBuilding3_3 | myBuilding4_1 | myBuilding5_1 | Building myBuilding6_1 | Building myBuilding7_1 | myBuilding7_2 | myBuilding7_3 | myBuilding8_1 | myBuilding9_1 | myBuilding10_1 | myBuilding11_1 | myBuilding11_2 | myBuilding12_1 | myBuilding13_1 | myBuilding14_1 | myBuilding15_1 | myBuilding15_2 | myBuilding16_1 | myBuilding17_1 | myBuilding18_1 | myBuilding18_2 | myBuilding19_1) 

}

KS2{

hasSpace(Building20_2, myParkingLot) = TRUE

}



Check(EDCDAPA_*_2_3_나){

IF CS THEN KS



CS{

Building myBuilding20_3{

getObject(myBuilding1_1 | myBuilding1_2 | myBuilding1_3 | myBuilding1_4 | myBuilding1_5 | myBuilding1_6 | myBuilding2_1 | myBuilding2_2 | myBuilding3_1 | myBuilding3_2 | myBuilding3_3 | myBuilding4_1 | myBuilding5_1 | Building myBuilding6_1 | Building myBuilding7_1 | myBuilding7_2 | myBuilding7_3 | myBuilding8_1 | myBuilding9_1 | myBuilding10_1 | myBuilding11_1 | myBuilding11_2 | myBuilding12_1 | myBuilding13_1 | myBuilding14_1 | myBuilding15_1 | myBuilding15_2 | myBuilding16_1 | myBuilding17_1 | myBuilding18_1 | myBuilding18_2 | myBuilding19_1) 

}

KS{

isObjectProperty(myBuilding20_3.Door.isSillFree) = TRUE

} 




Python Code 변환 예정



6
주차장법 제 12조의2조

제12조의2 (다른 법률과의 관계) 노외주차장인 주차전용건축물의 건폐율, 용적률, 대지면적의 최소한도 및 높이 제한 등 건축제한에 대하여는 「국토의 계획 및 이용에 관한 법률」 제76조부터 제78조까지, 「건축법」 제57조 및 제60조에도 불구하고 다음 각 호의 기준에 따른다.





// 주차장법 12조의2 (다른 법률과의 관계)

Check(PLA_12-2){
     IF CS THEN KS
}

CS{
  isObjectProperty(Building.isExclusiveUseOfParkingLot)=True
}

KS{
     getResult(PLA_12-2_0_1)=True
      getResult(PLA_12-2_0_2)=True
      getResult(PLA_12-2_0_3)=True
} 




Python Code 변환 예정



7
주차장법 제 19조 1 항

①국토의계획및이용에관한법률의 규정에 의한 도시지역·제2종지구단위계획구역 및 지방자치단체의 조례가 정하는 관리지역안에서 건축물·골프연습장 기타 주차수요를 유발하는 시설(이하 "施設物"이라 한다)을 건축 또는 설치하고자 하는 자는 당해 시설물의 내부 또는 그 부지안에 부설주차장(貨物의 荷役 기타 사업수행을 위한 駐車場을 포함한다. 이하 같다)을 설치하여야 한다. <개정 1995.12.29, 2002.2.4>





//주차장법 19조 (부설주차장의 설치) 1항



Check(PLA_19_1){

   IF CS THEN KS 

}



CS{

   getSiteUsage()="UrbanArea"

   OR getSiteUsage()="DistrictUnitPlanningZone"

   OR getSiteUsage()="ControlArea"

}



KS{

   ParkingLot myParkingLot{

     isObjectProperty(ParkingLot.isAttachedParking)=True

   }

   isInstalled(myParkingLot, Facility)=True

   isInstalled(myParkingLot, Site)=True

} 




Python Code 변환 예정



8
주차장법 시행규칙 제 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 변환 예정



9
주차장법 시행규칙 제 16조의2조 1 항 3호 가 목

가. 중형 기계식주차장: 길이 5.05미터 이상, 너비 1.9미터 이상





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



Check(ERPA_16-2_0_3_가){

   IF CS THEN KS

}



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


}



KS{

    myParking.length>=5.05 m

    myParking.width>1.85 m

} 




Python Code 변환 예정



10
주차장법 시행규칙 제 4조 1 항 8호 가 목

가. 주차대수 규모가 20대 이상 50대 미만인 경우: 한 면 이상





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



Check(ERPA_4_1_8_가){

    IF CS THEN KS

}



CS{

  getObjectCount(ParkingLot.ParkingUnit)>=20

  getObjectCount(ParkingLot.numberOfParkingUnit)<50

}





KS{



Area myArea{

   isObjectProperty(ParkingLotArea.isHandicapParking)=True

}

    getObjectCount(myArea)>=1

} 




Python Code 변환 예정



11
주차장법 시행규칙 제 4조 1 항 8호 나 목

나. 주차대수 규모가 50대 이상인 경우: 주차대수의 2퍼센트부터 4퍼센트까지의 범위에서 장애인의 주차수요를 고려하여 해당 지방자치단체의 조례로 정하는 비율 이상





//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항 8호 나목



Check(ERPA_4_1_8_나){

    IF CS THEN KS

}



CS{

  getObjectCount(ParkingLot.ParkingUnit)>=50



}





KS{



    Area myArea{

        isObjectProperty(ParkingLotArea.isHandicapParking)=True

    }

    PLC=getObjectProperty(ParkingLot.numberOfParkingUnit)



    getObjectCount(myArea)>=PLC*2%

    getObjectCount(myArea)<=PLC*4%

    getResult(Unimplemented_LGMO)=True

} 




Python Code 변환 예정



12
주차장법 시행규칙 제 5조 7호

7. 주차대수 400대를 초과하는 규모의 노외주차장의 경우에는 노외주차장의 출구와 입구를 각각 따로 설치하여야 한다. 다만, 출입구의 너비의 합이 5.5미터 이상으로서 출구와 입구가 차선 등으로 분리되는 경우에는 함께 설치할 수 있다.





//주차장법 시행규칙 5조 (노외주차장의 설치에 대한 계획기준) 7항

Check(ERPA_5_7){

      IF (!CS1 AND CS2) THEN KS

}



CS2{

	ParkingLot myParkingLot{

	isObjectProperty(ParkingLot.isOffStreetParking)=TRUE

	}

	getObjectProperty(ParkingLot.numberOfParkingUnit) > 400

}

	Opening myOpening1{

	isObjectProperty(myParkingLot.Oepning.isEntrance)=TRUE

	}

	Opening myOpening2{

	isObjectProperty(myParkingLot.Oepning.isExit)=TRUE

	}

	myOpening1 != myOpening2



CS1{



	getObjectProperty(myOpening1.width) = W1

	getObjectProperty(myOpening2.width) = W2

	W1 + W2 >= 5.5m

}



KS2{

	isExist(myOpening1) = TRUE

	isExist(myOpening2) = TRUE	

} 




Python Code 변환 예정



13
주차장법 시행규칙 제 5조 8호

8. 특별시장·광역시장, 시장·군수 또는 구청장이 설치하는 노외주차장의 주차대수 규모가 50대 이상인 경우에는 주차대수의 2퍼센트부터 4퍼센트까지의 범위에서 장애인의 주차수요를 고려하여 지방자치단체의 조례로 정하는 비율 이상의 장애인 전용주차구획을 설치하여야 한다.





//주차장법 시행규칙 5조 (노상주차장의 구조·설비기준) 8호 

Check(ERPA_5_0_8){
    IF CS THEN KS
}

CS{
  
  ParkingLot myParkingLot{
    isObjectProperty(ParkingLot.isOffStreetParking)=True
  }

  getObjectCount(myParkingLot.ParkingUnit)>=50

}


KS{

    Area myArea{
        isObjectProperty(myParkingLotArea.isHandicapParking)=True
    }

    PLC=getObjectCount(myParkingLot.ParkingUnit)

    getObjectCount(myArea)>=PLC*2%
    getObjectCount(myArea)<=PLC*4%
    getResult(Unimplemented_LGMO)=True
}

 




Python Code 변환 예정



14
주차장법 시행규칙 제 4조 1 항 8호

8. 주차대수 규모가 20대 이상인 경우에는 장애인 전용주차구획을 한 면 이상 설치하여야 한다.





//주차장법 시행규칙 4조 (노상주차장의 구조·설비기준) 1항8호

Check(ERPA_4_1_8){
     IF CS THEN KS
}

CS{
   isObjectProperty(ParkingLot.isOffStreetParking)=True
}


Area myArea{
   isObjectProperty(ParkingLotArea.isHandicapParking)=True
}

KS{
   isExist(myArea)=True
   getResult(ERPA_4_1_8_가)=True
}
 




Python Code 변환 예정



15
주차장법 시행규칙 제 11조 2 항 1호

1. 주차대수 30대를 초과하는 지하식 또는 건축물식 형태의 자주식주차장으로서 판매시설, 숙박시설, 운동시설, 위락시설, 문화 및 집회시설, 종교시설 또는 업무시설(이하 이 항에서 "판매시설등"이라 한다)의 용도로 이용되는 건축물의 부설주차장





//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 2항 1조
Check(ERPA_11_2_1){
	KS
}

KS{
	Building myBuilding{
		getBuildingUsage() = "CommercialFacility" OR "LodgingFacility", "AmusementFacility", "CulturalAndAssemblyFacility", "ReligiousFacility","BusinessFacility"
	}
		isObjectProperty(myBuilding.ParkingLot.isAttachedParking) = TRUE
		getObjectProperty(ParkingLot.numberOfParkingUnit) > 30
		getObjectProperty(ParkingLot.operationType) = "DriveInParking" OR "MechanicalParking"

} 




Python Code 변환 예정



16
주차장법 시행규칙 제 16조의5조 1 항 2호

2. 기계식주차장치 출입구의 크기는 중형 기계식주차장의 경우에는 너비 2.3미터 이상, 높이 1.6미터 이상으로 하여야 하고, 대형 기계식주차장의 경우에는 너비 2.4미터 이상, 높이 1.9미터 이상으로 하여야 한다. 다만, 사람이 통행하는 기계식주차장치 출입구의 높이는 1.8미터 이상으로 한다.





Check(ERPA_16 – 5_1_2) { IF (CS1 then KS1) OR (CS2 then KS2) }
CS1 {
 ParkingLot myParkingLot {
  myParkingLot.operationType = "MechanicalParking" }
 getObjectProperty(myParkingLot.scale) = "MiddleSize"
 MechanicalParkingEquipment myMechanicalParkingEquipment {
  isExist(myMechanicalParkingEquipment, myParkingLot) = true }
 }
KS1{
 Opening myOpening1 {
  isExist(myOpening1, myMechanicalParkingEquipment) = true
  WD1 = getObjectWidth(myOpening1, a) >= 2.3m
  H1 = getObjectHeight(myOpening1, a) >= 1.6m }
 }
CS2 {
 ParkingLot myParkingLot {
  myParkingLot.operationType = "MechanicalParking" }
 getObjectProperty(myParkingLot.scale) = "LargeSize"
 MechanicalParkingEquipment myMechanicalParkingEquipment {
   isExist(myMechanicalParkingEquipment, myParkingLot) = true }
 }
KS2 {
 Opening myOpening2 {
  isExist(myOpening2, myMechanicalParkingEquipment) = true
  WD2 = getObjectWidth(myOpening2, a) >= 2.4m
  H2 = getObjectHeight(myOpening2, a) >= 1.9m }  } 




Python Code 변환 예정



17
주차장법 시행규칙 제 11조 4 항

④ 주차대수 50대 이상의 부설주차장에 설치되는 확장형 주차단위구역에 관하여는 제6조제1항제14호를 준용한다. <신설 2012.7.2>





//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 4항
Check(ERPA_11_4){
	IF CS THEN KS
}

CS{
	ParkingLot myParkingLot{
		isObjectProperty(ParkingLot.isAttachedParking) = TRUE
		getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50
	}

	ParkingUnit myParkingUnit{
		getObjectProperty(ParkingUnit) = "ExtensionType"
	}

	hasSpace(myParkingLot, myParkingUnit) = TRUE
}

KS{
	getResult(ERPA_6_1_14) = TRUE
} 




Python Code 변환 예정



18
주차장법 시행규칙 제 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 변환 예정



19
주차장법 시행규칙 제 6조 1 항 14호

14. 노외주차장에는 제3조제1항제2호에 따른 확장형 주차단위구획을 주차단위구획 총수(평행주차형식의 주차단위구획 수는 제외한다)의 30퍼센트 이상 설치하여야 한다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 14호
Check(ERPA_6_1_14){
	KS
}

KS{
	
	ParkingLot myParkingLot{
		isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
	}

	ParkingUnit myParkingUnit{
		getResult(ERPA_3_1_2) = TRUE
		getObjectProperty(ParkingUnit.parkingUseType) = "ExtensionType"
	}

	ParkingUnit myParkingUnit2{
		getResult(ERPA_3_1_2) = TRUE
		getObjectProperty(ParkingUnit.parkingType) = "ParallelParking"
	}

	hasSpace(myParkingLot, myParkingUnit) = TRUE	
	(getObjectProperty(ParkingUnit.numberOf)*0.3 - getObjectNumber(myParkingUnit2)) <= getObjectNumber(myParkingUnit)
} 




Python Code 변환 예정



20
주차장법 시행규칙 제 6조 4 항 2의2호

2의2. 「석유 및 석유대체연료 사업법 시행령」 제2조제3호에 따른 주유소(특별시장·광역시장, 시장·군수 또는 구청장이 설치한 노외주차장만 해당한다)





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

Check(ERPA_6_4_3){

	KS

}



KS{

	getSpaceUsage(ParkingLotSubsidiaryFacility) = "GasStation"

} 




Python Code 변환 예정



21
주차장법 시행규칙 제 11조 5 항

⑤ 부설주차장의 총주차대수 규모가 8대 이하인 자주식주차장(지평식 및 건축물식 중 필로티 구조만 해당한다)의 구조 및 설비기준은 제1항 본문에도 불구하고 다음 각 호에 따른다. <개정 2012.7.2, 2013.1.25>





//주차장법 시행규칙 11조 (부설주차장의 구조·설비기준) 5항
Check(ERPA_11_5){
	IF CS THEN KS
}

CS{
	ParkingLot myParkingLot{
		isObjectProperty(ParkingLot.isAttachedParking) = TRUE
		isObjectProperty(ParkingLot.operationType) = "DriveInParking"
	}

	getObjectProperty(myParkingLot.numberOfParkingUnit) >= 8
}

KS{
	getResult(ERPA_11_5_1) = TRUE
	getResult(ERPA_11_5_2) = TRUE
	getResult(ERPA_11_5_3) = TRUE
} 




Python Code 변환 예정



22
주차장법 시행규칙 제 6조 1 항 3호

3. 노외주차장에는 자동차의 안전하고 원활한 통행을 확보하기 위하여 다음 각 목에서 정하는 바에 의하여 차로를 설치하여야 한다.





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



Check(ERPA_6_1_3){

    IF CS THEN KS

}



CS{

  isObjectProperty(ParkingLot.isOffStreetParking)=True

}



KS{

  isExist(ParkingLot.Driveway)=True

  getResult(ERPA_6_1_3_가)=True

  getResult(ERPA_6_1_3_나)=True

} 




Python Code 변환 예정



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

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





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

Check(ERPA_6_1_3_가){

      KS

}





KS{

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

} 




Python Code 변환 예정



24
주차장법 시행규칙 제 6조 1 항 4호

4. 노외주차장의 출입구의 너비는 3.5미터 이상으로 하여야 하며, 주차대수규모가 50대 이상인 경우에는 출구와 입구를 분리하거나 너비 5.5미터 이상의 출입구를 설치하여 소통이 원활하도록 하여야 한다.





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

Check(ERPA_6_1_4){

      KS1 AND IF CS THEN KS2

}



KS1{

	ParkingLot myParkingLot{

	isObjectProperty(ParkingLot.isOffStreetParking)=TRUE

	}

	getObjectProperty(myParkingLot.Opening.width) >= 3.5m

}



CS{

	getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50

}



KS2{

	Opening myOpening1{

	isObjectProperty(Opening.isExit)=TRUE

	}

	Opening myOpening2{

	isObjectProperty(Opening.isEntrance)=TRUE

	}

	myOpening1 != myOpening2

	isExist(myOpening1)=TRUE

	isExist(myOpening2)=TRUE

	OR getObjectProperty(Opening.width) >= 5.5m

} 




Python Code 변환 예정



25
주차장법 시행규칙 제 6조 1 항 5호 가 목

가. 높이는 주차바닥면으로부터 2.3미터 이상으로 하여야 한다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호 가목
Check(ERPA_6_1_5_가){
      KS
}

KS{
	getObjectHeight(ParkingLot.Driveway) >= 2.3m
} 




Python Code 변환 예정



26
주차장법 시행규칙 제 6조 1 항 5호 다 목

다. 경사로의 차로너비는 직선형인 경우에는 3.3미터 이상(2차선의 경우에는 6미터 이상)으로 하고, 곡선형인 경우에는 3.6미터이상(2차선의 경우에는 6.5미터 이상)으로 하며, 경사로의 양측벽면으로부터 30센티미터 이상의 지점에 높이 10센티미터 이상 15센티미터 미만의 연석을 설치하여야 한다. 이 경우 연석 부분은 차로의 너비에 포함되는 것으로 본다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호 다목
Check(ERPA_6_1_5_다){
       KS AND IF (CS1 THEN KS1 ELSE KS2) OR (CS2 THEN KS3 ELSE KS4)
}

KS{
	Wall myWall{
		hasObject(Ramp,Wall)=TRUE 
	}
	hasObject(Ramp, ParkingLot.Driveway)=TRUE 
	getElementDistance(myWall.Surface, 	Curb, a) >= 30cm
	10cm =< getObjectProperty(Curb.height) < 15cm
}

CS1{
	getObjectProperty(ParkingLot.Driveway.shapeType) = "LinearType"
	getObjectProperty(ParkingLot.Driveway.numberOfLane) >= 2

}
KS1{
	getOjbectProperty(ParkingLot.Driveway.width) >= 6m
}
KS2{
	getOjbectProperty(ParkingLot.Driveway.width) >= 3.3m
}

CS2{
	getObjectProperty(ParkingLot.Driveway.shapeType) = "CurvedType"
	getObjectProperty(ParkingLot.Driveway.numberOfLane) >= 2

}
KS1{
	getOjbectProperty(ParkingLot.Driveway.width) >= 6.5m
}
KS2{
	getOjbectProperty(ParkingLot.Driveway.width) >= 3.6m
} 




Python Code 변환 예정



27
주차장법 시행규칙 제 6조 1 항 5호 라 목

라. 경사로의 종단경사도는 직선부분에서는 17퍼센트를 곡선부분에서는 14퍼센트를 초과하여서는 아니 된다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 5호 라목
Check(ERPA_6_1_5_라){
       IF (CS1 THEN KS1) OR (CS2 THEN KS2)
}

CS1{
	getObjectProperty(ParkingLot.Driveway.shapeType) = "LinearType"
}
KS1{
	getObjectProperty(ParkingLot.Driveway.gradient) < 17%
}
CS2{
	getObjectProperty(ParkingLot.Driveway.shapeType) = "CurvedType"
}
KS2{
	getObjectProperty(ParkingLot.Driveway.gradient) < 14%
} 




Python Code 변환 예정



28
주차장법 시행규칙 제 6조 1 항 5호 바 목

바. 주차대수규모가 50대 이상인 경우의 경사로는 너비 6미터 이상인 2차선의 차로를 확보하거나 진입차로와 진출차로를 분리하여야 한다.





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

Check(ERPA_6_1_5_바){

       IF CS THEN (KS1 OR KS2)

}



CS{

	getObjectProperty(ParkingLot.numberOfParkingUnit) >= 50

	hasObject(Ramp, ParkingLot.Driveway.)=TRUE 

}

KS1{

	getObjectProperty(ParkingLot.Driveway.width) >= 6m

	getObjectProperty(ParkingLot.Driveway.numberOfLane) >= 2

}

KS2{

	Opening myOpening1{

	isObjectProperty(Opening.isExit)=TRUE 

	}

	Opening myOpening2{

	isObjectProperty(Opening.isEntrance)=TRUE 

	}

	myOpening1 != myOpening2

	hasObject(ParkingLot.Driveway., myOpening1)=TRUE 

	hasObject(ParkingLot.Driveway., myOpening2)=TRUE 

} 




Python Code 변환 예정



29
주차장법 시행규칙 제 6조 1 항 6호

6. 노외주차장의 주차에 사용되는 부분의 높이는 주차바닥면으로부터 2.1미터 이상으로 하여야 한다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 6호
Check(ERPA_6_1_6){
       IF (!CS1 AND CS2) THEN (KS1 AND KS2)
}

CS1{
	Elevator myElevator{
	getObjectProperty(Elevator.usage) = "AutomobileElevator"
	}
	Opening myOpening1{
	isObjectProperty(Elevator.Opening.isEntrance)=TRUE
	}
	Opening myOpening2{
	isObjectProperty(Elevator.Opening.isExit)=TRUE
	}
	myOpening1 != myOpening2
	isExist(myOpening1)=TRUE
	isExist(myOpening2)=TRUE
}
CS2{
	getObjectProperty(ParkingLot.operationType) = "DriveInParking"
	isObjectProperty(ParkingLot.isOffStreetParking)=TRUE
}

KS1{
	
}
KS2{
	getResult(ERPA_16-2_1)=TRUE
	getResult(ERPA_16-2_3)=TRUE
}
 




Python Code 변환 예정



30
주차장법 시행규칙 제 6조 1 항 7호

7. 노외주차장의 내부공간의 일산화탄소의 농도는 주차장을 이용하는 차량이 가장 빈번한 시각의 전후 8시간의 평균치가 50피피엠 이하(다중이용시설등의실내공기질관리법 제3조제1항제9호의 규정에 의한 실내주차장은 25피피엠 이하)로 유지되어야 한다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 7호
Check(ERPA_6_1_7){
       KS
}

KS{
	isObjectProperty(ParkingLot.isOffStreetParking)=TRUE
	getObjectHeight(ParkingLotArea.Space) >= 2.1m
} 




Python Code 변환 예정



31
주차장법 시행규칙 제 6조 1 항 10호

10. 주차대수 30대를 초과하는 규모의 자주식 주차장으로서 지하식 또는 건축물식에 의한 노외주차장에는 관리사무소에서 주차장 내부 전체를 볼 수 있는 폐쇄회로 텔레비전 및 녹화장치를 포함하는 방범설비를 설치ㆍ관리하여야 하되, 다음 각 목의 사항을 준수하여야 한다.





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

Check(ERPA_6_1_10){
    KS
}

KS{
	ParkingLot myParkingLot{
		isObjectProperty(ParkingLot.isOffStreetParking) = TRUE
	}
	isInstalled(AlarmSystem, myParkingLot) = TRUE
} 




Python Code 변환 예정



32
주차장법 시행규칙 제 6조 1 항 12호

12. 노외주차장의 주차단위구획은 평평한 장소에 설치하여야 한다. 다만, 경사도가 7퍼센트 이하인 경우로서 시장ㆍ군수 또는 구청장이 안전에 지장이 없다고 인정하는 경우에는 그러하지 아니하다.





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 12호
Check(ERPA_6_1_12){
       IF CS THEN KS
}

CS{
		getObjectProperty(ParkingLot.buildingType)="BuildingType"
		getObjectProperty(ParkingLot.Floor.numberOf) >= 2
}
KS{
	getResult(ERPA_6_1_12_나)=TRUE
} 




Python Code 변환 예정



33
주차장법 시행규칙 제 6조 4 항

④노외주차장에 설치할 수 있는 부대시설은 다음 각 호와 같다. 다만, 그 설치하는 부대시설의 총면적은 주차장 총시설면적의 20퍼센트를 초과하여서는 아니 된다. <개정 1992.9.5, 1996.6.29, 2009.6.30>





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항

Check(ERPA_6_4){

	IF !CS THEN KS

}



CS{

	TFA = getFloorArea(ParkingLot)

	getTotalObjectArea(	ParkingLotSubsidiaryFacility) > TFA*0.2

}



KS{

	ParkingLot myParkingLot{

		isObjectProperty(ParkingLot.isOffStreetParking) = TRUE

	}



	SubsidiaryFacility mySubsidiaryFacility{

		getResult(ERPA_4_1) = TRUE

		OR getResult(ERPA_4_2) = TRUE

		OR getResult(ERPA_4_3) = TRUE

	}



	hasSpace(myParkingLot, mySubsidiaryFacility) = TRUE

} 




Python Code 변환 예정



34
주차장법 시행규칙 제 6조 4 항 1호

1. 관리사무소ㆍ휴게소 및 공중변소





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

Check(ERPA_6_4_1){

	KS

}



KS{

	getSpaceUsage(ParkingLotSubsidiaryFacility) = "ControlOffice"

	OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "RestArea"

	OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "PublicToilet"

} 




Python Code 변환 예정



35
주차장법 시행규칙 제 6조 4 항 2호

2. 간이매점 및 자동차의 장식품판매점





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

Check(ERPA_6_4_2){

	KS

}



KS{

	getSpaceUsage(ParkingLotSubsidiaryFacility) = "SnackBar"

	OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "CarOrnamentationShop"

	OR getSpaceUsage(ParkingLotSubsidiaryFacility) = "ElectricVehicleChargingStation"

} 




Python Code 변환 예정



36
주차장법 시행규칙 제 6조 5 항

⑤법 제20조제2항 또는 제3항의 규정에 의한 노외주차장에 설치할 수 있는 부대시설의 종류 및 주차장 총시설면적중 부대시설이 차지하는 비율에 대하여는 제4항의 규정에 불구하고 특별시ㆍ광역시ㆍ시ㆍ군 또는 구의 조례로 정할 수 있다. 이 경우 부대시설이 차지하는 면적의 비율은 주차장 총 시설면적의 40퍼센트를 초과할 수 없다. <신설 1996.6.29, 2004.7.1>





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 5항

Check(ERPA_6_5){

	IF CS THEN KS

}



CS{

	ParkingLot myParkingLot{

		isObjectProperty(ParkingLot.isOffStreetParking) = TRUE

		getResult(PLA_20_2) = TRUE

		OR getResult(PLA_20_3) = TRUE

	}



	hasSpace(myParkingLot,SubsidiaryFacility) = TRUE

	getTotalFloorArea(myParkingLot.facilityArea)

}



KS{

	getFloorArea(ParkingLotSubsidiaryFacility) <= getTotalObjectArea(ParkingLot)*0.4

} 




Python Code 변환 예정



37
주차장법 시행규칙 제 6조 6 항

⑥시장ㆍ군수 또는 구청장이 노외주차장내에 국토의계획및이용에관한법률 제2조제7호의 도시계획시설을 부대시설로서 중복하여 설치하고자 하는 경우에는 노외주차장외의 용도로 사용하고자 하는 도시계획시설이 차지하는 면적의 비율은 부대시설을 포함하여 주차장 총 시설면적의 40퍼센트를 초과할 수 없다. <신설 2004.7.1>





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

Check(ERPA_6_6){

	IF CS THEN KS

}



ParkingLot myParkingLot{

	isObjectProperty(ParkingLot.isOffStreetParking) = TRUE

}


Building myBuilding{
Building.usage = "UrbanGunPlanningFacility"
getResult(LPUA_2_0_7) = TRUE
hasSpace(myParkingLot, Building) = TRUE
getSpaceUsage(Building) = getSpaceUsage(SubsidiaryFacility)

}

Building myBuilding1{
Building.usage = "UrbanGunPlanningFacility"
}

CS{

	getObjectNumber(myBuilding) >= 2

}



KS{

	(getFloorArea(myBuilding1)- getFloorArea(myBuilding)) <= (getTotalObjectArea(ParkingLot) + getTotalObjectArea(SubsidiaryFacility))*0.4

} 




Python Code 변환 예정



38
주차장법 시행규칙 제 11조 5 항 5호

5. 출입구의 너비는 3미터 이상으로 한다. 다만, 막다른 도로에 접하여 있는 부설주차장으로서 시장·군수 또는 구청장이 차량의 소통에 지장이 없다고 인정하는 경우에는 2.5미터 이상으로 할 수 있다.





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

Check(ERPA_11_5_5){
    KS
}

KS{
	getObjectWidth(ParkingLot.Opening) >= 3m
} 




Python Code 변환 예정



39
주차장법 시행규칙 제 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 변환 예정



40
주차장법 시행규칙 제 16조의2조 1 항 3호 나 목

나. 대형 기계식주차장: 길이 5.3미터 이상, 너비 2.15미터 이상





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



Check(ERPA_16-2_0_3_나){

   IF CS THEN KS 

}



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

}





KS{

   myParking.length>5.3 m

   myParking.width>2.15 m

} 




Python Code 변환 예정



41
주차장법 시행규칙 제 6조 1 항 3호 나 1) 목

1) 이륜자동차전용 노외주차장 (표)





//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 1항 3호 나목
Check(ERPA_6_1_3_나){
     IF CS THEN KS
}

CS{
   getSpaceUsage()="ParkingLot"
   getObjectProperty(ParkingLot.parkingUseType)="TwowheeledVehicle"
}

KS{
   IF 	getObjectProperty(ParkingUnit.parkingType)="ParallelParking"
       IF getObjectCount(Opening)>=2
       THEN  ParkingLot.Driveway.width>=2.25 m
       ELSE IF getObjectCount(Opening)=1
       THEN  ParkingLot.Driveway.width>=3.5 m
       END IF
   ELSE IF getObjectProperty(ParkingUnit.parkingType)="RightAngleParking"
       IF getObjectCount(Opening)>=2
       THEN  ParkingLot.Driveway.width>=4.0 m
       ELSE IF getObjectCount(Opening)=1
       THEN  ParkingLot.Driveway.width>=4.0 m
       END IF
   ELSE IF getObjectProperty(ParkingUnit.parkingType)="45AngleParking"
       IF getObjectCount(Opening)>=2
       THEN  ParkingLot.Driveway.width>=2.3 m
       ELSE IF getObjectCount(Opening)=1
       THEN  ParkingLot.Driveway.width>=3.5 m
       END IF
  END IF
}
 




Python Code 변환 예정



42
주차장법 시행규칙 제 6조 1 항 3호 나 2) 목

2) 1) 외의 노외주차장 (표)





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

Check(ERPA_6_1_3_나){

     IF CS THEN KS

}



CS{

   getSpaceUsage()="ParkingLot"

   isObjectProperty(ParkingLot.isOffStreetParking)=True

   getObjectProperty(ParkingLot.parkingUseType)!="TwowheeledVehicle"

}



KS{

   IF 	getObjectProperty(ParkingUnit.parkingType)="ParallelParking"

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=3.3 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.0 m

       END IF

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

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=6.0 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=6.0 m

       END IF

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

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=4.5 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.5 m

       END IF

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

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=3.5 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.0 m

       END IF

getObjectProperty(ParkingUnit.parkingType)="CrossParking"

       IF getObjectCount(Opening)>=2

       THEN  ParkingLot.Driveway.width>=3.5 m

       ELSE IF getObjectCount(Opening)=1

       THEN  ParkingLot.Driveway.width>=5.0 m

       END IF

  END IF

} 




Python Code 변환 예정



43
주차장법 시행령 제 별표1조

부설주차장의 설치대상 시설물 종류 및 설치기준(제6조제1항 관련) (시설물 :설치기준) 1. 위락시설 :○ 시설면적 100㎡당 1대(시설면적/100㎡) 2. 문화 및 집회시설(관람장은 제외한다), 종교시설, 판매시설, 운수시설, 의료시설(정신병원·요양병원 및 격리병원은 제외한다), 운동시설(골프장·골프연습장 및 옥외수영장은 제외한다), 업무시설(외국공관 및 오피스텔은 제외한다), 방송통신시설 중 방송국, 장례식장 :○ 시설면적 150㎡당 1대(시설면적/





//주차장법 시행령 별표1 부설주차장의 설치대상 시설물 종류 및 설치기준





Check(EDPA_*_1_1){

IF CS THEN KS

}

Space mySpace1{

getBuildingUsage()=” AmusementFacility”

myTotalFloorArea = getTotalFloorArea(mySpace1)

CS{

isExist(mySpace1)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea/100

}





Check(EDPA_*_1_2){

IF CS THEN KS

}

Space mySpace2{

(getBuildingUsage()= “CulturalAndAssemblyFacility”

AND getBuildingUsage() !=” Auditorium”)

OR (getBuildingUsage() = “ReligiousFacility | CommercialFacility | TransportationFacilit”

OR getBuildingUsage() = ”MedicalFacility”

AND getBuildingUsage() != “MentalHospital | ConvalescentHospital | DetentionHoispital”)

OR (getBuildingUsage() = “SportsFacility” 

AND getBuildingUsage() != “GolfCourse | GolfDrivingRange | OurdoorSwimmingPool”)

OR (getBuildingUsage()= “BusinessFacility”

AND getBuildingUsage() != “ForeignOfficialResidence | Officetels” )

}

myTotalFloorArea2 = getTotalFloorArea(mySpace2)

}

CS{

isExist(mySpace2)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea2/150

}



Check(EDPA_*_1_3){

IF CS THEN KS

}

Space mySpace3{

 ((getBuildingUsage ()=” ClassINeighborhoodLivingFacility”

AND getSpaceUsage != “PublicToilet | Shelter | CommunityChildCenter”)

OR getBuildingUsage ()=”ClassIINeighborhoodLivingFacility”

OR getBuildingUsage ()=”LodgingFacility”)

}

myTotalFloorArea3 = getTotalFloorArea(mySpace3)

}

CS{

isExist(mySpace3)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea3/200

}





Check(EDPA_*_1_4){

IF CS1 THEN KS1 OR CS2 THEN KS2

}

Space mySpace1{

getBuildingUsage ()=” DetachedHouse”

}

myTotalFloorArea = getTotalFloorArea(mySpace1)

}

CS1{

myTotalFloorArea>50 

AND myTotalFloorArea<=150

}

KS1{

isObjectProperty(parkingLot.numberofParkingUnit)=1

}

CS2{

myTotalFloorArea>150 

}

KS2{

(myTotalFloorArea-150)/100+1=ParkingLot.numberofParkingUnit

}





Check(EDPA_*_1_7){

IF CS THEN KS

}

Space mySpace7{

getBuildingUsage ()=”Trainingfacility” 

getBuildingUsage ()=”Factory”

getBuildingUsage () != ”AptartmentTypeFactory”

}

myTotalFloorArea7 = getTotalFloorArea(myspace7)

CS{

isExist(mySpace7)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea7/400

}



Check(EDPA_*_1_8){

IF CS THEN KS

}

Space mySpace8{

getBuildingUsage ()= “Warehouse”

}

myTotalFloorArea8 = getTotalFloorArea(mySpace8)

}

CS{

isExist(mySpace8)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea8/400

}



Check(EDPA_*_1_9){

IF CS THEN KS

}

Space mySpace9{

getBuildingUsage ()= “DormitoryForStudents”

}

myTotalFloorArea9 = getTotalFloorArea(myspace9)

CS{

isExist(mySpace9)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea9/400

}





Check(EDPA_*_1_10){

IF CS THEN KS

}

Space mySpace10 { 

getObject(Space) != myspace1 | myspace2 | myspace3 | myspace4 | myspace5 | myspace6 | myspace7 | myspace8 | myspace9 |

}

myTotalFloorArea10 = getTotalFloorArea(mySpace10)

}

CS{

isExist(mySpace9)=TRUE

} 

KS{

ParkingLot.numberOfParkingUnit<=myTotalFloorArea10/300

}





Check(EDPA_*_1_0_1){

IF CS THEN KS

}

CS{

getResult(EDPA_*_1_0_1_가)= TRUE

OR getResult(EDPA_*_1_0_1_나)= TRUE

OR getResult(EDPA_*_1_0_1_다)= TRUE

OR getResult(EDPA_*_1_0_1_라)= TRUE

OR getResult(EDPA_*_1_0_1_마)= TRUE

OR getResult(EDPA_*_1_0_1_바)= TRUE

OR getResult(EDPA_*_1_0_1_사)= TRUE

}

KS{

isExist(ParkingLot.isAttachedParking)=FALSE

}



Check(EDPA_*_1_0_1_가){

KS

}

isExist(ClassINeighborhoodLivingFacility.Substation)=TRUE

OR isExist(ClassINeighborhoodLivingFacility.PumpingStation)=TRUE

OR isExist(ClassINeighborhoodLivingFacility.PurificationPlant)=TRUE

OR isExist(ClassINeighborhoodLivingFacility.Shelter)=TRUE

OR isExist(ClassINeighborhoodLivingFacility.PublicToilet)=TRUE

Check(EDPA_*_1_0_1_나){

KS

}

isExist(ReligiousFacility.Monastery)=TRUE

OR isExist(ReligiousFacility.Convent)=TRUE

OR isExist(ReligiousFacility.Chapel)=TRUE

OR isExist(ReligiousFacility.Shrine)=TRUE

Check(EDPA_*_1_0_1_다){

KS

}

isExist(getBuildingUsage()=”FacilityForAnimalAndPlant”)=TRUE

AND isExist(getBuildingUsage()=”SlaughterHouse”)=FALSE

AND isExist(getBuildingUsage()=”ChickenSlaughterHouse”)=FALSE

Check(EDPA_*_1_0_1_라){

KS

}

isExist(FacilityForBroadcastingAndTelecommunication.TransmitAndReceptionAndTransitFacility)=TRUE

Check(EDPA_*_1_0_1_마){

KS

}

getObjectProperty(Building.isExclusiveUseOfParkingLot) = FALSE

(getBuildingUsage() != "CommercialFacility.DepartmentStore" OR "CommercialFacility.ShoppingCenter" OR  "LargeStore"

OR getBuildingUsage() != "CulturalAndAssemblyFacility.MovieTheater" OR  "CulturalAndAssemblyFacility.ExhibitionHall" OR "CulturalAndAssemblyFacility.WeddingHall"

Check(EDPA_*_1_0_1_바){

KS

}

getBuildingUsage()= “Station”

Check(EDPA_*_1_0_1_사){

KS

}

getResult(EDBA_6_1_4)=TRUE









Check(EDPA_*_1_0_4){

KS

}

Space mySpace{

getBuildingUsage()= “DetachedHouse”

getBuildingUsage() !=”Multi-familyHouses”

}

getTotalArea(mySpace)<=50m2

getTotalArea(mySpace)/100 = ParkingLot.numberOfParkingUnit 




Python Code 변환 예정



44
주차장법 시행령 제 4조

제4조 (경형자동차 전용주차구획의 설치비율) 법 제12조의3제3항에서 "대통령령이 정하는 비율"이란 노외주차장 총주차대수의 5퍼센트를 말한다.





//주차장법 시행령 4조 (경형자동차 전용주차구획의 설치비율)


ParkingLot myParkingLot{
  isObjectProperty(ParkingLot.isOffStreetParking )=True 
}

Rate EDPA_4_rate= myParkingLot.numberOfPakingUnit*0.05


 




Python Code 변환 예정



    1