01:櫨枓
造枓之制有四(《营造法式》原文)
一曰櫨枓,二曰交互枓,三曰齊心枓,四曰散枓。
櫨枓高20分°;上8分°爲耳,中4分°爲平,下8分°爲欹。開口廣10分°,深8分°。底四面各殺4分°。欹顱1分°。 交互枓、齊心枓、散枓皆高10分°;上4分°爲耳,中2分°爲平,下4分°爲欹。開口皆廣10分°,深4分°。底四面各殺2分°,欹顱0.5分°。
凡四耳枓於順跳口內,前後裹壁各留隔口包耳,高2分°,厚1.5分°。櫨枓則倍之。角內櫨枓,於出角栱口內留隔口包耳,其高隨耳,抹角內廕入0.5分°。
术语简释
- 櫨枓(斗栱的坐斗):是最下方承托整组斗栱的大斗,尺寸最大(高20分°)。
- 交互枓、齊心枓、散枓:均为上层小斗,高度统一为10分°,分别用于不同位置(交互斗承托十字栱,齐心斗在栱心,散斗在栱端)。
- 耳、平、欹:斗的三段式结构,“耳”为上部凸起,“平”为中部平台,“欹”为下部收分斜面。
- 分°:《营造法式》的基本模数单位,即“材份”,用于精确控制构件比例。
功能概述
LUDouSolver 是一个面向櫨枓(LU_DOU)构件的“一体化参数求解与加工流水线”组件。它从数据库读取 LU_DOU 参数后,按预设工艺链自动完成主木坯生成、参考平面提取、欹䫜刀具构造、两阶段刀具/坯料对位以及最终布尔切割,并输出完整中间结果与日志,适合在 Grasshopper 中进行可追踪的斗栱构件自动建模与加工模拟。
输入参数
| 参数 | 类型 | 说明 |
|---|---|---|
| DBPath | str | SQLite 数据库路径 |
| PlacePlane | Plane 或 Point | 放置输入;Plane 时同时提供 base_point 与 reference_plane,Point 时仅覆盖 base_point |
| Table | str | 表名,默认 DouGong |
| KeyField | str | 查询主键字段,默认 type_code |
| KeyValue | str | 查询主键值,默认 LU_DOU |
| Field | str | JSON 字段名,默认 params_json |
| Refresh | bool | 刷新开关;为 True 时清空输出并清除组件缓存 |
核心流程
-
读取数据库参数
通过 DBJsonReader 读取目标记录并展开为 All_dict,作为后续全部参数源。 -
生成主木坯
调用 build_timber_block_uniform 生成櫨枓主坯及完整几何特征集。 -
提取一组工艺参考平面
通过 PlaneFromLists 生成第一组与第二组 ResultPlane(用于不同刀具/坯料对位)。 -
构造欹䫜刀具
调用 build_qiao_tool 生成刀具体、截面平面和参考线。 -
第一次对位
将欹䫜刀具对位到主木坯目标面(支持参数广播)。 -
生成待切木料组
按数据库尺寸参数批量生成 BlockTimbers。 -
提取第三组参考平面
对 BlockTimbers 做 PlaneFromLists,生成后续对位基准。 -
第二次对位
将待切木料组对位到主木坯工艺平面。 -
执行切割
汇总两阶段对位后的刀具,调用 FT_CutTimberByTools 对主木坯进行布尔裁切。 -
汇总日志
按步骤拼接日志,形成完整可审计求解记录。
输出结果(按类别)
| 类别 | 代表输出 |
|---|---|
| 数据库 | Value, All, All_dict |
| 主木坯 | TimberBrep, FaceList, EdgeMidPoints, Corner0Planes, AxisX/Y/Z |
| 平面链 | ResultPlane1, ResultPlane2, ResultPlane3 |
| 刀具链 | ToolBrep, AlignedTool, AlignedTool2 |
| 切割结果 | CutTimbers, FailTimbers |
| 调试信息 | DebugInfo, DebugInfo2, Log |
关键行为说明
- PlacePlane 优先级高于数据库中的放置参数。
- 参数读取具备默认值与类型兜底,缺失字段不会直接中断整条流水线。
- 对位阶段支持列表广播,便于一组参数驱动多次姿态计算。
- 切割阶段会自动跳过空刀具并记录失败项,保证批处理稳定性。
- Refresh 可触发组件级清理,避免旧缓存影响新求解。
适用场景
- LU_DOU 构件的数据库驱动参数化生成。
- 斗栱节点中“主坯 + 刀具 + 次级坯料”的多阶段加工模拟。
- 需要保留中间过程几何与日志以便校核的教学、研究或工程流程。
设计要点
- 采用类封装统一管理跨步骤状态,便于扩展与调试。
- 每一步结果都可独立输出,支持局部替换与流水线复用。
- 将数据库参数、几何构造、对位、切割整合到同一求解入口,降低组件连线复杂度。
参考文献:
[1] 潘德华,潘叶祥。斗栱(上册)[M]. 第 2 版。南京:东南大学出版社,2017. (Pan, D. H. (Pan Dehua). Dougong (Volume 1) [M]. 1st ed. Nanjing: Southeast University Press, 2004.)
[2] 梁思成。梁思成全集(第七卷)[M]. 北京:中国建筑工业出版社,2001.(Liang, S. C. (Liang Sicheng). The Complete Works of Liang Sicheng (Volume 7) [M]. Beijing: China Architecture & Building Press, 2001.)