G
Q
Q
and
M
E

r3f加载IFC模型

import { IFCLoader } from "web-ifc-three";
import { IFCSPACE } from "web-ifc";
import { useRef } from "react";
import { useEffect } from "react";

async function init(group) {
  //Setup IFC Loader
  const ifcLoader = new IFCLoader();
  await ifcLoader.ifcManager.setWasmPath(
    "https://unpkg.com/web-ifc@0.0.36/",
    true
  );

  await ifcLoader.ifcManager.parser.setupOptionalCategories({
    [IFCSPACE]: false,
  });

  await ifcLoader.ifcManager.applyWebIfcConfig({
    USE_FAST_BOOLS: true,
  });

  ifcLoader.load("ifc/rac_advanced_sample_project.ifc", function (model) {
    console.log("model", model);
    group.add(model)
  });
}

function IfcTestModel() {
  const group = useRef();
  useEffect(()=>{
    group.current.clear();
    init(group.current)
  },[])

  return <group ref={group}></group>;
}

export default IfcTestModel;

posted @ 2023-05-31 15:00  sy0313  阅读(136)  评论(0)    收藏  举报