Continue to Site

Welcome to MCAD Central

Join our MCAD Central community forums, the largest resource for MCAD (Mechanical Computer-Aided Design) professionals, including files, forums, jobs, articles, calendar, and more.

Curve and Surface Analysis

jeff4136

New member
Re:
[url]http://www.mcadcentral.com/proe/forum/forum_posts.asp?TID=35 992&TPN=20[/url]
Pro/ENGINEER Forum : Rant & Rave
Topic: Solidworks vs. ProE
Author: design-engine
Date: 18 October 2008 at 8:29pm


> We should make a discussion about Max dihedral angle.


A good idea. Geometry analysis doesn't get a lot of air time and I
don't know of any good, freely available practical application
learning resources. Maybe someone else does and can post links? Most
of the little bit I (think I) know about the subject was picked up
from Rhino group discussions and program documentation.


> Under 1 is tangent I presume...
> Can you use dihedral angle to verify continuity? I didn't think so
> but I would like to understand that math in more detail.


As a preamble it should be said; in general everything is subject to
tolerances, both model accuracy and sometimes analysis function
resolution / tolerance. (Rhino creates independent render / shaded
view meshes and analysis function meshes. I'm not sure what Pro/E
does as both analysis function Quality / Number / Step settings and
changing Model Display settings affect analysis function output of a
Shaded Curvature analysis.)


Dihedral angle is the measure of tangent angles across a quilt
(explicit or implied by coincident one sided edges) seam boundary, so
it is a measure of (G1) continuity. I've never seen a PTC published
angular tolerance value; e.g. what value does it consider to be 'good
enough' when creating a tangent constrained Boundary Blend, a Round,
etc. There is a config option, tan_angle_for_disp, to set the
threshold for display of tangent vs. sharp edges. Minimum value is
1.5 degrees per WF2 documentation. I checked the Current Session
default, it's .026180 radians(? I assume). Wonder if that's an
indication or hint?


Subject to form and function considerations (aesthetic and practical;
Class A(ish) requirements? before or after segmented tool paths or
polishing out tool marks? will there be downstream modeling concerns
like failure to offset a quilt or trouble running a blend or round
across a seam? etc.) I usually don't consider anything over a couple
of tenths of a degree 'good enough' and am usually struggling with
geometry definitions to go that wide. Typical for 'clean' surfaces is
less than a couple, maybe a few, hundredths of a degree. I think
Round features on not so nice surfaces tend to go wider, half a
degree not uncommon? I don't pay as much attention to that type of
geometry so may be way off but it seems Rounds play by their own set
of rules, maybe for speed or more tolerant, 'robust' solutions.


> I define g2 five different ways and A class is defend by three
> definitions.
>
> g2 can be defined by:
>
> 1 if you can take a derivative of the comb plot to get back to
> the original equation hence the curve in question where it
> joins another curve.
> 2 Guass analysis: Gauss is usually used to check for concavity vs
> convexity issues. But Gauss shaded analysis can be used at where
> two surfaces join to understand curvature.
> 3 Comb Plot
> 4 zebra stripes
> 5 Shinny surfaces with a crisp specular highlight
>
> Surface normals is useless to understand curvature but it could
> be considered possible because it uses x/r for the length of the
> curve normal jetting out from a surface.

Ok. What you've listed are tools and ways (you'll have to explain #1
to me) to evaluate geometry. I think it's important, especially for
those less familiar, to visit the ~definition~ of G2, or curvature,
continuity. It is equal curvature at a common end point of two tangent
curves, an 'instantaneous' value. The reason I think that's important
is because it is common to equate G2 with "smooth" when it is only a
part of that quality with rate of change being the rest.
Understanding that will help in understanding how to interpret what
the various analysis functions, particularly the graphs, are telling
us about curvature continuity. (It also helps with understanding what
to expect, and why we sometimes don't get what we expect, from a
curvature constraint.)


With regard to Shaded Curvature analysis, Gaussian curvature is just
one type. Cycle thru the rest as well to get a better idea of how
surfaces are 'flowing' and sometimes what's happening on the
boundaries. Gaussian curvature is the product of principle curvatures
giving it the unique ability to identify developable or 'flat wrap'
surfaces as a zero multiplicand gives a zero product.
 
> 1. if you can take a derivative of the comb plot to get back to
the original equation hence the curve in question where it
joins another curve.

i don't understand your statement but i guess you are referring to equal left and right derivatives (in 2d) of curvature comb at the joining point which is the requirement of C3 (equal derivatives -both value and direction- for g3).
C3 in 2d , G3 in 3d. am i right?

Edited by: solidworm
 
Cn, Gn isn't something spent much time trying to comprehend. Some note
scraps I've collected...
2008-10-19_171316_C1C2G1G2_txt.zip
Regarding n = 3...
......
[Just thought I'd give credit where due for the image: g2-g3_Bryan_Elwood.gif.
Brian was a Solidworks & Rhino user that used to frequent a Rhino group.
A knowledgable and helpful guy. Haven't seen a post from him in a long time.
Our (cad users) loss.]
Edited by: jeff4136
 
JUST TO ADD TO JEFF's POST:

Compared to Alias Studio Pro/E is just a little off from being about to control G2 curves that drive G2 surfaces. In my Level seven ISDX workshop
http://www.proetools.com/courses/isdx/level7.htm we make serious comparisons and make reference to automobile industry standards of A-Class surfacing techniques.After demonstrations in Alias the class try to affect the same control in Pro/E. We note the first CV of the NURBS control is locked. In Alias you can slide it in and out. Because the curve is aligned curvature the first CV should be locked while the second CV remains flexible in and out changing the comb plots Jeff shows above.

In Alias the curve gets the most control if the curve is converted first to five degree curve. y=x^5 (or higher) The auto industry calls it 'sweeten the curve' By sweeting/tweaking the curve you are simply adjusting the comb plot geometry witch ultimately adjusts how light reflects off the surface. On the other hand Pro/E does not let us convert the curve degree while a proe curve be it ISDX or ISDX converts on the fly to only a four degree curve.

I spent the past 15 years trying to understand what hi-level industrial designers meant by "I have more control in Alias" I also spent the first 6 years of the fifteen arguing with them. In the end I learned Alias and run Pro/ENGINEER at a much higher level... Knowing my tool much better in the end. I found that comparing to Alias gave me a much more rich understanding of my base software limitations.

We have an Alias class with Harley and LG the week of November 7th. ?Harley uses both Pro/E and Alias. (I can teach that class however we have an Alias guru Joel who teaches that class.

I think Jeff made his same push with Rhino...Where do you work Jeff?Too bad your still on WF2.0 hu... you must work for a large manufacture?


Edited by: design-engine
 
When you force continuity the curve (upon export to Alias or Rhino) is a single span four degree curve.In ISDX you can't actually see the CV's (control Points)when you have Curvature set.In ISDX you can set 'control points' on.
Edited by: design-engine
 
That is truly interesting. The most recent documentation I have on the
subject is probably (I'd have to find it and look) relavent to 2001 and
it states that Pro/E will only create curves with maximum degree of 3.
Cool.


Re 'more control' I've been meaning to clean up and organize scraps of
reference (now, how did that work?) models. The attached, if you play
with the curves, illustrates the limitations and increasing control
inherent to them. (The rest being user interface tools allowing implicit
or explicit manipulation of the curves defining entities.)
2008-10-21_150008_nonrat_bezier_and_basis_splines.prt.zip
 
where do you work jeff.At least tell me what city you work in.Pro/E needs to go to five degree if it matters any with respect to continuity. I'm just observant and notice these things.
Edited by: design-engine
 
"G2 is a similar idea but a bit more complicated in the way the
math works out."


Never heard of geometric continuity as opposed to parametric. I get C2 is the dervative of the tangent vector but what is the math behind G2?


It would behelpful if the CV's in ISDX surface edit could be parametrically constrained like Jeff's splines or at leastlocked to datum curves & points like style curve points.
 
Here is a quick description that I give to students
about tangency and curvature continuity, I use the
analogy of position, speed, and acceleration. Speed is
the derivative (or rate of change) of position just as
tangency is the derivative of position.

G0 is positional continuity, G1 is tangential continuity
(speed), and G2 is curvature continuity (acceleration).

G2 is not inherently better than G1, it depends on the
need. G2 continuity is like having smooth acceleration,
the smoothest ride in a car with no jerks. Sometimes we
want to use G1, as in highlight lines, to invoke a
feeling of change just as someone might accelerate a car
to "feel" the speed.

Your eye can see the difference in a model or part just
like your body can feel the difference in a car.
 
So by this analogy, G2 is acceleration, so what then is C2. Constant acceleration? I guess I need to see the math before I its becomes clear.
 
Bart,


I agree wholeheartedly with a desire to see higher degree curves Pro/E.
It would be so much easier (where it might be appropriate) to set up a
degree 4 bezer relative a two piece / span degree 3 b-spline (as I am
doing it) or a degree 5 bezier vs. a three piece degree 3 b-spline.


Please feel free to PM me and explain your curiosity re my whereabouts.
_ _ _ _


mgnt8,


After first saying I'm a self professed arithmetard, what I get from
(in C1C2G1G2.txt) "G2 is a similar idea but a bit more complicated ..."
is an extrapolation of the previous description of G1 vs. C1, or:


_ G1 is 'unit' vectors, in other words; colinear with unequal magnitude.
_ C1 is colinear with equal magnitude.


It's been my assumption that (where equal degree bezier curves are defined
by CV0, 1, 2, ..., and CV0s are coincident) if the repective curve control
polygon segments


_ CV0 -> CV1 are colinear and equal length
_ CV2 (each curve) offsets from CV0 -> CV1 are identical (we know this is
how curvature at CV0 is determined and we have G2 continuity) AND the
CV1 -> CV2 segments are equal length then the curves are C2 continuous.


So the more complicated math would simply be that regarding the CV2 offsets
required to achieve equal (G2) curvature. My assumptions may be incorrect
and, of course, it all goes out the window if the curves in question are
unequal degree or are b-splines.


Which brings us to (arclength vs. natural?) parameterization of the curves
(which is even farther over my head)?


Re Cn vs. Gn in general, I've never seen reason to try to come to terms
with it. Some programs say Cn, some Gn. My (dabbling) interests are n > 2
applications where any attempt to comprehend the math would probably be a
waste of time for me. I do wonder what programs might provide user
interfaces that would make that comprehension / knowledge valuable.
_ _ _ _


marschalek,


Show them representative curvature graphs as well. ;^)
 
Solidworm,
That's a good reference link. Thank you.
Is that in Iran?
smiley1.gif
 
Ah! Looking at the picture reminds me of the previously posed question
regarding graph trace curves. If we could actually plot the trace curves
and analyse them; what degree of continuity for the trace of a G3 curve
have? I suspect it would be G1. Anyone?
 
Solidworm: I did a free 16 hour workshop at Michigan Tech a few years ago... they get free unigraphics grant/donation from Ford I think. C2 is loose math for G2 or something weird.

Jeff: did you explain the difference between c2 and g2 up there?g1 is constant acceleration.
Edited by: design-engine
 
> g1 is constant acceleration


mmmm ... G1 is tangent continuous. There can be an abrupt change
in curvature (note the step in the curvature graph trace curve).
Acceleration is then ...? I have trouble relating. I can understand
how force on an object traveling at some velocity will change with
curvature, yadadada, and I'm aware of some practical applications,
but we don't use accelerometers to analyse geometry.


And, as stated, unless someone can point out a practical use for the
knowledge I'm not especially interested in the distinctions between
geometric and parametric continuity. I don't know if I explained
anything or, even, if my assumptions are correct.
 
jeff, regarding the velocity and acceleration:
every parametric curve is defined with a set of equations. for example x=f(t),y=g(t),z=h(t), if you think of the 3d curve which is described by this set of equations as the path of a particle, parameter t as time, and f,g,h as motion equations of the particle on x,y,z axis, then you can say that velocity of the particle which traces the path is : Vx=df/dt , Vy=dg/dt , Vz=dh/dt .
(for acceleration: Ax=d2f/dx2 , Ay=d2g/dt2, Az=d2h/dt2.)

and the velocity vector is the tangency vector.
C1,C2 continuity is judged by velocity and acceleration vectors .so if you have two curves with equal velocity vectors (tangency vectors) at their meeting point they are said to be C1, you can have infinite set of parametric equations describing a single parametric curve. {x1=f1(t),y1=g1(t),z1=g2(t)}, {x2=f2(t),.....},... but each of these sets might have different velocity accelerations althogh they trace the same curve.

so if a piece of line is tangent to an arc, it might not be C1 while it's certainly G1. why not C1? because it's judged by velocity. suppose the line segment is parametrized the way it describes the path of a turtle while the arc is parametrized the way it describes the path of a rabbit. althogh the line segment is geometrically tangent (G1) to the arc, but the the turtle and rabit have different velocities so the path is not C1 !!

what the user sees in cad apps is the path, not the parametric equations. so we cant say anything about velocity, acceleration of the particle that is drived by the equations and created the path, and therefore the C continuety.

geometric continuity is evident from the geometry (path), if you can see two entities are tangent then they are G1 although they might not be C1.
so G continuity is independent of velocity, acceleration values.

this is what i understood from the previous link (http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES). it's from Michigan tech. i found the link in a handout (advanced cad course) on our university website.

Edited by: solidworm
 
So if I'm understanding that link correctly, C2 means two curves have the second order derivative equal. G2 means the second order derivative is oriented parallel with the first order derivative which is analogous to that "monotonously" equal and constant "acceleration"? Tangent and curvature vectors oriented.
I'm certainly no world class mathlete but this is where the math comes in handy. When I try to wrap my brain around these examples and analogies, I start to get dizzy, but then again no on ever accused me being the king of common sense either.

What the practical applications for Pro/E are, I havent a clue. What industries are most concerned with G2 - automotive, ships, aerospace? Do they use programs that slog thru this better than Pro? Does Alias distinguish between G2 & C2? Is class A only G2 and not just C2?


Edited by: mgnt8
 

Sponsor

Back
Top