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.