把STL文件ACSII格式读入matlab

function [fout, vout, cout] = ReadSTLACSII(filename)


fid=fopen(filename, 'r');
if fid == -1 
    error('文件打开错误!.')
end


%读取文件头,STL文件第一行是文件名
File_name = sscanf(fgetl(fid), '%*s %s');  %CAD object name, if needed.


%定义变量
vnum=0;       %Vertex number counter.
report_num=0; %Report the status as we go.
STLvcolor = 0;
STLxyz=0;


%开始读整个文件,直到结束符为止
while feof(fid) == 0                    % test for end of file, if not then do stuff
    tline = fgetl(fid);                 % reads a line of data from file.
    fword = sscanf(tline, '%s');       % make the line a character string


%检查颜色
if strncmpi(fword, 'facet normal',12) == 1;    % Checking if a "C"olor line, as "C" is 1st char.
       STLvcolor = sscanf(tline, '%*s %f %f %f'); % & if a C, get the RGB color data of the face.   % we "*s" skip the name "color" and get the data.  

你可能感兴趣的:(matlab,report,character,facet,list,matrix)