首页
/ 【亲测免费】 OpenCascade.js 技术文档

【亲测免费】 OpenCascade.js 技术文档

2026-01-25 04:17:06作者:虞亚竹Luna

概览

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环境。之后,按照以下步骤操作:

  1. 克隆项目到本地:
    git clone https://github.com/donalffons/opencascade.js.git
    
  2. 进入项目目录并安装依赖:
    cd opencascade.js
    npm install
    
  3. 构建项目(根据需要可调整配置):
    npm run build
    

这将生成可用于生产的JavaScript文件。详细构建配置和选项,请参考项目的package.json和相关文档。


通过上述步骤,您可以开始探索和使用OpenCascade.js,构建高效、高性能的在线CAD应用程序。记得参与社区讨论和贡献,让这个项目更加完善。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
832
5.52 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
497
522
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
808
1.17 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
802
1.6 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
982
2.32 K
kernelkernel
deepin linux kernel
C
33
16
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.05 K
786
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
486
315
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.21 K
1.27 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
668
316