Operações booleanas 3D com três CSG

Seguindo o exemplo aqui:

http://learningthreejs.com/blog/2011/12/10/constructive-solid-geometry-with-csg-js/

E usando o Three.js comhttps://github.com/chandlerprall/ThreeCSG, Estou tentando fazer operações booleanas 3D nos nós do modelo. Por exemplo, se eu tenho uma parede com uma janela, quero fazerinvert() nisso para obter apenas a janela.

Eu tenho uma função que retorna todos os vértices dos polígonos de um nó, aqui está um exemplo de vértices de um objeto sem buracoshttps://pastebin.com/8dhYzPwE.

Estou usando o ThreeCSG assim:

    const geometryThree = new THREE.Geometry();

    geometryThree.vertices.push(
        ...vertices
    );

    const geometryCsg = new ThreeBSP(geometryThree);

Mas é nisso que estou entrandogeometryCsg:

"{
    "matrix": {
        "elements": {
            "0": 1,
            "1": 0,
            "2": 0,
            "3": 0,
            "4": 0,
            "5": 1,
            "6": 0,
            "7": 0,
            "8": 0,
            "9": 0,
            "10": 1,
            "11": 0,
            "12": 0,
            "13": 0,
            "14": 0,
            "15": 1
        }
    },
    "tree": {
        "polygons": []
    }
}"

Eu acho que é porqueageometry.faces.length é 0.

Como posso fazer com que a matriz de vértices seja adequadaThree.Geometry de modo que os rostos não fiquem vazios?Geometry.elementsNeedsUpdate não funciona ...

Existe um exemplo que usa polígonos de uma forma como uma matriz de Vector3s e a transforma em csg?

questionAnswers(1)

yourAnswerToTheQuestion