Boolen Union Fail

Can’t same height polysurfaces boolean Unioned?
This simple tubes nor decorated same height polysurfaces can’t union.
Please help me.

That is a difficult union because on the outside and inside faces, the curves approach equality, which is an issue because floating point math is not perfect.

[If you hold a piece of paper by the top, and lower it on a table edgewise it becomes curved. Where it touches the table, that angle becomes the same as the table surface. If you were going to cut it, where would you cut it? ]

Even if Rhino can figure out how to do the right-front and left-front it still has to figure out the back points, and they have to be the same as the front or it’s a no-go, or it’s a twist.

I am not at a desk where I can use a mouse, but…

1.) You can lower the tolerences which will affect the accuracy of your project., and it may work.

2.) You can force your own splits mitering the parts with wire-cut, thereby picking consistant junctions, so those edges will be snapped to when they are booleaned and joined.

3***.) If your object is really a square tube/rod, you can first draw it in 2D using curves and then extrude from front to back to make the object. By drawing it in 2D and then extruding it, you are assured that that the front approximation and rear approximation are the same in the x,y dimensions. You can use the CurveBoolean command to select and create a union of curves. Then you can extrude the result.

The extra line is just for creating an intersection snap.

If the cross section cannot be extruded, you are back to forcing an artificial split.

Ring.3dm (65.7 KB)

HI Brenda,

Thank you for your response.
I tried the followings still can’t figure out my paticular case.
Please see an attached new picture-- actual one has lots more details.
In this picture, cyan cylinder is cutter + there are objects inside of the cutter to union after cut, and more multiple Boolean difference and unions process are waiting after this process.

1.) You can lower the tolerences which will affect the accuracy of your project., and it may work.
– I could this with the last simple square tube, but failed for the following picture.
2.) You can force your own splits mitering the parts with wire-cut, thereby picking consistant junctions, -so those edges will be snapped to when they are booleaned and joined. –

— I don’t understand ‘force your own splits’, and can’t visualize where and what shape of cutter to use. It is helpful if you can add to my picture.

3***.) If your object is really a square tube/rod, you can first draw it in 2D using curves and then extrude from front to back to make the object. By drawing it in 2D and then extruding it, you are assured that that the front approximation and rear approximation are the same in the x,y dimensions. You can use the CurveBoolean command to select and create a union of curves. Then you can extrude the result.
– unfortunately I can’t this because it is not simply flat object.

I would add the big round things before I subtract your little cyan things, as the little round things are almost co-planer with the large ring structure, in the first place. Anything non-axial (not running XZY) running along something else at near angles can cause problems with booleans, as even where one thing penetrates another, it may even exit, too.

Unless I am just wrong, your object has something very much like my object in it. I can’t tell if it has a taper on the ring or not, for draft, but if it doesn’t then your can make the thing I made, add the big round things, and subtract the little round things.

If the ring does have a draft angle, then it cannot be made as an extrusion, then you will have to examine the area where it overlaps, and design how the parts will meet there.

I would recommend keeping copies of all the parts, perhaps on separate layers.
Perhaps I will make a taped one as an exercise, but I don’t know what you want to accomplish where the two round things at the junction overlap.

Why I meant by adding your own spits, is making cuts like you would on a picture frame.

You will have to visualize exactly how you want the junction to be. This is the disadvantage to working with solids and surfaces instead of real atoms.

In the example I used rotated cross section. I also used a section command to make sure that the apex matches.

You can see that I forced a 45 degree for the curve apex, so I choose where the junction will be.
I used duplicated edges to make the splits on the inside surface, because it’s more forgiving, but unfortunately, that gives me naked edges in the result, so the solution would be better made using the edges as splitting surfaces.

You could explode the surfaces, and variable fillet the junction.

But the junction may look like this.

The added on parts cannot be co-planer either. I would make them longer than they need be, add them, and then trim the inside of the ring again. Order and precedence may take some experimentation.

From here, you can see it’s down to the main three surfaces that have to be mated to the other surface. The outside ones should be easy.

When mating things like this, you will have to check the dir on all the parts to help Rhino know which is the outside, and inside.

If all else fails, you can force another split, right at the crotch of the thing, so you have a chunk with only the isolated connection, and then blend or form the large smooth areas from there.

It might have joined if my tolerances weren’t set at 1e-08 : )

@yournextappointment

Hi Akiko,
Maybe this method might give you some ideas.

Make your ring profile curves. Very importantly make them thicker outside and inside than you need and remember by how much you did so. .1ml either side will be great. This is really useful later on.

Now extrude those curves solid both sides.

Next you need to isolate the curve from the centre of the top shank and also the under rail.

Once you have those curves create two straight curves equal to the lengths. Now you can spread out your items as you want them. I think you are creating perhaps a bezel and a cutter? Make sure that the bezel is deeper than the band at both the top and bottom. You want it to line up just a little bit over the straight line.

Now hold down alt and shift using the gum balls to create your cutter inside the bezel. Adjust it to the depth you want.

With them all laid out use the _flow command to get them back to the original curves.

For laying all the above out Pascal`s Distribute script is really useful. Do a search of the forums for this. Now reshow the band, hide the cutters and Boolean the rest together.

Hide it all away and reshow your curves. Offset the outer curve both sides by .1ml and then extrude the resulting curves to a width greater than the shank. In the photo below I offset the curve twice when I should have done it once defining both sides in the command line.


Reshow the band and boolean difference the red band from it.

Show your curves again and offset the inside ring curve by the .1ml we allowed for, extract the curve solid and boolean difference from your ring.

Last thing is to reshow your cutters and boolean difference them .

Hopefully that will give you some ideas on how to make this ring. Good luck.