
House Planner 是面向私人住宅的自托管房屋规划工具,可完成毫米精度2D平面绘图、3D可视化预览、卫星影像地块叠加、完整公用设施管网设计,还能自动生成附带价格的物料清单。所有项目数据全部保存在你自己的PHP主机,不依赖第三方云服务。

核心功能
2D平面图编辑器
采用毫米单位的真实比例绘图。支持绘制带厚度、材质属性的墙体、门窗、车库大门,可从内置目录导入真实尺寸家具;地块区域可以划分草坪、铺装、砾石填充等场地分区。
内置100mm网格吸附、端点吸附、尺寸标注、分段测距,支持撤销重做;视图支持15°步进旋转,可一键正北方向,支持整栋建筑整体移动/旋转。软件可自动识别墙体,生成房间标签,自动统计各类面积:总占地面积、居住面积、分房间面积,统计卧室、卫浴数量与地块覆盖率。
3D预览模块
提供两种模型显示模式:简洁体块模型,以及带有墙体材质立面贴图的材质模型。墙体配色支持RAL色卡;提供矮墙俯视模式(1米高度/地面高度),方便查看平面布局,支持等轴测、顶视、前视多相机视角。
场地与地图能力
户型平面图可以叠加在卫星影像上,支持地理坐标标定,设置平面图原点经纬度与旋转角度。可导入GeoJSON地籍地块边界,读取相邻地块信息,支持手动对齐影像。还能开启服务器锁定,法定地块边界在编辑器内不可移动。
公用设施管网分层编辑器
管网分为独立图层,每层自带编辑器、工程量计算与估算功能:
- 污水系统(含化粪池):洁具、立管、清扫口、出口管线布置,自动校验坡度、标高、管件与净空;
- 电气系统:插座、开关、灯具、配电箱回路,沿墙自动布线,计算线缆长度、压降,断路器与漏保选型,依据俄电气规范校验潮湿区域;
- 供水系统:水井/钻孔、水泵、过滤器、锅炉,冷热水分水器,独立管路,管路保温与伴热电缆;
- 水暖地暖:房间内自动排布回路,边缘区域处理,回路达到80米自动拆分,计算散热量、热损失、流量与水力平衡、分水器摆放。
物料清单
根据户型、管网自动统计材料数量,价格读取JSON建材目录,支持A4打印。清单包含采购勾选栏,记录实际采购价格与日期,支持导出CSV方便Excel处理,可一键添加到俄罗斯DIY零售商petrovich.ru购物车。
存储与访问机制
户型以JSON格式保存在服务器,每次保存生成版本记录,可创建命名快照随时回滚。使用乐观并发控制,多标签页同时编辑不会互相覆盖。采用单密码登录,数据文件依靠认证Cookie保护;移动端提供只读查看视图。
快速部署
Docker部署
git clone https://github.com/egmalt/house-planner.git
cd house-planner
docker compose up -d --build
访问 http://localhost:8080/,访问 /api/setup.php 向导设置管理员密码。
数据保存在house-data持久卷,容器重建不会丢失项目。
开发环境
本地开发需要 Node.js 22、PHP 8.1+,分开两个终端启动前端Vite与PHP后端API,支持热重载。
普通PHP虚拟主机自托管
仅需要 PHP8.1+、Apache/LiteSpeed,开启mod_rewrite,不需要服务器常驻Node。前端打包输出dist静态目录,上传到网站根目录即可部署。存储目录优先放在网站根目录外部提升安全,nginx需要手动配置禁止访问storage、data、plans目录,推荐配置HTTPS。
户型文件格式
户型项目为纯JSON,单位整数毫米,包含地块信息、材质、墙体、门窗、家具、房间、工程量与全部管网数据。有Zod Schema做数据校验,提供命令行校验脚本。
和AI助手协同设计
户型是带严格Schema的JSON文件,可直接交给大模型修改户型。配套脚本实现拉取、校验、推送回服务器,并发修改会自动冲突保护,不会直接覆盖已有图纸。可以直接用自然语言指令让AI增删墙体、开窗、连接卫浴管线。
技术栈
React19 + TypeScript + Vite;Konva做2D绘图;Three.js+React Three Fiber实现3D;Zustand状态管理,Zod校验;MapLibre GL地图;后端使用原生PHP,文件存储。
路线规划
后续开发计划:屋顶建模与工程量估算、条形/桩/板式基础及钢筋计算、水泵水力与扬程选型;支持PDF、DXF图纸导出;增加更多语言本地化(当前仅英文、俄语)。
相关导航


ImageFX

Reve Image

RunningHub

ImageGPT

Pomelli

Whisk






