matlab写入二进制或ascii STL文件

收录时间:2023-10-09
资源分类:Matlab 工具:MATLAB 7.12 (R2011a)

matlab写入二进制或ascii STL文件

stlwrite - Write binary or ascii STL file

  STLWRITE(FILE,fv) writes a stereolithography (STL) file to FILE for a triangulated

  patch defined by FV (a structure with fields 'vertices' and 'faces').

 

  STLWRITE(FILE,FACES,VERTICES) takes faces and vertices separately, rather than in an FV struct

 

  STLWRITE(FILE,X,Y,Z) creates an STL file from surface data in X, Y, and Z. STLWRITE triangulates

  this gridded data into a triangulated surface using triangulations options specified below. X, Y

  and Z can be two-dimensional arrays with the same size. If X and Y are vectors with length equal

  to SIZE(Z,2) and SIZE(Z,1), respectively, they are passed through MESHGRID to create gridded

  data. If X or Y are scalar values, they are used to specify the X and Y spacing between grid

  points.

 

  STLWRITE(...,'PropertyName',VALUE,'PropertyName',VALUE,...) writes an STL file using the

  following property values:

 

  MODE - File is written using 'binary' (default) or 'ascii'.

 

  TITLE - Header text (max 80 characters) written to the STL file.

 

  TRIANGULATION - When used with gridded data, TRIANGULATION is either:

                    'delaunay' - (default) Delaunay triangulation of X, Y

                    'f' - Forward slash division of grid quadrilaterals

                    'b' - Back slash division of quadrilaterals

                    'x' - Cross division of quadrilaterals

                  Note that 'f', 'b', or 't' triangulations require FEX entry 28327, "mesh2tri".

 

   FACECOLOR - [nx3]- [red_1, green_1, blue_1; red_2, green_2, blue_2; ...; red_n, green_n, blue_n]

    - N is the number of faces.

    - range for colors is 5 bits (0:31).

    - Only works in binary files.

 

  Example 1:

      % Write binary STL from face/vertex data

      tmpvol = zeros(20,20,20); % Empty voxel volume

      tmpvol(8:12,8:12,5:15) = 1; % Turn some voxels on

      fv = isosurface(tmpvol, 0.99); % Create the patch object

      stlwrite('test.stl',fv) % Save to binary .stl

 

  Example 2:

      % Write ascii STL from gridded data

      [X,Y] = deal(1:40); % Create grid reference

      Z = peaks(40); % Create grid height

      stlwrite('test.stl',X,Y,Z,'mode','ascii')

 

  Original idea adapted from surf2stl by Bill McDonald. Huge speed

  improvements implemented by Oliver Woodford. Non-Delaunay triangulation

  of quadrilateral surface input requires mesh2tri by Kevin Moerman.

 

Note: This entry was originally titled "patch2stl", however has been renamed to "stlwrite" after more general input was added.

文件下载列表
stlwrite.zip (4.1KB)  
附件内容(只显示2中的1个)
stlwrite.m  
更多

目前尚无评论

用户反馈   关于我们
Copyright (©) ZHIHUISHI.COM 2013 All Rights Reserved.
京ICP备18060134号-3