Lots of round 3D objects slowing down model

I have a model comprised of many helix- like cylinders. I’m trying to “weld” them all together with smaller cylinders in order to make a single solid object. I have roughly 260,000 edges and 120,000 faces in my model. Is there a way to reduce the number of edges for each helix? Can you decrease the number of edges that rounded 3D objects are made of?

I’d like to stack several more layers of this design, and connect them all into a single solid object. I use the outer shell tool, but each layer makes this function exponentially slower. Is there a way to speed it up?

Are you using components? Your model looks like a large number of repetitions of the same basic geometry. Make this a component, and the impact on the size of the model from all the copies will be much less. You can hide edges to make the instances appear to blend together into a single whole.

Could also cut down of the number of faces… Looks like they are ~20 side object… Can reduce that down to 8 or perhaps even 6. Trying to weld them as one single object will wreck havoc on your PC. Lol. Best bet is to do as mentioned and make a single component and then distribute them to their final spots.

Yes, the first “basic geometry unit” was made a solid component, then I copied it and connected the two into a single solid component using outer shell, then copied those into 4, 4 into 8 and so on. Each time in copy and then connect, the outer shell tool takes exponentially longer. The last time I did outer shell on the field you see in the image, it took roughly 45 min to process that function.

Will hiding edges actually make the model smaller, or will it just change the appearance of it?

You miss the point. By copying and uniting via solid shell, you defeat the purpose of using Components because you duplicate the primitive geometry instead of placing an additional instance of the same geometry. So, as there comes to be more and more geometry within the object, outer shell naturally takes longer and longer to analyze all of it and your model becomes more and more bloated.

1 Like

Just the appearance as seen within SketchUp.

Thanks so much for your help. The way I was copying was to make the primitive geometry a component, and then I’d use the move tool and do SHIFT + ALT to pull the second copy out from the first. Is there a different way to multiply the primitive geometry component?

Also, what would be the best way to have the resulting field of primitive geometry components be a single solid object. My end goal is to make a field of them, stack several fields into a “box shape”. I want the final “box” to be a solid object, because I want to then insert a big sphere into the box and use the intersect tool too keep only the primitive geometries and parts of primitive geometries that intersect with the sphere

You hadn’t previously mentioned the goal of intersecting with a sphere. That operation also defeats the benefit of components because, depending on alignment, the sphere could intersect each instance in a different way. As a result, I’d use a group instead of a component and let SketchUp deal with making copies unique. Up to the point at which the copies need to be unique, the group copies will use the same amount of geometry as components.

The intersect (or solid subtract) operation is going to be similarly expensive as the outer shell.

You can generate the 3D array of copies a lot more efficiently than you are doing. Use the copy move to generate a linear array (type, e.g. 12x [enter] immediately after moving one copy). Then use it again to copy the linear array into 2D and again to copy the 2D array into 3D.

If the sphere is placed in a nice alignment with the array of coils, there will be symmetry you can exploit to greatly reduce the cost of the intersection. For example, if the sphere is centered in the array each octant will be the same, so you can do just one octant and then move and rotate copies to construct the whole thing. This will have a huge impact on compute time, as 1/8 the geometry means something like 1/64 the complexity! There is no doubt even more symmetry within each octant. It’s your decision whether you will get more of a headache trying to figure out the symmetry or from waiting for SketchUp to process :wink:

You haven’t said how large these things are, but it seems likely to me that they are smallish. If so, you should scale the model up by 100 before doing the intersection else you are likely to run afoul of SketchUp’s well-known tendency to merge nearby vertices while cleaning up.

Do you want the parts within the sphere or do you want a block with a spherical void?
Everything Steve has said is on the money and then you have to question what part it is you want to keep. So as part of the 1/8th scenario, you need to produce the parts that intersect with the sphere, and manipulate them with the intersect option, then add in the full components to form the block with a hole or the sphere of parts.

To restate what @Box wrote (because it took me a couple of readings to get it), during the intersection you really only need those copies of the coil that actually cross the surface of the sphere. The rest are irrelevant to the result, but bloat the calculation because SketchUp still has to examine them for potential intersections. Coils that are entirely inside the sphere or entirely outside the sphere can be omitted during the intersect (and maybe forever, depending on what result you really need).

1 Like

As to performance there is no difference between using components or groups or just raw geometry. What matters is the sheer number of faces and edges SketchUp has to process, whether inside of components or outside. Using components only reduces the file size on disk. Using nested components (components within components within…) even reduces performance compared to raw geometry as SketchUp has to iterate through all the model structure.

Anssi

really?

try orbiting on raw geometry v sensible components with groupings…

for all manipulations, SU works at selected context level and doesn’t need to burrow in every time…

If what you suggest were true, turning visibility off would have no benefit to navigation…

loading and saving and exporting times won’t be affected, but performance while modelling is improved…

john

This has been discussed before. Alan Fraser (one of the FormFonts guys) once demoed this with an SKP file that was about 150 KB but would bring a powerful workstation to its knees. It had 100 copies of a rather detailed Corinthian column component, nothing else. The performance of some 3D plant components that have branch components consisting of twig components that consist of leaf components and stem components… actually improves when you go and explode everything inside them.

Anssi

Perhaps true, but misses the original point that the outer skin operation (and now intersect) was taking an excessive amount of time. I agree that is due to the amount of geometry involved, regardless of whether it is loose, grouped, or components. Suggesting the use of groups or components was an attempt to improve the process of creating the 3D grid before we knew an intersection was down the road. Use of symmetry and spatial culling of non-involved geometry are the things that will make a big difference in the cost of the solid operations.

UPDATE: I didn’t realize that you could reduce the number of facets that round objects are made of from the 24 facet standard. I started over with an eight sided “circle” for the coils and it reduced the number of lines and faces dramatically. Still I’m running into some pretty significant processing time issues. Going from the box to the sphere made took the computer about 6.5 hours.

It would be great if I could just have two layers and be able to view only where two layers intersect.