We've thought about adding a general attribute capability to OpenVSP a
few times. Generally speaking, it would be a user-accessible (GUI and
API) mechanism for associating name-value pairs with components and
also subsurfaces.
We also have a name-value subsystem in the Results Manager that helps
unify accessing the results from various analysis runs via the API.
I wouldn't slap this project on as a requirement for adding metadata
to STEP files. I think you guys can work with something more modest.
Using the 'name' fields to embed the component names is obviously a
good thing. Perhaps one of the recommended practices can give
guidance as to which level of the hierarchy we should target when
naming a component.
Using the STEP UDA RP stuff seems like the way to go to identify
whether a given surface is a body- or wing-type surface and other
general information.
It can probably be used to identify the symmetry ancestry of a
component - and that information is generally useful enough that it
makes sense to add it for everyone. However, there may also be a
structural way to imply that information to the STEP file. It seems
like all those levels of hierarchy ought to be useful for something...
If you want to embed metadata that is specific to your application,
you can always make it policy that users embed that metadata in the
component names. For example something like "Wing::metadata". No
code needed, just policy.
Rob