Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Bezier Curves in Mechanical Design

  1. Jul 27, 2012 #1
    Hi Folks,

    Sorry if this has been asked before but I have searched the forums and can't anything to do with this. Also please correct me if I am posting in the wrong forum.

    I am making an application with functionality similar to a revolution of a sketch within any CAD program.

    I don't really have a mechanical engineering background (took a solidworks and pro|e class once), and I feel like I jumped the gun by making Bezier Curves the primary basis for these sketches that can be extruded and revolved.

    My question is:

    Are Freeform cubic bezier curves even used within this industry? Are there any examples of programs that have definable values to position control points? For example, pretend a curve represents an aspheric surface of a lens, and the user would like to control the distance between the two end points and the curvature with parameters (but in my application the user only has control of the 4 control points of a cubic bezier curve). Also maybe a user draws an ellipse to be extruded but needs to manipulate the major and minor radii programatically. Are there any programs with similar behaviors? Am I going about this completely wrong?

  2. jcsd
  3. Jul 27, 2012 #2


    User Avatar
    Science Advisor
    Gold Member

    I don't think Bezier curves are a particularly common option in CAD packages, at least from a user geometry definition standpoint. It could be that they are "buried" in the software away from the user who uses simple geometry actions instead... If I'm modeling an ellipse or an aspheric surface, I definitely would not use bezier points to do it. I would want to define the geometry by whichever geometric properties are relevant, for example an ellipse's major and minor axes.

    Solidworks has a "spline" command which seems similar to a bezier curve, but I've rarely used it because I don't do much free-form surface design. Could be it's more common in automotive and consumer product design which has need of complex blended surfaces though...

  4. Jul 27, 2012 #3
    These were also my thoughts. Initially, I believed that the tool would be mainly for complex surfaces (Optics applications). From a Solidworks perspective (looking at the link), it feels like these curves cannot be parameterized or constrained in anyway and just remain as they are. Am I mistaken about this?
  5. Jul 27, 2012 #4


    User Avatar
    Science Advisor
    Homework Helper

    Bezier curves were the an important concept at the start of the deveiopnent of CAD, but that was 60 years ago.

    It is fairly common now to use more general curve and surface definitions, such as http://en.wikipedia.org/wiki/Non-uniform_rational_B-spline (NURBS). These include Bezier curves as a special case (by ignoring the "Rational" part of the formulation) and they have the advantage that they can represent any conic section (circles, ellipses, hyperbolas) exactly.

    This simplifies implementing a CAD program, because the program uses exactly the same math methods to work with any combination of "traditional" geometric objects like lines and circles, and general free-form curves and surfaces.
  6. Jul 27, 2012 #5
    Thanks for the responses!

    my application is meant to model things like this easily without utilizing a full blown cad program:


    The part that really caught me off guard was the irregularly shaped cavity in the middle, and shapes like this were the reason I decided Bezier Curves would be useful in these applications. I'm starting to realize how wrong I was, but still have no idea how one would define such a shape with any other tool. I suppose it could consist of 2 tangent arc segments, but that is only OK if we assume that those are tangent and if they are even circlular sections.

    I suppose each section of Bezier curves does have 4 degrees of freedom (4 control points), so perhaps it is possible to constrain or parameterize them for optimization. How else would you model the curves of the hull of a car in real life?

    I'm really hoping there is a way to do this otherwise I'm going to have to do a lot of back tracking and create a new toolset and implementation...

    Thanks again.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook