给客户做定制衣柜,顺序最好是先把墙宽、层高、插座和收纳需求记清楚,再确定分区与报价,最后才用 AI 试门板颜色。下面的预览由本机 ComfyUI / FLUX.2 Klein 4B 生成,在 M1 Max、64GB 电脑上三张共约 4 分钟。文末工具包有完整的虚构案例、尺寸核对脚本、立面草图和三种门板提示词。
虚构卧室衣柜的奶白门板效果预览
衣柜内部尺寸、门数、插座和报价以设计师复核后的清单为准。AI 只用来预览外观和颜色,不能把生成图当作加工图或测量结果。
准备材料
| 需要什么 | 示例 |
|---|---|
| 墙面数据 | 墙宽 3200mm、层高 2700mm、柜深 600mm |
| 现场障碍 | 插座距左墙角 485mm 和 2780mm,离地 300mm |
| 收纳需求 | 长衣挂杆至少 1200mm、短衣挂杆至少 1600mm、4 个抽屉、2 个行李箱位 |
| 工具 | ComfyUI 和 FLUX.2 Klein 4B;脚本用 Python,立面图和叠图脚本另需 Pillow |
| 时间 | 已装好模型后,生成三种外观约 4 分钟;量尺、检查和定稿另算 |
尺寸和姓名都是虚构的。用客户资料前先确认授权;不要把客户照片、地址或联系方式传给未获批准的服务。
第一步:把需求和现场尺寸记下来
量好墙宽、层高、墙角是否垂直、踢脚线、开关插座、空调管、门套和柜体深度。挂杆、行李箱等尺寸要拿实际物品或产品规格核对,别只凭“28 寸”推算。
下载并解压衣柜分区核对与效果图工具包。打开 need.json,把虚构示例替换成你现场量到的值。下面是其中的需求摘要:
{
"墙": {"宽": 3200, "高": 2700, "说明": "单位毫米"},
"板厚": 18,
"踢脚高": 80,
"单扇门宽范围": [350, 600],
"长衣挂杆最短": 1200,
"短衣挂杆最短": 1600,
"抽屉最少": 4,
"行李箱": {"最少": 2, "参考宽": 330, "参考高": 800},
"筛查": {
"收口条宽": [20, 50],
"长衣区最小高度": 1400,
"短衣区最小高度": 900,
"抽屉单格高度": [150, 250]
}
}
门宽、分区高度和收口条范围是这个练习包的初筛值,可在 JSON 里按门店板材、五金和工艺修改。它们不是统一的行业标准;加工前要由设计师和供应商按产品要求确认。
第二步:先定柜体分区,再运行尺寸检查
工具包里的 cabinet.json 是一份人工整理的样例分区:四个柜体各宽 780mm,两侧各留 40mm 收口;长衣、短衣、抽屉、行李箱和顶柜都写在 JSON 里。你可以在自己的 CAD 或设计软件里排方案,再把柜体和各段尺寸填进这个文件。
在工具包目录打开终端,先跑检查:
python3 check_cabinet.py need.json cabinet.json prices.json
检查脚本会核对总宽、分区高度、单扇门宽、抽屉数量和高度、挂衣区高度、行李箱空间,以及插座是否落在柜体后面。它按“柜体外宽减去两块侧板厚度”估算挂杆净宽;实际还受封边、五金和安装余量影响,最终要以内空尺寸复核。
虚构样例检查结果:
长衣挂杆净宽估算 1488 mm
短衣挂杆净宽估算 2232 mm
抽屉 4 个,行李箱位 2 个
尺寸筛查:无问题
现场提醒:左右两个插座都在衣柜后方
脚本还会按 prices.json 里的示例单价估算投影面积、抽屉和收口条,样例合计约 7,943 元。价格仅用于演示计算过程,不是报价建议;正式报价还要写明板材、五金、安装、运输、灯带等项目和计价口径。
插座不能只靠效果图处理。和业主确认后,由设计师与合格电工决定移位或是否需要检修口;不要在柜体遮住以后才发现用不了。
第三步:生成立面草图给人核对
运行 draw_elev.py,脚本会生成柜内分区图和关门立面图:
uv run --with pillow python draw_elev.py need.json cabinet.json examples/elevation
这只是方便沟通的草图,不是可以直接下单的施工图。工具包附有当前样例输出:
柜内分区、挂杆、抽屉和两个被遮挡插座位置
四组柜体的关门立面草图
脚本会找 macOS、Windows 常见的中文字体。如果它提示找不到字体,按 README 设置 CJK_FONT 指向你电脑里的中文字体文件。设计师还要核对柜门开启方向、铰链、封板、踢脚、墙面误差和插座处理。
第四步:在本机 ComfyUI 里试门板外观
如果还没安装 ComfyUI,可以先看本机 ComfyUI 安装教程,再按 ComfyUI 的 FLUX.2 Klein 指南下载图像编辑模型。模型页把 FLUX.2 Klein 4B 标为 Apache 2.0;客户照片仍要有处理授权。
工具包中的 s230_klein_edit.py 只通过本机 ComfyUI 接口传入一张图片。以奶白色为例:
python3 s230_klein_edit.py examples/room-ai.jpg examples/cream.png "在这张卧室照片的整面墙上添加到顶衣柜,四组等宽柜体,每组分上下两排门,上面两扇短门、下面两扇高门。奶白色哑光平板门,细黑色竖拉手,保留原镜头、墙面、天花板、地板和侧墙。不要画人物、文字、装饰线。这张图只用于预览外观,不是测量图。"
ComfyUI 默认地址是 http://127.0.0.1:8188。换门板颜色时,把工具包 prompts.json 里“cream”提示词的颜色改成浅橡木或灰绿色,再换一个输出文件名。三种结果如下:
浅橡木门板外观预览
灰绿色门板外观预览
模型可能改门数、拉手、插座或墙角。叠在原图上只能帮你发现差异,不能证明尺寸一致。预览时逐项对照立面草图;实际门缝和尺寸以设计图为准。
用工具包的 s230_overlay.py 生成半透明叠图:
uv run --with pillow python s230_overlay.py examples/room-ai.jpg examples/cream.png examples/cream-overlay.jpg
用工具包的 s230_overlay.py 生成半透明叠图:
uv run --with pillow python s230_overlay.py examples/room-ai.jpg examples/cream.png examples/cream-overlay.jpg
这次实际生成时,奶白和浅橡木图都只画出 3 个竖向柜区,灰绿图的分隔也和四组草图不同。AI 做到了换颜色,但没保住分区;把它当作颜色氛围参考就好,不要据此定门数或下单。
奶白效果和原始房间半透明叠图,检查窗墙与插座变化
拿它做定制服务
你可以把“现场测量、分区与报价、门板效果预览”拆成客户看得懂的交付项。先确认同城门店或设计平台的服务范围和报价方式,再按量尺次数、方案修改轮数、效果图张数和是否包含深化图报价。不要用这份练习价格,也不要把 AI 效果图包装成精确量尺或加工图。
给客户发图时,在图下标注:“AI 生成的门板外观示意,尺寸、柜内结构、插座处理和实物颜色以确认后的设计图及色板为准。”
常见问题
模型画错门数怎么办?
回到立面草图确认门数和门缝,再把错的位置写进提示词重试。仍不准确时,就把图当颜色参考,不用它决定尺寸和结构。
脚本为什么报插座挡住?
因为插座坐标落在柜体宽度范围内。先和客户确认用途,再由设计师、电工确定移位或检修方案;脚本不会替你判断电气安全。
价格能直接给客户吗?
不能。示例单价是虚构数值。换成门店当前报价,并补齐板材、五金、安装、运输和其他增项后再出正式报价。
Python 脚本和练习素材在哪里?
本文的工具包 ZIP中有 check_cabinet.py、draw_elev.py、s230_klein_edit.py、JSON 样例、提示词、练习图和运行说明。解压后在 README 所在目录执行,不需要另找脚本。
工具清单
- ComfyUI 本机安装教程:安装和基础运行。
- FLUX.2 Klein 4B 模型页:查看模型文件和许可。
- 衣柜分区核对与效果图工具包:脚本、分区 JSON、提示词和虚构练习素材。
还可以接着看客厅灯光氛围预览和装修方案怎么整理给业主。