Sorry, I was experimenting, to find a solution, and forgot to delete the code, it was difference.
adding this code to my code above modifying the subtract with difference :
I obtained this file:
Code: Select all
faces = [
[4.0000,-1.9372,-0.4974],[4.5799,-1.8922,-0.6359],[4.5799,-1.9052,-0.5957],
[4.0000,-1.9372,-0.4974],[4.5799,-1.9052,-0.5957],[4.5799,-1.9372,-0.4974],
[4.0000,-1.8596,-0.7362],[4.5799,-1.7975,-0.8680],[4.5799,-1.8155,-0.8298],
[4.5799,-1.8155,-0.8298],[4.5799,-1.8596,-0.7362],[4.0000,-1.8596,-0.7362],
[4.0000,1.6180,-1.1756],[4.5799,1.6961,-1.0526],[4.5799,1.6734,-1.0883],
[4.0000,1.6180,-1.1756],[4.5799,1.6734,-1.0883],[4.5799,1.6180,-1.1756],
[4.0000,1.9372,0.4974],[4.5799,1.9052,0.5957],[4.5799,1.9372,0.4974],
[4.0000,1.9372,0.4974],[4.5799,1.8922,0.6359],[4.5799,1.9052,0.5957],
[4.0000,1.8596,0.7362],[4.5799,1.8155,0.8298],[4.5799,1.8596,0.7362],
[4.0000,1.8596,0.7362],[4.5799,1.7975,0.8680],[4.5799,1.8155,0.8298],
]
It list the faces that survived to the difference operation. not many.
But why to use a mesh when you could define a proper solid?
Mesh is not well suited for operating on them, A Mesh only define the external surface of an object, it is a handy format to define complex structures, or to be more correct, it was a workaround to describe something in space, they are very popular, as graphic cards and graphics processor are built to deal with triangles, and a mesh is a bunch of connected triangles.
In fact in the page describing the Mesh module there is this warning.
However, in the field of engineering meshes present one big limitation: they are only made of surfaces, and have no mass information, so they don't behave as solids. This means that all solid-based operations, such as addition or subtraction, are difficult to perform on meshes.
I suspect that the boolean operation of difference is more tailored to subtract two coincident surfaces, eliminating the overlapping, when subtracting the cylinder to the sphere, the sphere mesh became not-manifold, although the visualization is completely wrong, so something in the algorithm is not correct.
What are you trying to achieve?
Regards
Carlo D.