I may be missing something there.
In my code, I use one or more componentInstance of a root componentDefinition and I enrich this root componentDefinition with (sub)componentsInstance. It works well but the transform doesn’t seem to be correctly managed.
When I add a new componentInstance to this root componentDefinition, the new instance doesn’t get the transform and seems added to be in global space. Color me puzzled.
Here follows the code I use:
// Create a component instance.
SUComponentInstanceRef instance = SU_INVALID;
SUComponentDefinitionCreateInstance(node_definition, &instance);
SUComponentInstanceSetName(instance, node_name.c_str());
// Get entities of the root component.
//https://www.sketchup.com/intl/en/developer/su-api/component__definition_8h.html
SUEntitiesRef entities = SU_INVALID;
SUComponentDefinitionGetEntities(current_root_definition, &entities);
// Add the new component instance to these entities.
//https://www.sketchup.com/intl/en/developer/su-api/entities_8h_source.html
SUStringRef out_string_ref = SU_INVALID;
SUStringCreate(&out_string_ref);
SUEntitiesAddInstance(entities, instance, &out_string_ref);