Extended Entity Data
Each entity in an AutoCAD file may have associated extended entity data. This data is typically used by applications to store attribute information. The AutoCAD reader attempts to make extended entity data as simple to use as possible by storing it in three different formats within the FME feature object. The first two formats merely store the data as found in the drawing file in the feature, while the third format attempts to present the attribute information in a more useful manner. It is important to remember that when extended entity data is read from an AutoCAD file, all three formats are stored within a single FME feature. The format that is actually used (if any) is dependent on the configuration of the remainder of the FME mapping file.
The AutoCAD writer understands both the list format and the interpreted format, creating extended entity data from attribute data in the list format form if they are present. In the absence data in the list format form, the writer will create extended entity data from attribute data in the interpreted format, when the DEFAULT_ATTR_STORAGE
directive is set to extended_entity_data
, or the autocad_attributes
attribute is set to extended_entity_data
. The size of extended entity data that can be stored on a single entity is limited to 16K bytes. The AutoCAD writer is limited to creating 8K bytes per entity.
Note: This is not applicable to ReadDWG.
The interpreted format setting is described in Interpreted Format, for extended entity data. When writing extended entity data, the FME features being output must structure their attributes in this way. That is, the attribute data is stored with each attribute being a single extended entity string in the form <attribute name> = <attribute value>. Storing the data in this manner enables the data to be easily viewed by AutoCAD and read by the FME reader module.
Extended entity data items may be used together to store more complex data, such as hyperlinks, where a display name string is grouped by control strings, related to a preceding location string. For example:
1001 HYPERLINK_NODE 1000 http:\\www.safe.com 1002 { 1000 Safe Software 1000 }