I wanted to check what the intended behaviour is for nesting speckle geometry objects (SGO) in within speckle data objects (SDO) is.
I had assumed we would be able to nest SGO within SDO and they would retain their names and properties etc.
however the nested objects loose all additional properties associated with them and revert to their basic geometry form.
My intention was add meta data to the base geometry so when I deconstruct the object on the other side I still have reference to what it was rather than an array of basic geometry.
i.e this geometry is a beam representation, this curve is the centre line, this curve is a connection point…
See test example below, which shows the SGO names overwritten by the SDO and properties dropped, Is the workflow i describe intended to be possible?
When you add a Speckle Geometry Object to the geometry property of a Speckle Data Object, only the raw geometry gets stored, not the wrapper object with its properties and metadata.
The geometry property is intended for displayable geometry primitives, not for storing semantic objects with metadata. This is by design for visualization purposes.
Is the intended behaviour something like: geometry of the beam being the 3d representation, but the data having the baseLine information, similar to what revit publish has on the properties level? In that case, we can look to use the properties on the Speckle Geometry / Speckle Data Object to store the baseLine start and end point(s) that can be used in downstream workflows. Would that be an option?
I think blocks are the answer hear as i can nest multiple speckle objects into one block. Every block instance will be unique so needs its own definition but allows me to access the underlying objects in a structured way.