代码之家  ›  专栏  ›  技术社区  ›  mbehnaam

IFC Loader for three.js?

  •  3
  • mbehnaam  · 技术社区  · 10 年前

    目前,我需要将所有IFC文件转换为Collada格式,以便在Three.js中可视化它们。Three.js中是否有IFC加载器?我什么都找不到。 是否有计划在不久的将来开发IFCLoader?

    写这个有多难?

    3 回复  |  直到 7 年前
        1
  •  3
  •   ylcnky    9 年前

    可能是这个问题的迟到答案。您见过BIMserver插件来获取IFC文件的三个.js导出吗?从中查看 here

        2
  •  3
  •   GeorgDangl    9 年前

    我还没有遇到过可以直接读取IFC文件的原生Javascript解析器,但是有一个来自 Apstex 可获得的这是一个输出三个.js几何图形的Java工具。 我们将其用作一个自运行的web服务,因此客户端发送一个IFC文件并接收JSON Three.js几何图形(然后将其加载到查看器中)。

        3
  •  3
  •   Antonio González Viegas    3 年前

    这可能有点晚了,但我们最近发布了官方的IFC Loader for Three.js。它还比较年轻,我们还有很多工作要做,但它已经可以打开很多IFC文件了。假设场景中有一个HTML输入元素:

     import { IFCLoader } from "three/examples/jsm/loaders/IFCLoader";
    
    //Sets up the IFC loading
    const ifcLoader = new IFCLoader();
    ifcLoader.setWasmPath("wasm/");
    
    const input = document.getElementById("file-input");
    input.addEventListener(
      "change",
      (changed) => {
        var ifcURL = URL.createObjectURL(changed.target.files[0]);
        console.log(ifcURL);
        ifcLoader.load(ifcURL, (ifcModel) => scene.add(ifcModel.mesh));
      },
      false
    );
    

    您可以访问 docs 要查看完整教程,请参见 official example 或者如果您有任何问题/反馈/想在Discord频道中发表意见,请告知我们。