Migration of Planon AutoCAD DWG custom content to Maximo

Planon DWG - Extraction of Content

Background

Bank of Austria (BoA) uses a combination of AutoCAD DWG drawings and Planon for «space planning». There is a multi-step process that involves synching data between AutoCAD and Planon several times. Much of the data is sourced from Planon and then stored in the AutoCAD drawing.

The basic operation involves storing Planon data (or at least the link to the Planon data) as Extended Entity Data (known as XData) attached to Polylines in the AutoCAD drawing. That data (or data imported via the key stored in the XData that is used to extract the Planon data) is then used by the Data to create Space Stamps and Rental Stamps (and other stamps for lockers, etc) in the AutoCAD file.

We have examined the XData in the AutoCAD files and it appears that only an identifier is stored as XData, not the full XData. We surmise this value is a a key into the Planon system. Planon talks of Exporting Data from it into various forms. We need a copy of this exported data to verify the linkages that we are surmising in this document.


Polyline XData

The Polyline on layer RAU-PL that surrounds the Space Stamp we are looking at has AutoCAD Handle B0C23B4.



The Planon XData that is attached to the polylines is quite simple. It consists of the Planon RMT identifier and then an integer value. The XData for that Polyline is shown below:


	"Entity_Type": "LWPOLYLINE",
	"Layer": "RAU-PL",
	"Handle": "B0C23B4",
	"xData": 
		[
			{
			"Code": 1001,
			"Value": "PLANON_RMT"
			},
			{
			"Code": 1000,
			"Value": "74444"
			}
		]
	},

The XData “Code” 1000 just means the data is a text string, while code 1000 means it is an integer. Other codes are used for other types of data, but none of those are used here. We would write them out if they were present.

What the value “74444” represents is unknown, although it is likely to be a key into the Planon system. It does not reappear in the DXF file, so it is not a link to other fields.

Polyline DXF Description

Here is the DXF representation of the polyline in question:


  0
LWPOLYLINE
  5
B0C23B4
102
{ACAD_XDICTIONARY
360
B0C23C8
102
}
330
2
100
AcDbEntity
  8
RAU-PL
100
AcDbPolyline
 90
        8
 70
     1
 43
0.0
 10
-4923.146863062066
 20
486.9330200000077
 10
-4257.977940000001
 20
486.9330200000077
 10
-4257.977940000001
 20
-223.0669749999943
 10
-4285.477940000001
 20
-223.0669749999943
 10
-4285.477945000001
 20
-270.566984999994
 10
-4518.977945000002
 20
-270.566984999994
 10
-4518.977945000002
 20
-223.0669749999943
 10
-5045.477938600907
 20
-223.0669749999942
1001
PLANON_RMT
1000
74444

There is AutoCAD Dictionary data at the beginning of the polyline:


102
{ACAD_XDICTIONARY
360
B0C23C8
102
}

This is a link to a Dictionary entry. That dictionary entry has a link back to the original polyline (B0C23B4) and then a link to another Dictionary entry (B0C23C9)


  0
DICTIONARY
  5
B0C23C8
330
B0C23B4
100
AcDbDictionary
280
     1
281
     1
  3
DataRecords
360
B0C23C9

That Dictionary entry has a link back to the previous Dictionary entry (B0C23C8) and a link to the Planon_Space Dictionary entry (B0C23CA).


  0
DICTIONARY
  5
B0C23C9
102
{ACAD_REACTORS
330
B0C23C8
102
}
330
B0C23C8
100
AcDbDictionary
281
     1
  3
Planon_Space
350
B0C23CA

That Dictionary entry has another link back to the previous Dictionary entry (B0C23C9) and a link to the actual Planon Data (B0C23CB). It also has six other fields that we do not know what they represent.


  0
XRECORD
  5
B0C23CA
102
{ACAD_REACTORS
330
B0C23C9
102
}
330
B0C23C9
100
AcDbXrecord
280
     1
1071
        1
1000
Space
1071
        1
1000
NET
1071
        1
1005
B0C23CB

This hierarchy is shown as:


classDiagram
direction LR
      B0C23B4 --|> B0C23C8
      B0C23C8 --|> B0C23C9
      B0C23C9 --|> B0C23CA
      B0C23CA --|> B0C23CB
      class B0C23B4{
          360: B0C23C8
      }
      class B0C23C8{
		360: B0C23C9
        }
      class B0C23C9{
		350: B0C23CA
        }
      class B0C23CA{
       280:     1
1071:         1
1000:   Space
1071:        1
1000: NET
1071:        1
		1005: B0C23CB
        }
     class B0C23CB{
		280:     1
		1071: 	1
		1071:	-1003
		1071:	1
		1000:	EG.12.0
		1071:	0
		...
        }


Space Stamp

The Space Stamp that corresponds to this polyline (Room EG.12.0) is shown below. We have checked and the data does not appear in XData form in the drawing, only in attributes that are created in the Space Stamp creation step.


Last updated on 5 Jan 2024
Published on 5 Jan 2024