Redrawing dynamic components dramatically increases file size

I have a library of dynamic components. I just noticed that if I bring one into my model and copy it the file size is the same no matter how many copies. Great, right? The problem is if I select all of the copies and redraw them they now show separate instances and the file size jumps 10 fold. Even after running CleanUp3. Is there a work-around for this? Thanks in advance.

Single instance_25 copies.skp (1.5 MB) Single instance_25 copies_redrawn.skp (14.1 MB)

Because each instance of a DC can have different attributes and hence different geometry they behave more like groups than components. Each copy becomes unique.

1 Like

Then how come if I make a simple dynamic cube, copy it, move it and redraw it, Sketchup still treats it like a single Component? I can even change the attributes and it still shows as the same component.

When you only apply simple scaling to the whole component, the underlying geometry remains the same, but when you have a component that has many parts that scale separately, responding to parameters, a new version creates a new component definition.

This is caused by the Dynamic component system being a SketchUp plugin that does not introduce a completely new entity type but grafts onto existing component entities. Similarly, in AutoCad, its dynamic block instances are created as separate anonymous blocks that are only loosely connected to the original definition.

1 Like

… and you often see new definitions being created when there are varying numbers of copied nested groups. Take the “Bench” sample in the DC Sampler library for example. As the bench is stretched more copies of stiles are created.

If you have more than one of these bench instances in your model, each with a different width, they cannot use the same definition because the entities collection that defines them needs a different number of subcomponents, therefore a different entities collection.

Should simply copying a DC and moving it without redrawing it create a new component? This is what I’m seeing.

image001.png

I understand that changing any parameters will result in a new component being created, but simply copying a component and moving it on the same plane shouldn’t create a new component. At least I wouldn’t think so.

Your conveyor dynamic components are quite complex. I see the unique-ifying after a redraw. I also see the same in that after copying (which likely does a redraw because of movetool behaviors,) that it’s definition is made unique.

This is apparently a quirk of the DC implementation.

If you reassign this thread to the Technical Problems > SketchUp category it might be consider a bug report.

Will do. Thanks.

In addition, watch what happens if you copy and then apply an array:

first an unique definition is added, then removed after the array…

If you explode the inner subs (5 times, plus unlock and explode the path) the component is reduced to 1.2 MB. (after purging) multiple copies then have little or no effect on file size, If then want to change one reinstate with a swap with the original definition in your folder.

You could create a script that deletes all hidden options, outershell any parts to make a whole, or as per you example, unlock and explode any nested components or groups. Further to this the options can be set to either not seen or read only.

Thanks PC, That’s a reasonable work around.