Scaling in file changes ability to extrude curves and cap extrusions

Hi there,

I’m relatively new to Rhino so please bear with me, I don’t understand a lot of the Jargon!

I imported a timber mouldings pdf into a new rhino file. All of the closed curves extrudecrv/sweep1 and cap without any problems. Great.

However if I scale any object in the file, including object other than my mouldings, and continue working, Rhino decides that the exact same curves can no longer be extruded or capped properly. I am faced with the following messages:

‘Curves selected to extrude include self-intersecting curves. This may produce undesirable results. Do you want to extrude these curves?’ (Funny, they didn’t have self intersecting curves a moment ago before I scaled!)
Or if I can extrude the curve, when I attempt to cap it I get this message:
‘One attempted object is still open. The openings did not have closed, planar loops of edges.’
(Funny, it extruded and capped perfectly before I scaled!)

Please help, I’m going mad.

I have tried projecting the curves to C-plane before extruding to check if they are planar and they are. I have tried exploding and re-joining to see if there were any problems there. There are none. The curve is classed as ‘closed’ in object properties before extruding.

Please help.

Best,
Charlotte

Welcome @ca.hutchings
Please provide more info/examples

Hi Fred,

All of my closed curve mouldings extrude or sweep and then cap without issue (see screen grab 1&2)

If I then scale anything in my file (lets say I scale the extrusion of the 1’ square I have at the side there), I am now no longer able to extrude or cap ANY of my curves without issues occurring. Suddenly Rhino tells me my curves are made of intersecting curves and cant be extruded or they can be extruded but then won’t cap properly! See below.

I have no idea why scaling something would do this. Any ideas?

Thanks,
Best,
Charlotte

1 Like

It is difficult to diagnose a problem with an example. You can post a .3dm file with an example of a curve which is casing difficulty by dragging the file to where you type your post, or by clicking on the vertical arrow above where you type your post. One or two example curves would be fine. No need to include every curve.

What is the change in size when you scale the curves? A guess is the change in size when scaling means that something is no longer within a tolerance.

My guess is when you scale things up, you are also scaling up the old tolerance gaps and overlaps that were set when they were drawn.

Before Extruding them, Explode the scaled up curves and try Joining them.
I think you’ll find that some ends no longer Join.
Fix up the curves to make them close at the current size and tolerance.
Bob’s your Uncle.

1 Like

Corridor 1605.3dm (2.9 MB)

Thanks for your replies David and John! I had been scaling the curves down rather than up if that makes a difference? How would I stop it from no longer being within a tolerance?

I have attached the file. If you click on any of those curves they will either not extrude, or they will extrude but then won’t cap.

By making things smaller, tiny detail might end up falling in the same order of magnitude as the modeling tolerance. That will cause problems too.

Generally speaking, anytime you scale something that was modeled using an appropriate tolerance (that may not be true either), by an order of magnitude up or down, you should Explode it, RebuildEdges on Surfaces, Join again using an appropriate tolerance, and make sure you have something useful.

Here’s a link to the important FAQ about Tolerances:
https://wiki.mcneel.com/rhino/faqtolerances

1 Like

That is the problem. The units are feet with absolute tolerance set to 0.01. Some of the curve segments after scaling are less than 0.01 feet in length. Changing the absolute tolerance to 0.001 eliminates the problem. I would probably use a tolerance of 0.0001.

Ah I see; thank you so much to both of you! I will be setting my tolerances much smaller from now on!

Thanks again for your help!

Best,
Charlotte

The trick is using a tolerance that is small enough but not too small.
That’s why I linked the FAQ on tolerances.

I think @Helvetosaur put that together years ago.

1 Like