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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions