Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

Fixing Surface Degenerate Points 2

Status
Not open for further replies.

CNSZU

Mechanical
Sep 2, 2005
318
If you're a serious surface modeler, denegerate points (where the iso-parametric curves meet at a point) should be avoided. Degenerate points cause an uneven surface and makes offsetting or shelling sometimes impossible. In addition there will be problems when exporting to another system and issues with manufacturing. An A-class surface should never have degenerate points.

What tools does NX have for fixing these problems? What are the best practices for creating shapes to avoid degenerate points? Or, for example, can the exact same shape in the attached image be created without degenerate points?

NX8 Win7 i7-3770K@4.3Ghz 16GB Quadro2000
 
Replies continue below

Recommended for you

Attached are two images which demonstrate that it is possible to create the A-class surface. I have used the same ellipsiod shape and show face analysis (reflection) in image1.jpg and then the surface poles as points and lines joining the poles in image2.jpg. The thing to note is I created this as 8 surfaces so that for each surface the end centre point for each surface has in fact three poles or 12 poles for that end point on the complete ellipsoid. To change the "bulge factor" I use weighting of the poles. It can be done as two surfaces. I do this with ugopen/journals.

Frank Swinkels
 
 http://files.engineering.com/getfile.aspx?folder=69e1c9b5-26ef-4feb-88d6-34c857c00b95&file=images.zip
Hi Franks, thanks for the feedback. However, can you explain how you created the surfaces? Did you use the through curve mesh tool for each of the 8 surfaces? How were they constructed? What do you mean by each end center point has 3 poles?

The surface I created is made by a single through curve mesh surface, using 2 endpoints and a middle section curve as primary curves and 3 cross curves, which creates a half ellipsoid type of shape as shown in the previous image.

NX8 Win7 i7-3770K@4.3Ghz 16GB Quadro2000
 
I think using through curve mesh and a point it is difficult to achieve the quality you are looking for. For these analtical surfaces I use surface by poles. The problem is that this needs using weights on poles i.e. a rational B Surface. The pole weights can only be added using programming. NX uses rational B Surfaces quite extensively. For example a sphere is created using 2 degree 3 patches. To let you examine what I have done I have attached a zip file which include the vb source code which can also be run as a journal. Also included is the dll which is signed. Please note this will only run on NX8. The program used a dialog (the dlx file) which is also included. The dlx file must be able to be found by the program.

Make sure the dlx file is in one of the following locations:
1.) From where NX session is launched
2.) $UGII_USER_DIR/application
3.) For released applications, using UGII_CUSTOM_DIRECTORY_FILE is highly
recommended. This variable is set to a full directory path to a file
containing a list of root directories for all custom applications.
e.g., UGII_CUSTOM_DIRECTORY_FILE=$UGII_ROOT_DIR\menus\custom_dirs.dat

Hope this helps.

Frank Swinkels

 
 http://files.engineering.com/getfile.aspx?folder=5cefef6b-7e04-4368-8a6f-2231e5dded0d&file=EllipsoidByPoles.zip
I don't suppose you have a version of that model that is compatible with NX7.5 have you Frank? I've been training mechanical free form but would love to learn more 'A' class and would like to see your method of construction.

Cheers

Si

Best regards

Simon NX7.5.4.4 MP8 - TC 8
 
Thank you for the journal files Frank, I sort of get the idea of how you construct the surface. It seems like you construct them using poles, and I've tried doing it with the Surface from Poles command, however it's incredibly hard to get the exact surface shape that I'm looking for, although it's ideal for ellipsoids. So I'm back to the Through curve mesh command where it's easier to control the shape. I guess I need to spend more time experimenting with this command, perhaps using curves from single splines and using additional helper surfaces to help constrain the curve mesh surface. Perhaps the degenerate point is not possible to remove, unless it's physically trimmed off and patched up, as in a technique I've seen used in Alias Automotive. However it would be interesting to see A-class techniques specifically for NX.

NX8 Win7 i7-3770K@4.3Ghz 16GB Quadro2000
 
jcbcad

Attached is the NX7.5 version for the ellipsoid. Just for interest I have also included a program for creating spherical caps. I did this some time ago. I was basically looking for an alternative to revolving an arc and to improve my understanding of using rational B surfaces.

Let me know what you think.

Frank Swinkels
 
 http://files.engineering.com/getfile.aspx?folder=7176b75b-78ad-4992-8a63-096c2ef15992&file=EllipsoidNX75_SphereCap.zip
Hi Frank

There is no NX part in the zip folder and I can't get the Journals to run :-(

Cheers

Si.

Best regards

Simon NX7.5.4.4 MP8 - TC 8
 
Just create/open a NX7.5 part and run either the journal or the dll file.

Frank Swinkels
 
Frank

As I say, the journals won't run and I have no idea to run the dll file? Sorry.


Si

Best regards

Simon NX7.5.4.4 MP8 - TC 8
 
The problem noted is probably general for all surface modelers.
There are a number of possible workarounds, probably also general for all surface modelers. ( not listed in priority order.)
1) try divide the shape into 4 sided areas and create multiple 4 sided surfaces.
2) cut away the bad area and replace with a separate surface.
3) "overbuild" the surface such that is still has 4 sides and then trim back to the desired boundary.

Always stay away from using "points" in surfaces. All defining objects should have a length.- All surfaces have four sides. ( -Unless i have missed something serious along the way...)

A small sidenote, revolved surfaces have the noted "degenerate point" but since the shape change is constant, there will be no shape/downstream problems.

Regards,
Tomas
 
jcbcad

I can run both journals and they execute fine. Do you have the dlx (dialog) files set up correctly?

Frank Swinkels
 
Frank

I Have no ideal what to do with those dlx files, I have never seen one before in my life :-(

Best regards

Simon NX7.5.4.4 MP8 - TC 8
 
Tomas, thank your for your post, that's really helpful. I've been wondering about the Through curve mesh tool, and how it uses points as primary curves. It's the first time I've seen this capability in any software, and it's very useful, however it's not explained in the help documentation about the risks of using this functionality. They don't explain it either in CAST. A search on this forum doesn't show up anything. This is very peculiar considering NX promotes itself as capable of A-class surfaces.

NX8 Win7 i7-3770K@4.3Ghz 16GB Quadro2000
 
As you have noted, NX can do both class A and "non class A ", the difference in my eyes is that when doing class A we must be able to guarantee the quality of the surfaces. The only method i know that we can guarantee the quality is by knowing the math, such as degenerate points , the degree and segmentation etc etc. - If a surface is degree 2 and has one patch it therefore can't have "ripple/waves/s-shape etc" .

When designing objects where the visual shape isn't the critical objective, (such as gearboxes, drive train products, hydraulic components etc etc etc) Maybe we can allow a point to be used to quickly create that surface we need, - as long as we can continue working without the problems noted. ( Shell, blend etc)

I don't know if you have access to the Studio freeform tools or not. In this there is a feature "Studio Surface" which is similar to the "Curve Mesh". The difference is the "target result". The Curve Mesh feature will always create a surface no matter how bad the input data is, the method NX uses is "degree 3 in both directions and as many patches/ segments as needed to match the set tolerances".- If the input data is poor, the resulting surface is worse. The Studio Surface on the other hand tries to match the input data 1:1 ( If your curves are degree 5 single segment, then the surface will be the same ) and thereby create an as "class A" as possible. It will not create a surface if the input data is too poor. It does not allow points to be selected. The Studio Surface does also allow/create combinations of curves not similar to what the curve mesh surface does. It can also create surfaces where the curves lie similarly to what the through curves and sweeps expects.

Regards,
Tomas
 
Has any one got an example of a "simple" A class surface they are willing to share so we can pick through the features/technique to try and learn a trick or two? A shniey purple star awaits you ;-) In fact when I get on my other computer, I will post something that I was trying, and maybe someone could try to recreate in the correct way in order create an A class surface.

Cheers

Si



Best regards

Simon NX7.5.4.4 MP8 - TC 8
 
I will try to return to Simons case later.
The difficult part is to complain without making people sad... I hope i don't.
If you desire to create a true class A model, you need to start at the very beginning creating as simple ( and large) curves as possible and try to avoid multiple segments if possible. In my perception it's better with a degree 4 single segment curve than a degree 3 , 2 segment curve. ( really can't say why) It will depending on the surface type selected affect the degree and segmentation likewise.
The Sweep15 ( The first surface) is having problems, ( See image)...which probably affects all later surfaces.
The two center splines are non-tangent across the long center plane which makes the sweep have two faces and maybe a number of extra patches. This surface in class A should be a single face , single patch since it is the foundation for all later surfaces.

In the model there seems to be a number of derived objects such as intersection curves, it is better if one can reuse the same simple curves again and again since we are else building tolerance chains.
I.e A surface built from a curve has a fitting tolerance to that curve which in some cases are 0 and some cases the modeling distance tolerance. An intersection curve to the same surface has it's own tolerance to that surface. In the worst case scenario we now have 2 x the modeling distance tolerance deviation, and, a curve whose degree and segmentation which is far away from the simple curve that we started with.

As noted in my previous post the Through curve mesh and the good old swept feature will not bother about the underlying math, both will create 3x3 degree surfaces with as many patches as needed. In the class A surfaces i have seen the objective is to try keep the number of patches down to an absolute minimum. 1-2-3 maybe 4 but if possible not more. Then you can say "I can guarantee this shape to be free from unexpected bumps/ flat spots/ ripple/etc etc". If we have 28 patches we can't state that. We then have to rely on methods like reflection simulation, which in turn is based on the shading facets, which ... is using a tolerance for approximation. Not a real proof in other words.

Regards,
Tomas
 
 http://files.engineering.com/getfile.aspx?folder=3bbfd257-f2ae-47ef-bdfc-20d643400065&file=simon.png
JBCAD, isn't there a crease along the "minor axis" of that surface.......or is my display lying to me?

Proud Member of the Reality-Based Community..

[green]To the Toolmaker, your nice little cartoon drawing of your glass looks cool, but your solid model sucks. Do you want me to fix it, or are you going to take all week to get it back to me so I can get some work done?[/green]
 
Capnhook

If there is, there shouldn't be! I want to make it completely wrinkle/crease free :)

Best regards

Simon NX7.5.4.4 MP8 - TC 8
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor