Bake DGR
将拍图1的模型排版结果或拍图2的完整图纸结果写入当前 Rhino 文档,并依据每个图元已有的 LK 图层分类自动整理到“LK拍图”子图层中。
功能概览
这个组件位于三步拍图工作流的结果端,用于把仍在 Grasshopper 中传递的排版或图纸数据转成 Rhino 文档内的真实物件。它不要求另接图层名称,也不会用外部图层设置覆盖拍图阶段已经完成的分类;每个可烘焙图元携带的分类决定其目标子图层。执行时,组件会在“LK拍图”父图层下确保本次需要的子图层存在,然后逐项写入 Rhino。
输入可以是拍图1输出的 MLR 模型排版结果,也可以是拍图2完成后发布的 DGR 图纸结果。MLR 中可用的排格模型、矩形框和模号文字会被收集;DGR 中带有 LK 图层分类的图元会被收集。无效项不会进入烘焙。标注会在写入前确保其对应样式已经存在于当前 Rhino 文档,并移除对象自身的样式覆盖,使烘焙后的标注使用文档内对应的正式样式。
适合什么时候用
- 完成模型排版后,需要把排格模型、排格矩形和模号文字转成可在 Rhino 中继续编辑的物件。
- 完成图纸生成后,需要按照拍图结果中已有的实线、标注、切面或其他 LK 分类,将图元一次性整理进 Rhino 图层。
- 需要在继续导出、人工校对或补充绘图前,把 Grasshopper 中的完整拍图成果固化到当前 Rhino 文档。
- 需要保留拍图阶段的图层语义,不希望在烘焙端重新指定或覆盖目标图层。
工作流程
- 先使用拍图1完成模型排版,或使用拍图2完成图纸生成;确认上游已经产生有效的 MLR 或完整 DGR。
- 将上游结果以单项方式连接到“拍图结果”输入。不要拆成普通曲线后再接入,否则会丢失组件要求的结果容器与图层分类。
- 保持“烘焙”为 False 检查连接;准备写入时,将它从 False 切换为 True,或点击组件上的 Bake 按钮。
- 组件收集有效且带分类的图元,在当前 Rhino 文档中建立或同步本次所需的“LK拍图”子图层,并逐项烘焙。
- 从“烘焙物件”取得本次成功写入的物件 ID 列表,用于后续选择、检查或其他基于 Rhino 物件 ID 的流程。
使用逻辑图
输入
| 端口 | 是否必需 | 接受的数据 | 数据形式与匹配 | 默认或空值行为 | 常见误接 |
|---|---|---|---|---|---|
| 拍图结果 D | 必需 | 拍图1输出的 MLR 模型排版结果,或拍图2完成后发布的 DGR 图纸结果。 | 单项输入,不进行列表或数据树逐项匹配。MLR 会读取其中有效的排格模型、矩形框和模号文字;DGR 会读取其图层化结果树中的有效分类图元。 | 未取得输入时不执行。结果存在但没有可烘焙的分类图元时给出警告,不写入物件。 | 接入普通几何、尚未完成的中间预览、与本工作流无关的数据,或先拆散结果而丢失 LK 图层分类。 |
| 烘焙 B | 可选 | 单个布尔值。 | 单项控制,不与结果列表或数据树匹配。只有从 False 变为 True 的上升沿执行一次;保持 True 不会在每次求解时重复烘焙。 | 默认为 False。也可以不改变此输入,直接点击组件上的 Bake 按钮触发一次。 | 长期保持 True 并期待每次上游变化都自动烘焙,或在未准备好当前 Rhino 文档时触发。 |
输出
| 端口 | 得到的内容 | 数据结构 | 空值与失败 | 典型下游 |
|---|---|---|---|---|
| 烘焙物件 I | 本次成功写入当前 Rhino 文档的物件 ID。 | 单一列表;顺序对应成功处理的图元,不为失败或不支持项保留占位,因此不能把列表长度当作原始输入总数。 | 没有有效分类图元、没有可用 Rhino 文档,或所有图元均不支持时,不会得到成功列表,并会报告相应警告或错误。部分失败时仅输出成功项。 | 连接到接受 Rhino 物件 ID 的选择、检查或后续文档操作流程;也可用于核对本次实际写入数量。 |
实际示例
假设拍图2已经完整生成一张包含轮廓曲线、切面图元与尺寸标注的 DGR,各图元都带有拍图阶段确定的 LK 分类。将这一个 DGR 接到“拍图结果”,先保持“烘焙”为 False。确认当前 Rhino 文档是目标文件后,把布尔开关切换为 True。
组件只执行一次:它收集 DGR 中有效的分类图元,在“LK拍图”下确保对应子图层可用,然后分别写入轮廓、切面和标注。标注所需样式会进入当前文档,且标注对象自身的尺寸覆盖会被清除。完成后,“烘焙物件”输出本次成功写入的 ID 列表;在 Rhino 图层面板中可以观察到物件已按原有分类分开,而不是全部挤在当前图层。如果其中一个图元不支持烘焙,它会被跳过并产生数量提示,其他有效图元仍可成功写入。
设置与交互
- 布尔触发:“烘焙”从 False 切换为 True 时执行一次。若要用同一输入再次执行,应先恢复 False,再切换为 True。
- Bake 按钮:点击组件上的 Bake 按钮同样触发一次,不需要让布尔输入产生上升沿。
- 图层行为:目标父图层固定为“LK拍图”,子图层取自图元已有的 LK 分类;组件没有外部图层覆盖设置。
- 文档影响:触发后会向当前 Rhino 文档真实写入物件并刷新视图。这不是仅改变 Grasshopper 预览的操作。
配合使用
- 上游第一种路线:拍图1·模型排版 → 烘焙拍图结果。适合在 Make2D 前检查并固化模型排格、矩形框与模号文字。
- 上游第二种路线:拍图1·模型排版 → 拍图2·生成图纸 → 烘焙拍图结果。应连接拍图2最终发布的完整 DGR,而不是处理中的累计预览。
- 下游:使用“烘焙物件”ID 列表定位本次新建物件,随后可在 Rhino 中选择、人工校对或交给接受文档物件 ID 的流程。
- 与 CAD 导出的区别:本组件把结果写入当前 Rhino 文档;需要直接生成 CAD 文件时,应使用相应的 CAD 导出工作流,不要把烘焙误当成文件导出。
常见问题与限制
- 为什么触发后提示没有可烘焙的图层图元?
- 检查输入是否为拍图1的 MLR 或拍图2的完整 DGR。普通几何、无效结果以及已经丢失 LK 分类的数据不满足此组件的收集条件。
- 为什么布尔值保持 True 时没有再次烘焙?
- 布尔端只响应 False 到 True 的切换,目的是避免重复写入。先切回 False 再切到 True,或点击 Bake 按钮。
- 为什么输出数量少于结果中的图元数量?
- 无效项和不支持烘焙的图元会被跳过,输出只列出实际成功写入的物件 ID。运行提示会报告被跳过的数量。
- 为什么完全没有输出?
- 可能是当前没有可用的 Rhino 文档、输入没有有效分类图元,或所有图元都无法烘焙。分别查看组件的错误与警告信息。
- 能否指定另一个父图层或强制所有物件进入同一层?
- 不能。本组件专门保留拍图结果已有的分类,使用“LK拍图”及其对应子图层,不提供外部覆盖。
- 烘焙标注后为什么样式可能与 Grasshopper 预览的临时状态不同?
- 标注会绑定到当前 Rhino 文档中名称对应的正式样式,并清除对象级样式覆盖,以避免回退到当前默认样式。