在浏览器中重塑3D设计:探索Chili3D的全栈Web CAD解决方案

无需安装专业软件,打开浏览器即可进行工业级三维建模——这曾是工程师的梦想,如今正通过WebAssembly技术成为现实。

当传统CAD遇见现代Web技术

在机械设计、产品原型开发等领域,计算机辅助设计(CAD)软件是不可或缺的生产力工具。但传统CAD存在两大痛点:昂贵的授权费用复杂的本地安装。Chili3D的创新在于将完整的CAD能力迁移到浏览器环境中,其技术核心是通过WebAssembly编译OpenCascade(OCCT)引擎,结合Three.js实现可视化渲染。

技术架构解析


  • OpenCascade引擎:工业级几何建模内核(常用于FreeCAD等开源CAD),提供布尔运算、曲面处理等核心算法

  • WebAssembly转换:将C++编写的OCCT编译为.wasm格式,在浏览器中实现接近原生的计算性能

  • Three.js集成:通过WebGL实现硬件加速的3D渲染,确保复杂模型的流畅交互

  • TypeScript基础:强类型语言保障大型工程的可维护性

实际应用场景演示

从草图到三维模型

  1. 二维草图绘制
    使用线条/圆弧工具绘制法兰盘截面,系统自动捕捉几何约束关系
  2. 旋转成型
    选择中心轴执行旋转操作,瞬间生成三维实体
  3. 布尔运算优化
    添加螺栓孔时采用”差集”运算精准切割材料

装配体设计流程

graph TD
    A[创建基础零件] --> B[建立装配坐标系]
    B --> C[导入齿轮部件]
    C --> D[轴孔配合约束]
    D --> E[运动机构检测]
    E --> F[爆炸视图分析]

核心功能深度剖析

建模能力矩阵

功能类别 基础工具 高级应用场景
基本实体 立方体/球体/锥体 参数化机械零件基体
草图特征 多边形/样条曲线 涡轮叶片曲面设计
拓扑操作 布尔运算(并/差/交) 复杂腔体结构挖切
高级生成 扫掠/放样 异形管道系统构建

精准设计辅助系统


  • 动态工作平面:任意曲面秒变绘图基准面

  • 智能捕捉系统


    • 端点/中点/圆心自动吸附

    • 延长线虚拟交点预测

    • 曲面法向对齐指引

  • 测量工具箱

    // 典型测量代码逻辑
    const edgeLength = model.getEdgeLength(selectedEdge);
    const faceArea = model.calculateSurfaceArea(selectedFace);
    

工程实践指南

开发环境搭建

# 1. 获取代码库
git clone https://github.com/xiangechen/chili3d.git
cd chili3d

# 2. 安装Node依赖(需Node.js v16+)
npm install

# 3. 编译WebAssembly核心
npm run setup:wasm  # 此过程需5-10分钟

# 4. 启动开发服务器
npm run dev  # 访问localhost:3000

生产环境部署

# 完整构建流程
npm run build:wasm  # 单独编译OCCT引擎
npm run build       # 构建前端应用

# 输出目录:/dist
# 可直接部署至Cloudflare Pages等平台

行业应用前景展望

当前适用领域


  • 教育实验:机械制图课程实时演示

  • 设计评审:在线共享模型进行协作标注

  • 快速原型:概念设计即时可视化验证

技术演进方向

  1. 装配约束系统:实现齿轮啮合等机械关系
  2. 参数化驱动:尺寸关联的智能模型更新
  3. PLM集成:对接产品生命周期管理系统

开源社区参与路径

贡献者成长路线

pie
    title 社区贡献类型分布
    “问题反馈” : 35
    “文档翻译” : 25
    “功能开发” : 20
    “测试用例” : 15
    “性能优化” : 5

协作规范要点


  • 代码提交流程


    1. Fork主仓库创建特性分支

    2. 提交Pull Request至dev分支

    3. 通过Jest测试套件验证

  • 本地化支持

    // 语言包扩展示例
    "de": {
      "command.extrude": "Extrudieren",
      "tooltip.fillet": "Kanten abrunden"
    }
    

授权模式解析

采用AGPLv3许可保障社区权益:


  • 开源义务:衍生项目必须公开修改代码

  • 商业授权:闭源应用需联系xiangetg@msn.cn

  • 云端例外:SaaS服务不受传染性条款约束

项目现状警示:当前Alpha版本(0.8.x)存在API不稳定的情况,生产环境使用建议锁定版本号:

// package.json参考配置
"dependencies": {
  "chili3d-engine": "~0.8.6"
}

资源导航

浏览器中的CAD革命并非取代专业工具,而是创造新的设计场景——当工程师在机场用平板修改模型,当教师在线指导学生完成毕业设计,当创客社区实时协作优化开源硬件… Chili3D正悄然改变三维设计的时空边界。