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