설계품질검토 대상법규   |   조항단위 법규   |   문장단위 법규   |   KBimCode-Assess 연동모듈   |   KBimCode DB   |   주어부 - 객체,속성 DB   |   서술부 - 함수 DB   |   관계부 - 문장관계   |   룰셋생성모듈   |  
논리규칙화 함수 데이터베이스 (법규문장 서술부처리 상위레벨함수 - 작업중)
      논리규칙화 함수 분류

Total 89 records   
Select
ALL
None
#
NAME
대분류
중분류
소분류
Type
Text
Parameter
(obj, type)
Return
KBimAssess Python Methods Search!
1
getFloor(spc)  
객체    객체쿼리  대표함수  층 객체를 쿼리한다.   spc: 층 객체 또는 쿼리할 층 객체명 
 
객체 collection 


def getFloor(Floor):
    if type(Floor) == int:
        FloorNum = Floor
        myFloor = ROOT.SELECT('slab')
        myFloor = myFloor.SELECT(FloorNum)
        return myFloor

    elif type(Floor) == str:
        FloorName = Floor
        myFloor = ROOT.SELECT('slab')
        myFloor = myFloor.SELECT(FloorName)
        return myFloor

///

def getFloor(spc):
    if type(spc) == str:
        building = ROOT.SELECT('building')
        storey = building.SELECT('storey')
        spc = storey.SELECT(spc)
    else:
        continue
    return spc

 
2
getStair(elm)  
객체    객체쿼리  확장함수  계단 객체를 쿼리한다.   elm: 계단 객체 쿼리할 계단 객체명 
 
객체 collection 


def getStair(Stair):
    if type(Stair) == str:
        StairName = Stair
        myStair = ROOT.SELECT('stair')
        myStair = myStair.SELECT(StairName)
        return myStair

///

def getStair(elm):
    if type(elm) == str:
        stair = ROOT.SELECT('stair)
        elm = stair.SELECT(elm)
    else:
        continue
    return elm 
3
isExist(obj)  
객체    존재유무  대표함수  객체의 존재여부를 확인하는 함수이다.   obj: 존재여부를 확인할 객체 
 
boolean 


def isExist(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else :
        continue
    if myObject.COUNT() == 0:
        return False
    else:
        return True 
4
getObjectCount(obj)  
객체    개수확인  대표함수  특정 객체의 개수를 구하는 함수이다.   obj: 개수를 확인할 객체 
 
numeric 


def getObjectCount(Object, HostingObject=None):
    if HostingObject != None:
        myHostingObject = ROOT.SELECT(HostingObject)
        myObjectCount = myHostingObject.SELECT(Object).COUNT()
        return myObjectCount
    else:
        myObjectCount = ROOT.SELECT(Object).COUNT()
        return myObjectCount

///

def getObjectCount(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else :
        continue
    objCount = obj.COUNT()
    return objCount 
5
getBuildingStoriesCount()  
객체    개수확인  확장함수  건물의 전체 층수를 구하는 함수이다.  없음. 건물 전체를 대상으로 한다. 
 
numeric 


def getBuildingStoriesCount(BuildingName=None):
    StoreyNum = 1
    if BuildingName != None:
        myBuilding = ROOT.SELECT(BuildingName)
        TotalStorey = myBuilding .SELECT('storey')
        for Stoery in TotalStorey:
            if Stoery.SELECT('Elevation') < 0:
                pass
            else:
                StoreyNum += 1
        return StoreyNum

    else:
        TotalStorey = ROOT.SELECT('storey')
        for Stoery in TotalStorey:
            if Stoery.SELECT('Elevation') < 0:
                pass
            else:
                StoreyNum += 1
        return StoreyNum 
6
getParkingLotsCount(obj)  
객체    개수확인  확장함수  주차구획의 개수를 구하는 함수이다.   obj: 주차구획의 개수를 확인할 객체. 지정하지 않을 시 건물 내 모든 주차장 객체의 주차구획의 개수를 쿼리한다. 
 
numeric 


def getParkingLotsCount(Object, HostingObject=None):
    if HostingObject != None:
        myHostingObject = ROOT.SELECT(HostingObject)
        myObjectCount = myHostingObject.SELECT(Object).COUNT()
        return myObjectCount
    else:
        myObjectCount = ROOT.SELECT(Object).COUNT()
        return myObjectCount

///

def getParkingLotsCount(obj):
    parklot = ROOT.SELECT('parklot')
    if obj == None:
        obj = parklot
    elif type(obj) == str:
        obj = parklot.SELECT(obj)
    else:
        continue
    parklotCount = obj.COUNT()
    return parklotCount 
7
getObjectProperty(obj)  
객체.속성  기본속성  기본속성 확인  대표함수  대상 객체의 특정한 속성을 구하는 함수이다.   obj: 속성을 구할 객체 
 
속성명(string) 또는 속성값(numeric) collection 


def getObjectProperty(str ObjName, str PropName):
    myObj = ROOT.SELECT(ObjName)
    MyProp = myObj.SELECT(PropName)
    return myProp

///

def getObjectPropoerty(obj, property):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else :
        continue
    objProperty = obj.SELECT(property)
    return objProperty
 
8
getObjectType(obj)  
객체.속성  기본속성  기본속성 확인  확장함수  대상 객체의 기본 유형을 구하는 함수이다.   obj: 유형을 쿼리할 객체 
 
객체 유형에 대한 속성명(string) collection 


def getObjectType(obj);
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objType = obj.SELECT(type).STRING()
    return objType 
9
getFloorType(obj)  
객체.속성  기본속성  기본속성 확인  확장함수  층 객체의 유형을 구하는 함수이다.   spc: 유형을 쿼리할 공간객체 
 
객체 유형에 대한 속성명(string) collection 


def getFloorType(obj):
    if type(obj) == str:
        building = ROOT.SELECT('building')
        storey = building.SELECT('storey')
        obj = storey.SELECT(obj)
    else :
        continue
    floorType = obj.SELECT(type).STRING()
    return floorType 
10
getStairType(obj)  
객체.속성  기본속성  기본속성 확인  확장함수  계단 객체의 유형을 구하는 함수이다.   elm: 유형을 쿼리할 객체 
 
객체 유형에 대한 속성명(string) collection 


def getStairType(obj);
    if type(obj) == str:
        building = ROOT.SELECT('building')
        stair = building.SELECT('stair')
        obj = stair.SELECT('obj')
    else:
        continue
    stairType = obj.SELECT('type').STRING()
    return stairType
 
11
getDoorType(obj)  
객체.속성  기본속성  기본속성 확인  확장함수  문 객체의 기본 유형을 구하는 함수이다.   elm: 유형을 쿼리할 객체 
 
객체 유형에 대한 속성명(string) collection 


def getDoorType(obj);
    if type(obj) == str:
        building = ROOT.SELECT('building')
        space = building.SELECT('space')
        door = space.SELECT('door')
        obj = door.SELECT(obj)
    else:
        continue
    doorType = obj.SELECT('type').STRING()
    return doorType 
12
getObjectUsage(obj)  
객체.속성  기본속성  기본속성 확인  확장함수  객체의 용도를 구하는 함수이다.   obj: 용도를 쿼리할 객체  
 
객체의 용도명(string) collection 


def getObjectUsage(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objUsage = obj.SELECT('prop', '세부용도').STRING()
    return objUsage 
13
getBuildingUsage()  
객체.속성  기본속성  기본속성 확인  확장함수  건물의 용도를 구하는 함수이다.   없음. 건물 전체를 대상으로 한다. 
 
객체의 용도명(string) collection 


def getBuildingUsage(building):
    if building != None:
        building = ROOT.SELECT('building')
        building = building.SELECT(building)
    else:
        building = ROOT.SELECT('building')
    buildingUsage = obj.SELECT('prop', '세부용도').STRING()
    return buildingUsage    


 
14
getFloorUsage(obj)  
객체.속성  기본속성  기본속성 확인  확장함수  층의 용도를 구하는 함수이다.   obj: 용도를 확인할 층 객체 
 
객체의 용도명(string) collection 


def getFloorUsage(obj):
    if type(obj) == str:
        building = ROOT.SELECT('building')
        storey = building.SELECT('storey')
        obj = storey.SELECT(obj)
    else:
        continue
    floorUsage = obj.SELECT('prop', '세부용도').STRING()
    return floorUsage  
15
getSpaceUsage(spc)  
객체.속성  기본속성  기본속성 확인  확장함수  공간의 용도를 구하는 함수이다.   obj: 용도를 확인할 공간 객체 
 
객체의 용도명(string) collection 


def getSpaceUsage(obj):
    if type(obj) == str:
        building = ROOT.SELECT('building')
        space = building.SELECT('space')
        obj = space.SELECT(obj)
    else:
        continue
    spaceUsage = obj.SELECT('prop', '세부용도').STRING()
    return spaceUsage  
16
getSiteUsage()  
객체.속성  기본속성  기본속성 확인  확장함수  대지의 용도를 구하는 함수이다.   없음. 건물이 세워진 대지를 대상으로 한다 
 
객체의 용도명(string) collection 


def getSiteUsage(siteName = None):
    if siteName != None:
        site = ROOT.SELECT('site')
        site = site.SELECT(siteName)
    else:
        site = ROOT.SELECT('site')
    siteUsage = site.SELECT('prop', '세부용도').STRING()
    return siteUsage
 
17
getObjectMaterial(obj)  
객체.속성  기본속성  기본속성 확인  확장함수  대상 객체의 재료명을 구하는 함수이다.   obj: 재료명을 구할 객체  
 
객체의 재료명(string) collection 


def getObjectMaterial(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objMaterial = obj.SELECT('material').STRING()
    return objMaterial 
18
getFloorNumber(obj)  
객체.속성  기본속성  기본속성 확인  확장함수  대상 층 객체의 층수를 구하는 함수이다.   obj: 층수(floor number)를 확인할 층 객체.없을 경우 건물의 전체 층을 대상으로 한다. 
 
numeric 


def getFloorNumber(obj):
    if type(obj) == str:
        building = ROOT.SELECT('building')
        storey = building.SELECT('storey')
        obj = storey.SELECT(obj)
    else:
        continue
    floorNumber = SELECT(obj).COUNT()
    return floorNumber

 
19
getObjectHeight(obj, type)  
객체.속성  형상속성  객체의 높이 확인  대표함수  대상객체의 높이를 구하는 함수이다   obj: 높이를 확인할 객체 
type: 높이 산정 기준. 객체의 종류에 따라 상이함. 
numeric 


def getObjectHeight(obj, type):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objHeight= = obj.SELECT(height, type).UNIT('m').NUMBER()
    return objHeight 
20
getBuildingHeight()  
객체.속성  형상속성  객체의 높이 확인  확장함수  건물의 높이를 구하는 함수이다(지표면~).   없음. 건물 전체를 대상으로 한다. 
 
numeric 


def getBuildingHeight(buildingName = None):
    if buildingName != None:
        building = ROOT.SELECT(buildingName)
    else:
        building = ROOT.SELECT('building')
    buildingHeight = building.SELECT(height).UNIT('m').NUMBER()
    return buildingHeight 
21
getSpaceHeight(spc,type)  
객체.속성  형상속성  객체의 높이 확인  확장함수  대상 공간객체의 높이를 구하는 함수이다.   spc: 높이를 확인할 공간 객체. 
type: 높이 산정 기준. (생략 가능. 이경우, type a. 층고를 기준으로 한다) type a. 층고(floor height)type b. 반자높이(ceiling height)  
numeric 


def getSpaceHeight(spc, type):
    if type(spc) == str:
        building = ROOT.SELECT('building')
        space = building.SELECT('space')
        spc = space.SELECT(spc)
    else:
        continue
    spaceHeight = spc.SELECT(height, type).UNIT('m').NUMBER()
    return spaceHeight
         
22
getStairHallHeight(spc)  
객체.속성  형상속성  객체의 높이 확인  확장함수  계단실의 높이를 구하는 함수이다.   spc: 높이를 확인할 공간 객체. 
type: 높이 산정 기준. (생략 가능. 이경우, type a. 층고를 기준으로 한다) type a. 층고(floor height)type b. 반자높이(ceiling height)  
numeric 


def getStairhallHeight(spc):
    spaces = root.SELECT('space')
    if spc == None:
        stairhallHeight  = 0
        for space in spaces:
            if space.select('stair').count == 0:
                pass
            else:
                spaceHeight = space.SELECT('height').UNIT('m').NUMBER()
                stairhallHeight += spaceHeight
    elif type(spc) == str:
        stairhall = spaces.SELECT(spc)        
    else:
        stairhall = spc
    stairhallHeight = stairhall.SELECT('height').UNIT('m').NUMBER()
    return stairhallHeight 
23
getElementHeight(elm)  
객체.속성  형상속성  객체의 높이 확인  확장함수  공간객체 제외한 객체의 높이를 구하는 함수이다.   elm: 높이를 확인할 객체( 공간 객체 제외). 
 
numeric 


def getElementHeight(elm):
    if type(elm) == str:
        elm = ROOT.SELECT(elm)
    else:
        continue
    space = ROOT.SELECT('space')
    if elm not in space:
        elmHeight = elm.SELECT('height').UNIT('m').NUMBER()
    return elmHeight 
24
getStairHeight(elm)  
객체.속성  형상속성  객체의 높이 확인  확장함수  계단 객체의 높이를 구하는 함수이다.   elm: 높이를 확인할 객체( 공간 객체 제외). 
 
numeric 


def getStairHeight(elm):
    if type(elm) == str:
        building = ROOT.SELECT('building')
        storey = building.SELECT('storey')
        stair = storey.SELECT('stair')
        elm = stair.SELECT(elm)
    else:
        continue
    stairHeight = elm.SELECT('height').UNIT('m').NUMBER()
    return stairHeight 
25
getStairStepHeight(elm)  
객체.속성  형상속성  객체의 높이 확인  확장함수  계단 한 개 단의 높이를 구하는 함수이다.   elm: 높이를 확인할 객체( 공간 객체 제외). 
 
numeric 


def getStairStepHeight(elm):
    if type(elm) == str:
        building = ROOT.SELECT('building')
        storey = building.SELECT('storey')
        stair = storey.SELECT('stair')
        elm = stair.SELECT(elm)
    else:
        continue
    stairStepHeight = elm.SELECT('riser height').UNIT('mm').NUMBER()
    return stairStepHeight 
26
getBuildingElevationHeight()  
객체.속성  형상속성  객체의 높이 확인  확장함수  지하층을 포함한 건축물의 전체 높이를 구하는 함수이다.   없음. 건물 전체를 대상으로 한다. 
 
numeric 


def getBuildingElevationHeight():
    building = ROOT.SELECT('building')
    stories = building.SELECT('storey')
    buildingElevationHeight = 0
    for storey in stories:
        if storey.SELECT('height')>0:
            buildingElevationHeight += storey.SELECT('height').UNIT('m').NUMBER()
        else:
            pass
    return buildingElevationHeight 
27
getFloorElevationHeight(obj)  
객체.속성  형상속성  객체의 높이 확인  확장함수  지표면으로부터 해당 층의 바닥구조체 윗면까지의 높이를 구하는 함수이다.   obj: 높이를 확인할 층 객체 
 
numeric 


def getFloorElevationHeigh(obj):
    building = ROOT.SELECT('building')
    stories = building.SELECT('storey')
    if type(obj) == str:
        obj = stories.SELECT(obj)
    else:
        continue
    storeyNumber = SELECT(obj).COUNT()
    floorElevationHeight = 0
    for storey in stories:
        currentStoreyNumber = SELECT(storey).COUNT()
        if currentStoreyNumber 


28
getObjectLength(obj)  
객체.속성  형상속성  객체의 길이 확인  대표함수  대상 객체의 길이를 구하는 함수이다.   obj: 길이를 확인할 객체  
 
numeric 


def getObjectLength(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objLength=obj.SELECT('length').UNIT('m').NUMBER()
    return objLength 
29
getStairStepLength(elm)  
객체.속성  형상속성  객체의 길이 확인  대표함수  계단 한 개 단의 길이를 구하는 함수이다.   obj: 길이를 확인할 객체  
 
numeric 


def getStairStepLength(elm):
    if type(elm) == str:
        building = ROOT.SELECT('building')
        storey = building.SELECT('storey')
        stair = storey.SELECT('stair')
        elm = stair.SELECT(elm)
    else:
        continue
    stairStepLength = elm.SELECT('clear length').UNIT('mm').NUMBER()
    return stairStepLength
 
30
getObjectWidth(obj, type)  
객체.속성  형상속성  객체의 폭 확인  대표함수  대상객체의 폭(너비)을 구하는 함수이다.   obj: 폭(너비)을 확인할 객체  
type: 폭(너비) 산정 기준type a. 안목치수type b. 외목치수type c. 중심선 사이의 거리 
numeric 


def getObjectWidth(obj, type):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objWidth = obj.SELECT('width', type).UNIT('m').NUMBER()
    return objWidth
 
31
getSpaceWidth(spc)  
객체.속성  형상속성  객체의 폭 확인  확장함수  대상 공간객체의 폭(너비)을 구하는 함수이다.   spc: 폭(너비)을 확인할 공간 객체  
 
numeric 


def getSpaceWidth(spc):
    if type(spc) == str:
        building = ROOT.SELECT('building')
        space = building.SELECT('space')
        spc = space.SELECT(spc)
    else:
        continue
    spcWidth = spc.SELECT('width', type).UNIT('m').NUMBER()
    return spcWidth 
32
getElementWidth(elm, type)  
객체.속성  형상속성  객체의 폭 확인  확장함수  공간객체를 제외한 객체의 폭(너비)을 구하는 함수이다.   elm: 폭(너비)을 확인할 객체 (공간 객체 제외).  
type: 폭(너비) 산정 기준type a. 안목치수type b. 외목치수type c. 중심선 사이의 거리 
numeric 


def getElementWidth(elm, type):
    space = ROOT.SELECT('space')
    if type(elm) == str:
        elm = ROOT.SELECT(elm)
    else:
        continue
    if elm not in space:
        elmWidth = elm.SELECT('width', type).UNIT('m').number()
    return elmWidth 
33
getStairStepWidth(elm, type)  
객체.속성  형상속성  객체의 폭 확인  확장함수  계단 객체 한 개 단의 폭(너비)을 구하는 함수이다.   elm: 폭(너비)을 확인할 객체 (공간 객체 제외).  
type: 폭(너비) 산정 기준type a. 안목치수type b. 외목치수type c. 중심선 사이의 거리 
numeric 


def getStairStepWidth(elm):
    if type(elm) == str:
        building = ROOT.SELECT('building')
        storey = building.SELECT('storey')
        stair = storey.SELECT('stair')
        elm = stair.SELECT(elm)
    else:
        continue
    stairStepWidth = elm.SELECT('clear width', type).UNIT('mm').NUMBER()
    return stairStepWidth
 
34
getObjectThickness(obj, type)  
객체.속성  형상속성  객체의 두께 확인  대표함수  대상 객체의 두께를 구하는 함수이다.   obj: 두께를 확인할 객체 
 
numeric 


def getObjectThickness(obj, type):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objectThickness = obj.SELECT('thickness', type).UNIT('m').NUMBER()
    return objectThickness

 
35
getWallThickness(obj, type)  
객체.속성  형상속성  객체의 두께 확인  대표함수  벽 객체의 두께를 구하는 함수이다.   obj: 두께를 확인할 객체 
 
numeric 


def getWallThickness(obj, type):
    if type(obj) == str:
        building = ROOT.SELECT('building')
        storey = building.SELECT('storey')
        wall = storey.SELECT('wall')
        obj = wall.SELECT(obj)        
    else:
        continue
    wallThickness = obj.SELECT(thickness, type).UNIT('m').NUMBER()
    return wallThickness 
36
getObjectArea(obj, type)  
객체.속성  형상속성  객체의 면적 확인  대표함수  대상 객체의 면적을 구하는 함수이다.   obj: 면적을 확인할 객체 
type: 면적 산정 기준 
numeric 


def getObjectArea(obj, type):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objArea = obj.SELECT('area', type).UNIT('m2').NUMBER()
    return objArea
 
37
getFloorArea(spc,type)  
객체.속성  형상속성  객체의 면적 확인  확장함수  대상 공간객체의 바닥면적을 구하는 함수이다.   spc: 면적을 확인할 객체 
type: 면적 산정 기준. (생략 가능, 이 경우 type c. 중심선을 기준으로 함.)type a. 안목치수type b. 외목치수type c. 중심선  
numeric 


def getFloorArea(spc, type):
    if type(spc) == str:
        building = ROOT.SELECT('building')
        space = building.SELECT('space')
        spc = space.SELECT(spc)
    else:
        continue
    floorArea = spc.SELECT('area', type).UNIT('m2').NUMBER()
    return floorArea
 
38
getTotalObjectArea(obj, type)  
객체.속성  형상속성  객체의 면적 확인  대표함수  대상 객체의 면적의 총합을 구하는 함수이다.   obj: 총면적을 확인할 객체 
 
numeric 



 
39
getGrossFloorArea()  
객체.속성  형상속성  객체의 면적 확인  확장함수  대상 건축물의 연면적을 구하는 함수이다   없음. 건축물 전체를 대상으로 함.  
 
numeric 


def getGrossFloorArea():
    building = ROOT.SELECT('building')
    grossFloorArea = building.SELECT('prop', '연면적').UNIT('m2').NUMBER()
    return grossFloorArea

 
40
getFloorAreaRatio()  
객체.속성  형상속성  객체의 면적 확인  확장함수  대상 건축물의 용적률을 구하는 함수이다   없음. 건축물 전체를 대상으로 함.  
 
numeric 


def getFloorAreaRatio():
    building = ROOT.SELECT('building')
    floorAreaRatio = building.SELECT('prop', '용적률').UNIT('%').NUMBER()
    return floorAreaRatio
 
41
getBuildingToLandRatio()  
객체.속성  형상속성  객체의 면적 확인  확장함수  대상 건축물의 건폐율을 구하는 함수이다   없음. 건축물 전체를 대상으로 함.  
 
numeric 


def getBuildingToLandRatio():
    building = ROOT.SELECT('building')
    buildingToLandRatio = building.SELECT('prop', '건폐율').UNIT('%').NUMBER()
    return buildingToLandRatio
 
42
getbuildingArea()  
객체.속성  형상속성  객체의 면적 확인  확장함수  대상 건축물의 건축면적을 구하는 함수이다.   없음. 건축물 전체를 대상으로 함.  
 
numeric 


def getBuildingArea():
    building = ROOT.SELECT('building')
    buildingArea = building.SELECT('area').UNIT('m2').NUMBER()
    return buildingArea
 
43
getSiteArea()  
객체.속성  형상속성  객체의 면적 확인  확장함수  대상 건축물의 대지면적을 구하는 함수이다.   없음. 건축물이 건축된 전체 대지를 대상으로 함.  
 
numeric 


def getSiteArea():
    site = ROOT.SELECT('site')
    siteArea = site.SELECT('area').UNIT('m2').NUMBER()
    return siteArea
 
44
getElementArea(elm, type)  
객체.속성  형상속성  객체의 면적 확인  확장함수  공간객체 제외한 객체의 면적을 구하는 함수이다.   elm: 면적을 확인할 객체(공간객체 제외). 
 
numeric 


def getElementArea(elm, type):
    if type(elm) == str:
        elm = ROOT.SELECT(elm)
    else:
        continue   
    building = ROOT.SELECT('building')
    space = building.SELECT('space')
    if elm not in space:
        elmArea = elm.SELECT('area', type).UNIT('m2').NUMBER()
    return elmArea

 
45
getObjectTotalArea(obj)  
객체.속성  형상속성  객체의 면적 확인  확장함수  대상 객체 collection의 면적 합계를 구하는 함수이다   obj: 면적을 확인할 객체 collection. 
 
numeric 


def getObjectTotalArea(obj):
    if type(obj) != str :
        ObjectTotalArea =obj.SELECT(obj).UNIT('m2').NUMBER()
        return ObjectTotalArea 
    else:
        myObject = ROOT.SELECT(obj)

    return ObjectTotalArea

 
46
getTotalFloorArea(spc, type)  
객체.속성  형상속성  객체의 면적 확인  확장함수  바닥면적의 합계를 구하는 함수이다.   spc: 총면적을 확인할 공간객체 
 
numeric 


def getTotalFloorArea(spc, type):
    if type(spc) == str:
        building = ROOT.SELECT('building')
        stories = building.SELECT('storey')
        spc = stories.SELECT(spc)
    else:
        continue
    totalArea = 0
    for storey in stories:
        storeyArea = storey.SELECT('area', type).UNIT('m2').NUMBER()
        totalArea += storeyArea
    return totalArea 
47
getObjectSectionalArea(obj, type)  
객체.속성  형상속성  객체의 면적 확인  확장함수  객체의 단면적을 구하는 함수이다.   obj: 단면적을 확인할 객체  
type a: 평균type b: 최소type c: 최대 
numeric 


def getObjectSectionalArea(obj, type):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objSectionalArea = obj.SELECT('sectional area', type).unit('mm2').number()
    return objSectionalArea 
48
getObjectGradient(obj)  
객체.속성  형상속성  객체의 경사도 확인  대표함수  대상객체의 경사도를 구하는 함수이다   obj: 경사도를 확인할 객체 
 
numeric 


def getObjectGradient(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    for change in obj.SELECT('level change':
        objGradient = change.SELECT('gradient').NUMBER()
    return objGradient 
49
getObjectDiameter(obj, type)  
객체.속성  형상속성  객체의 지름 확인  대표함수  대상 객체의 지름을 구하는 함수이다.   obj: 지름을 확인할 객체 
type a: 평균type b: 최소type c: 최대 
numeric 


def getObjectDiameter(obj, type):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objDiameter = obj.SELECT('diameter', type).UNIT('mm').NUMBER()
    return objDiameter 
50
getObjectMaterialType(obj)  
객체.속성  복합속성  재질의 종류 확인  대표함수  대상 객체의 재료타입을 구하는 함수이다   obj: 재료타입을 확인할 객체 
 
collection 


def getObjectMaterialType(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    objMaterialType = obj.SELECT('material type')
    return objMaterialType 
51
getSpaceIlluminance(spc)  
객체.속성  복합속성  공간의 조도 확인  대표함수  대상 공간객체의 조도를 구하는 함수이다.   spc: 조도를 구하고자 하는 대상 공간객체.  
 
numeric (조도, 단위:럭스) 


def getSpaceIlluminance(spc):
    if type(spc) == str:
        building = ROOT.SELECT('building')
        space = building.SELECT('space')
        spc = space.SELECT(spc)
    else:
        continue
    spcIlluminance = spc.SELECT('illuminance').UNIT('lx').num()
    return spcIlluminance 
52
isFireResistantStructure(obj)  
객체.속성  복합속성  방화관련  대표함수  객체가 내화구조임을 확인하는 함수이다. 대상 부재가 법규에서 명시하는 특정 조건을 만족하는 (건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제3조의 기준에 따라 내화성능을 인정받은) 내화구조인지 확인하는 함수이다   obj: 내화구조인 객체 
 
boolean 


def isFireResistantStructure(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    if obj.SELECT('prop', '내화구조').BOOL() == True:
        return True 
53
isFireProofStructure(obj)  
객체.속성  복합속성  방화관련  대표함수  객체가 방화구조임을 확인하는 함수이다. 대상 부재가 국토교통부령(건축물의 피난ㆍ방화구조 등의 기준에 관한 규칙 제4조)의 기준에 따라 방화성능을 인정받은 방화구조인지 확인하는 함수이다   obj: 방화구조인 객체 
 
boolean 


def isFireProofStructure(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    if obj.SELECT('prop', '방화구조').BOOL() == True:
        return True


 
54
isFirePartition(obj, type)  
객체.속성  복합속성  방화관련  대표함수  객체가 방화구획임을 확인하는 함수이다. 대상 공간객체가 방화구획으로 구획 되어있는지 확인하는 함수이다. 방화구획은 발화점에서 옆방이나 위층으로 불이 옮겨가지 않도록 화재에 견딜 수 있는 내화구조로 된 바닥, 벽 및 갑종방화문이나 자동방화셔터 등으로 구획하는 것을 말한다   obj: 방화구획으로 구획되는 영역(공간객체 또는 그 집합). 
 
boolean 


def isFirePartition(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    if obj.SELECT('prop', '방화구획').BOOL() == True:
        return True 
55
isLoadBearing(obj)  
객체.속성  복합속성  구조관련  대표함수  하중을 받는 객체인지 확인하는 함수이다.   obj: 하중을 받는 지 여부를 확인할 대상 객체 
 
boolean 


def isLoadBearing(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    if obj.SELECT('prop', '하중 지지 객체').BOOL() == True:
        return True 
56
getObjectStructure(obj)  
객체.속성  복합속성  구조관련  대표함수  대상 객체의 재료 관련 건축구조(예시.돌구조,벽돌구조, 철근콘크리트구조 등)를 확인하는 함수이다.   obj: 재료관련 건축구조를 확인할 객체 
 
collection 


def getObjectStructure(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue 
    objStructureType = obj.SELECT('structure type')
    return objStructureType   
57
getObjectFoundation(obj)  
객체.속성  복합속성  구조관련  대표함수  대상 객체의 기초를 확인하는 함수이다.   obj: 기초를 확인할 객체 
 
collection 


def getObjectFoundation(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue 
    objFoundation= obj.SELECT('foundation')
    return objFoundation
 
58
hasObject(obj1, obj2)  
객체.속성  관계속성  포함관계  대표함수  obj1이 obj2를 포함하고 있는지 판단하는 함수이다.   obj1: obj2를 포함하고 있는 객체.obj2: obj1에 포함되는 객체.  
 
boolean 


def hasObject(obj1,obj2):
    if type(obj1) == str:
        obj1 = ROOT.SELECT(obj1)
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)
        else:
            continue
    else:
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)  
        else:
            continue
    if obj1.SELECT(obj2).bool() == True:
        return True
    else:
        return False

 
59
hasSpace(obj1, obj2)  
객체.속성  관계속성  포함관계  확장함수  특정 공간객체(obj1)가 obj2을 포함하고 있는지 판단하는 함수이다   obj1: obj2를 포함하고 있는 공간객체.obj2: obj2에 포함되는 객체. 
 
boolean 


def hasSpace(obj1, obj2):
    spaces = ROOT.SELECT('space')
    if type(obj1) == str:
        obj1 = ROOT.SELECT(obj1)
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)
        else:
            continue
    else:
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)  
        else:
            continue
    if obj1.SELECT(obj2).bool() == True:
        return True
    else:
        return False

 
60
hasElement(obj1, obj2)  
객체.속성  관계속성  포함관계  확장함수  공간객체를 제외한 객체(obj1)가 (공간객체를 제외한)다른 객체(obj2)를 포함하는지 판단하는 함수이다.   obj1: obj2를 포함하고 있는 객체(공간객체 제외).obj2: obj3에 포함되는 객체(공간객체 제외). 
 
boolean 


def hasElement(obj1,obj2):
    spaces = ROOT.SELECT('space')
    if type(obj1) == str:
        obj1 = ROOT.SELECT(obj1)
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)
        else:
            continue
    else:
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)  
        else:
            continue
    if obj1 and obj2 not in spaces:
        if obj1.SELECT(obj2).bool() == True:
            return True
        else:
            return False

 
61
getObjectDistance(obj1, obj2, type)  
객체.속성  관계속성  거리  대표함수  두 객체 사이의 (수평, 보행)거리를 구하는 함수이다   obj1: 거리 산정 시작 객체.obj2: 거리 산정 끝 객체. 
type : 거리산정 기준. 객체에 따라 상이하다. 
numeric 


def getObjectDistance(obj1, obj2, type):
    if type(obj1) == str:
        start = ROOT.SELECT(obj1)
        if type(obj2) == str:
            end = ROOT.SELECT(obj2)
        else:
            continue
    else:
        if type(obj2) == str:
            end = ROOT.SELECT(obj2)  
        else:
            continue
    distance = start.SELECT('distance', end)
    objDistance = distance.SELECT(type).UNIT('m').number()
    return objDistance 
62
getSpaceDiatance(spc1, spc2, type)  
객체.속성  관계속성  거리  확장함수  두 공간객체 사이의 보행거리를 구하는 함수이다   spc1: 거리 산정 시작 공간객체.spc3: 거리 산정 끝 공간객체. 
type: 거리산정 기준. (생략 가능, 이 경우 type b. 이동간 최장 거리를 기준으로 한다)type a. 문과 문 사이의 이동거리.type b. 이동간 최장 거리(mrp: most remote point)type c. 실 중심간 물리적 거리. 
numeric 


def getSpaceDistance(spc1, spc2, type):
    spaces = ROOT.SELECT('space')
    if type(spc1) == str:
        start = spaces.SELECT(spc1)
        if type(spc2) == str:
            end = spaces.SELECT(spc2)
        else:
            continue
    else:
        if type(spc2) == str:
            end = spaces.SELECT(spc2)  
        else:
            continue
    distance = start.SELECT('distance', end)
    spcDistance = distance.SELECT(type).UNIT('m').number()
    return spcDistance 
63
getElementDistance(elm1, elm2, type)  
객체.속성  관계속성  거리  확장함수  두 객체(공간객체 제외) 사이의 수평거리를 구하는 함수이다   elm1: 거리 산정 시작 객체(공간객체 제외).elm2: 거리 산정 끝 객체(공간객체 제외). 
type: 거리산정 기준. type a. 객체간 최단거리type b. 객체 중심선 사이의 거리 
numeric 


def getElementDistance(elm1, elm2, type):
    spaces = ROOT.SELECT('space')
    if type(elm1) == str:
        start = ROOT.SELECT(elm1)
        if type(elm2) == str:
            end = ROOT.SELECT(elm2)
        else:
            continue
    else:
        if type(elm2) == str:
            end = ROOT.SELECT(elm2)  
        else:
            continue
    if (start and end) not in spaces:
        distance = start.SELECT('distance', end)
        elmDistance = distance.SELECT(type).UNIT('m').number()
    return elmDistance
 
64
getObjectVerticalDistance(obj1, obj 2, type)  
객체.속성  관계속성  거리  대표함수  두 객체 사이의 수직거리를 구하는 함수이다   obj1: 거리 산정 시작 객체.obj2: 거리 산정 끝 객체. 
type: 거리산정 기준. type a. 객체간 최단거리type b. 객체 중심선 사이의 거리 
numeric 


def getObjectVerticalDistance(obj1, obj2, type):
    if type(obj1) == str:
        start = ROOT.SELECT(obj1)
        if type(obj2) == str:
            end = ROOT.SELECT(obj2)
        else:
            continue
    else:
        if type(obj2) == str:
            end = ROOT.SELECT(obj2)  
        else:
            continue
    verticalDistance = start.SELECT('vertical distance', end)
    objVerticalDistance = verticalDistance.SELECT(type).UNIT('m'). number()
    return objVerticalDistance
 
65
isConnectedTo(obj1, obj2)  
객체.속성  관계속성  (물리적) 연결관계  대표함수  두 객체의 물리적 연결 여부를 확인하는 함수이다   obj1: obj2와 물리적으로 연결되어있는 객체.obj2: obj1과 물리적으로 연결되어있는 객체. 
 
boolean 


def isConnectedTo(obj1, obj2):
    if type(obj1) == str:
        start = ROOT.SELECT(obj1)
        if type(obj2) == str:
            end = ROOT.SELECT(obj2)
        else:
            continue
    else:
        if type(obj2) == str:
            end = ROOT.SELECT(obj2)  
        else:
            continue
        distance = start.SELECT('distance', end).UNIT('m').number()
        if distance == 0:
            return True
        else:
            return False

 
66
isConnectedToExternal(obj)  
객체.속성  관계속성  (물리적) 연결관계  확장함수  객체가 외기와 접하고 있는지 여부를 확인하는 함수이다   obj1: obj2와 물리적으로 연결되어있는 객체.obj2: obj2과 물리적으로 연결되어있는 객체. 
 
boolean 


def isConntectedToExternal(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
     else:
         continue
     if obj.SELECT('is external').BOOL() == True:
         return True
     else:
         return False


 
67
isSurrounded(obj1, obj2)  
객체.속성  관계속성  (물리적) 연결관계  확장함수  특정 객체(obj1)가 다른 객체(obj2)에 둘러쌓여있음을 확인하는 함수이다.   obj1: obj2에 둘러쌓여있는지 여부를 판단할 객체.obj2: obj1을 둘러싸고 있는지 여부를 판단할 객체. 
 
boolean 


def isSurrounded(obj1, obj2):
    if type(obj1) == str:
        obj1 = ROOT.SELECT(obj1)
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)
        else:
            continue
    else:
        if type(obj2) == str:
            obj = ROOT.SELECT(obj2)  
        else:
            continue
        if obj1.SELECT('surrounded', obj2).BOOL() == True:
            return True
        else:
            return False

 
68
isAccessible(obj1, obj2)  
객체.속성  관계속성  동선  대표함수  두 공간객체의 보행상 연결(이동가능) 여부를 판단하기 위한 함수이다.   obj1: 시작 객체.obj2: 끝 객체. 
 
boolean 


def isAccessible(obj1, obj2):
    spaces = ROOT.SELECT('space')
    if type(obj1) == str:
        obj1 = spaces.SELECT(obj1)
        if type(obj2) == str:
            obj2 = spaces.SELECT(obj2)
        else:
            continue
    else:
        if type(obj2) == str:
            obj = spaces.SELECT(obj2)  
        else:
            continue
       distance = start.SELECT('distance', end)
       if distance.SELECT('accessible').BOOL() == True:
           return True
       else:
           return False

 
69
isDirectlyAccessible(obj1, obj2)  
객체.속성  관계속성  동선  확장함수  두 공간객체가 다른 공간객체를 사이에 두지 않고 보행상 직접 연결 또는 이동가능 여부를 판단하기 위한 함수이다.  obj1: 시작 객체. obj2: 끝 객체. 
 
boolean 


 
70
isGoThrough(obj1, obj2, obj3)  
객체.속성  관계속성  동선  확장함수  두 공간객체간 이동시 특정 공간을 지나야만 하는지 판단하는 함수이다  obj1: 시작 객체. obj2: 중간 객체. obj3: 끝 객체. 
 
boolean 


 
71
isAdjacent(obj1, obj2)  
객체.속성  관계속성  (물리적) 연결관계  대표함수  두 공간객체가 인접하고 있는지 판단하는 함수이다  obj1: obj2와 인접한지 여부를 판단할 객체. obj2: obj1과 인접한지 여부를 판단할 객체. 
 
boolean 


 
72
isExternal(obj)  
객체.속성  관계속성  (물리적) 연결관계  대표함수  객체가 건물 외부와 면하고 있는지 판단하는 함수이다   obj: 외기와 면하고 있는지 여부를 판단할 객체. 
 
boolean 


def isExternal(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
     else:
         continue
     if obj.SELECT('is external').BOOL() == True:
         return True
     else:
         return False




 
73
isEgressDirection(obj)  
객체.속성  관계속성  방향  확장함수  문이 열리는 방향과 피난방향이 일치하는지 확인하는 함수이다   obj: 방향을 확인할 객체. 
 
boolean 


def isEgressDirection(obj):
    space = ROOT.SELECT('space')
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue
    space = ROOT.SELECT('space')
    escapeRoute = space.SELECT('escape route')
    escapeRouteDirection = escapeRoute.SELECT('direction')
    if obj is in space.SELECT('door'):
        doorDirection = obj.SELECT('direction')
        if escapeRouteDirection == doorDirection:
            return True
        else :
            return False
    else:
        obj.ERROR('문이 아님')
 
74
isPartitioned(obj1, obj2, obj3)  
객체.속성  복합속성  구획하다  대표함수  법정 기준에 따라 대상 객체와 다른 객체의 구획 여부 및 그 상태를 나타내는 함수이다.   obj1: 구획되는 대상 객체. obj2(생략 가능): obj1과 구획되는 영역(공간객체 또는 그 집합). 생략된 경우 obj1을 제외한 건물의 다른 부분을 의미한다. obj3: obj1과 obj2를 구획하는 객체. 
 
boolean 


 
75
isShared(obj1,obj2,obj3)  
객체.속성  관계속성  겸용하다  대표함수  대상 객체(obj1)가 특정 객체(obj2,obj3)와 겸용되고 있음을 확인하는 함수이다.  obj1: obj2와 obj3와 겸용되는 객체 obj2: obj3와 obj1을 겸용하는 객체 obj3: obj2와 obj1을 겸용하는 객체 
 
boolean 


 
76
isVacant(obj, numeric)  
객체.속성  복합속성  방화관련  대표함수  isvacant(obj, numeric) 반경 numeric 이상의 공간을 보유   obj: 확인할 객체 , numeric: 반경 
 
boolean 


def isVacant(obj, numeric):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else:
        continue 
    if obj.SELECT('is vacant', numeric).BOOL() == True:
        return True
 
77
isParallel(obj a, obj b)  
객체.속성  관계속성  거리  대표함수  isparallel(obj a, obj b) 서로 평행하게 설치되었는지를 확인하는 함수   obj a, obj b: 확인할 객체 
 
boolean 


def isParallel(obj1, obj2):
    if type(obj1) == str:
        obj1 = ROOT.SELECT(obj1)
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)
        else:
            continue
    else:
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)  
        else:
            continue
    if obj1.SELECT('is parallel', obj2).BOOL() == True:
        return True
    else:
        return False

 
78
isInstalled(obj a, obj b, type)  
객체    존재유무  대표함수  isinstalled(obj a, obj b, type) obj a에 obj b가 존재하는지 확인하는 함수   obj a: 존재여부가 확인 될 공간, obj b: 존재여부를 확인할 객체 
type: 존재 여부 산정기준 type a. 천장 최상부에 설치하는 경우 type b. 천장을 중심으로 obj를 마주보게 설치하는 경우 type c. 측벽형스프링클러헤드의 설치를 확인하는 함수 
boolean 


def isInstalled(obj1, obj2, type):
    spaces = ROOT.SELECT('space')
    if type(obj1) == str:
        obj1 = spaces.SELECT(obj1)
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)
        else:
            continue
    else:
        if type(obj2) == str:
            obj2 = ROOT.SELECT(obj2)  
        else:
            continue
    if obj1.SELECT(obj2).bool() == True:
        isInstalled = obj1.SELECT('is installed', obj2)
        installedType = isInstalled.SELECT(type).bool()
        if installedType == True:
            return True    
        else:
            return False
    else :
        obj1.ERROR('설치되지 않음') 

 
79
getObjectVerticalLocation(obj1, obj2, type)  
객체.속성   관계속성  위치  대표함수   obj1을 기준으로 obj2의 수직적 위치를 확인하는 함수이다.   "obj1: 위치를 확인할 객체 obj2: 위치 확인의 기준이 될 객체"  
"(생략 가능, 이 경우 obj1을 기준으로 obj2가 어느정도 높이에 있는지 확인한다) type: 위치 파악 산정 기준 "  
numeric  


 
80
isDiverged(obj1, obj2)  
객체.속성   관계속성   분리하다   대표함수   obj1로부터 obj2가 분기됨을 확인하는 함수이다.   "obj1: 분기의 기준이 될 객체 obj2: 분기될 객체"  
 
boolean  


 
81
isInstalledInOrder(obj1, obj2, obj3, ....)  
객체.속성   관계속성   설치순서   대표함수   obj1부터 차례대로 설치되었는지를 확인하는 함수    
 
boolean  


 
82
getObjectInterval(obj1, obj2)  
객체.속성   관계속성   거리   대표함수   obj1로부터 가장 가까운 obj2의 거리를 확인하는 함수이다.   "obj1: 거리를 확인할 객체 obj2: 거리 확인의 기준이 될 객체(생략 가능, 이 경우 동일한 종류의 obj1 중 자신을 제외한 가장 가까운 객체와의 거리를 측정한다.)"  
 
numeric  


 
83
isExistTogether(obj1, obj2, obj3)  
객체.속성   관계속성   존재유무   확장함수   obj3에 obj1과 obj2가 같이 있는지 확인하는 함수이다   "obj1, obj2: 동시 존재 유무를 확인할 객체 obj3: 객체의 존재 배경이 되는 객체 (생략 가능, 이 경우 전체 건물을 대상으로 한다)"  
 
boolean  


 
84
getObjectCountInInterval(obj1, obj2, obj3)  
객체     개수확인   확장함수   obj2와 obj3 사이에 있는 obj1의 개수를 확인하는 함수이다   "obj1: 확인할 객체 obj2, obj3: obj2와 obj3 사이에 확인할 객체가 놓임 (obj3은 생략 가능, 이 경우 자신을 제외한 동일한 obj2를 기준으로 한다) "  
 
numeric  


 
85
isReplaced(obj1, obj2)  
객체.속성   복합속성   대체가능성 확인   대표함수   obj1이 obj2로 대체하는지 확인하는 함수이다   "obj1:대체될 객체 obj2: 대체할 객체"  
 
boolean  


 
86
isObjectProperty()  
객체.속성   기본속성   기본속성 확인   대표함수   대상 객체의 특정한 속성을 확인하는 함수이다.   객체 및 속성  
 
boolean  


 
87
getResult()  
객체.속성   기본속성   법규확인   컨트롤함수  특정 법규의 true / false 값을 구하는 함수이다.   법규명  
 
boolean  


 
88
getObject(obj)  
객체    객체쿼리  대표함수  건물에서 구하고자 하는 객체를 쿼리하는 함수이다   obj: 1) 쿼리할 객체 2) 쿼리할 객체명  
 
객체 collection 


def getObject(obj):
    if type(obj) == str:
        obj = ROOT.SELECT(obj)
    else :
        continue
    return obj 
89
getSpace(spc)  
객체    객체쿼리  확장함수  공간객체를 쿼리한다.   spc: 공간객체 또는 쿼리할 공간 객체명 
 
객체 collection 


def getSpace(spc):
    if type(spc) == str:
        building = ROOT.SELECT('building')
        space = building.SELECT('space')
        spc = space.SELECT(spc)
    else:
        continue
    return spc