Problem with sweep2

Hi everyone. I’m trying to create a sort of a duct that will connect to a wall. When I try to use sweep2 with the given profiles and rails, I get a surface as seen in the image. All of these curves come from a grasshopper script and I baked them to show the problem. I’m new to using rhino and grasshopper and I don’t know what I’m missing here. Would really appreciate some help.

Kind regards

Emrullah YILMAZ

Sweep2Problem.3dm (51.8 KB)

Hi, what type of Material will be used to make this in real life?—-Mark

Hi, hopefully with 3D printing. But I need to finish this model and create CFD studies around it first :smiley:

Without seeing some sketches or mock-up photos, it’s hard to know the exact form you’re after, but if you build your rails as proper degree 3 or 5 curves with a reasonable CV layout, and your two cross-sections with degree 3/8 span curves, Sweep2 works all right.


Sweep2.3dm (2.3 MB)

1 Like

Hi Lagom,

Thanks for your response. I’m trying to create a feature where I can control the lips at the inlet and profiles of the curves. Afterwards, I will be studying the effects of these parameters on how well this features sucks in air. I tried to provide a bit more detail in the image below. Due to the curved nature of this channel, it is very hard to be able to control the profiles of the lips while creating a satisfactory geometry. Would you have suggestions for modelling?

I also looked at the .3dm file you provided. It seems that making the rail parallel with the inlet profile in their connection point causes the problem with the sweep. Can there be a workaround for this issue?

Did you check the seam of the surface ( that black arrows).

To me it look like your surface is being created twisted.

yep - something is strange with the start condition of the sweep2.
if you select the rails with only one profile - you get a fully planar tail …
quite strange.
i tried to design a minimal sample that shows the same behaviour but i failed.

moving the 2nd cvs 0.1 of the plane:

sweep2 already interpolates the shape much nicer (still without the red shape)

my suggestion:

do a minimal (maybe less then 1 degree is ok) - nonplanar setting for the start condition (move the 2nd cvs of from the plane)
check if changedegree → 3 improves the result
and then do 2 x sweep2 - one for each side (grey and violett)

if you re stay with the planar setting you still get:

somehow this feels buggy or i did not find the setting to force this unexpected result.

not sure on the overall issue / target / project - subd s might be a great way to get a simple parametric version of this shape.

kind regards - tom

ok its a bug with some noisy digits.

here is how to repeat the bug (Version 8 (8.25.25328.11002, 2025-11-24))

hopefully a nice dish for hungry developers:

the arrowhead in attached screenshot is pointing at a _extractPt from the original curve - see the noise of the y coordinate

Point at (-36.53523940,0.00000010,-0.00000000)
-------------------------------^

i am getting an expected surface with sweep2

also if i set the CV of the rail curve to same x and world 0 for y,z

bad CV from original curve
Point at (-36.53523940,0.00000010,-0.00000000)
-------------------------------^
CV of new curve still creating a nice surface
Point at (-36.53523940,0.00000000,0.00000000)
-------------------------------^

but now setting all 3 coordinates to the bad target CV i get this strange Sweep2


sweep2_bug.3dm (217.8 KB)

thanks for having a look at this.

kind regards -tom

Hi Tom,

Thanks for taking a look at this. I didn’t realise that it could be bug and thought I might be doing somethings wrong. Thanks for that clarification.

I don’t know if I mentioned it or not but the curves were actually created using grasshopper. Could there be an issue on that side where it generates noisy position data. That might be a better place to look for issues. Also would there be a way to workaround this issue in grasshopper? Didn’t choose grasshopper in the topic, but I now suspect that the issue might be stemming from there.

Thanks again for all the help

Kind Regards,

Emrullah YILMAZ