Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

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

CLASS A SURFACE..? 5

Status
Not open for further replies.

manojauto

Automotive
Nov 27, 2006
7

where can I get information on A class surfacing?
material for learning CLASS A surface environment commands?

a good material which would help me know more about CLASS A surfaces?


Manoj
 
Replies continue below

Recommended for you

Hi
I have some information about Class A surfaces
Hope Thats useful...

Amit


CLASS A SURFACES
------------------------------------------------------------
Regarding A-class surfaces, the answer depends on who you ask.
I think the two basic opinions are that class of surface either refers to
location or quality (or maybe both)

For example:
LOCATION - all surfaces that a consumer normally sees can be considered class A surface. The outside of a an automotive floor console would be class A, but the inside surfaces which normally
include manufacturing flanges and attaching surfaces would be class B.

QUALITY - refers to surface topology. Position, tangency, and curvature across surface boundaries, and internal patch structure. Some opinions are that position continuity is class C, tangency continuity is class B, and curvature continuity is class A. But I think that these are more appropriately defined as C0, C1, and C2 condition referring to the B-spline curve equation and its 1st derivative (tangency=C1) and it's 2nd derivative (curvature=C2).

So I think a class A surface can be discontinuous in curvature if that is the intention of the design (highlight reflection, or other reasons) and even discontinuous in tangency if the intention is a crease or sharp edge (but usually molding or stamping requires no sharp edges so Class A must be tangent continuous (C1)).

Second Thought

Hear is a further understanding of Class-A surfacing based on experiences with two automotive companies and whites goods Manufacturers. They independently have the same definition for the classification.

The physical meaning:

Class A refers to those surfaces, which are CURVATURE continuous to each other at their respective boundaries. Curvature continuity means that at each "point" of each surface along the common boundary has the same radius of curvature.

This is different to surfaces having:

Tangent continuity - which is directional continuity without radius continuity - like fillets. Point continuity - only touching without directional (tangent) or curvature equivalence.

In fact, tangent and point continuity is the entire basis most industries (aerospace, shipbuilding, BIW etc.). For these applications, there is generally no need for curvature.



By definition:

Class A surface refers to those surfaces which are VISIBLE and abide to the physical meaning, in a product. This classification is primarily used in the automotive and increasingly in consumer goods (toothbrushes, PalmPC's, mobile phones, washing machines, toilet lids etc.). It is a requirement where aesthetics has a significant contribution. For this reason the exterior of automobiles are deemed Class-A. BIW is NOT Class-A. The exterior of you sexy toothbrush is Class-A, the interior with ribs and inserts etc. is NOT Class-A.

The consequence:

The consequence of these surfaces apart from visually and physically aesthetic shapes is the way they reflect the real world.
What would one expect to see across the boundary of pairs of point continuity, tangent continuity and curvature continuity surfaces when reflecting a straight and dry tree stump in the desert?

* Point Continuity (also known as G0 continuity) - will produce a reflection on one surface, then at the boundary disappear and re-appear at a location slightly different on the other surface. The same reflective phenomenon will show when there is a gap between the surfaces (the line markers on a road reflecting across the gap between the doors of a car).

* Tangent Continuity (also known as G1 continuity) - will produce a reflection on one surface, then at the boundary have a kink and continue. Unlike Point continuity the reflection (repeat REFLECTION) is continuos but has a tangent discontinuity in it. In analogy, it is "like" a greater than symbol.

* Curvature Continuity (also known as G2 continuity, Alias can do G3!) - this will produce the unbroken and smooth reflection across the boundary.

Please do not believe me! This is the real physical world. Look at your cars rounded hood reflecting lines on the road or trees.
Look at ripples of water that are not turbulent, reflection is everywhere but all blend into each other, as there is also curvature continuity everywhere.

Still not convinced - For an analytical approach, you may simply prove this point using any rendering package (e.g. CATIA V4 VST), Neon textures in 4D Navigator or DMU Navigator (V5), using the traditional CURVE1+REFLECT or /ANADIA in V4
CATIA and of course the neon-tray dynamic reflect curve facility in V5.

What about CATIA?

Traditionally CATIA has been used to create the "engineering" side of most designs, rather then the exterior "aesthetic" shell (I.e. Class-A). These traditional yet awesome tools (like SURF2) are geared for this kind of engineering work. The best example being BIW in the automotive industry.

Functions like SURF2 and FORMTOOL carve up even the most difficult inner panel structures into reality. This is why, historically, CATIA took an early strangle hold (amongst other reasons like a great capacity in all aspects of DMU and integration across disciplines).

CATIA comes from the aerospace industry. The exterior of airplanes (whose panels buckle between frames and expand with every land-takeoff cycle) has very little "need" for curvature continuity and has 100% engineering factors driving its design (Aerodynamics and structures).

That is, there is zero styling in the design of an aircraft body. The fact that airplanes looks good and "smooth" is by virtue of its operation (streamlined as possible), their general cleanliness and most importantly the distance that one generally views them. If one was to look carefully down the fuselage of an aircraft on the ground, there is nothing smooth about it!

Having the capability to cater for these industries in an engineering and process capacity with existing function and not requiring the ability to create Class-A, has made CATIA the de-facto standard for the aerospace and automotive industries.

As for Class-A, automotive manufacturers have utilized either or combinations of Alias and/or ICEM Surf (or others) to achieve these goals in a productive manner (remember the word productive). Alias has the ability cover the entire industrial design process from Sketches TO Surfaces on sketches TO Surface manipulation and build and further onto rendering and animation.

In retrospect, CATIA V4 can create Class-A surfaces with (1) compromise (e.g. this deviation is OK, because it can be polished by the toolmaker) and (2) an idiosyncratic approach by the CATIA operator - i.e., it can be done but not as easily as with Alias or ICEM Surf.

Historically, its been "difficult" of Dassault to create software in V4 to easily create Class-A surfaces due to the use of Bezier (polynomial) based mathematics. There is nothing against Bezier based surfaces though. They are excellent for creating the engineering surfaces we have all come to love (BIW etc.) utilizing intelligent use of multi-patch surface methodology. In fact, I doubt NURBS surfaces could do a better job.

And without a doubt, V5, with its new architecture and use of Bezier and NURBS surfaces will go along way in being able to confidently and more importantly competently producing these Class-A surfaces for an ever growing aesthetic minded world.


And what about V4 CATIA?

CATIA V4 currently has the ability to create curvature continuous surfaces in two categories.

Surfaces:
a. Using SURF2 and SKIN (GSM) functions to sweep and loft as "long" a surface as possible. This will generally produce a curvature continuous surface with minimum deviation.

b. Intelligent use of SPINES and LIMIT curves when using SURF2 and SKIN to closely match curvature across boundaries.

c. Utilizing conic surfaces and conic curve approximations to mimic curvature conditions.

d. For parts with large variations within its shape cause techniques a and b to struggle. For this reason, we may take three approaches.

d1. Create "unstressed" surfaces to the point of struggle and fill in the blank with blend surfaces and curvature continuity. This is very much situation dependent.

d2. Use ARC’s and PATCHES's - ARC's and PATCHES have the peculiar yet great ability to
? not go through all their constraints (good for the styling end of the design process) * the ability to deform a arc or patch to a point
? The ability to deform the boundary of a patch to an arc whilst maintaining the opposing continuity.
? Most importantly - the ability to reduce or increase degrees of arcs and patches to maximize or localize deformations. I have found these most useful.

e. Utilize NURBSCRV and NURBSSRF when and arc or patch refuses to go close enough to the constraints of interest.



Blends:

These are a curious family of surfaces. One can utilize two functions within CATIA V4.

The first is the ubiquitous BLENSURF functions, which allows a point/tangent/curvature continuos blend between any two curves on any part of any plane, FSUR, RSUR, surface, face or skin. OR automatically creating BI-rail curves along two surfaces at particular "radii" and placing a point/tangent/curvature continuous blend between them. Tensions and connectivity locations are also adjustable.

Although it is a great tool, one issue with Blensurf is its inability to blend around a large angle. For instance, if one constructs two segment surfaces to each other at right angles with a gap between them and then placing a curvature continuos surface to connect them. The result is very surprising. The surface comes off one with curvature continuity, takes the shortest route to the other and then blends with curvature again. It is not the expected shape in the blend, when comparing it to the curves created using CURVE2+CONNECT with curvature from the isoparametric curves of each surface.

The reason for this is that Blensurf creates purely mathematical curvature. For the correct shape, mathematical and isoparametric curvature is required. Guess what my friends, Dassault are already on the ball, this is possible using GSM's SKIN function blend and V5 GSD blends.
 
amitkulk,

have a star!... an interesting and informative read

thixoguy
 
this post is not from amilkulk and he got already 5 starts in post 27336 from july 2002 for the same post, while i could find the same document in the coe.org forum posted in may 2002 from charuhas who got it from the internet.


Does someone know who wrote this document so we can give credit to the right person ?

i give a star to ferdo who, like some of us, use the search tools ;)

Eric N.
indocti discant et ament meminisse periti
 
hi Eric....

I never said its all my Knowledge... I found it some where searching on net I kept it as a record and just shared it.. and i am not looking for any stars....who cares if i get 100 stars or 1....

Thanks..
 
my point was just that people do not use the search...

But still i am curious about who wrote it.

Eric N.
indocti discant et ament meminisse periti
 
but i enjoyed reading it again... ;)

Eric N.
indocti discant et ament meminisse periti
 
I was a member of COE.ORG where I found this document almost 2 years back but not sure who was the original Author. but Surely he was a great guy..
 
email to charuhas did not work...

Eric N.
indocti discant et ament meminisse periti
 
Thanks Amitkulk for the post. I enjoyed it before, and again yesterday!

I'm curious about the continuity terminology. I can understand C1, C2, and C3 being used as labels for the various levels of Continuity. But what does the "G" stand for?
 
Jackk,,,

To answer your question I went on Google to search the exact meaning of G continuity,,,Please see some of notes i found on there... Dont ask Me details As I have not fully understood the Details... Hope this helps you...



Parametric Curves
=================

Motivation
----------
How do we represent a curve?
- for a line through space
- for some value f(t) used in an animation
- etc.
Simple question, complicated answers.

Basic strategies
----------------
a) Function: e.g. in 2D: y = f(x)
Disadvantage: can't represent some curves
b) Implicit: f(x,y) = 0
Disadvantage: hard to evaluate
c) Parametric: x = f1(u), y = f2(u)
Disadvantage: u does not have obvious geometric meaning.
We will mostly use parametric form.
d) Subdivision: points plus algorithmic rules.
In many cases, this is (surprisingly) equivalent to a parametric
representation.
More on this later, not today.

What might we want to do with curves?
-------------------------------------
a) Evaluation:
. Find location of "all" points on curve
(with "all" perhaps being discretized)

. Find location of a particular point on curve...
- how this is specified depends on representation
- x = f(u)... easy to find for particular u.

b) Modeling:
. Allow user to specify a desired curve
(where they are likely working in 'visual' space)
. Allow user to intuitively *modifying* a curve.

c) Prove/mandate certain properties:
. Continuity
- For example, is the derivative of the curve continuous?
Draw curve that is not G1 continuous.
Draw curve that is G1 continuous.
- Define continuity:
G = geometric (i.e. direction of derivative)
C = mathematical (i.e. direction and magnitude of derivative)
[more later on the G/C distinction]
0 = position
1 = derivative
2 = 2nd derivative
etc.
. For example, is the frequency content bandlimited?
(normally we don't insist on this)

Some of these things are harder to do in certain representations
than in others.
In particular, modelling can be quite tricky.

What did people do before computers?
-----------------------------------
- long strips of metal or wood
- put weights on them
- note: this usually gives G2 continuity

Some possible mathematical representations
------------------------------------------
a) Line segments
- but can't do better than G0 continuity
- often we want something better, particularly
if we don't know precision at which we want to evaluate curve yet.
b) Sum of sinusoids
- allows guarantees on frequency content
- hard to control other properties like continuity or lack thereof
particularly if piecing together several pieces
c) Polynomials
- easy to control derivative properties
- behave poorly if order of polynomial gets too high
- coefficients do *not* behave intuitively
(but, we can work around this...)

Cubic polynomials
-----------------
f(u) = Ax^3 + Bx^2 + Cx + D

Cubic is minimum degree that allows both position and first derivatives
at endpoints to be independently controlled.

Higher degrees are possible too (and allow better control over higher
orders of continuity).
But higher order polynomials are also harder to control; they tend to
want to oscillate.

We typically use cubic polynomials in computer graphics.

More complex curves (more wiggles -> use splines)
-------------------------------------------------
We create more complex curves with piecewise cubic functions.
Several ways to do this... more details later.
Example:

|<--- cubic #1 --->|<--- cubic #2 --->|<--- cubic #3 --->| ...

(remember that we are plotting f(u) here. you get more interesting
curves by with full plot of (x(u), y(u))).

Modelling
----------
Suppose we specify each cubic completely independently.
How the heck do we choose the coefficients to get the curve we want?

A0 = ?
A1 = ?

In theory we can make positions match up, and even derivatives.
But not at all intuitive to do so.

Can we come up with some other parameterization (really basis) of the
cubic function that has more meaning???

Specifying position and slope of endpoints
------------------------------------------
This one is called a Hermite Curve.

left endpoint (u=0):
position = p0
slope = s0
right endpoint (u=1):
position = p1
slope = s1

Plug and chug...
A(0)^3 + B(0)^2 + C(0) + D = p0
A(1)^3 + B(1)^2 + C(1) + D = p1
3A(0)^2 + 2B(0) + C = s0
3A(1)^2 + 2B(1) + C = s1

OK, so now we see that it is possible to use a different basis for
specifying the polynomal.
Basis #1: A, B, C, D
Basis #2: p0, p1, s0, s1

How could I specify slope in a graphical modeling tool?
(tangent line)

Specifying position of endpoints plus two other points
------------------------------------------------------
could do this
leave as an exercise for the reader...
we refer to these points as *control points*

Intuitive example:

*
*

* *

| | | |
note equidistant spacing of u coordinates


Approximating control points
----------------------------
So far we have "directly" manipulated points and slopes on the curve,
except for the original A,B,C,D basis.
By specifying four positions, we have what are called "interpolating"
control points.
It turns out to be useful (for reasons to come soon...) to be able
to control the curve with points that *influence* it, but do not
actually lie *on* it.
i.e. using approximating (non-interpolating) control points.
This is just going to be using a different basis.

Intuitive example:

*
*

* *

| | | |
note equidistant spacing of u coordinates


How do we do this mathematically?

What we're going to do is to use a basis that consists of
four different cubic curves. The weight for each one is
specified by one of the control points.

The four curves are the Berstein polynomials:

b0(u) = (1-u)^3
b1(u) = 3u(1-u)^2
b2(u) = 3u^2(1-u)
b3(u) = u^3

Show polynomials...
[Figure from Watt, pg. 72, right side]

Note that b0(u) + b1(u) + b2(u) + b3(u) = 1

A curve constructed using the Bernstein polynomials is called a Bezier curve.

Note: The plots so far have been of the form f(u).
But for a 2D spatial curve, you have fx(u) and fy(u).
And you usually plot fx(u) and fy(u) on the x/y axes,
leaving 'u' invisible.
In this form, the control points look like (x,y).
You still have four of them.

See examples from Watt, pg. 72, left side and pg 73.

Piecewise cubic curves
----------------------
We said earlier that if we wanted to build more complex curves,
we'd do it with piecewise cubic curves.

again, plotting f(u):

|<--- cubic #1 --->|<--- cubic #2 --->|<--- cubic #3 --->| ...


But once we decide to do this, things get more complicated.
Reason: we typically want to insure some amount of continuity
between the adjacent curves.
Defintely G0.
Usually G1.
Sometimes G2.

Consider what happens for Bezier curves.
We get G0 continuity, but not G1 or G2.
But we typically want at least G1 continuity.
We could impose additional rules to try to force continuity,
but this rapidly causes the whole curve manipulation to get
geometrically non-intuitive.

So instead we need to rethink how our control points work.

The key insight: if we want the nearby cubics to share many
of their properties (such as derviatives at endpoints), then
it makes sense for them to share control points.
That way, a change to one control point makes a change to
two (or more) cubics.

One simple form of this is uniform B-splines.

Uniform B-splines
-----------------
Four control vertices, just like before.
But basis functions are somewhat different.

We are going to use a single 4-unit-wide cubic curve, but then shift
it for each control point.

See Watt pg. 81 for the 4-wide cubic curve.

The four shifted versions of the curve (truncated to [0,1] range)
are:

B0(u) = 1/6 u^3
B1(u) = 1/6 (-3u^3 + 3u^2 + 3u + 1)
B2(u) = 1/6 (3u^3 - 6u^2 + 4)
B3(u) = 1/6 (1-u)^3

defined for u=[0,1]

Show figure from Watt, pg. 82, at bottom.

Control points are just the weights for the four functions.
With this sceme, none of the control points are interpolated.

B-splines have C2 continuity!!
But do not interpolate *any* of their control points.

Other things you will hear about
--------------------------------
* Non-uniform B-splines:
With *uniform* B-splines, the control points are located at uniform
intervals in u. Not the case for *non-uniform* B-splines.

* Rational splines
(e.g. NURBS -- non-uniform *RATIONAL* B-splines)

f(u) = fx(u)
----
fw(u)

f(u) = (fx(u) fy(u))
-----, -----
fw(u) fw(u))

Advantages:
- invariance properties under perspective projection
- exact representation of conic sections


GEOMETRIC VS. PARAMETRIC CONTINUITY
===================================
(details of this can be skipped if necessary)

G0 = curve segments join together

G1 = directions of tangent vectors two curves are equal
(but not necessarily the magnitudes of the tangent vectors)

tangent_vector_1 = k * tangent_vector_2
k > 0

C1 = directions *AND* magnitudes of tangent vectors are equal.
This is 'parametric continuity'.

Cn = directions *AND* magnitudes d^n/dt^n [Q(t)] for all derivatives
through 'n'th derivative are equal.

The tanget vector Q'(t) is the velocity of a point on the curve with
respect to the parameter 't'.

...

In general, C1 continuity implies G1 continuity, but the converse is generally
not true.

...

There is a special case in which C1 continuity does *not* imply G1 continuity:
When both segments' tangent vectors are [0 0 0] at the
join point. In this case, the tangent vectors are indeed equal, but their
(geometric) directions can be different.

---------

Example of G1 continuity but not C1 continuity:

curve #1:
x(u) = u
y(u) = u

curve #2:
x(u) = 2u
y(u) = 2u

with a join point at u=0.

In both cases the tangent vector has a normalized direction of (0.5, 0.5).
But the magnitudes of the directions are different:
(1,1) in the first case, but (2,2) in the second case.




This is not my Paper.. I found on google..Just Sharing,,,
Amit
 
amitkulk,

You deserve the star! You took the time to share the knowledge. Personally, whether you wrote it or not, is irrelevant. What makes eng-tips so great is the exchange of information, we all benefit.

thixoguy
 
Hi guys,

I didn't read all the posts here though it seems some good explanations have been given.
From my perspective(I don't think much about the definitions for so-called class-A surfaces)what I am concerned is the high quality technical surfacing and techniques to produce manufacturable surfaces exactly according to or very close to a design and styling intent. Whether it has to be aesthetically pleasing (like a relatively vast area of a visible surface such as body panels or doors of a high quality car) or functionally serve for a specific purpose. The common techniques can applied for quality product design and reverse engineering to achieve the design intents from sketches or point clouds and you may need surface continuity up to G4 (C4) or a very accurate surfaces to fit a point cloud for an as-built model.

Car Designer
 
Thanks again Amitkulk for the posts! Very helpful.

(could you tell us the source of the info, or at least the url?)

I agree with CadArtist. I appreciate when surface modeling software (like CATIA) make the mathmatics invisible so us designers only have to worry about shape in our design. But it's also helpful (at least to me) to understand how the various options affect my design.
 
Jackk,
Technical surfacing needs that the modeler knows exactly about the parametrization and approximating methods and the results of the chosen degrees and spans of the curves and surfaces of the model. Yeh you need to have a deep understanding of your construction curves as well as taking the right approach for each job based on practical experience. Practice practice and practice on different kind of shapes and surfaces and for different scenarios. You have to know how to apply and when, all your technical knowledge and all those mathematics of technical surfacing.

Car Designer
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor