Jump to content

Blade Sections from STL Data

caeses blade sections axial fan

Can we analyze STL data, e.g. from a 3D scan, and extract 3D blade sections using CAESES?”. Well, this is a question we have heard several times in the last weeks and months. From a product point of view, if several users are asking for a specific func­tion­al­ity, there must be a sub­stan­tial need for it. So, we started a more detailed dis­cus­sion with them, to find out what they really want to achieve, and where they want to go in the end. 

Why Blade Sections?

It turned out that it comes down to basi­cally two tasks that our users want to solve: First, the analysis of provided STL data, where no CAD model is avail­able. The goal is to obtain the typical geo­met­ric def­i­n­i­tions from the dead” geometry, such as

  • chord length
  • camber infor­ma­tion
  • thick­ness
  • leading and trailing edge radii etc.

This infor­ma­tion can serve as a baseline ref­er­ence for new and more com­pet­i­tive designs within current customer projects.

Example STL data, imported into CAESES

The second use case, which often follows the first one, is the fitting of a given para­met­ric blade model to existing data. For a fitting process, you need the target blade sections for least-square routines, where you fit your 2D and 3D model para­me­ters into the baseline blade sections. Since we are talking about dis­cretized point data, our current inter­sec­tion support for common CAD formats (IGES, STEP etc.) and NURBS geometry could not do the job. 

New Command for CAESES Trimesh 

We decided to imple­ment a first solution for inter­sect­ing STL data, and sched­uled it for CAESES version 4.4.2. Luckily, we did not have to start from scratch. CAESES already contains rich capa­bil­i­ties for triangle-based oper­a­tions, which are cen­tral­ized in the trimesh object type. Inter­sect­ing triangle data is some­thing that can be done already, e.g. using Boolean oper­a­tions and trimming. Hence, we spent some time on these existing algo­rithms and added a couple of things, when needed. As a result, we can now offer a new command for the trimesh, which processes the STL data and returns a blade section NURBS curve:

fan.getIntersectionForBlades(stream,index,axis,sortByRadius)

The new routine inter­sects the triangle-based blade data (called fan” in the example above) with a cylinder surface or, alter­na­tively, with an arbi­trary stream surface. The result is an inter­sec­tion curve that can be further used for geometry modeling, fitting work­flows or geo­met­ric analysis processes. Here is a short descrip­tion of the input arguments:

Stream

Surface of rev­o­lu­tion that provides the inter­sect­ing cylinder or general stream surface.

Index

Users can control which blade of the rotor is taken by setting an index.

Axis

Since blades often have dif­fer­ent ori­en­ta­tions in the 3D space depend­ing on the industry and appli­ca­tion, there is also a para­me­ter for the rotation axis.

Sort­ByRa­dius

Finally, for tur­bocharger or pump impellers, there is the option to sort the start location of the result­ing inter­sec­tion curve by means of the largest radius. Always keeping the logical start position at the same place makes it easier to stan­dard­ize fitting processes.

Intersection curve based on the STL data

CAESES users can involve this new command in their own feature def­i­n­i­tions, e.g. to loop through a set of sections, to automate fitting or surface gen­er­a­tion processes, or within image curves in inter­ac­tive modeling tasks. The fol­low­ing screen­shot shows a feature def­i­n­i­tion snippet where the new command is used:

Snippet of a feature definition where the new command is used

Intu­itive Creation of Blade Sections

Not everyone likes using commands, and for many quick tasks there is a ready-to-use and simple feature in the blade menu. It creates the sections with a few clicks, while wrapping the command input’s argu­ments in a nice interface.

Ready-to-use intersection feature in the CAESES menu

Check out the fol­low­ing video which demon­strates the new blade section capability:

Appli­ca­tions

The new blade inter­sec­tion routine is applic­a­ble for any type of blade such as fans, pro­pellers, pumps and tur­bocharger impellers. By making the inter­sec­tion routine avail­able as a command, it is per­fectly suited for auto­mated work­flows, in par­tic­u­lar, to fit existing geometries.

Blade sections and automated fitting for any type of rotating machinery

More Infor­ma­tion

We hope you’ll like the new blade section routine — let us know if anything is missing, or if you have any questions.

Check out the tur­bo­ma­chin­ery section for more infor­ma­tion about general blade modeling. If you would like to learn more about pro­peller modeling for ship hulls, see the marine section.

Sub­scribe Newsletter

Are you inter­ested in these topics and CAESES-related news? Then sign up for our newsletter!

More articles

Latest from the blog

All articles

Stay up to date

Receive latest news to your inbox.

Subscribe to newsletter