【亲测免费】 OpenCascade.js 技术文档
概览
OpenCascade.js 是一个将著名的开源3D几何建模核心 OpenCascade 移植到JavaScript并通过Emscripten编译为WebAssembly的项目。这项技术使您能够在浏览器中以接近原生的速度运行CAD应用程序,支持多线程,并且可以根据应用需求定制库的大小,优化资源消耗。本文档旨在引导您完成安装、使用以及了解项目API的过程。
安装指南
直接在网页中使用
如果您想立即试用OpenCascade.js,可以直接在HTML文件中通过CDN链接引入:
<script type="text/javascript" src="https://path/to/opencascade.min.js"></script>
请替换https://path/to/为实际的版本链接,具体版本可能需要查看最新的GitHub发布页面或官方文档来获取最新有效的URL。
作为npm包安装
对于Node.js项目或更复杂的构建流程,可以通过npm进行安装:
npm install opencascade.js
随后,在您的代码中,可以使用require或import语句导入OpenCascade.js:
const OCC = require('opencascade.js');
// 或者,如果你使用的是ES模块
import * as OCC from 'opencascade.js';
项目的使用说明
初始化环境
确保在使用OpenCascade.js之前,您的网页已加载完毕且JavaScript执行环境准备就绪。可以利用DOMContentLoaded事件:
document.addEventListener('DOMContentLoaded', function() {
// 开始使用OpenCascade.js的功能
});
示例代码
创建一个简单的3D形状(例如:一个立方体):
const viewer = new OCC.Viewer(document.getElementById('viewer3d'));
OCC.loadCAShape(viewer, OCC.BRepPrimAPI_MakeBox(10., 10., 10.), (shape) => {
viewer.displayShape(shape, true);
});
这里假设有一个ID为viewer3d的HTML元素用于承载3D视图。
项目API使用文档
OpenCascade.js提供了丰富的API来操作3D模型。以下是一些基础示例:
-
创建形状:
let box = OCC.BRepPrimAPI_MakeBox(10., 10., 10.).shape(); -
显示形状(假设已经初始化了viewer):
viewer.displayShape(box); -
清除当前显示:
viewer.clearDisplay();
更多详细的API文档,请参考官方网站的文档部分,或者查看源码中的注释和示例项目,如OpenCascade.js-examples仓库。
项目构建与自定义
若要从源代码构建OpenCascade.js或进行自定义编译,首先确保拥有Git和Node.js环境。之后,按照以下步骤操作:
- 克隆项目到本地:
git clone https://github.com/donalffons/opencascade.js.git - 进入项目目录并安装依赖:
cd opencascade.js npm install - 构建项目(根据需要可调整配置):
npm run build
这将生成可用于生产的JavaScript文件。详细构建配置和选项,请参考项目的package.json和相关文档。
通过上述步骤,您可以开始探索和使用OpenCascade.js,构建高效、高性能的在线CAD应用程序。记得参与社区讨论和贡献,让这个项目更加完善。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0199
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0130
MiMo-V2.5-Pro-FP4-DFlashMiMo-V2.5-Pro-FP4-DFlash 是驱动 MiMo-V2.5-Pro-UltraSpeed 的底层模型: FP4 量化骨干网络:对 MoE 专家采用 MXFP4 量化,同时保持模型其他部分的更高精度,在几乎无损质量的前提下,显著减小模型体积并降低内存带宽压力。 BF16 DFlash 草稿生成器:用于块扩散推测解码,每次前向传播可生成一整个块的 tokens,并让骨干网络一步完成验证。 两者协同作用,既降低了每参数的位宽,又减少了骨干网络前向传播的次数,而这两者正是万亿参数模型解码过程中的两大主要成本来源。Python00
JoyAI-EchoJoyAI-Echo,这是一个独立的、仅用于推理的版本,旨在实现分钟级多镜头音视频生成。它采用了经过蒸馏的DMD生成器、配对的跨模态记忆以及故事级别的一致性。其性能的核心在于,一个跨模态视听记忆库能够在长达五分钟的视频中保持角色外观和语音音色的一致性。同时,一个训练后处理流程将基于记忆的强化学习与分布匹配蒸馏相结合,实现了7.5倍的速度提升,显著增强了视觉质量和对齐效果。00
AstrBot✨ 易上手的多平台 LLM 聊天机器人及开发框架 ✨ 平台支持 QQ、QQ频道、Telegram、微信、企微、飞书 | OpenAI、DeepSeek、Gemini、硅基流动、月之暗面、Ollama、OneAPI、Dify 等。附带 WebUI。Python08
handy-ollama动手学Ollama,CPU玩转大模型部署,在线阅读地址:https://datawhalechina.github.io/handy-ollama/Jupyter Notebook07