Hi,
I tried the library on various stl files and I encountered this error several time
'''
Traceback (most recent call last):
File "C:\Users\E129000\OneDrive - RMIT University\Documents\Codes\Python\PYSLM_EXAMPLES\example_support_structure.py", line 93, in
supportBlockRegions = supportGenerator.identifySupportRegions(myPart, OVERHANG_ANGLE, True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\E129000\AppData\Local\anaconda3\envs\PYSLM\Lib\site-packages\pyslm\support\gridBlockSupport.py", line 1936, in identifySupportRegions
supportBlocks = super().identifySupportRegions(part, overhangAngle, findSelfIntersectingSupport)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\E129000\AppData\Local\anaconda3\envs\PYSLM\Lib\site-packages\pyslm\support\support.py", line 1014, in identifySupportRegions
blockSupportMesh = boolDiff(extrudedBlock, cutMesh)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\E129000\AppData\Local\anaconda3\envs\PYSLM\Lib\site-packages\pyslm\support\geometry.py", line 347, in boolDiff
outMesh = trimesh.boolean.difference([meshA, meshB], engine='manifold', check_volume=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\E129000\AppData\Local\anaconda3\envs\PYSLM\Lib\site-packages\trimesh\boolean.py", line 49, in difference
return _engines[engine](meshes, operation="difference", **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\E129000\AppData\Local\anaconda3\envs\PYSLM\Lib\site-packages\trimesh\boolean.py", line 134, in boolean_manifold
raise ValueError("Not all meshes are volumes!")
ValueError: Not all meshes are volumes!
'''
Sometimes it happens when a plane surface is exactly located at the baseplate, but it also happens in other situation that I struggle to understand.
Any explanation on this error would be very helpful
Hi,
I tried the library on various stl files and I encountered this error several time
'''
Traceback (most recent call last):
File "C:\Users\E129000\OneDrive - RMIT University\Documents\Codes\Python\PYSLM_EXAMPLES\example_support_structure.py", line 93, in
supportBlockRegions = supportGenerator.identifySupportRegions(myPart, OVERHANG_ANGLE, True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\E129000\AppData\Local\anaconda3\envs\PYSLM\Lib\site-packages\pyslm\support\gridBlockSupport.py", line 1936, in identifySupportRegions
supportBlocks = super().identifySupportRegions(part, overhangAngle, findSelfIntersectingSupport)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\E129000\AppData\Local\anaconda3\envs\PYSLM\Lib\site-packages\pyslm\support\support.py", line 1014, in identifySupportRegions
blockSupportMesh = boolDiff(extrudedBlock, cutMesh)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\E129000\AppData\Local\anaconda3\envs\PYSLM\Lib\site-packages\pyslm\support\geometry.py", line 347, in boolDiff
outMesh = trimesh.boolean.difference([meshA, meshB], engine='manifold', check_volume=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\E129000\AppData\Local\anaconda3\envs\PYSLM\Lib\site-packages\trimesh\boolean.py", line 49, in difference
return _engines[engine](meshes, operation="difference", **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\E129000\AppData\Local\anaconda3\envs\PYSLM\Lib\site-packages\trimesh\boolean.py", line 134, in boolean_manifold
raise ValueError("Not all meshes are volumes!")
ValueError: Not all meshes are volumes!
'''
Sometimes it happens when a plane surface is exactly located at the baseplate, but it also happens in other situation that I struggle to understand.
Any explanation on this error would be very helpful