Community
Fusion Design, Validate & Document
Stuck on a workflow? Have a tricky question about a Fusion (formerly Fusion 360) feature? Share your project, tips and tricks, ask questions, and get advice from the community.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

I'm stuck trying to make a curved surface into a solid

11 REPLIES 11
SOLVED
Reply
Message 1 of 12
OceanHydroAU
1458 Views, 11 Replies

I'm stuck trying to make a curved surface into a solid

I'm making a mini 3-blade turbine.

 

Because the foil section adjacent the hub is "bent around the hub", I could not use the solid loft which requires flat faces, so I ventured into the surface workspace and got it looking nice.

 

I assume it is best to turn it back into a solid now, right?  (I want to 3D print it on my FFF machine)

 

Assuming yes - can anyone suggest how to make it solid?

 

I struck this beastly problem:-

Screen Shot 2020-06-08 at 3.46.23 am.png

 

and nothing I can think of lets me join the blade to the hub.  It won't stitch.  Without the hub, it won't patch either.  It sneaks past 90 degrees around the axis, which I suspect is the problem (the tip, also "bent" but only by a few degrees, patched fine)

 

I was beforehand "touch the hub" exactly.  I extended it so it "goes through" the hub to see if that helped, but no - same problem.  I'm wondering if I can somehow make a huge solid block, and then "intersect" my surfaces to "carve out" my answer, but that's eluding me too.

 

Here's the sketch - I've named everything so it is easy to understand:

 

https://a360.co/37gjJnu

 

Screen Shot 2020-06-08 at 4.02.38 am.png

11 REPLIES 11
Message 2 of 12

stitch is only going to work on edges that line up with each other within a certain tolerance.  you would have to trim every thing back, both the hub wall and the extended end of the blade to get that to work.  do able.

 

the bottom of the hub not fully extending past the bottom of the blade is a problem.  correct that before trying anything.

 

you could put a patch on the end of the blade, and stitch the blade into a solid.

 

In the attached, I extended the bottom of the solid body hub an arbitrary distance, and then did a boundary fill of  the hub and 3 blades.

 

Message 3 of 12

Thanks heaps!!  I was going crazy trying to work that out (not helped by the fact I'd been up all night and it was 5am...)

 

I "gave up" on trying to patch the hub end, because the non-flatness made it not work - although in retrospect, maybe I could have added rails to get it to work.

 

The "extend bottom" clue was spot on - brilliant thinking.

Message 4 of 12


@OceanHydroAU wrote:

... the non-flatness made it not work...


The non-flatness of your loft profiles is problematic in many ways.  in the pic you can see the crazy curvature that results from loft trying to curve around to the profile.  Your also never going to be able to get a spline to lie flat against a cylinder good enough that you can perform good surfacing with it.   A typical way to address this transition would be to over-build the end, to a flat profile, and cut it back to the hub.  keeps the geometry cleaner all around

 

You can also see in the pic how the curvature is effected at each of those loft cross-section profiles.  with splines and with lofts, less is more.  if you can figure out how to make the rails, there's a good chance you could make this with 2 (flat) lofts.  your surface quality would be way better

 

laughingcreek_0-1591580046950.png

 

Message 5 of 12

Thanks - what's the thing you did that let you produce that graphic?

 

My base-splines are actually nicer, but Fusion360 hasn't released their algo for their own fit-point-splines, so I'm forced to expand my cubic b-splines into their proprietary ones to retain the shape accuracy - that said, when viewed from above, the Z-wrap is totally perfect.

 

My goal is to automate this entirely, including the lofting, so I do have the "perfect" mathematical opportunity to exactly join and cut and manipulate and so forth in my python code, as well as carry out mass-tedium stuff, like accurately connecting points with splines for rails and so on - right now, I'm exploring the manual-workflow solution first, before I switch over and write it in code.

 

I also discovered a few unwanted artifacts in some of my output splines (rogue particle-swarmed points that impacted the curvature wrongly) which is probably going a long way to confusing Fusion360 when it has to loft those around 3 simultaneously-varying bent axes - although I must say that what the software managed to achieve with my hideously complex input was astonishingly good.

 

If you've got any suggestions for how to maintain my precise shape (rotational foils) while optimising the loft process I'm definitely happy to hear!  I guess I could mathematically convert most of my bent shapes into flat ones by logically projecting them to flat, however, that's going to begin to fail at 45-degree-Z-wraps and eventually become impossible past 90/180/360+ degrees (if you imagine where the blades on a ship propeller connect to the hub, they can be "wrapped around it", which just can't ever project to a flat shape).  I prefer code which suits all purposes, and some people (me included) are going to want to have blades wrap around hubs.

Message 6 of 12


@OceanHydroAU wrote:

... what's the thing you did that let you produce that graphic?...


That was the"curvature map analysis"

 

...My base-splines are actually nicer, but Fusion360 hasn't released their algo for their own fit-point-splines, so I'm forced to expand my cubic b-splines into their proprietary ones to retain the shape accuracy


Improving the spline creation process is high on my wish list.

 

... when viewed from above, the Z-wrap is totally perfect...


Are we looking at the same model?

laughingcreek_0-1591625552784.png

laughingcreek_1-1591625581209.png

 

laughingcreek_2-1591625652749.png

 

 


 

 

If you've got any suggestions for how to maintain my precise shape (rotational foils) while optimising the loft process I'm definitely happy to hear! 


you can probably still achieve this with curved profiles instead of flat, but you'll need to place the rails with a bit more care.  a long thinnish twisty shape like this usually needs at least 4 rails to keep it from collapsing a bit mid span.  but you don't want to go over kill either!

laughingcreek_3-1591627055824.png

 

lofts will also behave a bit better if the rails connect normal to the profile.  so instead of going full flat, if you overbuilt just a bit, it might help.  it would help if the profile itself had a bit of twist  achieve a normal connection (right now all your profiles are parrallel to the z axis)-

laughingcreek_5-1591627810790.png

 

maybe the simplest improvement would be to identify the right spots on the spline to connect your rails to to maintain a good surface flow.  that might not necessarily be a control point

Message 7 of 12

Curve map? - very cool - I never thought to look at that.  The "kink" it highlighted was caused by this "knot" in the underlying bspline of just a single foil section::

Screen Shot 2020-06-09 at 12.56.10 pm.png

bsplines get very unhappy when points have highly unequal distances between them and sharp corners - although I must tip my hat to my particle-swarm code which still managed to find a way to arrange the mere 7 points I let it play with to nevertheless get an otherwise optimally-performing shape.  I'm on a mission to refactor everything to wipe that problem out (big job - 8 years of legacy code and squillions of hours CPU time involved...)

 

The line you can see near the hub-end was because Fusion would not let me loft the nearest-hub element, so I first did all the others, then came back and forced the hub to work with more rails, and subsequently could not work out how to join/stitch those 2 back into 1 bit.

 

The good news though, is that this did in fact 3D print just fine - I did a pattern-rotate on the Z axis to get both blades at the same time, joined along the trailing edge

Screen Shot 2020-06-09 at 7.34.55 pm.png

and I used a hot-wire (badly) to separate them, super-glued them into a full turbine, and it blew away my expectations (bad pun, sorry) along with a $20 ceramic bearing which came loose and vanished.  I designed it to do 1400 RPM in 13kts wind - we've only got half that right now, but it still span wildly out of control and ripped out of my hand...

 

Before startup:-

Screen Shot 2020-06-09 at 7.20.22 pm.png

 

 

Just as it's beginning to spin (it is not bent, it's too fast for my  shutter):

Screen Shot 2020-06-09 at 7.21.33 pm.png

 

And shortly before take-off, plus the last time we get to see my $20 ceramic bearing... it's spinning so crazy fast that it's doing multiple revolutions in a single shutter frame now:

Screen Shot 2020-06-09 at 7.22.30 pm.png

Here is what I meant by "perfect Z wrap" - if you look down from above at the sides of the splines, they all perfectly lie on the concentric circles for their station (so yes, we're talking about the same design):

Screen Shot 2020-06-09 at 10.06.27 am.png

 

Here's a close-up:

Screen Shot 2020-06-09 at 10.06.53 am.png

Someone gave me some code to extract points from Fusion splines, so I'm thinking that it might makes things work loads better if I convert the particle-swarmed random-placement resolution into something that makes more geometric sense (e.g. equi-spaced control points, and then connect a rail to the absolute front-most leading-edge point, plus the apex of the top surface, plus the tail, plus the apex of the undersurface, and perhaps additional rails that are equidistant* between all those... ugh... can you even imagine the math needed to work out where the middle is between two arbitrary points on a spline...)

 

So yes - you idea about picking better rail connection points sounds very promising (plus a lot of work - connecting stuff manually to random places on a line is easy in the GUI, but I expect a nightmare in the API...)

 

Are you also doing work yourself with splines?  Maybe there's some synergy here?

Message 8 of 12

I am wondering if al this work with complex splines isn't really making this more complicated.

@OceanHydroAU You've mentioned "swarm particles"  and it sunds like what your algorithms return is less of structured geometry, but more or less a point cloud that describes the surface. 

 

An automated way to create a triangulated mesh from that point cloud and then mesh to re-topologize that triangulated mesh might be a better approach.


EESignature

Message 9 of 12

So another question I have is if your algorithm can create an arbitrarily dense point cloud?

 

If so, then there really isn't a need to convert this into NURBS geometry. At least not for the purpose of 3D printing, which is in general magnitudes less precise than a properly machined part.


EESignature

Message 10 of 12

My source splines are 2D airfoil shapes, which I began by converting into b-splines (using particle swarms) from source foils (the entire UIUC database, plus every other non-patented non-copyright foil I oculd find), then I added all 10,000 NACA foils too, then I run a genetic optimizer over them all for 768 different use cases each, then I picked the top-ten best performing* ones from all that, and run 768 particle-swarm optimisations on each one again, to finally arrive at 1440 "base airfoils" (768 wings, 768 struts).

 

* (my solver computes lift and drag etc, and I optimsed for best CL/CD normal-distribution-weighted over a +/- 6degree AoA range) 

 

So I am basically only using 2D, so no mesh/triangles/etc.  I did write a converter to go from my code into Roland RML for milling these things, but that got way out of hand fast...

 

For wings and such - 2D is fine - lofting things that go in straight line is easy.

 

Props and turbines go in circles though, so I have simply "bent" all my 2D stuff around the circumference of it's station out from the hub center.

 

My PLA 3D print was just for testing that I'm on the right track, which so-far seems yes.  I'm planning some Resin prints (47 x 47 x 25 micron resolution on my SLA printer) for small propeller tests (Drones and RC boat props, plus some scale water turbines) and to mill a 125cm prop (or negative mold) for my ultralight - so there's a mix of resolutions I need in all that.

 

As for "arbitrarily dense point cloud" - yes - my algo is "dimension agnostic"; it's doing 2D right now, but the number of dimensions is arbitrary (1D, 3D, 4D+ all work the same) - I've got 2 solvers:

1) "shape matcher" (feed it anything, say how many control points you want, and you'll get back the best possible arrangement of points to most closely approximate the original shape with an N-dimensional b-spline.).  I chose 17 points and 2D foil shapes, but it doesn't care about the shape or dimensions (it does get slow with too many points though...)

2) "fluid analysis" (feed it a sensible airfoil spline [e.g. output of above], your chosen operating conditions, and a method to understand what "best" means*, and it uses gradient-descent (after a bunch of other pre-optimisers) to find it.  * "Best" is another spline - so you can pick any arbitrary shape for how you want to genetically engineer the offspring - I've used a bell-curve for my base foils - another example would be "camel shape" (dual bells) for finding the best wing airfoil that works for slow take-offs, and also has excellent cruise performance.)

 

Once you've got the control points from the above, you can pick any density you want.   My goal to try and move to nurbs is the opposite though - to try and only have to use my original 17 points to get a 100% accurate reproduction of the foil that the solver found.  I love curves, I hate triangles...

Message 11 of 12
chrisplyler
in reply to: OceanHydroAU

The_Sixth_Sense_poster.png

 

I see smart people.

 

 

Message 12 of 12


@OceanHydroAU wrote:

I love curves, I hate triangles...


Here is a juicy bit of info then. The CAM core uses meshing algorithms to create tool paths. It is very unusual for a CAM software to work directly with NURBS data.

As such triangles have their place.

 

BUT, if your algorithms don't calculate a point cloud describing a 3D surface then triangles are obviously not a way forward.

 

So here is another approach the might hold some promise. If all your profile curves use the same number of points, then that describes a quad-mesh, which in turn can be converted into a T-Spline. That T-Spline, when converted into a NURBS surface, is a 3-degree NURBS surface.


EESignature

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report