Yes, you pass the attributes through
The parent generally contain the user input, this next level, a wrapper of the existing sub components does become somewhat a clone of its parent, however you could move some of the initial workings (formulas) to this level.
It depends on the purpose for this insulation, the example given allows the leny, the run of the rafter to be scaled and swapped with say a truss of the same coverage and they will match
The key is that the size attribute needs to be exposed in the parent with use of the current(“leny”…) formula then you can swap the component with a different definition (not just its own) and the child reference that, thus updating to the size in your model. Once the component is installed into the model it may not matter if that current(“leny”) is overridden, so long as the “saveas” definition contains it.
This intermediate wrapper can be used as the point of simplification, I now place named attributes that act as a script for a ruby script to follow at this point, that is the order of operation like explode, outershell, explode and at what level, another to change the status of the parents options access to view only.
Although the DC can be simplified manually, a script can do the job so much quicker. Ruby should be considered in your workflow, just like “lisp” in AutoCad. I suggest you consider Aerillus “toolbar editor” as a way of running the snippets, Ruby code editor by Schreyer as a script writer, attribute inspector by Aerillus for insight into the DCs data base. There are many examples that are helpful, http://sdmitch.blogspot.com/ is a good source, a version of his rotate,align scale tool can be used to place components without the need to do all the separate actions to place and scale a DC
Please private message me for specific details