kpeng163 2022-03-31 13:43 采纳率: 50%
浏览 1444

three.js加载cad文件

项目需要使用将dwg文件加载到three.js中。试过将dwg转成svg,然后用svgLoader()加载。但只能显示部分。官方文档中 还有 GLTFLoader 和OBJLoader 之类的加载方法。但是dwg文件不知道能不能转成gltf或obj之类的文件。折腾半天,没方向了。有没有接触过的,望织一条明路。谢谢 。

  • 写回答

3条回答 默认 最新

  • 分形三维技术团队 2023-11-16 13:34
    关注

    不同于obj等纯面片类的格式,CAD属于工程专业格式,在机械、建筑用的比较多。所以threejs是没有直接的loader的。
    可以试试一些专业引擎,比如分形三维(fractal3d)

    Fractal 3D 提供渲染dwg/dxf 2D文件,并且支持图层和layout等功能。

    img

    同大多数3D CAD格式一样,在渲染之前需要将待显示的dwg/dxf文件上传到转换服务器中进行转换

    和3D 场景相比,使用上有以下不同:

    1. 引入脚本地址
    <script src="https://cdn.everxyz.com/everapi2d/stable/everapi2d@1.0.4.js"></script>
    
    1. Instance 初始化的方法
    // 获取2D api实例,注意接口名称和3D有区别
    const instance = window.EverAPI2D.getInstanceById("ever2d");
    window.EverAPI2D.login(
          '<APP_ID>', 
          '<APP_KEY>'
    );
    
    1. 打开文件的方式
    // 接口和3D有区别,用的updateConfig而不是openfiles
    instance.updateConfig({
       url: `https://evercraft.co${url}`,
       filename: filename,
     });
    

    完整示例

    请参考Demo中2d-show.html


    评论

报告相同问题?

问题事件

  • 创建了问题 3月31日

悬赏问题

  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化