The SHAPE_PARTS structure is an array of objects, each representing a single shape part. The shape part's ~type attribute defines the type of SVG element that will be created. All the basic SVG element types can be used, including ~rect, ~circle, ~ellipse, ~line, ~polyline, ~polygon, ~path, ~text, and ~image. The remaining attributes are visual attributes specific to the shape part's type. See the SVG 1.1 Specification (www.w3.org/TR/2003/REC-SVG11-20030114) for more details.
All shape part attributes (except for type) can be expressed using dynamic formulas. A dynamic formula is string containing a valid JavaScript expression that involves one or more GML property references. A GML aspect property reference is written by adding the \@ prefix (e.g., \@fontSize). A GML object property reference is written by adding both the \@ prefix and ! suffix (e.g., \@name!). The ! suffix can be omitted from an object property reference, provided there is no aspect property with the same name.
NOTE: Dynamic formulas that depend on shape size cannot be used for the body parts of auto-sized shapes. Otherwise, cyclic dependencies will be created, resulting in inconsistent shape resize behavior.