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

如何在opencascade.js中获取.write()输出的STEP文件数据

解决opencascade.js导出STEP文件后无法访问数据的问题

浏览器环境下,writer.Write("test.step")并不会直接生成本地文件,而是写入了Emscripten虚拟文件系统中,你需要从虚拟文件系统读取数据,再处理成可下载的文件:

步骤1:从虚拟文件系统读取STEP数据

执行写入代码后,用Emscripten的FS模块读取内容:

// 你的原有写入代码
var writer = new openCascade.STEPControl_Writer_1();
var progressRange = new openCascade.Message_ProgressRange_1();
writer.Transfer(reader.OneShape(), openCascade.STEPControl_StepModelType.STEPControl_AsIs, true, progressRange);
writer.Write("test.step");

// 读取虚拟文件系统中的文件
// 读取为文本格式
const stepText = FS.readFile("test.step", { encoding: "utf8" });
// 或者读取为二进制数据
const stepBinary = FS.readFile("test.step", { encoding: "binary" });

步骤2:生成可下载的STEP文件

如果需要让用户下载这个文件,把读取到的数据转成Blob并创建下载链接:

// 用文本数据创建Blob
const blob = new Blob([stepText], { type: "application/step" });
// 创建下载链接
const downloadUrl = URL.createObjectURL(blob);
const link = document.createElement("a");
link.href = downloadUrl;
link.download = "test.step";
// 触发下载
link.click();
// 释放URL对象
URL.revokeObjectURL(downloadUrl);

注意:如果你的环境中FS未直接暴露,可通过openCascade.FS访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 10:55:02