Since FreeCAD 0.19.18350 (git commit 6b6c0a503ca129174790e5a3ebe2ab95b6e96597), thanks to Realthunder:
Vector, Placement and Matrix math is available in spreadsheets and expressions.
=Cylinder.Placement.Base * 2 to set a spreadsheet cell to have a vector value
=Cylinder.Placement to set a cell to a placement value
to create a vector/placement from scratch:
=create(<<vector>>, 2, 1, 2)
=create(<<rotation>>, create(<<vector>>, 0, 1, 0), 45)
=create(<<placement>>, some_vector_value, some_rotation_value)
Doesn't seem like there is a GUI way to bind expressions to placements and vectors. (Maybe in Asm4.) But it is possible with py console:
App.ActiveDocument.Cylinder.setExpression('Placement', 'Box.Placement') - to make placement of Cylinder follow placement of Box
App.ActiveDocument.Cylinder.setExpression('Placement', 'Box.Placement^0.5') - place cylinder halfway between box and origin (since 0.19.18519)
I picked these up from unit test code, check it out for more usage examples.
https://github.com/FreeCAD/FreeCAD/blob ... et.py#L876
@realthunder, can you add something to this?