Online Hierarchy Display from AutoCAD

In Facilities Management applications it is often desirable to know what assets are in a given area.

In this article we will look at using Tailor Made Software’s LinkList program to figure out “What’s in a room?”. [LinkList is a command line driven program available on both Windows (32-bit and 64-bit) and Linux (64-bit). It is designed to output information about what is in an AutoCAD DWG/DXF file and can do some data mining processing on AutoCAD files.

The Hierarchy Display in LinkList figures out the structure based on a visual “Here’s the room, what is in it?” process. A text or block is defined as a unique ID for the room.

The Room Outline is then determined by calculating which is the smallest room outline in area (assuming there is more than one) that the ID is located in. A Room Outline (or Area Outline, it does not have to be part of a building - any defined area, even part of a mechanical part, can be used) is an area that has been defined by a closed polygon on a given layer.

The actual polygon can be either a 2D Polygon, 3D Polygon or Lightweight Polygon, the important part is that it is closed and on a defined layer.

After the Room Outline is determined, LinkList determines which other blocks are physically inside the Room Outline, and outputs the information based on that hierarchy.

Sample Drawing:



Processing Steps:


1: Determine Room ID

2: Determine Room Outline

3: Determine Blocks in Room Outline



Example of Hierarchy Processing


Hierarchy Processing is done with a minimum or two and up to four parameters for the full effect. The parameters are:

1: RL or RoomLayer - defines the layer(s) that the Room Outlines are defined on. They should be the only things defined on this layer(s)
2: Hierarchy - show that Hierarchy processing should be done
3: BlockName - defines which block should be used to determine the Room Id
4: BNA - defines the Block Name Attribute, the Attribute that defines the Room Id


-i="d:\drawings\anten.dwg" -json -rl=POLI-RM -heirarchy -bna=MNF_COD_M -blockname=MFM_COD_VANO

This produces a JSON file with the hierarchy defined (abbreviated):

{
    "Outline_Handle": "17404",
    "Room_Name": "ANTEN_P03_118",
    "Blocks": [
      {
        "Name": "AN_ARC_E_P03_ID$0$COD_LOC_cmb",
        "Layer": "A_COD_locali",
        "Handle": "9453",
        "Attributes": [
          {"XX": "AN"},
          {"X": "03"},
          {"X": "ATTESA"}
        ]
      },
      {
        "Name": "MFM_COD_VANO",
        "Layer": "A-LOCALI",
        "Handle": "102691",
        "Attributes": [
          {"MFM_BLOCKCODE": "RM"},
          {"MFM_DESCRIPTION": "VANO"},
          {"MFM_AZIENDA": "MFM"},
          {"MFM_COD_COMPLESSO": "MNZ0101"},
          {"MFM_COD_EDIFICIO": "MNZ0101_ANTEN"},
          {"MFM_COD_PIANO": "MNZ0101_ANTEN_P03"},
          {"MFM_COD_LOCALE": "MNZ0101_ANTEN_P03_118"},
          {"MFM_COD_MACROAREA": "03) BASSO RISCHIO"},
          {"MFM_COD_N": "ANTEN_P03_118"}
        ]
      },
      {
        "Name": "LSM",
        "Layer": "I-EMERGENZA",
        "Handle": "10E802",
        "Attributes": [
          {"MFM_BLOCK": "1"},
          {"MFM_BLOCKID": "104"},
          {"MFM_BLOCKCODE": "LSM"},
          {"MFM_NAME": "MFM_BLOCK_104_000001"},
          {"MFM_NAMEB": "LSM_000001"},
          {"MFM_DESCRIPTION": "PLAFONIERA CON MODULO EMERGENZA"}
        ]
      },
      {
        "Name": "PINT",
        "Layer": "I-ELETTRICO",
        "Handle": "112F14",
        "Attributes": [
          {"MFM_BLOCK": "1"},
          {"MFM_BLOCKID": "104"},
          {"MFM_BLOCKCODE": "LSM"},
          {"MFM_NAME": "MFM_BLOCK_104_000001"},
          {"MFM_NAMEB": "LSM_000001"},
          {"MFM_DESCRIPTION": "PLAFONIERA CON MODULO EMERGENZA"},
          {"MFM_AZIENDA": "MFM"},
          {"MFM_DESCRIZIONEAZIENDA": "MFM"},
          {"MFM_NAMEU": "marco"}
        ]
      }
   ]
}

Do Download the Article!



ENJOY - and get in touch!