把一个多年没人维护的开源 3D 户型图工具重写了一遍,用了最新的技术栈 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
linncharm9

把一个多年没人维护的开源 3D 户型图工具重写了一遍,用了最新的技术栈

  •  
  •   linncharm9 3 月 25 日 1224 次点击

    blueprint3d https://github.com/furnishup/blueprint3d 是一个挺有意思的开源项目, 可以在浏览器里画户型、摆家具、切换 2D/3D 视图。但原项目基于 jQuery 、CoffeeScript 和已经废弃的 Three.js API ,好几年没人维护了,现在基本跑不起来。

    自己有个项目需要用到类似功能,找了一圈没有合适的现代替代品,就干脆自己重写了一遍。

    demo: https://blueprint3d-modern.vercel.app/


    改了什么

    原版 → 现版:

    • jQuery + CoffeeScript → TypeScript 严格模式 ES Module
    • 废弃的 Three.js Geometry API → Three.js r181 BufferGeometry / WebGLRenderer
    • tween.js → anime.js v4 ( camera 动画)
    • 无持久化 → IndexedDB 本地存储,不需要任何后端
    • 仅英文 → 多语言支持(中文简体 / 繁体 / 英文)
    • 无 demo → Next.js 15 App Router + React 19 完整 demo

    主要功能

    • 2D 平面图编辑器:画墙、移动、删除,带吸附和尺寸标注
    • 3D 实时预览:可以拖转视角,随时切换 2D/3D
    • 家具放置:从分类目录拖拽摆放(床、沙发、桌椅、衣柜、卫浴、门窗等)
    • 每件家具可单独调整尺寸、旋转、锁定位置
    • 地板和墙面纹理可以按房间独立设置
    • 房间模板:空白画布或预设房型直接开始
    • 存档/读档:存在浏览器 IndexedDB ,不需要账号,不需要服务器
    • 单位制:英寸/英尺、米、厘米、毫米可切换

    技术栈

    核心库( src/)是纯 TypeScript ES Module ,可以独立于任何框架使用。

    Demo 应用:

    • Next.js 15 App Router
    • React 19
    • Tailwind CSS v4
    • shadcn/ui + Radix UI
    • Zustand (状态管理)
    • Framer Motion (动画)
    • next-intl ( i18n )

    仓库地址

    原版: https://github.com/furnishup/blueprint3d 重写版: https://github.com/charmlinn/blueprint3d-modern

    5 条回复    2026-03-26 09:49:12 +08:00
    JoeJoeJoe
        1
    JoeJoeJoe  
    PRO
       3 月 25 日
    已 star 感谢分享!
    metalvest
        2
    metalvest  
       3 月 25 日
    有合适的现代替代品
    https://github.com/pascalorg/editor
    linncharm9
        3
    linncharm9  
    OP
       3 月 25 日
    @metalvest 感谢推荐
    szdubinbin
        4
    szdubinbin  
       3 月 25 日
    这个项目之前关注过确实挺不错的,用现在的 Ai coding 可能能把里面历史 bug 和 ui 变得更美观一些
    linncharm9
        5
    linncharm9  
    OP
       3 月 26 日
    @szdubinbin 是的 现在重新改写了一下美观多了 也添加了很多家具
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1052 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 18:35 PVG 02:35 LAX 11:35 JFK 14:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86