MoI discussion forum
MoI discussion forum

Full Version: How can I extract and extrude an outer curve?

From: Supagoat
10 Apr 2018   [#1]
Hello! I'm planning on building an RC airplane by modelling and 3D printing its parts. I want to use a construction method similar to traditional wood construction using ribs and a leading edge solid skin.

For an example of what I mean, here's a traditional construction method. First, we have the ribs that make up the structural element of the wing:

https://www.modelairplanenews.com/wp-content/uploads/2014/02/SR-CA-3.jpg

Then in traditional construction a thin, flexible layer of balsa is wrapped around the leading edge and glued on:

https://www.modelairplanenews.com/wp-content/uploads/2014/02/SR-CA-4.jpg

I want to make the construction process easier on myself (and make my 3D printer do more of the work!) What I want to do is take a rib, then extract a piece of the leading edge and extrude it into a very thin walled extrusion so that when I print it the leading edge will be printed along with the rib, extending well above the flat rib. Repeat for each rib and glue together and I have a wing!

In order to do this what I want to do is take the rib, then extract the leading edge curve and extrude it with some wall thickness so it'll print. I've tried copying the rib, shrinking it, and then using boolean subtraction to create a leading edge but when I do that the thickness of the leading edge varies because because of how scaling works. I'd like a uniform thickness... I'm sure there's a way to do this but I don't know what it is.

Thanks!
From: bemfarmer
10 Apr 2018   [#2] In reply to [#1]
How about using the Construct Offset command?
Lofting could be done between ribs?
- Brian
From: Michael Gibson
10 Apr 2018   [#3] In reply to [#1]
Hi Supagoat, I'm not entirely sure I understand the details of what you want to do here, but yes as Brian writes above usually it will be the Offset command that you'd want to use to get uniform wall thickness.

For extracting a curve, possibly Construct > Curve > Silhouette.

- Michael
From: Frenchy Pilou (PILOU)
11 Apr 2018   [#4]
Or from a surface a Shell :)

From: Supagoat
11 Apr 2018   [#5]
Let me try to explain a little better. I use an airfoil generation program to create a bunch of DXF curves for each rib (they get smaller as they get closer to the wing tip).

I ultimately do want to loft from one rib to the next to generate that leading edge skin, but the problem is that I need to get a solid wall - let's say 1mm thick. The question is how do I produce a loft or extrusion that is consistently 1mm thick all around?

For example, if I try to duplicate the curve of the rib and scale it to extrude the leading edge out of the space between the curves, the scaling doesn't keep the spacing between the points. What I'm looking for is the ability to scale down a curve, scaling each point 1mm in perpendicular to the tangent of the curve at that point. To complicate things, since it's a DXF import the 'curve' is represented by a bunch of points and lines.

Here's a pic of what happens if I try to copy the curve and inset. You can see that there's a bigger gap between the curves at the front than there is at the top and bottom:




Image Attachments:
moiInsetCurve.jpg 


From: bemfarmer
11 Apr 2018   [#6] In reply to [#5]
Hi Supagoat,

Using the NACAAirfoilGenerator script here:
http://moi3d.com/forum/index.php?webtag=MOI&msg=8814.101
with "Construct" "Offset" command seems to make a uniform thickness "skin".

"Scale" command does not.

- Brian
From: bemfarmer
11 Apr 2018   [#7] In reply to [#6]
As far as I can tell, use Scale 2D, to scale the xy cross sections of the airfoil, to get reduced size Rib silhouettes, for the length of the wing.

Loft between all of the Rib silhouettes to get the wing surface.
Chop the leading edge portion from the wing surface, and use Offset to get the 1mm thickness.

I read that air molecules do not scale, so Reynolds numbers (whatever they are) are different for a scaled down model airplane profile.

- Brian
From: Supagoat
11 Apr 2018   [#8] In reply to [#6]
First off: Holy cow, cool! I'll check out that NACA airfoil generator!

I tried Construct inset and offset... Offset didn't appear to do anything and inset sat processing for quite a while before I cancelled it ( testing before heading out this morning). I'll give them another try tonight. I wonder if something's not playing nice with the imported DXFs.

That said, from what I can see airfoils are defined by a series of points, and it shouldn't be terribly difficult for me to write a script that takes them (with wings you often change the airfoil from root to tip so it'll have to take multiple sets) and interpolate between them and create the ribs as I need them. Right now I'm using Compufoil3D for this but it does seem like it should be a relatively do-able thing and an interesting programming task to take on.

The question is whether I download beta 4 and start from there so it's compatible when that comes out. Probably a good idea.
From: Michael Gibson
11 Apr 2018   [#9] In reply to [#5]
Hi Supagoat,

re:
> Here's a pic of what happens if I try to copy the curve and inset.

Can you please post a 3DM model file with your curve in it instead of only a picture?

Then I'll be able to take a look at your actual curve and be able to test things on it and give better advice.

- Michael
From: Supagoat
11 Apr 2018   [#10] In reply to [#9]
Sure thing. Here's an example of an airfoil curve.

Attachments:
sampleRib.zip


From: Supagoat
11 Apr 2018   [#11] In reply to [#6]
When I try with offset the inner curve isn't a closed curve. (The original is) I tried making an inset of the inner curve for fun and that one has a ton of segments where the points of the curve don't overlap so it creates a bunch of separate curve segments.

I tried extruding the outer curve then doing a boolean diff using the inner curve and that looked OK but my slicer tries to do some weird things with it when it sets up the print - some segments get detached moved into the middle. Not sure what's going on there.
From: Michael Gibson
11 Apr 2018   [#12] In reply to [#10]
Hi Supagoat, well one problem is your curve isn't smooth, it's a polyline made up of 42 line segments.

An offset of that will work but it will be even more jagged. So it would be good to be working with a smooth curve rather than lots of little line segments.

It will also be problematic to do further work like extruding something like this because the fragmentation will inherit to that as well and you'll be working with an object made up of lots of little plane fragments rather than large smooth surface pieces.

re: offset of your polyline is not closed, it looks like that is related to this little dimpled area here:





It seems like that dimpled point is out of place. The change in direction there is making a shallow intersection that the offsetter isn't handling well, so you'll need to tune up that area with some manual trimming in order to make a closed curve:



Hope this helps!

- Michael

Image Attachments:
supagoat_offset1.jpg  supagoat_offset2.jpg  supagoat_offset3.jpg 


From: Supagoat
11 Apr 2018   [#13] In reply to [#12]
OK yeah I retraced the airfoil with 'through point' freeform curves and then offset by .7mm inwards and was able to create a nice skin that will print well.

Thanks!