 
			
				12.08.2016, 07:46
			
			
			
		  
	 | 
	
		
		
		
			  | 
			
			
				
				
				 LMD-DML 
				
				
			 | 
			  | 
			
				
				
					Регистрация: 12.07.2009 
					Адрес: Богородское 
					
					Сообщения: 3,025
 
				Версия Delphi: D7E 
					Репутация: 1834 
					    
				 
				
			 | 
		 
		 
		
	 | 
	
	
	
		
			
			
				 
				
			 
			 
			
		
		
		
		ТС похоже немного заблуждается, если судить по описанию бинарной версии данного формата, то структура записей должна быть слегка другой, с чтением из буфера не дружу, но вот такой вариант загрузил координаты треугольников тестового чайника из teapot.stl 
	Код: 
	type
  TSTLItem = record
    ni: single;
    nj: single;
    nk: single;
    x1: single;
    y1: single;
    z1: single;
    x2: single;
    y2: single;
    z2: single;
    x3: single;
    y3: single;
    z3: single;
    tc: word;
  end;
   TSTLStruct = record
    Comm : String[80];
    Count : DWORD;
    Items : Array Of TSTLItem;
  end;
var
 Data : TSTLStruct;
 StlFile: TFileStream;
 b: dword;
begin
  StlFile:= TFileStream.Create(FileName, fmOpenRead);
  StlFile.Seek(0, soFromBeginning);
  StlFile.Read(Data.comm,80);
  StlFile.Read(Data.Count,4);
  SetLength(Data.Items,Data.Count);
  for b:= 0 to Data.Count-1 do
   begin
    StlFile.Read(Data.Items[b].ni,4);
    StlFile.Read(Data.Items[b].nj,4);
    StlFile.Read(Data.Items[b].nk,4);
    StlFile.Read(Data.Items[b].x1,4);
    StlFile.Read(Data.Items[b].y1,4);
    StlFile.Read(Data.Items[b].z1,4);
    StlFile.Read(Data.Items[b].x2,4);
    StlFile.Read(Data.Items[b].y2,4);
    StlFile.Read(Data.Items[b].z2,4);
    StlFile.Read(Data.Items[b].x3,4);
    StlFile.Read(Data.Items[b].y3,4);
    StlFile.Read(Data.Items[b].z3,4);
    StlFile.Read(Data.Items[b].tc,2);
   end;
 StlFile.Free;
  end; 
  
		
	
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 |