View Issue Details

IDProjectCategoryView StatusLast Update
0003418ArchBugpublic2018-04-02 16:45
Reportermahaidong Assigned Toyorik  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version0.17 
Summary0003418: export to html , can not open by browser.
Description
                geom.faces.push( new THREE.Face3(0L, 1L, 2L) );
                geom.faces.push( new THREE.Face3(3L, 1L, 0L) );
                geom.faces.push( new THREE.Face3(4L, 5L, 6L) );
                geom.faces.push( new THREE.Face3(4L, 7L, 5L) );
                geom.faces.push( new THREE.Face3(7L, 4L, 3L) );
                geom.faces.push( new THREE.Face3(3L, 4L, 1L) );
                geom.faces.push( new THREE.Face3(6L, 5L, 0L) );
                geom.faces.push( new THREE.Face3(6L, 0L, 2L) );
                geom.faces.push( new THREE.Face3(0L, 5L, 3L) );
                geom.faces.push( new THREE.Face3(3L, 5L, 7L) );
                geom.faces.push( new THREE.Face3(6L, 2L, 1L) );
                geom.faces.push( new THREE.Face3(6L, 1L, 4L) );


when i change to
THREE.Face3(3, 5, 7)
, it can work.
TagsNo tags attached.
FreeCAD Information

Activities

mahaidong

2018-04-01 17:39

reporter  

test.html (17,704 bytes)   
<!DOCTYPE html>
        <html>
        <head>
            <title>FreeCAD model</title>
            <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/three.js/r50/three.min.js"></script>
            
            <script>
            
            var camera, controls, scene, renderer;
            
            window.onload = function() {

                var SCREEN_WIDTH = window.innerWidth, SCREEN_HEIGHT = window.innerHeight;
                var VIEW_ANGLE = 35, ASPECT = SCREEN_WIDTH / SCREEN_HEIGHT, NEAR = 0.1, FAR = 20000;

                renderer = new THREE.WebGLRenderer();
                renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
                document.body.appendChild( renderer.domElement );
        
                scene = new THREE.Scene();
        
                camera = new THREE.PerspectiveCamera(
                    VIEW_ANGLE,      // Field of view
                    ASPECT,          // Aspect ratio
                    NEAR,            // Near plane
                    FAR              // Far plane
                );
                camera.position.set( -12.9227733612, -17.7701721191, 10.9604349136 );
                camera.lookAt( scene.position );
                 // placeholder for the FreeCAD camera
                
                controls = new THREE.TrackballControls( camera );
                controls.rotateSpeed = 1.0;
                controls.zoomSpeed = 1.2;
                controls.panSpeed = 0.8;
                controls.noZoom = false;
                controls.noPan = false;
                controls.staticMoving = true;
                controls.dynamicDampingFactor = 0.3;
                controls.keys = [ 65, 83, 68 ]; 
        
                var geom = new THREE.Geometry();
                var v0 = new THREE.Vector3(-17.5583610954,-10.2581920204,-2.69981960679);
                var v1 = new THREE.Vector3(-17.5583610954,-20.2581920204,7.30018039321);
                var v2 = new THREE.Vector3(-17.5583610954,-10.2581920204,7.30018039321);
                var v3 = new THREE.Vector3(-17.5583610954,-20.2581920204,-2.69981960679);
                var v4 = new THREE.Vector3(-7.5583610954,-20.2581920204,7.30018039321);
                var v5 = new THREE.Vector3(-7.5583610954,-10.2581920204,-2.69981960679);
                var v6 = new THREE.Vector3(-7.5583610954,-10.2581920204,7.30018039321);
                var v7 = new THREE.Vector3(-7.5583610954,-20.2581920204,-2.69981960679);
                console.log(geom.vertices)
                geom.vertices.push(v0);
                geom.vertices.push(v1);
                geom.vertices.push(v2);
                geom.vertices.push(v3);
                geom.vertices.push(v4);
                geom.vertices.push(v5);
                geom.vertices.push(v6);
                geom.vertices.push(v7);
                geom.faces.push( new THREE.Face3(0L, 1L, 2L) );
                geom.faces.push( new THREE.Face3(3L, 1L, 0L) );
                geom.faces.push( new THREE.Face3(4L, 5L, 6L) );
                geom.faces.push( new THREE.Face3(4L, 7L, 5L) );
                geom.faces.push( new THREE.Face3(7L, 4L, 3L) );
                geom.faces.push( new THREE.Face3(3L, 4L, 1L) );
                geom.faces.push( new THREE.Face3(6L, 5L, 0L) );
                geom.faces.push( new THREE.Face3(6L, 0L, 2L) );
                geom.faces.push( new THREE.Face3(0L, 5L, 3L) );
                geom.faces.push( new THREE.Face3(3L, 5L, 7L) );
                geom.faces.push( new THREE.Face3(6L, 2L, 1L) );
                geom.faces.push( new THREE.Face3(6L, 1L, 4L) );
                var basematerial = new THREE.MeshBasicMaterial( { color: 0xcccccc } );
                var mesh = new THREE.Mesh( geom, basematerial );
                scene.add( mesh );
                var linematerial = new THREE.LineBasicMaterial({linewidth: 1, color: 0x000000,});
                var wire = new THREE.Geometry();
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, 2.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -0.19981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -1.44981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -2.07481960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -2.38731960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -15.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -17.7581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -19.0081920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -19.6331920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -19.9456920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, 2.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, 4.80018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, 6.05018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, 6.67518039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, 6.98768039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, 7.30018039321));
                var line = new THREE.Line(wire, linematerial);
                scene.add(line);
                var wire = new THREE.Geometry();
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, 2.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, -0.19981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, -1.44981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, -2.07481960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, -2.38731960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -15.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -17.7581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -19.0081920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -19.6331920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -19.9456920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, 2.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, 4.80018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, 6.05018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, 6.67518039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, 6.98768039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, 7.30018039321));
                var line = new THREE.Line(wire, linematerial);
                scene.add(line);
                var wire = new THREE.Geometry();
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-12.5583610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-15.0583610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-16.3083610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-16.9333610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.2458610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, 2.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, -0.19981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, -1.44981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, -2.07481960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, -2.38731960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-12.5583610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-10.0583610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-8.8083610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-8.1833610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.8708610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, 7.30018039321));
                var line = new THREE.Line(wire, linematerial);
                scene.add(line);
                var wire = new THREE.Geometry();
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-12.5583610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-15.0583610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-16.3083610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-16.9333610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.2458610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, 2.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -0.19981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -1.44981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -2.07481960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -2.38731960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-12.5583610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-10.0583610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-8.8083610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-8.1833610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.8708610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, 7.30018039321));
                var line = new THREE.Line(wire, linematerial);
                scene.add(line);
                var wire = new THREE.Geometry();
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -15.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -17.7581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -19.0081920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -19.6331920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -19.9456920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-12.5583610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-15.0583610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-16.3083610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-16.9333610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.2458610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -15.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -12.7581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -11.5081920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.8831920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.5706920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, -2.69981960679));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, -2.69981960679));
                var line = new THREE.Line(wire, linematerial);
                scene.add(line);
                var wire = new THREE.Geometry();
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -15.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -17.7581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -19.0081920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -19.6331920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -19.9456920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-12.5583610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-15.0583610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-16.3083610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-16.9333610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.2458610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -20.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -15.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -12.7581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -11.5081920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.8831920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.5706920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-17.5583610954, -10.2581920204, 7.30018039321));
                wire.vertices.push(new THREE.Vector3(-7.5583610954, -10.2581920204, 7.30018039321));
                var line = new THREE.Line(wire, linematerial);
                scene.add(line);
 // placeholder for the FreeCAD objects
        
                var light = new THREE.PointLight( 0xFFFF00 );
                light.position.set( -10000, -10000, 10000 );
                scene.add( light );
        
                renderer.render( scene, camera );
                
                animate();
            };
            
            function animate(){
                requestAnimationFrame( animate );
                render();
            };
            
            function render(){
                controls.update();
                renderer.render( scene, camera );
            };
            </script>
        </head>
        <body></body>
        </html>
test.html (17,704 bytes)   

Kunda1

2018-04-01 18:18

administrator   ~0011099

@mahaidong please read the instructions that are posted ever so prominently at the top of our bugtracker. You are missing several key bits of information + a forum thread that needs to be open beforehand

mahaidong

2018-04-01 19:53

reporter   ~0011101

Last edited: 2018-04-02 05:08

I also post to https://forum.freecadweb.org

[url=https://forum.freecadweb.org/viewtopic.php?f=9&t=3914&p=225014#p225014 ]https://forum.freecadweb.org/viewtopic.php?f=9&t=3914&p=225014#p225014 [/url]:)

mahaidong

2018-04-02 05:00

reporter   ~0011102

Last edited: 2018-04-02 05:00

src/Mod/Arch/importWebGL.py
maybe can fix by this :

line180
result += tab+"geom.faces.push( new THREE.Face3"+str(f).replace("L", "")+" );\n"

line200
result += tab+"geom.faces.push( new THREE.Face3"+str(pointIndices).replace("L", "")+" );\n"

yorik

2018-04-02 16:44

administrator   ~0011103

Last edited: 2018-04-02 16:45

Dont know where this new notation comes from, but anyway, this is fixed in https://git.io/vxis1
Thanks for the fix!

Issue History

Date Modified Username Field Change
2018-04-01 17:39 mahaidong New Issue
2018-04-01 17:39 mahaidong File Added: test.html
2018-04-01 18:18 Kunda1 Assigned To => Kunda1
2018-04-01 18:18 Kunda1 Status new => feedback
2018-04-01 18:18 Kunda1 Note Added: 0011099
2018-04-01 19:46 mahaidong Status feedback => assigned
2018-04-01 19:53 mahaidong Note Added: 0011101
2018-04-02 05:00 mahaidong Note Added: 0011102
2018-04-02 05:00 mahaidong Note Edited: 0011102
2018-04-02 05:08 mahaidong Note Edited: 0011101
2018-04-02 16:44 yorik Note Added: 0011103
2018-04-02 16:45 yorik Note Edited: 0011103
2018-04-02 16:45 yorik Assigned To Kunda1 => yorik
2018-04-02 16:45 yorik Status assigned => closed
2018-04-02 16:45 yorik Resolution open => fixed