Reducing tolerance to 2mm then adding resulting item to .01 tol project..advice reqd

having worked with absolute tolerance as 0.01 mm on a project up until now, with a client saying they are needing 2mm accuracy at best on another item, would setting tolerance to 2mm cause…

  1. any issues in that 2mm project ?
  2. any issues when that item is introduced into the project that is 0.01mm ?
  3. advantages of a 2mm tolerance ?

in the 2mm project, whilst things like naked edges cause issues in exporting for 3D etc. would they be less likely to exist ?

Would also e.g. a network of curves be easier to make where they need to intersect, before creating a surface ? Unless they intersect like the wires in a ‘hanging basket for plants’ , normally I find they wont surface. Getting that intersection is not easy as moving one curve upsets an intersection elsewhere ! I click on those intersections when drawing the curves but adjusting them afterwards sees control points unrelated to those clicks.
CurvatureGraph, is it going to be easier to create acceptable curves ?


I would stay at .01. Rhino prefers to work between .01 and .000001.


Hi Pascal,
I can at least report back with that to the client and get the flak called off.
I am led a merry dance on things thanks to 0.01mm when 2mm suffices yet I find myself expending lots of extra time pleasing rhino when 2mm is enough for some of the work. I also get accused of going overboard, expending time when time is money, like learning brain surgery to open an envelope !


What actually happens if I set tolerance to say 0.1mm or even 1mm, I am working to placement of items visually at 0.01mm which is a fair way zoomed in, when project requires 2mm accuracy. Time expended on this hyper accuracy when not required really hurts, I have to get the items coinciding etc, work where Osnaps are not possible, e.g tweaking control points until a curve runs through a point visually knowing that I shall be splitting it on that point later and then it must meet within tolerance with another for surfacing and cutting purposes. I am now drawing a 0.01mm radiused circle and nudging control points until the curve runs inside the circle.

Having naked edges because something is 0.009 when it needs to be 0.01 yet 2mm is enough for client.


Steve -

The problem you’re going to encounter is what your customer downstream of you sets their tolerance at on their software. So if you’re handing off files to be machined, and you set your tolerance higher (looser) than what you set your tolerance, the person making the g-code for the machining is going to complain.

I’m gonna say this one more time and then I’m going to give up. All this zooming in trying to see if things are within tolerance? Stop it. Stop it now. STOP STOP STOP. This is completely nonsensical. No one else works this way. You’ve created your own special hell because you don’t know how to use the Match/MatchSrf command. Go learn how to use them fully. You’ll never need to zoom in again. If you know how to use MatchSrf, you will never ever have to do that crazy zoom dance again. Stop.

1 Like

From my work is made an stl file for milling mdf, this mdf then goes off to the 2mm client for gluing etc together for a subject that is 2mm tolerance. I can check with mr mdf but I dont think his machine worries about 0.01mm as its not capable of working to such finnesse.

I will need some video demo of how one uses Match when nudging control points so that a curve passes through a point. Not sure how its done.

I see what Match does in the help video, matches one curve end to another etc, but I don’t see videos of its use ensuring that part way along a curve runs through a particular point location,
…that point location also to see another curve pass though it, or the end of a curve meet with it

I can check afterwards using ‘intersect’ if they are within tolerance at that crossroads or T junction shape they form.

Maybe I shall have to post an example :slight_smile:

Any links to where this use of Match is shown most welcome, as I am keen to learn and will be doing so with levels 1 and 2 as soon as this hell job ends, 1 year of it now. The Rhino V5 tips and tricks usb I have now but I cannot understand the accent/language ! :frowning:


Before I answer in full - is the origin of the 2mm number from discussions with your customer about how close your model needs to be to the source material?

Yes, they work with sandpaper and filler and are not wishing work to be carried out where I have to fulfill fine tolerances.
They are after making a likeness at best.


Okay, so the first thing to explain here is that you’re dealing with two completely different things, that unfortunately you’ve confused.

The 2mm number, you can think of as the “leeway” that you the modeler have in interpreting the source data. I call it a “deviation allowance” on my projects. Given that you’re dealing with source material that is quite old, you need to have some agreed upon figure between you and your customer as to how you can interpret the data.

Your file tolerance is determined by the client downstream of you, and has absolutely nothing to do with the “deviation allowance.” For example, I make lots of aircraft models that are used for CFD (virtual windtunnel) analysis work. My customer needs a model that is watertight, or else the software that feeds my model into his simulator won’t work. I work in inches, and I set all my models for him to .001 for my tolerance. If I can explode my entire model, use join, get a watertight model, I know that 100% of the time he will be able to use my model.

So, for example, I may get some crappy/suspect source data from my client, and I"ll say “hey, do you mind if I deviate in this area? This source data looks wrong.” And he’ll almost always say “Sure thing!” But I never ever ever ever change the file tolerance. Ever. Because if I do, he won’t be able to use the file.

So the idea that since your model has to be within 2mm of your source data should somehow infer that you can change your file tolerance doesn’t make any sense at all, and is wrong. The file tolerance has absolutely nothing to do with any concept of “accuracy” or fidelity to your source material. All your file tolerance does is determine how close edges have to be in order to be joined together.

Does that make sense?

For example - I did a Lear 60 model that was done from highly accurate laser scanned data. The customer and I agreed that for things like the fuselage, being within +/- 0.1" of the source data was fine. For the nacelles, the figure was +/- 0.05". For the wings and flying surfaces, it was +/- 0.03" The model needed to be watertight for analysis work - the file tolerance was set to 0.001. Two completely different concepts. Zero overlap.

I understand that. Its just that I dont want to have spend time being hyper accurate and careful if the client is not fussed, it is frustrating spending loads of time ensuring things join etc at 0.01mm when they are not fussed if the model is 2mm out from the original size ! If I could make Rhino less ‘fussy’ and have it accept a 1mm difference between two items that should intersect or join, maybe or 0.5mm. Its like applying eye surgery techniques to cutting up a tomato.

As no one has to receive this into a 0.01mm prog it doesnt seem to matter.

If I use it for scale modelling purposes, at 1/32 scale 0.32mm is 0.01mm so I might hope for an ability to set rhino to 0.32mm

Just to allow it to join and mate without failing.


Your reply leads me to believe that you don’t understand what I’m saying. Rhino is not asking you to be “hyper accurate” by setting your tolerance to 0.01 or even .001. Rhino is simply asking you how close surface edges need to be to be considered watertight.

Again, this has zero bearing on how you set your file tolerance. Zero.

Do you understand now?


Skyg has done a good job of describing the differences between the tolerance used internally in Rhino, and tolerances for how close a model needs to agree with imported data. I use Rhino for creating virtual models of boats from published and field data. The boats are on the order of 200 inches long and I use a tolerance setting in Rhino of 0.001 or occasionally 0.01 inches. Depending on the source and quality of the imported data the virtual model may differ from the imported data by up to 0.1 inch or more.

My workflow and modeling practices are such that I don’t have to spend time manually moving control points so that curves and surfaces match. Instead surfaces are created so that they naturally match by using the same curve when creating adjoining surfaces or creating one surface and then using the edge of that surface when creating an adjacent surface.

Now if curves and surfaces have been created using loose tolerances in Rhino and you now need closer matching you may have a major problem. Setting the tolerance in Rhino to a tighter tolerance does not “fix” surfaces created with a looser tolerance.

My rule is to start creating geometry with a tight tolerance and then only loosen the tolerance if there is a compelling reason to do so.

1 Like

The only disadvantage I can see to using a tight (but not too tight) tolerance in Rhino is the number of control points in derived objects may be greater than with a looser tolerance. If a derived object has too many control points then I use commands such as Rebuild, RebuildCrvNonUniform, Fit Crv, and FitSrf to rebuild the curve or surface with the tradeoff of number of control points versus accuracy which I want. I don’t change the overall tolerance setting.