Complex dynamic components - slow...
-
Hi, i'm using sketchup to create and design cabinets and am trying to do this via dynamic components. so in my cabinets i have sections that i have designed as dynamic components that can be either a door, a door and a draw draw, three draws, change the frame width.... etc etc... these sections add up to one big dynamic component and all these various options can be altered through the dynamic components atributes and options windows... This all works great in theory and I have it sussed so that it will do as I want.
My only issue is that the more complex the calculations become and the more components that are involved i'm finding that it's all getting very slow and everytime i make a change in the attributes input i find that I have to wait a quite an age for it to alter the model. This slowness is exadurated even more as the components become larger and more complex with more calculations to sort through...
Is there anyway to speed this up? I know that I can create what I want to but am definitely being limited by the lagging. I'm pretty sure if I try to make it anymore complex or start making multiples of the components then it'll just bubsplat on me! anyone else experiencing these issues? It's not struggling with the geometry being too 'heavy' just the lengthy sums and calculations, if's, and's, or's etc... running throughout the nested components.
If anyone has any thoughts on how to make this work better then it'll be greatfully recieved! Maybe I just need a more beefy CPU?
I look forward to hearing your thoughts ...
matt -
some ideas
for doors use flip along axis instead of using a left and right component. (for rotating function, you need to place an extra component wrapper to protect contents)
don't hide different types of doors,knobs or other components; swap them instead.
make complex items with multiple solids that can be "outer shelled", for ease of takeoff, painting..then can be swapped for update,,,,see "rafter tails" a previous post
use the paint method to nominate materials, a swatch key on the template, rather than include in the component
generally the idea is to use the dynamic to create objects then convert them to normal components that take up less file space, easier to paint and preform reports, Then if require swap a component with its DC to make changes, then either outer shell and explode to make it a simple component again with changed attributes
Philip
'
-
I have the same experience of complex DC's being slow. The more relationships you have in your DC, the more calculations the DC needs to do when updated. There isn't anything you can about that other than minimizing the number sub-components and relationships in the DC.
-
well, this means only that Sketchup DC code is very badly built and it should be optimized by Trimble.
-
@pcmoor said:
for doors use flip along axis instead of using a left and right component.
i understand the "flip along axis" concept you speak of, but i have no idea how to implement it in the sub-component of a dynamic component (such as the door on a dynamic cabinet). for instance, i'm currently using the latter method you mentioned (i have two door components, one left and one right, and the left door stays hidden when the cabinet is "hinged right," and vice versa). i would love instead to use a single door that can be hinged either left or right. but when i try to do that, i get door rotation and door location issues.
W1D.skp
above is a single door wall cabinet (designed by Exitenz) that i found in the 3D Warehouse, and it uses only a single door component that can be hinged left or right (as opposed to using two door components like i did, and keeping one of them hidden at any given time). the door position and rotation formulas make sense to me when i look at them in the component attributes window, but only if the door's component axes change when the hinging changes from left to right or from right to left. in other words, his door must work as hinged left and hinged right b/c it flips along an axis whenever the hinge selection is changed...and this is what i'm having trouble with. the only way i know how to perform such an action is to right-click on a selected component and use the "flip along component's red/green/blue" function. Exitenz's wall cabinet does this automatically when the hinging gets changed from right to left or vice versa...play with his model and see for yourself. anyways, the reason i get door position and rotation problems in my own model is b/c my door's component axes don't reposition (due to a flip along a particular axis) upon a change in door hinging. how do i go about this? here is my model so you can see what i've done so far:W1D_one_door_swing_both_ways.skp
@pcmoor said:
for rotating function, you need to place an extra component wrapper to protect contents
i'm not entirely sure what you mean by this. are you saying that component that is meant to rotate (such as a cabinet door) must be a grandchild to the main component (the cabinet itself)? Exitenz's model above had a component wrapper <F_W1D> around the actual door component <DRBB#1>, making <DRBB#1> a grandchild of the actual cabinet <W1D>, and i don't quite understand why that's necessary...
@pcmoor said:
don't hide different types of doors,knobs or other components; swap them instead.
what do you mean by "swap them instead?" are we talking about the use of layers, or perhaps adding and/or removing parts from an external library into our model?
TIA,
Eric
Advertisement