Code covered by the BSD License  

Highlights from
Converting a 3D logical array into an STL surface mesh

5.0

5.0 | 2 ratings Rate this file 45 Downloads (last 30 days) File Size: 74.1 KB File ID: #27733
image thumbnail

Converting a 3D logical array into an STL surface mesh

by

 

25 May 2010 (Updated )

Conversion of a voxelised object contained within a 3D logical array into an STL surface mesh.

| Watch this File

File Information
Description

Converting a 3D logical array into an STL surface mesh
======================================================
 
Adam H. Aitkenhead
adam.aitkenhead@christie.nhs.uk
The Christie NHS Foundation Trust
24th May 2010
 
 
USAGE
=====
 
>> CONVERT_voxels_to_stl(STLname,gridDATA,gridX,gridY,gridZ,'ascii')
..or..
>> [faces,vertices] = CONVERT_voxels_to_stl(STLname,gridDATA,gridX,gridY,gridZ,STLformat)

converts the voxelised object contained within the 3D logical array <gridINPUT> into an STL surface mesh, which is saved to the ascii file <STLin>. The x,y,z axes for <gridINPUT> are defined by <gridX>, <gridY> and <gridZ>. The (faces,vertices) data are optional outputs.
 
 
INPUTS
======
 
STLname - string - Filename of the STL file.
gridINPUT - 3D logical array of size (P,Q,R) - The voxelised object (1 => Inside the object, 0 => Outside the object)
gridX - A 1xP array - List of the X axis coordinates.
gridY - A 1xQ array - List of the Y axis coordinates.
gridZ - A 1xR array - List of the Z axis coordinates.
STLformat - string (optional) - STL file format: 'binary' or 'ascii'.
 
 
OUTPUTS
=======
 
faces - Nx3 array - A list of the vertices used in each facet of the mesh, identified using the row number in the array vertices.
vertices - Nx3 array - A list of the x,y,z coordinates of each vertex in the mesh.
 
 
EXAMPLE
=======
 
For an example, run the following script:
>> CONVERT_voxels_to_stl_example
 
 
NOTES
=====
 
- This code does not apply any smoothing. The stl mesh will be exactly the same geometry as the original voxelised object.
 
 

Acknowledgements

This file inspired Export Voxel Data.

MATLAB release MATLAB 7.10 (R2010a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (3)
08 Aug 2014 Nathan

Hi Adam,
Great program! Very helpful, and quite fast considering the computations involved.

20 Jan 2012 Adam A

Hi Johannes. If you're able to send an example of an array and the resulting mesh I will see if I can duplicate and fix any problems.

17 Jan 2012 Johannes Korsawe

Really good and fast.
Sometimes there seem to be some artifacts (missing faces) in the resulting mesh. I have not already discovered where, but suspect a missing line somewhere.

Thanks for sharing!

Updates
27 May 2010

Improved memory usage.

29 Jun 2010

Improved speed.

30 Jun 2010

Major speed improvement

18 Aug 2010

Improved documentation

24 Nov 2010

Allow the STL to be written in either binary or ascii format.

09 Jul 2012

Now optionally output the mesh (Faces,Vertices) data

Contact us