Skip to content

binary STL meshes not loading in gzweb #196

Description

@mis-eu

Binary STL meshes exported from Fusion360 not loaded by STLLoader.js

Fusion360 mesh.stl binary header:

STLB ATF 9.3.0.1241 COLOR=����                                                  ��

STLLoader.js parseBinary function:

Details parse: function ( data ) {
	function isBinary( data ) {

		var expect, face_size, n_faces, reader;
		reader = new DataView( data );
		face_size = ( 32 / 8 * 3 ) + ( ( 32 / 8 * 3 ) * 3 ) + ( 16 / 8 );
		n_faces = reader.getUint32( 80, true );
		expect = 80 + ( 32 / 8 ) + ( n_faces * face_size );

		if ( expect === reader.byteLength ) {

			return true;

		}

...
function parseBinary( data ) {

		var reader = new DataView( data );
		var faces = reader.getUint32( 80, true );

		var r, g, b, hasColors = false, colors;
		var defaultR, defaultG, defaultB, alpha;

		// process STL header
		// check for default color in header ("COLOR=rgba" sequence).

		for ( var index = 0; index < 80 - 10; index ++ ) {

			if ( ( reader.getUint32( index, false ) == 0x434F4C4F /*COLO*/ ) &&
				( reader.getUint8( index + 4 ) == 0x52 /*'R'*/ ) &&
				( reader.getUint8( index + 5 ) == 0x3D /*'='*/ ) ) {

				hasColors = true;
				colors = [];

				defaultR = reader.getUint8( index + 6 ) / 255;
				defaultG = reader.getUint8( index + 7 ) / 255;
				defaultB = reader.getUint8( index + 8 ) / 255;
				alpha = reader.getUint8( index + 9 ) / 255;

			}

		}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions