You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FreeCAD将STL导出为GLB失败求助:导出文件仅含头部信息

解决FreeCAD导出STL为GLB为空的问题

问题分析

你的代码存在几个关键逻辑错误,导致导出的GLB仅包含头部信息:

  • 重复创建多个FreeCAD文档,最终操作的文档中未关联任何STL网格数据
  • 创建Mesh::Feature对象后,未将读取到的STL网格赋值给该对象
  • 存在冗余的模块导入和无意义的文档操作

修正后的代码

import FreeCAD
import FreeCADGui
import Mesh
import ImportGui

# 初始化FreeCAD并隐藏主窗口
FreeCADGui.showMainWindow()
mw = FreeCADGui.getMainWindow()
mw.hide()

# 替换为你的STL文件路径
stl_file = "test.stl"
# 读取STL文件到Mesh对象
mesh_obj = Mesh.read(stl_file)

# 创建新文档并添加Mesh特征
doc = FreeCAD.newDocument("STL_to_GLB")
mesh_feature = doc.addObject("Mesh::Feature", "STLMesh")
# 将读取到的网格数据关联到特征对象
mesh_feature.Mesh = mesh_obj
# 刷新文档确保对象状态更新
doc.recompute()

# 导出为GLB文件
ImportGui.export([mesh_feature], "test.glb")

关键修正点说明

  • 精简冗余模块导入,仅保留必要模块
  • 只创建一个目标文档,避免文档切换导致的数据丢失
  • 明确将读取到的STL网格对象赋值给Mesh::Feature的Mesh属性,这是导出有效GLB的核心
  • 添加doc.recompute()确保文档对象状态同步

内容的提问来源于stack exchange,提问作者user2354769

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 20:32:04