Hi mir4ea, it's hard to know for sure just from a screenshot - if you can please also post the 3DM model file along with a question like this that makes it a lot easier to investigate your actual file. (EDIT - looks like you added it, or did I miss it in your initial post? - anyway thanks!)
But from what I can see in the screenshot, it looks like probably your cylinder is an open surface and not a closed solid - that will make a difference when doing booleans because booleans determine which pieces of things to keep based on which volume they are contained inside of. When some of your pieces do not actually have a volume themselves that "determine which pieces to discard based on their contained volume" does not apply anymore and you will get some kinds of inconsistent operation.
Instead of doing boolean union you could try doing boolean merge instead - that has a some logic built into it where if you have a bunch of surfaces that touch each other and define an inside volume when they are all intersected it should extract that volume. That is a somewhat different process than boolean union.
Or if you solidified the cylinder by selecting it and running the Planar command to cap its open ends, then you would have solids and could use boolean union.
Or another way is to use Edit > Trim to cut the pieces with one another and then pick on which pieces to discard yourself. Booleans are sort of like a "batch mode" version of trim and join where pieces are cut similar to Trim but unlike Trim the booleans automatically decide which pieces to keep and which pieces to discard based on which volume they are contained inside of.
Also I'm not sure if your sphere pieces at the ends are fully closed spheres or if they are half spheres that are also open - if you have a bunch of open surfaces that are touching each other edge-to-edge then it's better to use Edit > Join to glue them together, rather than boolean union. Booleans are much more focused on intersecting the surfaces and trying to remove some material from the pieces involved. If you don't want to remove any pieces but just glue edges together, then that's what Join does - it does not try to do any surface intersections, it only tries to glue edges together.
Hope this helps!
- Michael
|