Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Options

Liebeck and Benzing profiles

Hi everybody,

I'm an engineering student and I'm working on my thesis using OnShape. I found a problem and I was wondering if someone could help me to sort it out.. I need to design a sport car wing and to do it I need high-lift airfoils (used upside down to generate downforce).. The profiles I was searching for are the Liebeck's and Benzing's profiles that I could find (at least the first ones) in the UIUC database but not in the list of the profile generator.. Does anybody knows if and how it's possible to add those profiles?

Thank you in advance for any answer!

Answers

  • Options
    alnisalnis Member, Developers Posts: 449 EDU
    Here's how I would approach it:
    1. Get profile from http://airfoiltools.com/airfoil/details?airfoil=l1003-il

    2. Clean up the data with this Processing script:
    void setup() {
      String[] file = loadStrings("input.txt");
      for (int i = 0; i < file.length; i++) {
        file[i] = trim(file[i]);  // remove trailing whitespace
        file[i] = file[i].replaceAll("  ", " ");
        file[i] = file[i].replaceAll(" ", ",") + ",0.0";
      }
      saveStrings("output.csv", file);
      exit();
    }
    
    3. Edit the csv in LibreOffice (or your spreadsheet software of choice):
    a. Delete row 26 - it's not a correct data point. Use best judgement for other airfoil shapes.
    b. In column D, set rows 1-25 to be "one"
    c. In column D, set rows 26-50 to be "two" (these names separate out the two splines for the airfoil)
    final file:

    4. Upload the CSV file to an Onshape document
    5. Use the "3D CSV" custom feature from:
    https://cad.onshape.com/documents/a5566bc4a7c123d4958fd925/v/74ef42fd67330626670210c7/e/97994fc552ad661c4611715d
    With the following setup:

    6. Create a new sketch and use the edges:

    7. Offset the sketch a distance of 0 to create a surface:


    8. Transform the surface as needed and create a path curve:


    9. Sweep!


    Link to final document:
    https://cad.onshape.com/documents/b30404da8802dd459d5a092f/w/106d68cf7993b88980d841cd/e/a21eaf992bdbb12e0ccf54e9

    I'm no aerodynamics expert, so I may have made some sort of grave mistake. This work is presented with no warranty or liability whatsoever :D! I attached the csv output file I used in the document. Also, there is almost certainly a much easier and simpler way to do this with a custom feature, but I don't know enough FeatureScript yet to do it.

    If you're going to simulate this, check out SimScale. They're pretty well integrated with Onshape and I've done some CFD studies for a lightweight hand-thrown glider I'm designing (though that's on the back burner for now):
    https://youtu.be/NzYPIAJ3qtQ

    I hope this helped!



    Student at University of Washington | Get in touch: contact@alnis.dev | My personal site: https://alnis.dev
  • Options
    S1monS1mon Member Posts: 2,366 PRO
    That technique may be useful for a quick model or simulation, but you'd never want to use it to make a real airfoil. The curvature graph shows that it's not a very smooth recreation of the airfoil. I don't have a great solution in Onshape, as the curve tools are only so capable.

  • Options
    alnisalnis Member, Developers Posts: 449 EDU
    @S1mon that's a very good point! I forgot to inspect the curvature combs. I have a feeling that the problem is the input data itself from the website. It seems to be that the points themselves from the dat file are somewhat irregular (you can see them dip in and out):

    There is almost certainly a better way to do this, but I'm having trouble figuring out what it might be.
    Student at University of Washington | Get in touch: contact@alnis.dev | My personal site: https://alnis.dev
  • Options
    Ste_WilsonSte_Wilson Member Posts: 207 EDU
    Idiots question: Could you not just bring the curve in a jpg and then oh so carefully spline over it or would that lose too much accuracy? 
  • Options
    mahirmahir Member, Developers Posts: 1,291 ✭✭✭✭✭
    I believe there is an airfoil featurescript floating around that may already include the desired profiles
  • Options
    Evan_ReeseEvan_Reese Member Posts: 2,066 PRO
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • Options
    S1monS1mon Member Posts: 2,366 PRO
    @Evan_Reese

    That script is very powerful, but it seems to suffer from similar issues. If you look at the curvature of many of the examples, there are all kinds of lumpy things going on in the airfoils. The density of points in the source data is very high, and that's fine if it's being used to turn into a paper template and then someone will bandsaw and hand sand the ribs. However, if this data is being used for very fine CNC work, the surfaces are not going to be as smooth as they should.
    Here's an example where someone has analyzed this sort of problem and come up with a better parametric solution in Rhino/Grasshopper: https://blog.naver.com/plusplastic/221848442739

  • Options
    Evan_ReeseEvan_Reese Member Posts: 2,066 PRO
    Got ya. I've not really messed with the Onshape features for airfoils, or needed that level of precision. I think a big part of what makes Rhino a good choice has to do with the ability to use higher-degree curves, which makes it more smooth. The blog post mentions using a degree 5 spline. Onshape's splines only guarantee up to C2 continuity internal to the spline as far as I'm aware.
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
  • Options
    alan_baljeualan_baljeu Member, User Group Leader Posts: 111 ✭✭
    Is it possible to import an ideal spline and then build off that?  Parasolid ought to support it even if the built-in spline functions don't create it.
    Creating knowledge-driven design automation software, for molds, etc.
    www.virtualmold.com

  • Options
    S1monS1mon Member Posts: 2,366 PRO
    Parasolid and Onshape definitely support higher degree splines internally, but the biggest issue is using a "through point" spline with a ton of points with limited precision. The errors when you truncate the values causes the splines to wiggle. What you really want is either to drive the curves directly with the NACA math, or generate a really good approximation using b-Splines or Beziers. The NACA math for most of the series is all using cubic or lower parameters. I wouldn't expect that you'd need particularly high degree b-Splines or Beziers to match the curves.

    Here's a paper which shows that for certain types of NACA profiles, Beziers can perfectly reproduce the NACA math: 
    https://scholarsarchive.byu.edu/cgi/viewcontent.cgi?article=3150&context=facpub

    When you have a zillion tightly spaced points and try to run a spline through them, you're likely to get bad curves. It's a basic issue of trying to fit a spline to points. Here's a good summary of that kind of problem:
    https://tamino.wordpress.com/2014/01/01/smooth-1/

    In the case of airfoils, you generally want the top or bottom curve to be convex, or maybe smoothly change between convex and concave very gently, with a single inflection point. You don't expect it to turn into a high frequency sine wave.
  • Options
    alan_baljeualan_baljeu Member, User Group Leader Posts: 111 ✭✭
    Yes so Eric, I think your best bet is to use featurescript.  You can program the math for the airfoil you need using Bsplines.
    Creating knowledge-driven design automation software, for molds, etc.
    www.virtualmold.com

Sign In or Register to comment.