语言

faijs — 开源 CAD 建模语言

faijs 是开源的 CAD 建模语言(JavaScript 库):模型即代码,参数即变量。同一份模型可在浏览器、Node 与微信小程序中运行——FaiCAD 全系产品的建模内核。

模型即代码

以 JavaScript 子集描述建模过程,无控制流、确定性执行,天然适配版本管理与 AI 生成。

BREP / Mesh 双链路

每个操作具备 BREP(OCCT)与 Mesh(manifold)双实现,静态规则分派。

多环境运行

浏览器 / Node / 微信小程序,同一语言,同一结果。

GitHub 仓库 npm 包

一段真实的 .fai.js

// plate.fai.js —— 一块带孔的安装板
let plate = cad.box(80 * MM, 60 * MM, 8 * MM, { centered: true })
let hole  = cad.cylinder(4 * MM, 20 * MM, { centered: true })
plate = cad.subtract(plate, hole)
格式

fai.zip — 交换"活的模型"

业界模型交换基于 STEP,而 STEP 是非参数化的:几何在,建模意图丢失。fai.zip 是基于 faijs 的参数化模型格式——交换的是可继续编辑参数的 3D 模型。

几何之外,意图也在

参数、特征与建模历史随模型一起交换,接收方看到的是"怎么建出来的",不只是"建成了什么"。

交换之后,模型仍然活着

打开 fai.zip 即可继续编辑:改一个参数,整棵特征树联动重算。

面向协作的行业格式

设计传递、供应链协同、版本迭代——模型在环节之间流转时不再"降级"为死几何。

阅读格式规范 →

开源,欢迎共建

faijs 与 fai.zip 规范均在 GitHub 开源,欢迎 Issue 与 PR。

GitHub →