pascalorg

pascalorg / editor

#4
6,813895+2,353 todayTypeScript

创建并分享三维建筑项目

💡 应用场景

这是一个基于现代Web技术栈的3D建筑编辑器框架,适合需要快速开发建筑可视化、室内设计或城市规划类Web应用的项目。

快速搭建3D建筑编辑器

问题:开发者需要创建一个交互式的3D建筑编辑工具,但不想从零开始处理复杂的3D渲染、状态管理和几何生成。

方案:使用Pascal Editor的完整架构,包括核心节点系统、几何生成系统和React Three Fiber渲染层,快速构建一个功能完整的建筑编辑器。

示例:房地产公司需要内部工具让设计师快速绘制户型图并生成3D预览,可以直接基于此项目开发,无需自己实现墙体生成、门窗开洞等复杂几何计算。

集成建筑可视化到现有应用

问题:现有Web应用需要添加3D建筑可视化功能,但希望保持轻量级且易于与现有状态管理集成。

方案:单独使用@pascal-app/viewer包,它提供了完整的3D渲染、相机控制和场景管理,通过Zustand store与主应用状态同步。

示例:物业管理平台需要在资产详情页展示楼层的3D布局,可以引入viewer组件,通过useViewer store控制楼层显示模式(堆叠/展开/单独显示)。

实现建筑数据的持久化与撤销

问题:建筑编辑场景中用户操作频繁,需要可靠的数据持久化和多步撤销/重做功能。

方案:利用项目内置的Zustand持久化中间件(IndexedDB)和Zundo时间旅行功能,自动保存场景状态并支持50步历史记录。

示例:用户在设计办公室布局时,可以随时撤销之前的墙体修改或家具摆放,关闭浏览器后重新打开也能恢复上次编辑的状态。

扩展自定义建筑组件

问题:需要为特定行业(如医院、工厂)创建专用的建筑组件和几何生成逻辑。

方案:基于项目的节点系统和渲染器架构,开发自定义节点类型和对应的System组件,在渲染循环中处理特定几何生成。

示例:医院设计工具需要特殊的病房隔断和医疗设备挂载点,可以创建MedicalWallNode并实现对应的MedicalWallSystem来处理消毒材料等特殊几何要求。

📊 项目信息

语言
TypeScript
Stars
6,813
Forks
895
今日新增
+2,353
排名
#4
收录
总榜
趋势日期
2026年3月25日
最后推送
2026/3/24