“自动布置空间” 的算法程序是如何实现的?
一般设计师是否也有机会自行搭建空间强排逻辑?
今天就带大家拆解 E3饮品店(连锁)的自动化方案 Demo 开发全过程,用模块化思路解锁空间布置新玩法,让复杂问题变简单!

插图:饮品店方案三维信息模型自动生成

插图:模型截图转AI效果图生成
一、开发核心:用 RPA 模块 “搭积木”
整个 Demo 的关键思路,是放弃复杂的底层代码编写,转而用现成的 RPA 模块工具集组合解题。这些模块就像提前备好的 “零件”,每个负责一个具体动作 —— 有的能切分区域,有的能定位家具,有的能批量布置设施。
核心优势很明显:把设计逻辑抽象成简单的动作组合,不用为细节问题反复修改代码,既能控制项目复杂度,又能大幅提升开发效率,完美避免 “屎上雕花” 的尴尬。

插图:本Demo开发用到的核心RPA一览
二、 step by step 开发流程:从线框到完整水吧
1. 基础参数录入:定好框架再动手
开发第一步,先明确核心变量和外轮廓。我们新建width(X 向长度)和height(Y 向长度)两个参数,这里设定为 9000 和 6000,再根据这两个数值构造出水吧的外轮廓矩形box2。同时根据width划分 3 个等级,为后续分区提供判断依据。

插图:功能分区及设施跟随关系动态

2. 区域分割:先分大区,再拆细节
空间布置的核心是 “功能优先”,我们先把外轮廓矩形拆成 3 个大分区:后勤区、下区、左区(左区根据尺寸可能不存在)。
这里用到 “区域切割” RPA 模块,只要设定切割方位(东、南、西、北)和切割距离,就能把大矩形一分为二。比如向西侧切割 2000 单位,就是把线框西侧向内偏移 2000,轻松拆分出不同功能区。根据width的不同,会触发 3 条数据流,对应不同的切割距离(2800、3000 等)。

3. 功能区细化:让每个空间各司其职
大区分好后,就要细化每个区域的功能,避免空间浪费:
后勤区:用 “区域分析” 模块获取 X 向长度,再拆成库房、操作区、点餐区 —— 长度大于 7000 就切割 1500,否则切割 500,灵活适配不同尺寸。
左区 & 下区:按尺寸动态适配坐席类型,从无坐席、单人吧台到双人座、三人座,四级尺度全覆盖。
库房:北侧和南侧各放一个柜子,柜子宽度 = 库房 X 向长度 - 200(墙厚),实现尺寸动态适配。

4. 设备放置:精准定位,批量高效
区域划分完成后,就用 “放置设施” 系列模块布置家具,核心解决 “谁放哪” 的问题:
操作区:用 “放置设施” 模块,把指定设备(如 CZT04、CZT06)放在北侧边,靠左贴边并向内偏移 100 单位,还能通过 “手拉手”“背靠背” 等功能设置设备间关系。
下区:用 “放置设施阵列” 模块批量放座椅(YiZi1),沿南侧边阵列,向内偏移 100,设备最小间距 600,不用逐个放置,效率翻倍。
门与墙:最后用 “放置门” 模块在外轮廓东侧居中设门洞,设定墙高 3200、门洞高 2600、门宽 900,再显示墙体,完成整体框架。

三、开发关键:思路比代码更重要
这个 Demo 最值得借鉴的,不是复杂的语法,而是 “模块化拆解 + 动态适配” 的思路:
先定功能分区,再细化空间,避免盲目布置;
用 RPA 模块封装复杂逻辑,不用纠结底层代码,聚焦核心需求;
所有尺寸都动态关联,不管外轮廓怎么变,内部空间和家具都能自动适配。

四、其他方案
方案A:库房在空间一角

方案B:库房在空间尽端

五、方案效果图生成

插图:E3导出模型素模截图
塑模截图导入其他平台生成效果图一览:



如果你也想尝试空间自动化布置,不妨从这套思路入手,用 RPA 模块 “搭积木”,让复杂算法变得简单可控~
六、技术原理教学及交流
更多细节阐述,我们已经为大家准备好了~请一步E3-AI自动化工程制图论坛查看。
原文链接:https://e3.ncf-china.com/t/topic/91

软件获取链接:https://e3.noah-i.cn/

七、案例相关技术参考说明
E3 水吧自动化 Demo 核心 RPA 模块使用手册(参考)一、核心模块概览
本手册聚焦 Demo 中关键的 4 类 RPA 模块,涵盖区域划分、设备放置、辅助功能三大场景,详细说明参数设置、触发条件及使用场景,方便直接套用开发。
二、模块详细使用说明
1. 区域切割模块(核心分区工具)
功能定位:将矩形线框按指定规则拆分为多个小矩形,用于大分区划分(如外轮廓拆分为后勤区、下区、左区)。
关键参数:
待切割对象:选择需拆分的矩形线框(如外轮廓 box2、后勤区)。
切割方位:可选东、南、西、北 4 个方向,决定从哪一侧向内切割。
切割距离:输入具体数值(如 2000、2800),表示从参考方向向内偏移的单位距离。
触发条件:根据外轮廓 width 数值触发 3 条数据流,对应不同切割距离(2800、3000 等)。
使用示例:切割方位设为 “西侧”、距离设为 2000,即从线框西侧向内偏移 2000 单位,拆分出两个小矩形。
2. 区域分析模块(空间数据支撑)
功能定位:获取目标区域的关键尺寸数据(如 X 向长度),为后续细化拆分提供依据。
关键参数:
分析对象:选择需测量的区域(如后勤区)。
输出数据:默认返回 X 向长度、Y 向长度、区域中心坐标等核心数据。
触发条件:用于后勤区细化拆分时,需先通过该模块获取长度,再判断切割数值(>7000 切割 1500,否则切割 500)。
使用示例:分析后勤区后,若返回 X 向长度为 7500,即按 1500 距离拆分为库房、操作区、点餐区。
3. 放置设施模块(单点设备布置)
功能定位:单个设备的精准放置,支持自定义贴边方式、偏移距离,适用于操作区设备、库房柜子等。
关键参数:
放置区域:选择设备所属功能区(如操作区、库房)。
布局方位:指定设备贴靠区域的哪一侧(东、南、西、北)。
贴边方式:可选靠左、靠右、居中三种对齐方式。
距线距离:设备向内偏移的距离(如 100,即离墙 100 单位)。
设施参数:录入设备面宽、进深、高度、模型名称(如 CZT04、柜子模型)、标高(默认 0)。
触发条件:区域细化完成后即可使用,无额外前置条件,支持 “手拉手”“背靠背” 等设备关联设置。
使用示例:在操作区放置 CZT04 设备,布局方位设为 “北侧”、贴边方式 “靠左”、距线距离 100,完成精准定位。
4. 放置设施阵列模块(批量设备布置)
功能定位:多个相同设备的批量布置,适用于座椅、排柜等需整齐排列的设施。
关键参数:
放置区域:选择批量布置的目标区域(如下区)。
布局方位:设备贴靠的区域侧边(如下区 “南侧”)。
设施参数:同 “放置设施” 模块(如座椅 YiZi1,面宽 350、进深 450)。
距线距离:整体向内偏移距离(如 100)。
最小间距:设备之间的间隔距离(如 600,避免拥挤)。
触发条件:下区、左区尺寸确定后,根据 Y 向长度判断坐席类型,再启动阵列布置。
使用示例:下区南侧布置 YiZi1 座椅,距线距离 100、最小间距 600,自动批量生成整齐排列的坐席。
5. 放置门模块(收尾辅助功能)
功能定位:设置门洞位置及尺寸,配合墙体显示完成整体框架。
关键参数:
放置区域:默认选择外轮廓线框。
布局方位:门洞所在侧边(如 “东侧”)。
贴边方式:门洞对齐方式(如 “居中”)。
尺寸参数:门宽(如 900)、门洞高(如 2600)、墙高(如 3200)、内 / 外偏距离(均设为 100)。
触发条件:所有区域设备布置完成后,最后执行该模块。
使用示例:外轮廓东侧居中设门洞,门宽 900、墙高 3200,内 / 外偏距离 100,完成整体空间闭合。
三、模块调用顺序 & 依赖关系
基础流程:参数录入 → 区域切割(大分区)→ 区域分析(细化分区)→ 放置设施 / 阵列(设备布置)→ 放置门(收尾)。
依赖关系:
区域分析模块需依赖区域切割模块的输出结果(如后勤区)。
放置设施类模块需依赖区域划分完成后的功能区(如操作区、下区)。
放置门模块需在所有设备布置完成后调用,避免遮挡冲突。
END
One more thing:直播来了!
特别在此通知:E3的专业技术免费直播课程就要开始了,主讲人是数字冥想的CTO:KaivnD,也是E3的首席开发者。本课纯纯技术干货,欢迎关注E3的朋友建群报名。

往期相关阅读推荐:
科技的生长,不能没有中心化的交流
诺亚定制开发业务-2026企业合作通道 现已开放,欢迎有需求的企业随时咨询:
