Write STL C++ Mex function
Matlab functions for writing and reading textual files are lacking in speed. Here is c++ implementation for simple writing ASCII stl files from Matlab with reasonable speed for data up to 250k nodes and triangles.
For writing 100k(17MB on HDD) it takes 2-3 seconds and for huge stl like 10 millions nodes/triangles(over 1GB stl file) it takes approximately one minute on my machine(1.5GM RAM, 1.5 GHz).
%% FORMAT
writeSTL(nodes,triangles,filename)
%INPUTS
%nodes[NumberOfNodes x 3]
%trianles[NumberOfTringles x 3]
%filename['string']
example
nodes = [1 2 3; 4 5 6; 7 8 9];
triangles = [1 2 3];
filaname = 'one triangle.stl';
Enjoy!
---------------------------------------
I have been reported that sharing mex files is not allowed. If You are not sure how to compile c++ to mex go to folder with writeSTL.cpp and just type "mex writeSTL.cpp", then call function.
---------------------------------------
Cite As
Arso (2024). Write STL C++ Mex function (https://www.mathworks.com/matlabcentral/fileexchange/41597-write-stl-c-mex-function), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Data Import and Analysis > Data Import and Export > Standard File Formats > STL (STereoLithography) >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.