Trouble using Flow along Curve

In Duct Profile Construction Obj.3dm I generated Top Fan Duct splines for a straight axi-symmetric radial duct using the PythonScript titled
I am trying to Flow the Top Fan Duct Splines along the Top Fan Duct Lower Sfc Profile so that the Flow Top Fan Duct Frustum Annulus Exit Area is equal to the Top Fan Exit Area (please see layers named as such). The Straight Radial Duct Exit Area is equal to the Top Fan Exit Area, but so far I’ve not been able to produce a flow(ed) duct having constant cross sectional area from inlet to exit. I think I’ve tried all of the options in Flow Help but no joy so far.
It’s clear that I am not understanding the Flow command.
Any help is appreciated ~ David

Duct Profile Construction Obj.3dm (91.7 KB)
) (3.1 KB)

Sorry, I mistakenly used the wrong term for the curve I was attempting to use as Target. It should have been “Top Fan Duct Lower Sfc Profile”

Thanks ~ David

Hi David - sorry - it is not clear to me yet what you don’t like about the flowed lines…

@saucerdesigner - I see your post to tech, I’ll look there.
There needs to be another adjustment to the line length to account for the difference in radius at the flowed position.


Hi Pascal - the flowed lines get shorter the farther from the start of the Base curve they are. Do a surface>revolve of one of the flowed lines and it’s matching counterpart in the straight unflowed version. Then compare their surface areas. They should be equal, but the flowed lines are shorter than the originals, resulting in a smaller surface area. I hope this helps.

Hi David - they will not be equal because the radius of the revolve changes from the input to the flowed version. The angle from vertical will also some into play I guess.


Pascal, that makes sense. I’m wondering how I’m going to compensate so that the surfaces are equal. Any ideas? ~ David

I’d suggest next time to also make your question more understandable (like you did in your post with the image) so people can help you out. It was really hard for me to read through your post with all the layer names that contain the same prefix. So I gave up.

Hi David - not off hand - if the lines stayed vertical, I can imagine there is a way to figure it out but with the varying angles, I’m less sure.


Agreed. No excuse. Thanks ~ David

Actually, they don’t get shorter. Pascal got it right, it’s the decrease in radii of the flowed versions that is resulting in smaller revolved surface areas.

The spline’s endpoints will be connected using interpolate curve. This will be the profile of the outer duct surface when revolved.
Since I know the X-coordinate of the intersection of the target curve and a spline parallel to the X-Axis, which in this instance I’ll have to draw myself, it will be trivial to determine the length of a corresponding spline which will result in the desired revolved surface area. I’m wondering if I can use edit points or some such to proportionally reshape the flowed versions, resulting in a constant -cross sectional area from inlet to exit.

HI Pascal. Flow along Curve is working exactly as it should as far as I can tell. The solution to my problem is one of solid geometry, not Rhino. Grasshopper might be able to handle it. I’m not sure.
The answer can be found in the solution to finding the length of the slant height of a conical frustum given the lateral surface area, the top radius and the slant angle (all knowns at this point). I’ve searched high and low but haven’t seen a solution yet. i’ve asked an old buddy who is an MIT ME grad if he can answer it. We’ll see.
I appreciate your input, as always. ~ David

Hi Pascal - our old friend the quadratic equation came to save the day via stackexchange:


Right… clearly you just need to ask the right people!