Solid difference + multiple sweep

I’m trying to substract object B from object A.
Object A is a solid CUBE, object B are multiple sweeps.
I’m using “SolidDifference” but I’m not getting correct results and I’ve tried everything I thought off.

Here’s a screenshot of my problem.
I’ve highlighted the (circle) sweeps which were supposed to be cut out of the top surface of the box - but the whole upper surface remains closed, without the cut. Even though bottom half of the pipe is visible if you scroll inside the volume of the box.

I’m completely lost and I really need help solving this issue.

3_5.3dm (12.5 MB) (14.2 KB)

Is this what you want? (180.7 KB)

1 Like

why you use circle and sweep ? simply use pipe

1 Like

Thank you @HS_Kim and @seghierkhaled .
The reason I’m using the regular sweep instead of pipe is that eventually I’m going to change the section for something else. Circle is for testing purposes only.

Do you guys know why sweep is not producing the same result as pipe does?


you need use other method to create sweep

try this with different shapes (13.0 KB)

Thank you very much @seghierkhaled . I really apreciate your help!
I also think there are some issues with the curves - I will look into it tomorrow when I continue.


It seems to me that once I remove the closed splines it works. I haven’t tried if it works the other way around (having only closed curves).
Is there a function that might uniform the curves in the sense of being opened or closed?
Because my pattern is pretty much fixed and can’t change it a lot - it needs to have opened and closed curves.


I’ve seen this issue before, actually on a very similar post (Acoustic panel ellipses - correlation between sections A-B1, A-B2, A-B3 etc. and the depth D1, D2, D3 etc), but I’m still not sure where the problem arises. In the past I used Rebuild Curve, with a high number of control points to approximate the original, and this seemed to work…but not this time. I tried all sort: rebuilding using interpolation curves, making all of the curves periodic through python…etc, etc, but nothing seemed to work 100%.

In the end I split the closed curves into two, and this seems to have worked. (185.1 KB)

I would like to know where this issue comes from though. Not sure if its a bug.

1 Like

yes there is a problem with closed curve, sweep in rhino work fine.
i don’t know if this a good solution

1 Like

I think it should work in the file I posted, without having to loft. Unless you spotted an error I’m not aware of.

1 Like

i didn’t see your file, i will check it

1 Like

Adam Mounsey did you test your definition with the curves of Matej Stefanac ?

1 Like

Yeah. I noticed earlier that there is something odd happening with one of the sweeps, but I didn’t get time to try and fix it yet. The rest seems to be working fine…other than the Boolean difference being incredibly slow.

1 Like

it work fine , i just see some small circles than i remove them from rhino file.
i thought it is problem of the script
i add this to join separated surfaces


i don’t know difference don’t work

1 Like

Sweep is funky, not very yielding - if you stick to lofted circles using length division then I believe you are where you want:

The group in yellow towards the bottom right is a sweep of a circular profile (if you still want to use a sweep), yet it’s using the BullAnt plug-in, which you’ll have to download first.

Check: (45.7 KB)

Also [edit], for other profiles (not circles) I suppose you can place/orient them on the same perpendicular planes before lofting


1 Like

Thank you all so much! You’ve been a great help. For now I will break the closed curves. Will check other solutions too. Such a great forum!

I use method of Adam Mounsey to separate closed and opened curves than i use sweep for opened curve and loft for closed curves, the result is better and union work fine (35.5 KB)

1 Like