OptionalahAdjust handles, document order.
'xy gdRefX gdRefY posX posY [minX maxX minY maxY]' or
'polar gdRefR gdRefAng posX posY [minR maxR minAng maxAng]'. An absent reference or bound
is _; the bounds group is omitted when all four are absent.
OptionalavAdjust values, document order: 'name val N'.
OptionalcxnConnection sites, 'ang x y' each.
OptionalgdCalculated guides, document order: 'name op a b c'. A name may be rebound.
OptionalrectText rectangle 'l t r b'; absent is the whole frame.
A geometry definition, as DrawingML states one: adjust values, guides, handles, connection sites, text rectangle and paths. A shape drawn from its own geometry (a file's
custGeom) gives one as its IShape.Properties.geometry; every Preset is one too.Remarks
The definition is DrawingML's own formula language, kept verbatim (
'x1 +- hc dx1 0') so it reads like the markup it came from, and the way a file states a custom shape round-trips unchanged. SheetXL evaluates it rather than models it: lengths come out in the unit the shape is evaluated in (pixels), and angles in degrees. Inside the language, angles are 60,000ths of a degree and ratios are 100,000ths, which is what an adjust value is.