Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

why the inner diameter of the spring is not equal to 8mm even though I defined it as 8mm in sketch?

Status
Not open for further replies.

godpaul

Automotive
May 4, 2014
119
I try to make a spring.

in the sketch (see picture), i defined the inner diameter as 8mm.

after that, i made a helix

finally, I used swept to get the spring.

however, in the last sketch, when i drew a line which tried to be coincident with the inner diameter of the spring, the dimension is measured to be 7.9998 something not 8mm.

why is that?

did i do something wrong using helix and swept?

thank you



 
Replies continue below

Recommended for you

your tolerances for the helix and the swept feature aren't fine enough.
see the video for how it works when you change the tolerances.


Anthony Galante
Senior Support Engineer

NX5.0.6, NX6.0.5, NX7.5.5, NX8.0.0 -> NX8.0.3
NX8.5.0 -> NX8.5.3, NX9.0.0 -> NX9.0.1
 
that's one thing i forgot to ask always,

almost each feature like extrusion, revolve has some kind of tolerance setting at the ed of the dialog.the default is 0.0254 and 0.005

why NX leaves some tolerance....dont understand, why NX not to set it to 0 by default, is it possible to set it to 0 zero globally? what's the benefit AND downside?

thanks
 
Preferences -> Modeling and you can adjust the distance and angle tolerance.
As for why the value is what it is ([URL unfurl="true"]http://www.eng-tips.com/viewthread.cfm?qid=321841[/url]):
JohnRBaker said:
Generally speaking, one should leave the out-of-the-box tolerance as is. But of course, if we had NEVER wanted you to change it we would NOT have given you the option to do so.

That being said, except for something like the scenario discussed earlier in this thread where someone was trying to sew together some 'poorly-modeled' sheet bodies, you should only consider changing the modeling tolerance if you're going to be creating 'very large' or 'very small' models. By 'very large', we might think of something like a ship or submarine, and for something 'very small', perhaps a watch movement or dental appliances. In situations like these it might prove to be beneficial in terms of performance and/or reliable model updates to adjust the modeling tolerance. For example, in the case of the 'very large' category, I would loosen the Modeling Tolerance by a single decimal place, changing the default from 0.0254mm (0.001in) to 0.254mm (0.01in). Conversely, for the 'very small' category, I would tighten the Modeling Tolerance by a single decimal place, changing the default from 0.0254mm (0.001in) to 0.00254mm (0.0001in).

Note that these are just 'rules-of-thumb' and that you should do your own testing and validation if you feel that you may fall into some other unique category.

Anthony Galante
Senior Support Engineer

NX5.0.6, NX6.0.5, NX7.5.5, NX8.0.0 -> NX8.0.3
NX8.5.0 -> NX8.5.3, NX9.0.0 -> NX9.0.1
 
very informative. thank you!

btw, is this a special feature in NX? I didnt see other CAD has this kind of setting
 
Hi,

in every CAD-Systems you have tolerances. In most of them - e.g. Catia, ProE and NX - you can Change the values. In CAD-Systems you have two general types of faces:
standard-faces like: cylindrical faces, planar faces, conical faces or spherical faces
and freeform faces.
In NX every standard-face have a nearly zero-tolerance. If you create a cylinder with 8mm Diameter you can measure exact 8mm.
If you create a freeform face NX every time calculates it with the tolerance which you have defined in the modeling-preferences. In most freeform features you can set this tolerance independently for this feature. In some of them it is possible to set the tolerance to a zero value. In your case, you have to do it, to ensure that the edges of the rectangular section-string will be sharp. But the inner and outer faces of your helical spring, which looks like cylindrical faces are every times B-surfaces with a system-tolerance. This is cause you use a helix (B-Spline - tolerant curve) as the guide curve. Just make an "Information -> Object" on these faces and you will see, that they are B-surfaces.

Michael
NX-Freeform Consultant
UG V8.0 ... V18, NX1 ... NX9
 
thanks all,

i never realized those kind of concepts as i was just taught to how to build model, never condisered those concepts.... so sad. But not to late to learn from all of you

so to make thing simple, every time i create general face such as cylinderical face, i need to set the tolerance nearly to zero in order to get the exact shape of the geometries, elsewhere, just leave it default.

btw, does this tolerance setting in the feature dialog has something to do with drawing tolerance?( i guess it has nothing to do with it, but just to confirm )
 
godpaul said:
so to make thing simple, every time i create general face such as cylinderical face, i need to set the tolerance nearly to zero in order to get the exact shape of the geometries...

No.
For analytical surfaces (such as cylinders, planes, spheres, etc) NX will get the geometry right without messing with tolerances. In general, don't change the tolerance unless you have a good reason to do so.

If you want your spring to have cylindrical ID and OD faces, one way to do this is to make your section oversize then trim back to cylindrical surfaces.

www.nxjournaling.com
 
Just to stir things up further.
Shapes like cylinders, cones, spheres , planar etc can be described in math by exact equations.
But there is no such exact equation that can describe the shape of, say, the front fender of a car.
To handle all the other shapes many/most cad systems use Nurbs, which is a general equation for "any shape", but since the cad system doesn't know what you will input as defining data, the cad system will, within the tolerance, try to "fit" the smallest amount of data ( curve or surface) to your points/ curves. Without the tolerance, you might have ended up with a freeform object which was almost infinite in "data mass". ( You would run out of RAM if you selected the wrong curves.)
The exact equations are faster to compute than Nurbs since there is no fitting process involved.

A Simple rule can be to set the default modeling tolerance to 1/10 of the tolerance you need to achieve when machining a freeform object. Note that this do not apply to most springs, since most springs have plenty of clearance room when working.

This tolerance has nothing to do with the tolerances in drafting.


Regards,
Tomas
 
Note that for NX 9.0 we've changed the default out-of-the-box modeling tolerance. Now users were allowed and even encouraged to set the modeling 'Distance Tolerance' to whatever was best your type of work. For example, if you design say dental appliances I suspect that you will want to use a smaller (i.e. tighter) tolerance than say someone designing aircraft carriers. With that in mind, we decided to change the OOTB tolerance with NX 9.0. Please note that this will have NO effect whatsoever on any legacy models opened in NX 9.0 as the tolerance set at the time, or changed by the user while creating features, will be SAVED with the Part file when it's saved and will not change when opened, no matter what version of NX that that might be or what the default tolerance has been set to.

Getting back to the new tolerances; prior to NX 9.0 the default modeling 'Distance Tolerance' (default 'Angular Tolerance' has not been modified) was 0.0254 mm and 0.0010 inches, but has now been changed to .0100 mm and .0004 inches.

Now there is a very good reason for this change.

When UG/NX was initially developed the industry where the most CAD/CAE/CAM was being utilized was Aerospace and these older tolerances were what was generally used for those applications. However, over time the 'center-of-mass' as it were has moved toward the automotive/transportation industry where the industry itself had established, some time ago, the recommended CAD modeling distance tolerance of .0100 mm and .0004 inches. And since our largest user base is now automotive we decided to make this change to align NX with that industry standard (something we probably should have done several years ago) but users are still encouraged to decide for themselves what works best for them, but remember, smaller (i.e. tighter) tolerance does NOT automatically mean your models will be better or even more 'accurate'. It only means for things like freeform surfaces and splines, or complex swept bodies or blends, will take more data to describe if you use a smaller than needed tolerance.

John R. Baker, P.E.
Product 'Evangelist'
Product Engineering Software
Siemens PLM Software Inc.
Industry Sector
Cypress, CA
Siemens PLM:
UG/NX Museum:

To an Engineer, the glass is twice as big as it needs to be.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor