1
72712
건축물의 에너지절약설계기준 제 5조 9호 파 목
파. "평균 열관류율”이라 함은 지붕(천창 등 투명 외피부위를 포함하지 않는다), 바닥, 외벽(창 및 문을 포함한다) 등의 열관류율 계산에 있어 세부 부위별로 열관류율값이 다를 경우 이를 면적으로 가중평균하여 나타낸 것을 말한다. 단, 평균열관류율은 중심선 치수를 기준으로 계산한다.
// 스프링클러설비의 화재안전기준(nfsc 103) 4조 (수원) 5항 2호
Check(NFSC103_4_5_2){
KS
}
Pipe myPipe{
isObjectProperty(Pipe.isRiser) = TRUE
isInstalled(Pipe, SprinklerSystem) = TRUE
}
Tank myTank{
getObjectProperty(Tank.operationType ) = "ElevatedWaterTank"
}
WaterSupplyOpening myWaterSupplyOpening{
isConnectedTo(WaterSupplyOpening, myPipe) = TRUE
}
WaterSupplyOpening myWaterSupplyOpening2{
WaterSupplyOpening != myWaterSupplyOpening
}
KS{
getObjectVerticalLocation(myWaterSupplyOpening, myWaterSupplyOpening2) < 0
}
Python Code 변환 예정
Modify
2
72794
건축물의 에너지절약설계기준 제 9조 2호 나 목
나. 난방기기, 냉방기기, 냉동기, 송풍기, 펌프 등은 부하조건에 따라 최고의 성능을 유지할 수 있도록 대수분할 또는 비례제어운전이 되도록 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 4조 (수원) 2항 2호
Check(NFSC503A_4_2_2){
KS
}
KS{
Pipe myPipe{
getObjectProperty(Pipe.usage)= "WaterSupplyPipe"
getObjectProperty(Pipe.systemType)="SimpleSprinklerSystem"
isObjectProperty(Pipe.isRiser)= TRUE
}
Tank myTank{
getObjectProperty(Tank.operationType ) = "ElevatedWaterTank"
}
Port myPort1{
getObjectProperty(Port.typeForWater) = "Supply"
isConnectedTo(Port,myTank) = TRUE
isConnectedTo(Port,myWaterSupplyPipe) = TRUE
}
Port myPort2 {
getObject(Port) - getObject(myPort1)
}
Distance1 = getObjectVerticalDistance(myPort1, Ground.Surface, b)
Distance2 = getObjectVerticalDistance(myPort2, Ground.Surface, b)
Distance1 - Distance2 < 0
}
Python Code 변환 예정
Modify
3
72811
건축물의 에너지절약설계기준 제 9조 6호 가 목
가. 위생설비 급탕용 저탕조의 설계온도는 55℃ 이하로 하고 필요한 경우에는 부스터히터 등으로 승온하여 사용한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 3항 1호
Check(NFSC503A_5_3_1){
KS
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType ) = "ElevatedWaterTank"
}
Head myHead{
hasSpace(TopFloor,Head) = TRUE
}
getObjectVerticalDistance(myTank.BottomSurface,myHead) >= Pipe.frictionHeadLossH + 10m
}
Python Code 변환 예정
Modify
4
72812
건축물의 에너지절약설계기준 제 9조 6호 나 목
나. 에너지 사용설비는 에너지절약 및 에너지이용 효율의 향상을 위하여 컴퓨터에 의한 자동제어시스템 또는 네트워킹이 가능한 현장제어장치 등을 사용한 에너지제어시스템을 채택하거나, 분산제어 시스템으로서 각 설비별 에너지제어 시스템에 개방형 통신기술을 채택하여 설비별 제어 시스템간 에너지관리 데이터의 호환과 집중제어가 가능하도록 한다.
//간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 3항 2호
Check(NFSC503A_5_3_2){
KS
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType ) = "ElevatedWaterTank"
}
Pipe myPipe1{
isObjectProperty(Pipe.isOverflowPipe) = TRUE
}
Pipe myPipe2{
getObjectProperty(Pipe.usage) = "WaterDrainPipe"
}
Pipe myPipe3{
getObjectProperty(Pipe.usage) = "WaterSupplyPipe"
}
isInstalled(myTank,WaterLevelGauge) = TRUE
isInstalled(myTank,myPipe2) = TRUE
isInstalled(myTank,myPipe3) = TRUE
isInstalled(myTank,myPipe1) = TRUE
isInstalled(myTank,Manshole) = TRUE
}
Python Code 변환 예정
Modify
5
72814
건축물의 에너지절약설계기준 제 10조 1호
1. 수변전설비
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 5조 (가압송수장치) 4항 2호
Check(NFSC503A_5_4_2){
KS
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType ) = "HydropneumaticTank"
}
Pipe myPipe{
isObjectProperty(Pipe.usage)="WaterSupplyPipe"
OR isObjectProperty(Pipe.usage)="WaterDrainPipe"
OR isObjectProperty(Pipe.usage)="AirSupplyPipe"
}
AirCompressor myAirCompressor{
isObjectProperty(AirCompressor.isAutomatic) = TRUE
}
isInstalled(WaterLevelGauge, myTank) = TRUE
isInstalled(myPipe, myTank) = TRUE
isInstalled(Manshole, myTank) = TRUE
isInstalled(PressureGauge, myTank) = TRUE
isInstalled(SafetyDevice, myTank) = TRUE
isInstalled(AirCompressor, myTank) = TRUE
}
Python Code 변환 예정
Modify
6
72869
건축물의 에너지절약설계기준 제 18조 4 항
④ 완화기준의 신청을 받은 허가권자는 신청내용의 적합성을 검토하고, 신청자가 신청내용을 이행하도록 허가조건에 명시하여 허가하여야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 2호
Check(NFSC503A_8_16_2){
IF (!CS1 AND CS2) THEN KS
}
CS1{
getObjectVerticalLocation(WaterSource, Pump) > 0
}
CS2{
PressurizedWaterSupplySystem myPressurizedWaterSupplySystem{
isObjectProperty(PressurizedWaterSupplySystem.supplyType) != "DirectCoupledType" OR "PressurizedTankType"
}
isInstalled(Pipe, myPressurizedWaterSupplySystem) = TRUE
OR isInstalled(Valve, myPressurizedWaterSupplySystem) = TRUE
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType ) = "HydropneumaticTank"
}
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
}
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
isInstalledInOrder(WaterSource, CompoundGauge | VacuumGauge, Pump | myTank, PressureGauge, myValve1, myPipe, myValve2, WaterflowIndicator, myValve3) = TRUE
}
Python Code 변환 예정
Modify
7
72870
건축물의 에너지절약설계기준 제 19조 1 항
제19조(인증의 취득) ① 신청인이 인증에 의해 완화기준을 적용받고자 하는 경우에는 인증기관으로부터 예비인증을 받아야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 3호
Check(NFSC503A_8_16_3){
IF CS THEN KS
}
CS{
PressurizedWaterSupplySystem myPressurizedWaterSupplySystem{
isObjectProperty(PressurizedWaterSupplySystem.supplyType) = "PressurizedTankType"
}
isInstalled(Pipe, myPressurizedWaterSupplySystem) = TRUE
OR isInstalled(Valve, myPressurizedWaterSupplySystem) = TRUE
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType ) = "PressurizedTank"
}
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
getObjectCount(Valve) = 2
}
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
isInstalledInOrder(WaterSource, myTank, PressureGauge, myValve1, myPipe, myValve2, WaterflowIndicator, myValve3) = TRUE
}
Python Code 변환 예정
Modify
8
72871
건축물의 에너지절약설계기준 제 19조 2 항
② 완화기준을 적용받은 건축주 또는 사업주체는 건축물의 사용승인 신청 이전에 본인증을 취득하여 사용승인 신청 시 허가권자에게 인증서 사본을 제출하여야 한다. 단, 본인증의 등급은 예비인증 등급 이상으로 취득하여야 한다.
// 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 4호
Check(NFSC503A_8_16_4){
IF (!CS1 AND CS2) THEN KS
}
CS1{
getObjectVerticalLocation(WaterSource, Pump) > 0
}
CS2{
SimpleSprinklerSystem mySimpleSprinklerSystem{
isObjectProperty(SimpleSprinklerSystem.isCabinetType) = TRUE
}
isInstalled(Pipe, mySimpleSprinklerSystem.PressurizedWaterSupplySystem) = TRUE
OR isInstalled(Valve, mySimpleSprinklerSystem.PressurizedWaterSupplySystem) = TRUE
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType ) = "HydropneumaticTank"
}
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
getObjectCount(Valve) = 2
}
isInstalledInOrder(WaterSource, CompoundGauge | VacuumGauge, Pump | myTank, PressureGauge, myValve1, myPipe, myValve2, myValve3) = TRUE
}
Python Code 변환 예정
Modify
9
19467
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 10조 1 항
제10조(관람석등으로부터의 출구의 설치기준) ①영 제38조 각호의 1에 해당하는 건축물의 관람석 또는 집회실로부터 바깥쪽으로의 출구로 쓰이는 문은 안여닫이로 하여서는 아니된다.
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 10조 (관람석등으로부터의 출구의 설치기준) 1항
check(REFB_10_1){
Space mySpace = getSpace("Auditorium") + getSpace("AssemblyHall")
Door myExit {
isAccessible(mySpace, Door) = TRUE
isObjectProperty(Door.isEntrance) = TRUE
}
getObjectProperty(myExit.panelOperationType) != "OpeningInDoor"
}
SUCCESS
theater_code = '00000'
std_floor_area = 300
theater_code_label = '관람석 공간분류코드'
std_floor_area_label = '기준 바닥면적'
def Check():
for building in SELECT('building'):
bldg_use = building.SELECT('building type').STRING()
sub_use = building.SELECT('prop', '세부용도').STRING()
for storey in building.SELECT('storey'):
for space in storey.SELECT('space'):
if space.SELECT('name').STRING() not in ['관람석', '집회실':
continue
for door in space.Select('door'):
if door.SELECT('type') is '안여닫이' :
door.ERROR('본 공간의 문은 안여닫이입니다.')
else:
door.SUCCESS('본 공간의 문은 안여닫이가 아닙니다.')
Modify
10
19484
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 12조
제12조(회전문의 설치기준) 영 제39조제2항의 규정에 의하여 건축물의 출입구에 설치하는 회전문은 다음 각 호의 기준에 적합하여야 한다. <개정 2005.7.22.>
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 12조 (회전문의 설치기준)
Check(REFB_12){
IF CS THEN KS
}
CS {
Door myDoor {
isObjectProperty(Door.isEntrance) = TRUE
Door.panelOperationType=“RevolvingDoor”
}
isExist(myDoor) = TRUE
}
KS {
getResult(REFB_12_1)=TRUE
}
Python Code 변환 예정
Modify
11
25194
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 1호 라 목
라. 계단실의 바깥쪽과 접하는 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터 이하인 것을 제외한다)은 당해 건축물의 다른 부분에 설치하는 창문등으로부터 2미터 이상의 거리를 두고 설치할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 1호 라목
check(REFB_9_2_1_4){
IF (CS1 AND CS2) THEN KS
}
CS1 {
Opening myOpening1{
isConnectedTo(Stair.Space, Opening) = TRUE
getObjectProperty(Opening.material)= “WireContainedGlass”
getObjectProperty(Window.panelOperationType)= “FixedSashWindow”
getObjectProperty(Opening.area)=< 1㎡
}
CS2 {
Opening myOpening2{
getObject(Opening) != myOpening1
}
KS{
getElementDistance(myOpening1, myOpening2, a)>=2m;
}
}
Python Code 변환 예정
Modify
12
25199
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 2호 가 목
가. 계단은 그 계단으로 통하는 출입구외의 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터 이하인 것을 제외한다)으로부터 2미터 이상의 거리를 두고 설치할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 2호 가목
check(REFB_9_2_2_1){
IF (CS) THEN KS
}
CS {
Opening myOpening1{ getObjectProperty(Opening.material)= “WireContainedGlass”
getObjectProperty(Window.panelOperationType)= “FixedSashWindow”
getObjectProperty(Opening.area)=< 1㎡
}
Door myDoor {
isAccessible(Stair, Door)=TRUE
}
Opening myOpening2{
getObject(Opening) != myOpening1
getObject(Opening) != myDoor
}
isExist(myOpening2) = TRUE
}
KS{
getElementDistance(Stair, myOpening2, a)>=2m;
}
Python Code 변환 예정
Modify
13
25208
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 3호 마 목
마. 계단실·노대 또는 부속실에 설치하는 건축물의 바깥쪽에 접하는 창문등(망이 들어 있는 유리의 붙박이창으로서 그 면적이 각각 1제곱미터이하인 것을 제외한다)은 계단실·노대 또는 부속실외의 당해 건축물의 다른 부분에 설치하는 창문등으로부터 2미터 이상의 거리를 두고 설치할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 마목
check (REFB_9_2_3_5){
CS TEHN KS
}
CS{
Space mySpace {
getSpace(Stair.Space)
getSpace(“Balcony”)
getSpace(“AncillaryRoom”)
}
Opening myOpening1 {
hasElement(mySpace,Opening)=TRUE
isConnectedToExternal(Opening) = TRUE
Opening myOpening2 {
getObjectProperty(Opening.material)= “WireContainedGlass”
getObjectProperty(Window.panelOperationType)= “FixedSashWindow”
getObjectProperty(Opening.area)=< 1㎡
}
Opening myOpening3{
getObject(myOpening1)-getObject(myOpening2)
}
isExist(myOpening3)=TRUE
KS{
Opening myOpening4{
getObject(Opening)-getObject(myOpening3)
}
getElementDistance(myOpening3, myOpening4, a)>=2m
}
Python Code 변환 예정
Modify
14
25210
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 9조 2 항 3호 사 목
사. 계단실의 노대 또는 부속실에 접하는 창문등(출입구를 제외한다)은 망이 들어 있는 유리의 붙박이창으로서 그 면적을 각각 1제곱미터 이하로 할 것
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 9조 (피난계단 및 특별피난계단의 구조) 2항 3호 사목
check (REFB_9_2_3_7){
CS TEHN KS
}
CS{
Space mySpace {
getSpace(“Balcony”)
getSpace(“AncillaryRoom”)
hasObject(Stair.Space,Space)=TRUE
}
Opening myOpening {
getObject(mySpace.Opening)
}
isExist(myOpening)=TRUE
}
KS{
getObjectProperty(myOpening.material)= “WireContainedGlass”
getObjectProperty(Window.panelOperationType)= “FixedSashWindow”
getObjectProperty(myOpening.area)=< 1㎡
}
Python Code 변환 예정
Modify
15
25219
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 11조 2 항
②영 제39조제1항에 따라 건축물의 바깥쪽으로 나가는 출구를 설치하는 건축물중 문화 및 집회시설(전시장 및 동·식물원을 제외한다), 종교시설, 장례식장 또는 위락시설의 용도에 쓰이는 건축물의 바깥쪽으로의 출구로 쓰이는 문은 안여닫이로 하여서는 아니된다. <개정 2010.4.7>
//건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 11조 (건축물의 바깥쪽으로의 출구의 설치기준) 2항
Check(REFB_11_2){
IF CS1 AND CS2 THEN KS
}
CS1 {
Building myBuilding{
getBuildingUsage() = “CulturalAndAssemblyFacility”
OR getBuildingUsage() = “ReligiousFacility”
OR getBuildingUsage() = “AmusementFacility”
OR getBuildingUsage() = “FuneralParlor”
getBuildingUsage() != “ExhibitionHall”
getBuildingUsage() != “ZoologicalAndBotanicalGarden”
}
Door myDoor{
isObjectProperty(myBuilding.Door.isEntrance)=TRUE
}
isExist(myDoor) = TRUE
}
KS {
getObjectProperty(myDoor.panelOperationType) != “OpeningInDoor”
}
Python Code 변환 예정
Modify
16
25299
건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제 17조 3 항
③제1항 및 제2항의 규정을 적용함에 있어서 수시로 개방할 수 있는 미닫이로 구획된 2개의 거실은 이를 1개의 거실로 본다.
// 건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 17조 (채광 및 환기를 위한 창문등) 3항
check(REFB_17_3){
IF CS THEN KS
}
CS{
Door myDoor{
getObjectProperty(Door.panelOperationType) = "SlidingDoor"
}
Room myRoom{
isPartitioned(Room, myDoor, Room) = TRUE
}
}
KS{
myRoom = Room
}
Python Code 변환 예정
Modify
17
36600
건축법 시행령 제 39조 2 항
② 법 제49조제1항에 따라 건축물의 출입구에 설치하는 회전문은 국토해양부령으로 정하는 기준에 적합하여야 한다.
// 건축법 시행령 39조 (건축물 바깥쪽으로의 출구 설치) 2항
Check(EDBA_39_2){
IF CS THEN KS
}
CS {
Door myDoor {
isObjectProperty(Door.isEntrance) = TRUE
Door.panelOperationType=“RevolvingDoor”
}
isExist(myDoor) = TRUE
}
KS {
getResult(REFB_11_2)=TRUE
}
Python Code 변환 예정
Modify
18
37385
건축법 시행령 제 51조 3 항
③ 법 제49조제2항에 따라 오피스텔에 거실 바닥으로부터 높이 1.2미터 이하 부분에 여닫을 수 있는 창문을 설치하는 경우에는 국토해양부령으로 정하는 기준에 따라 추락방지를 위한 안전시설을 설치하여야 한다. <신설 2009.7.16>
// 건축법 시행령 51조 (거실의 채광 등) 3항
check(EDBA_51_3){
IF CS THEN KS
}
CS{
Window myWindow{
getObjectProperty(Window.panelOperationType) = "SwingingWindow"
}
getBuildingUsage() = "Officetels.Room"
getElementHeight(myWindow) <= 1.2 m
}
KS{
isExist(FallPreventionSafetyFacility) = TRUE
getResult(REFB_17_4) = TRUE
}
min_win_h = 1.2
min_rail_h = 1.2
min_win_h_label = '기준 창문 높이'
min_rail_h_label = '최소 난간 높이'
def Check():
for building in SELECT('building'):
bldg_use = building.SELECT('building type').STRING()
sub_use = building.SELECT('prop', '세부용도').STRING()
if not (bldg_use == '업무시설' and sub_use == '오피스텔'):
continue
for space in building.SELECT('space'):
for win in space.SELECT('window'):
if win.SELECT('lower edge height').UNIT('m').NUMBER() > min_win_h:
continue
for railing in win.SELECT('railing'):
height = railing.SELECT('height').UNIT('m')
h = height.NUMBER()
if h < min_rail_h:
height.ERROR('난간 높이: ' + str(h) + 'm(< ' + str(min_rail_h) + 'm)')
else:
height.SUCCESS('난간 높이: ' + str(h) + 'm(>= ' + str(min_rail_h) + 'm)')
return
win.ERROR('난간이 존재하지 않습니다.')
Modify
19
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
20
12316
주차장법 시행규칙 제 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 변환 예정
Modify
21
61162
주차장법 시행규칙 제 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 변환 예정
Modify
22
61201
주차장법 시행규칙 제 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 변환 예정
Modify
23
61395
주차장법 시행규칙 제 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 변환 예정
Modify
24
61623
주차장법 시행규칙 제 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 변환 예정
Modify
25
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
26
71945
주차장법 시행규칙 제 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 변환 예정
Modify