Closed yellowshippo closed 3 years ago
I've yanked the release and I'll release a fixed version today. Apparently the tests don't cover all cases.
Thank you for the very detailed report!
Thank you for the quick reply! I’m looking forward to the fix.
Honestly... this shouldn't work because multi-files are only supported as ascii files. But it indeed broke the old behaviour so I've fixed it :)
Oh really? In that case, what method should I use to read binary files instead?
The from_file
method :) That's actually easier because it returns a single mesh instead of a list of meshes:
import stl
print(stl.Mesh.from_file('out.stl').vectors)
Thank you for the information! I will try it.
Also, it would be nice if you support binary STLs for from_multi_file
.
In any case it works again now :)
The problem is that there is no standard for binary multi-files. I could invent my own standard of course, but that wouldn't be compatible with anything else.
Even the multiple ascii STL files are not actually a standard, only a few bits of software support it.
I confirmed from_multi_file
works with the binary file (and also from_file
, of course).
I understand there are a lot of non-standards in STL...
Thank you for your kind support and help!
With version 2.14.0, I cannot read binary STL files, while it was possible with version 2.13.0.
How to reproduce:
pip3 install -U numpy-stl && python3 -c "import stl; print([m.vectors for m in stl.Mesh.from_multi_file('out.stl')])" # Will result in RuntimeError
pip3 install -U numpy-stl==2.13.0 && python3 -c "import stl; print([m.vectors for m in stl.Mesh.from_multi_file('out.stl')])" # Runs correctly
Actual results (2.14.0)
Expected results (2.13.0)
Versions
I am using Python with the following environment: Python 3.7.3 (default, Apr 22 2019, 02:40:09) [Clang 10.0.1 (clang-1001.0.46.4)]