核心模块实现说明
本页把 HiCAD 当前项目拆成若干可独立理解的模块。你可以用搜索框快速过滤模块,也可以按页内目录逐个学习。
1. AI 建模模块
AI 模块是 HiCAD 的核心,负责自然语言生成、代码续改、多模型适配、双阶段精准建模、Langfuse 观测和质量评测。
| 文件 | 职责 |
|---|---|
| ai.service.ts | AI 生成与续改主编排,处理配额、SSE、Trace。 |
| adapters/ | 不同大模型供应商的统一适配器。 |
| prompt-builder.ts | 构建通用 JSCAD 系统 Prompt。 |
| design-prompt.ts / tank-prompt.ts / car-prompt.ts | 专项模型意图识别与结构化 Prompt。 |
| jscad-codegen.ts | 把结构化 Spec 转成确定性 JSCAD 代码。 |
2. 编辑器模块
编辑器模块将 AI 生成结果、代码编辑、参数面板、保存导出和质量评分连接起来,是用户使用时间最长的页面。
EditorPage.vue
负责整体布局,包含左侧 AI 对话、右侧 ThreeViewer、参数面板、质量面板、保存和导出。
editorStore.ts
管理当前 JSCAD 代码、模型 ID、模型名称、渲染错误、AI 生成状态和质量评分结果。
CodeEditor.vue
封装 Monaco Editor,提供代码编辑、语法高亮和编辑事件。
ParamPanel.vue
从 JSCAD 顶层常量提取参数,转成滑块和输入框。
3. 3D 渲染模块
渲染模块负责把 JSCAD 几何转换为 Three.js 对象,提供相机、光照、材质、截图和导出几何读取。
editorStore.code 更新后,触发 useJscad 防抖执行。
public/workers/jscad.worker.js 在隔离线程中执行 JSCAD。
将 JSCAD 输出转换为 Three.js Mesh,应用材质映射。
支持 Orbit 控制、截图、STL/OBJ/DXF/STEP Mesh 导出。
4. AI 质量评测与闭环
质量评测系统将“生成效果好不好”量化为 7 个维度,并已经接入编辑器自动评分和一键优化。
| 维度 | 评估内容 |
|---|---|
| 可执行性 | 代码结构、main 函数、module.exports、危险调用。 |
| 参数化 | 是否有可调参数、尺寸注释和变量设计。 |
| 几何丰富度 | 是否使用多种 primitive、transform 和布尔组合。 |
| 装配连贯 | 是否 union/assemble,避免散件和悬浮部件。 |
| 材质语义 | 是否为车身、玻璃、轮胎、金属等使用显式材质。 |
| 需求匹配 | Prompt 关键词与代码结构是否匹配。 |
| 安全维护 | 代码长度、危险 API、可读性和可维护性。 |
// 前端质量闭环入口
生成完成 -> evaluateGeneratedCode()
评分结果 -> editorStore.qualityResult
低分建议 -> QualityPanel
一键优化 -> aiStore.optimizeQualityIssues()5. 用户与商业化模块
商业化闭环包含登录、会员等级、AI 配额、支付订单和后台管理。实现顺序建议:先登录和配额,再接支付,最后补后台统计。
Auth
JWT 策略、登录注册、CurrentUser 装饰器、权限守卫。
User
用户信息、tier、quota、每日/月度 AI 使用次数。
Pay
订单创建、支付回调、会员升级、订单查询。
6. 模型与模板市场
模型模块负责用户资产,模板模块负责可复用资产,市场则把高质量模型沉淀为可浏览、可套用、可发布的内容。
| 模块 | 核心能力 | 下一步扩展 |
|---|---|---|
| Model | 保存、列表、详情、分享、发布。 | 版本管理、fork、质量评分展示。 |
| Template | 官方模板、套用统计、分类筛选。 | 参数化模板包、精选门槛。 |
| Market | 市场展示、缩略图、发布权限。 | 社区评分、下载统计、商业模板。 |