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(ParkingLot Area.isHandicapParking, a) >= 3.3 m
getElementLength(ParkingLot Area.isHandicapParking) >= 5 m
}
CS2{
isObjectProperty(ParkingLot Area.isParallelParking) = FALSE
}
KS2{
getObjectWidth(ParkingLot Area.isHandicapParking, a) >= 2 m
getElementLength(ParkingLot Area.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(ParkingLot Area.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(ParkingLot Area.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(ParkingLot Area.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(ParkingLot Area.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(myParkingLot Area.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(ParkingLot Area.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미터 이상으로 한다. 다만, 주차단위구획과 접하여 있는 차로의 너비는 주차형식에 따라 다음 표에 따른 기준 이상으로 하여야 한다.
┌───────┬──────┐
│주차형식 │차로의 너비 │
├───────┼──────┤
│평행주차 │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(ParkingLot SubsidiaryFacility) = "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(ParkingLot AreaMark.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(ParkingLot Area.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( ParkingLot SubsidiaryFacility) > 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(ParkingLot SubsidiaryFacility) = "ControlOffice"
OR getSpaceUsage(ParkingLot SubsidiaryFacility) = "RestArea"
OR getSpaceUsage(ParkingLot SubsidiaryFacility) = "PublicToilet"
}
Python Code 변환 예정
35
주차장법 시행규칙 제 6조 4 항 2호
2. 간이매점 및 자동차의 장식품판매점
//주차장법 시행규칙 6조 (노외주차장의 구조·설비기준) 4항 2호
Check(ERPA_6_4_2){
KS
}
KS{
getSpaceUsage(ParkingLot SubsidiaryFacility) = "SnackBar"
OR getSpaceUsage(ParkingLot SubsidiaryFacility) = "CarOrnamentationShop"
OR getSpaceUsage(ParkingLot SubsidiaryFacility) = "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(ParkingLot SubsidiaryFacility) <= 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 변환 예정