# BooleanDifference, Trim, Split with Solid and Helix Solids

I created a tube and 2 helices based on the tubes lower circles. I created a solid helix using the 2 helices and a vertical profile. I cannot use boolean difference, trim, or split. The test file shows the steps I used to create the objects. Any ideas anyone?

Trim Helix Solid.3dm (944.9 KB)

do you want to do a bool diff betwen the tube and the spiral?

or what is your desired outcome?

You designed it to fail.

What you can do to make it work is explode the Helix and then delete the sides and the ends. Then extend the remaining two surfaces outward and inward and then make new end surfaces by lofting the ends of the two ramps.
After joining those 4 surfaces you will have a polysurface that fully intersects the tube and trimming and joining will work.
Trimx.3dm (707.3 KB)

Yes. Bool Diff between the tube and the spiral which should also be able to be accomplished by splitting or trimming but none are working.

@jim - Can you elaborate why you think I designed it to fail? I can use a do a split, trim, or boolean difference on simpler objects just fine so why not in this design?

I believe other Jim is referring to trying to Intersect the cylinder and the helix.

The cylinder is perfectly mathematically round, the helix is NOT, itâ€™s fitted within a tolerance, trying to intersect the two like you have is â€śdesigned to fail.â€ť The top and bottom surfaces need to cut through the tube completely unambiguously. Rhino can handle these sloppy asking-for-trouble overlapping surfaces only when the surfaces are planar.

1 Like

Thanks for the further explanation. Posting my opinion in case someone else runs across this thread.

The easier method in my opinion is when designing the profile for the spiral, make sure the profile goes a slight amount beyond the tube both on the inside and outside. That way when the spiral is created by using Sweep2, it will go beyond the tube on both sides. The boolean difference, trim, and split commands seem to work with this method every time.

1 Like

Glad you got it. Rhino has a tough time with overlapping surfaces.
An easy fix would have been to use Scale2d to scale the inner face of the ramp towards the center, and the outer face away from the center

You can select individual faces in a solid using ctrl shift click

Thanks!

Also profiles that are swept that are not close to the inner or outer wall of the ramp work. The only time that boolean diff seems to not work is if a ramp wall is close to the tube walls. The ramp can even come to a point on the tube wall and boolean diff works just fine. It seems that itâ€™s only if the ramp has a wall that is close to the tube wall where it is problematic.