Best approach to creating Wing Solids & Molds? Help Required!

Hi All,

I’m looking for some help or pointers as I have no-one to ask and I’ve reached a dead end. I’ve searched here and elsewhere and not found any good threads, apologies if I’m asking a common question.
CAD user new to Rhino and this type of work.

I am trying to make various wings, both a solid then making Molds based on the wing solid.

My approach as been to create solid:

  1. Clean up incoming profiles manually
    -check, close Trailing Edge gap to a single point
    Not sure if I should be using any particular Rhino commands here to make uniform/smooth etc?
  2. Create rib sections along the wing shape, scale appropriate profiles to fit planform
  3. Loft bottom surface using rebuild to x control points or refit to tolerance.
    Starting with bottom surface, loft from a line at wing tip to first profile (rib) then on to end (root).
    Sometimes this is done in sections, then sections joined after MatchSrf
    Repeat for top surface
  4. Mirror, Join

Then Create Mold, then subtract using Boolean operation.

Boolean Subtract is failing even though both the wing solid and the mold solid are “closed polysurfaces” which test ok, have volume, no naked or manifold edges.

Could the Boolean be failing because of having a sharp trailing edge?

Are there some other commands I could try?

Is there a better approach to building a wing & Molds? I have played with using closed curve profiles instead, but it seems to make the Loft much more problematic.

Any advice, links, commands, tips would be much appreciated.


PS I will post this then try to append and example file.

If the wing is completely contained in the mold there will be no boolean.

Rhino is a surface modeller, not a solid modeller. If surfaces do not touch nothing happens.

I guess you will need to develop the parting line and create the mold faces, then subtract the wing from each half.

That 26MB file wanted to download as 50MB. There is something wrong. You should be able to upload to here directly.

Aside from that, you should be trying to keep everything as simple as possible. At 26MB, it looks like there is possibly overly complex geometry. Try/play with Rebuild command to simplify your input sections.

Matchsrf should not be necessary to create a wing, just loft between all the sections in one hit.

A razor sharp trailing edge is impossible to mould in real life and can/will create dramas when modelling a mould. Depending on scale of the wing and construction method, put some thickness along the trailing edge. Create the split in your mould down the centre of this TE thickness.

And what @RicardoAmaral said also, you’ll need to work on halves of the mould. There needs to be a closed intersection between two closed polysurfaces for any boolean operation to work.

OK edited file so it’s directly uploaded.

Wing solid is far too big because of rebuilding with too many control points, would aim for ‘refit to tolerance’ instead now when lofting.

I will try to redo from original profiles, using a sharp trailing edge thickness.

Are there any good commands to rebuild the input curves for the wing profiles so they’re optimised/smoothed/least control points? Would ‘refit to tolerance’ help?

Thanks for the comments so far, I have no-one local to discuss this with, even just laying it out here helps clarify my thinking. :sunglasses:

Hi Dave,

I don’t see an object to BooleanDifference with in the file you uploaded but I can suggest some clean up work on the curves that should help in general. The main issue I’m seeing with your model is that the curves have multiple overlapping points and this is causing the curve direction to vary within a single curve. Use the command Dir to see this as displayed in the direction arrows.

If you turn on the control points for the curves, you can then select one control point and see the selection menu indicating that there is actually more than one point in that spot.

You can delete these extra points but I found it easiest to clean up the curves with RebuildCrvNonUniform. This allows you to set a max point count, tolerance and whether to delete the original. After the curve directions are consistent and the control point structure is simpler, You can loft the curves into surfaces. This may be the reason you were having an issue with a Boolean.

Hi Ricardo,

Thanks for the help.

I’ll restart the wing solid using new curves, rebuilt and control points checked, and including a flat trailing edge.
We’ll see how that goes. :smile:
I didn’t upload the mold for subtraction, as I’ve found that the subtraction still fails regardless of whether it’s my mold or a simple box. The problem is most likely where you’ve identified.

Hi Ricardo,

Thanks for taking the time to help, much appreciated. I think with your help I’ll be able to get this job moving forward again - even if that means starting at the start.

I just redrew one of the incoming profiles (using interpCrv) so that it had a 0.2mm high flat trailing edge rather than a point. I think this helps maintain a split line through the loft process, hopefully.

So far my boolean subtract works, see below.

Now I’ll extend to 3 profiles and a much bigger loft. Fingers Crossed.

I recreated the wing from scratch and my boolean still failed - I think it’s perhaps how I did the loft now, although the wing solid reports as a valid closed polysurface.

Updated file attached.
Mould base 130716.3dm

enough for today…

Have you evaluated the Orca3D Keel Assistant ?
It uses wing sections and interactively produces a closed lifting surface volume.
If you like, I will also be happy to provide some personal tips on handling wings (or similar bodies), initially developed when drawing with pencils but very well suited to computer modelling, especially in Rhino.

If you will pardon the pun, this will not fly.

This neither:

These lines’ almost matching’ the wing profile on the solid you want to cut from wont boolean nicely. If you really need to set up like this first of all you need to make the lines match exactly and then probably explode everything and trim and join by hand to close the mold.

Hi Ndar, I have no money for purchasing add-ons! I will take a look though.


I guess image 1 - bad options when doing my loft are leading to that blowout - maybe I’m better doing 2 rail sweep?!? Or better choices in terms of loose/tight/rebuild/refit ?

And image 2 - I see what you mean. Perhaps I need to go back to plan B, which is to create the wing solid in 2 halves, then offset the outside curve of 1 half and do a 2 rail sweep to get a flat surface around wing half, then trim that to desired outline and plonk that into the rest of the mold base. Do you think that’s a better way to construct a mold? I was thinking that making 2 closed polysurfaces and doing the boolean would give me a more… true… result than constructing the mold. Maybe I’m on the wrong tack.

Making it in halves if the booleans are ‘flakey’ is quite likely a good idea.

DON’T make the parting surfaces by offsetting and sweeping the edge of the wing half if the mold face is supposed to be ‘flat.’ Draw a rectangle around the shape at the same height and use it and the perimeter of the wing half to get an actual exactly flat surface using PlanarSrf. If PlanarSrf fails, you know you need to fix something because the input that’s supposed to be flat isn’t.

That wing tip is a hard thing to get right, I’ve suffered a lot with prop blades in the past. The thing is NURBS are always topological squares and you are trying to accomplish a triangle, and that’s a pain.

Creating the solids and doing the boolean is the easiest way for sure, but it can get tricky.

If you have lines on both solids that are coincident Rhino will just set you crazy trying to accomplish it, better go with Jim’s strategy.

Hi again Dave.
I am very familiar with treating NURBS corners. Even without using the Orca3D tool, Rhino provides the Tools needed to achieve tangency continuity (and avoid cusps), that is by aligning the appropraite edge and corner control points.
In this respect, I always work by directly editing the control points’ location in space, never by retro-engineering surfaces on edge curves, etc. This way I always have a guaranteed match between faces, linear / tangent / curvature transition between surfaces and closed volume.
Dispose the control points to match the desired foil shape, and the reference chord and thickness. You can then scale omothetically to maintain the foil sape, or otherwise, as required.
The process is rather easy to control, and very quick once you get the hand of it.
Although NURBS are indeed rectangular matrices, even a single NURBS (rational or non rational) can be modelled into anything you want, including a perfect sphere…

Hi Dave,

I’m not an aeronautical expert but wanted to suggest a much simpler method for wing modeling. As mentioned, the tricky part is the tip. I like RailRevolve to make the cleanest form personally as that surface can be control point edited easily to refine the shape. RailRevolve also works with History for getting the overall shape right after the initial revolve but control point editing the surface itself will break this of course. Just keep the rows of points in line with one another at the tip and along the edge so that those spots remain smooth.

Wing.3dm(269.6 KB)

Hi Brian,

Thanks for that tip. I wouldn’t have stumbled over that technique in a million years. It does produce a very clean result and I will try to use it.

What do you recommend for a the main wing, to join different profiles - loft or 2 rail sweep? I obviously need more control of the lofts I’m doing if they overrun the boundary as in the red/green image Ricardo sent above. I thought I had plenty of profile sections to control the loft but obviously not.

Hi Dave,
You’re welcome. Can you use this technique for the wing form you showed earlier in this thread? I’m not sure if you lose anything needed by doing so but here’s an example of what I mean. I’d also suggest using the Zebra or Curvature color analysis when control point editing to make sure you keep things smooth.

Despite the help I’m still floundering here - attached is a simplified file with a green wing planform, and 3 profiles (tip/mid/root) which I believe ought to be enough to control any loft or sweep.

If anyone can sweep, loft, or rail rotate and create a surface that is genuinely edged by the green planform line I would love to know how or what I’m doing wrong!!

Even ignoring the tip, if I sweep 2 rails the rest, using the green planform front/back as the 2 rails and the profiles as the cross section curves, I’m still finding that my resulting surface is not exactly on the green planform.

Wing 130723.3dm(575.1 KB)

Hi Dave,

How about this? I used two separate Sweep2 surfaces and fewer cross section crvs. I finished by using MatchSrf on the tip’s Sweep2. You can record history for the sweep and then adjust the control points of the cross sections with zebra map analysis on too. Personally I don’t like the little turn up that the cross section curves take at their ends. It’s a very small detail that will create ripples along the edge with many surfacing techniques. If you can model this in as a fillet or blend after the wing is a solid I think your initial surface will be smoother. Some of your cross section curves also don’t touch the rail which can cause movement in the surface edge although Sweep2 will still make a surface for you.

Sweep2_wing.3dm(508.3 KB)

Hi Brian,

Thanks very much!

Good pickup with some of the profiles being off slightly, that could be contributing to problems.

This was a fresh set hastily redrawn to include that little turn up at the end of the trailing edge - due to ncik’s comment earlier in the thread.

I still have issues with your surface, as in I don’t believe it follows the planform line (but I could be wrong). If I mirror it and put a planar surface on the planform line, and join the lot, I still see naked edges most of the way round as shown here.

Also If I go to wireframe and zoom up, I see these gaps

Perhaps I need to forget about trying to make complete/perfect surfaces individually. I could make my 2 halves (top & bottom) and then join using surface tools like fillet or blend, and then split them again using the planform to get my 2 mold half surfaces?

I am wary of control point editing - firstly my amateurish attempts to modify them usually end up in a mess, but secondly I feel that with an airfoil, any tinkering is essentially moving it away from the true shape it’s supposed to have.
But I’m open to correction on this view!