Dynamic components made unique after scaling
-
I know, I am almost two years late for this. But I just had time to play a bit with DCs again. And I think the behavior is not ideally in line with a typical SketchUp workflow.
Firstly I think it is very important not to set the scale factor of a DC back to 1x when rescaling it. Ordinary components (and groups, for that matter. and even DCs without sub-DCs) keep their scaling information, enabling you to replace the component with a different one, therefore applying the custom scale factor to the new component as well. The workaround of introducing another function to replace a DC is a somewhat awkward, unnecessary step, that makes everything more complicated; in some cases it may even destroy the work of several hours (because you can only do it for one component at a time)...
So please keep the scale factor of a DC (or at least keep the information to apply it to another component when being replaced)!
Secondly the behavior of a DC becoming unique, when being rescaled. A DC without subcomponents behaves as an ordinary component does. It doesn't get made unique. Only when a DC contains dynamic sub-components it becomes a unique component when scaled.
In general I would say this behavior of becoming a different component when being scaled is not in line with the typical SketchUp workflow. An ordinary component doesn't become unique after all. So if one has a fassade-panel for example that fits any size nessecary (but is always the same type of panel, just with custom size) you don't want every single component with different scale to be unique.
However, I do see the benefit of it in cases where you want these components of different scales to be different, for example when having windows filling a few different openings (then you would very much like to select all windows with lets say 80cm width).
So there are two scenarios where one of those two behaviors may be preferrable.
Therefore I would suggest to have an option within the DC window to toggle the "make unique at rescale" behaviorI hope these suggestions can still find there way to Google, even if its two years ago that DCs were introduced...
-
@plot-paris said:
I know, I am almost two years late for this.
And I'm many many years later... (almost feels like "back to the future")
@plot-paris said:
So there are two scenarios where one of those two behaviors may be preferrable.
Therefore I would suggest to have an option within the DC window to toggle the "make unique at rescale" behaviorI hope these suggestions can still find there way to Google, even if its two years ago that DCs were introduced...
Any chance there is now a way to do these two different behaviors!?
-
@unknownuser said:
There was a lot of debate about this before launch. We wanted DCs to follow the rules of SketchUp as much as possible. So the question became: "If I have 3 DCs in a model, and I scale one of them, should all of them update? Or should only the one I scaled?"
...In the end, we thought it would be more frustrating to have every instance in the model update instead of just the one you scaled.
We've talked about adding some kind of toggle that would allow you to choose which behavior you prefer. Any thoughts on that? Do you guys think we did it backwards? I'd love to hear your ideas.
No, you didn't do it backward or forward, you just didn't work it out at all. The only logical solution would be to scale the one DC WITHOUT BREAKING THE LINK TO THE ORIGINAL COMPONENT DEFINITION.
It is essential to design workflow to be able to go back and make changes to ALL elements throughout a project in a quick and centralized way. As budgets change, design options are accepted/rejected/marked up, and products enter or leave the market, the ability to edit a single entity and broadcast that change to all instances in the model could save hundreds of production hours.
I am actually really surprised to discover that this is how DC work and the whole scheme is actually intentional. I am not a programmer but I don't understand why this could not be fixed? User Defined attributes can already feed sub-entites data, like LenX for a certain sub-group can be set to the User Defined attribute "MyLength" so why should it matter if one DC has "MyLength" set to 20 when another is set to 30? I must be missing something here?
Revit and AutoCAD have this ability baked into Families and Dynamic Blocks already. The both use dimensional constraints and user-defined parameters to set the contextual "data" of an entity and objects within can be set to react to that context in different ways.
And I think a "Component Replacer" is more of a band-aid approach than an actual solution. If it could be written as a 3rd party script (I believe ThomThom already did), it would have to not just reset the definitions of all the bastardized components, it would have to note and re-create ALL of the attributes of every component in the model so that all the scaling, visibility, etc. of various components would not be lost in the re-writing.
Please tell me this has already been worked out in SU2017 or something and that is why there has been no further dialog on it!
Advertisement