Many thanks for the quick feedback, TIG!
Seems to make a lot of sense. Not able to test right now (deadline looming on another project) but will test and feedback.
Teebs
Many thanks for the quick feedback, TIG!
Seems to make a lot of sense. Not able to test right now (deadline looming on another project) but will test and feedback.
Teebs
Hi TIG,
I suspect Tenquin may be referring to my post just above, which would involve relinking identical dynamic components that have lost their original definition due to a redraw action within nested dynamic components (see my post). Your suggested approach in your original post would not work, as the redrawn DCs get renamed as unique (although they are not).
Any suggestion on how to achieve this?
Cheers,
Teebs
Hi pcmoor,
Many thanks for the reply and example files.
Yes, that is a nice trick that works: changing any parameter in the component option window and clicking apply will update the calculation without redraw.
Cheers!
A.
Hi,
I noticed that the facearea() calculation in dynamic components gets updated automatically on rescale of a dynamic component.
However, when that component is edited (modifying its geometry to make surfaces larger, for instance, it does not get updated automatically, unless the dynamic component is then redrawn manually (context menu > dynamic components> redraw).
This is fine and I could simply add a redraw() action on click interaction, but this unfortunately creates complications for me, as each dynamic component (a room) contains dynamic component windows and a redraw of the room component actually makes each window DC it contains unique (even though they are the same and should remain so, for window scheduling purpose).
So my question is: is there a way to force this facearea() recalculation in a dynamic component without redrawing it? With Ruby maybe?
Any help on this would be much appreciated.
Cheers,
Antioche
Hi xombie1912 and TIG,
I would be interested in using the ruby script that you described, that is to say, run through the selection and swap components that match a specific name pattern with others.
More specifically in my case, I want to find modified dynamic components (automatically named by SketchUp for instance Name_of_initial_component#3 ) to revert them with the original component definition (Name_of_initial_component).
The reason for doing this is that I have create a Room dynamic component that calculates its floor area using the FACEAREA property. Inside each rooms are dynamic Windows and Door components. I need to have a separate instance of these windows/doors something else in the model to create a graphical schedule of doors and windows.
However, I need the Room dynamic components to recalculate FACEAREA() of a certain material, but this calculation is only updated when the component is redrawn (Right Click > Dynamic Components > Redraw). Unfortunately, this redraw causes all dynamic components inside them to become unique components (hence being renamed Name_of_initial_component#1 instead of Name_of_initial_component), so that they are now treated as separate definitions (although they are still identical) and the link to the schedule is broken (i.e. updating one does not update the other...). Not sure why...
The script would allow me to quickly run through the Room components and reassign the correct window/door definitions to the components it contains.
Alternatively, if you know a way to refresh a FACEAREA() calculation in a dynamic component without requiring a redraw? That would be my preferred solution...
Any suggestion or draft function of this Ruby function you described?
Cheers,
Teebs
I've been looking for a way to sort that beachballing bonanza every time I selected something in Sketchup with a rectangular selection on my Mac Mini Dual-Core. This worked like a charm! The selection is now almost instant!
Thanks a lot for working out this great patch!
Antioche