Pascal Editor门窗开洞技巧:cut_opening参数化放置与窗台高度设置
2026/9/11 2:37:17 网站建设 项目流程

Pascal Editor门窗开洞技巧:cut_opening参数化放置与窗台高度设置

【免费下载链接】editorCreate and share 3D architectural projects.项目地址: https://gitcode.com/GitHub_Trending/editor93/editor

Pascal Editor 是一个可以创建并分享 3D 建筑项目的设计工具,内置的cut_opening工具能让你用一行指令在墙体上参数化地开出门洞窗洞——指定墙 ID、位置比例和宽高尺寸即可,系统会自动处理门洞落地、窗洞 0.9 米窗台高度等建筑规范细节,是新手快速完成门窗布置的高效技巧。

为什么用 cut_opening 开门窗洞?

传统建模里,开洞往往是"画一条线→布尔运算→调参"的多步操作。Pascal Editor 的cut_opening把它压缩成一次调用:

  • 参数化:门宽 0.9 米、门高 2.1 米,改个数就能换成落地窗或窄条窗
  • 位置用 0~1 比例:不需要测量坐标,position: 0.5就是"放在墙正中"
  • 自动套用建筑惯例:门洞底部对齐地面,窗洞默认抬高 0.9 米(标准窗台高度)
  • 实时同步:创建后立即在编辑器 3D 视口中看到开洞效果

工具实现位于 packages/mcp/src/tools/cut-opening.ts,在 MCP 工具清单中可以看到它的完整输入/输出定义:packages/mcp/README.md。

cut_opening 参数速查表

参数类型说明
wallId字符串目标墙体的 ID,必须是真实存在的墙体节点
typedoor/window开洞类型:门洞或窗洞
position0~1 的数字沿墙中心线的参数化位置,0 是墙起点,1 是墙终点
width米,正数洞口的宽度
height米,正数洞口的高度

调用成功后返回{ openingId },拿到这个 ID 就能继续微调材质、分格、开启方式等属性。

参数化放置:position 到底怎么算?

position是 0 到 1 之间的比例值,工具会把它换算成墙上的实际米数(洞口中心位置):

  • position: 0→ 洞口贴近墙体起点
  • position: 0.5→ 洞口位于墙体正中间
  • position: 1→ 洞口贴近墙体终点

换算时会考虑洞口宽度,保证洞口中心点落在墙上且不被裁切。举个例子:在一条 5 米长的墙上放置 1.2 米宽的窗洞,position: 0.25换算后洞口中心约在 1.25 米处——这正是 packages/mcp/src/tools/cut-opening.test.ts 中验证过的行为。

这种"比例定位"的好处是:墙体长度变化时,你只需调整一个 0~1 的数,无需重算绝对坐标。

窗台高度设置:默认的 0.9 米从何而来?

门窗洞口的垂直位置规则,是cut_opening内置的两条关键逻辑:

洞口类型垂直定位规则效果
门洞door中心高度 = 门高 ÷ 2门洞底部贴地,标准门洞
窗洞window中心高度 =0.9 米+ 窗高 ÷ 2窗台默认距地0.9 米,符合住宅常用窗台高度

以常见的 1.2 米高窗为例:窗洞中心会自动抬到 0.9 + 1.2 ÷ 2 =1.5 米处。也就是说,你只传height: 1.2,窗台高度 0.9 米已经帮你设置好了。

创建完成后还能进一步定制窗台与窗框:窗户节点内置sill(是否显示窗台)、sillDepth(窗台出挑深度,默认 0.08 米)、sillThickness(窗台厚度,默认 0.03 米)以及frameThicknessframeDepth等参数,完整定义见 packages/core/src/schema/nodes/window.ts。门洞同样支持threshold(门槛)、handleHeight(把手高度)等精细控制,定义在 packages/core/src/schema/nodes/door.ts。

常见报错与自检清单

工具内置了完善的参数校验,遇到报错时按以下清单自查:

  1. Wall not found——wallId拼写错误或节点已删除,先用场景查询工具确认墙体 ID
  2. expected wall—— 传入的节点不是墙体类型
  3. Wall ... too short—— 墙长小于洞口宽度,需要加宽洞口或延长墙体(例如 4.8 米的墙放不下 5 米宽的洞口)
  4. position超出范围—— 必须落在 0~1 之间,测试用例中position: 1.5会被直接拒绝

实战示例:两分钟布置一个开洞

开一扇标准门(墙正中,0.9 米宽 × 2.1 米高):

{ "wallId": "wall_xxx", "type": "door", "position": 0.5, "width": 0.9, "height": 2.1 }

开一扇飘窗(墙前段,1.5 米宽 × 1.5 米高,窗台自动落在 0.9 米):

{ "wallId": "wall_xxx", "type": "window", "position": 0.3, "width": 1.5, "height": 1.5 }

两次调用后即可在视口中看到参数化开洞的实时效果;若不满意,openingId返回的节点支持随时调参或撤销。

延伸阅读

  • 门窗节点数据模型:packages/core/src/schema/nodes/window.ts、packages/core/src/schema/nodes/door.ts
  • 开洞工具测试用例:packages/mcp/src/tools/cut-opening.test.ts
  • MCP 工具全景清单:packages/mcp/README.md

掌握cut_opening的参数化放置与窗台高度规则后,你已能用几行指令完成一套完整的门窗布置——下一步可以试试在开洞后切换窗型(固定、推拉、平开)和分格比例,把立面做精致 ✨

【免费下载链接】editorCreate and share 3D architectural projects.项目地址: https://gitcode.com/GitHub_Trending/editor93/editor

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询