Nesting Dynamic Component inside another DC

I have an existing dynamic component that I am trying to place inside of another DC to retain the functionality of the original DC but add a new “layer” of functionality. The original DC is a parametric projection frustum that scales and changes size based on typical parameters for projection such as lens throw and video aspect ratios. It works great but I have to manually add in a projector model to this each time I use it in a drawing.

I am trying place this whole DC inside a new DC along side various scale projector models so that I can select various common projectors models in the correct location relative to the projection “beam”. I have managed to create the new DC with various models nested inside and create the functionality to show and hide the different projectors. The issue I have is that when I re-reference the parameters from the original DC to show up in the DC options (placing new parameters in the top level component and mapping the old parameters to these new ones) my scaling functionality seems to be broken. It shows the correct numbers as if it is doing the math correctly but the model does not actually scale any more once nested inside this new component.

In summary - and to put it another way - how do I take the parameters that are showing up in a working DC and make them show up and function when nested inside another DC?

Here is the original working DC:
Projector Beam Object.skp (35.0 KB)

Here is the new DC that is not working:
Dynamic Projector Model_V1.skp (2.6 MB)

you have locked the scale to the throw distance
leny=Dynamic Projector Model!throw_distance

Hmmm, ya that is supposed to function that way, same as in the original. The length never changes unless you manually tell it to do so. The issue is that the shape is not changing with the aspect ratio as in the original version. As far as I can see, I have mapped all attributes to just mirror what I had in the original but visible and able to edit in the top level component.

the aspect ratio works if calculations done in parent.
there seems to be a bug in passing values down then up then back down again

with regards to be able to scale the beam using the scale tool, you will note in the original, lenY is free (grey) so able to scale. you can do the same, but you need to free this from the parent, and fix its location, fix the projectors size and position too
then to alter either double click into the projector beam or select it in outliner , then enter the throw or scale as per your original, after closing (best in outliner to select “Dynamic Projector Model” then right click menu “redraw”)
Redraw is a unresolved short coming or bug that has to be manually implemented, an update in the option dialog can do this as well, yet no automatic way.

file with working original and amended
projector.skp (2.6 MB)

Thanks, that seems to be doing something but now the aspect is not calculating correctly. Wondering if the best solution is just to plan to access the frustum DC options inside that nested component and not try have them all be reflected and editable at the top level.

one of the essentials in building a DC is to keep all the elements correctly scaled in reference to each other,
I (right click menu) scaled the definitions of the sub components to the project Beam object, then placed an oversize container at the end of the beam to house the projectors, you can add the projectors. This then should be a more stable outcome. Added method to choose between scale and measure input
projector.skp (56.2 KB)

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.