研究主线 / 空间几何理解模型
One spatial core · Many geometric tasks

让模型理解
三维几何世界

从材料与空域,到关系、结构与变化。建立可迁移的空间表征,使模型能够观察、关联、推断,并对几何变化提出可检验的判断。

空间模型是核心资产B-Rep 与连续空间对齐能力靠独立实验验证
从边界几何形成空间理解的概念图带孔实体的边界、内部材料与空间采样,共同关联到空间记忆。此图为概念示意。边界与拓扑贯穿的空域材料与连接
几何概念示意 · 非模型预测、非 CAD 验收产物
4.21 M当前原型参数量
1,993有效合成几何 / 请求 2,000
3 seeds完整与局部对照的训练种子
P0 / P1起步阶段,无完成百分比
当前定位:已有 B-Rep → 点场预测的真实训练闭环。空间关系、结构归属、补全、变化推演和跨任务迁移仍缺直接证据。后续以这些能力的增长判断进展;STEP 重建是重要应用之一。[D3] [E1]
01

我们要建立什么

长期目标是一套能从几何观测中学习空间规律、并被不同任务复用的模型与数据资产。

核心目标

看懂材料如何分布,结构如何关联

给定完整或部分几何,模型能够回答:哪里有材料;哪些边界构成同一结构;远处连接如何影响局部含义;缺失区域有哪些合理补全;一次操作会改变哪里。

面对歧义,保留多个候选及其成立条件。对于功能含义,接受必要的装配、工况、规范或用户目标作为条件。

核心资产

可迁移的空间表征与可积累的监督

共享面、边及全局上下文记忆;用点场、关系、结构集合与变化任务约束其内容。新任务通过小型任务头或适配器使用这些知识。

沉淀的不只是一份权重,还包括合法观测、几何身份、数据划分、标注协议、能力基准及失败记录。

模型负责学习

结构解释、上下文关联、缺失推断、变化预测、跨任务迁移。模型输出需要置信度与适用范围。

内核提供精确事实

几何求值、距离、求交、布尔与真实构造。内核标签是监督来源;工具增强推理须记录调用贡献。

应用检验实际价值

局部解释、编辑与重建、三维标注、出图关联、设计优化等。每项任务有自己的输入条件和验收。

范围边界:空间几何变化不自动包含应力、流体或加工过程物理;裸几何也不能唯一确定功能和原始设计历史。[D0] [D2]

02

空间能力的五个层级

C1—C5 是本文用于持续跟踪的能力编号。C5 横跨其他层级;各层可以并行训练,不是五个串行模型。

实验已验证仅限已说明范围部分实现能力证据不足待实现 / 待验证方案或下一步
层级具体能力与例子独立验收方式当前状态
C1 · 空间表征材料内外、边界距离、最近几何;任意截面形状与射线材料段。按零件统计内外召回、边界误差;薄壁/小孔漏检;射线漏层率与交点误差。部分实现
三个点查询输出已训练;截面目前按采样点评估,尚未验收孔洞/组件;射线未测。
C2 · 关系与结构平行/同轴等支撑关系;有限区域的壁厚、空腔、连通性;点选后的特征组与支撑组。局部几何相似而整体答案不同的对照;跨母体关系与面组测试。待实现 / 待验证
网络有上下文通路;尚无关系头、点选结构头和直接评测。
C3 · 补全与假设隐藏一处几何后补什么;移去孔/圆角时母体可能怎样;哪些信息不足以唯一决定答案。严格区分合法边界条件与答案泄漏;隐藏区几何误差、多解覆盖、不确定性校准。待实现 / 待验证
尚无遮挡任务、补全输出或前态候选。
C4 · 几何变化孔加深会穿透哪里;操作影响哪些材料和边界;先切后加与先加后切有何不同。冻结前后状态与已知干预;材料差、影响区域、连接变化和真实执行核验。待实现 / 待验证
合成器会执行操作;模型还没有学习操作条件下的变化。
C5 · 稳健与迁移换姿态、面编号、接缝或导出器后判断一致;少量标注即可适配新的几何任务。同件变换配对;跨来源留出;冻结编码器小头与随机初始化对照;标注数量曲线。有初步留出
已有合成签名留出与随机姿态;配对一致性、真实件及任务迁移未测。
交互示意 · 什么问题需要整体理解

同样的孔口,远处几何改变了答案

切换剖面示意,观察孔口附近保持相似时,底部或侧面连接怎样改变材料与空域关系。

盲孔的材料剖面示意剖面:斜线为材料,浅色为空域沿轴线检查材料段

底部仍有材料

孔口与孔壁提供局部证据。判断“盲止”还要关联底面,并确认其后存在材料;沿轴线向下会进入孔底实体。

能力问题:模型能否找到底面、判断剩余壁厚,并预测继续加深后的穿透?

此交互是人工绘制的说明图,不调用模型,不计入实验成绩。

03

一个空间核心,分工清楚的模块

下图表示目标架构。模块编号用于长期追踪职责,不要求拆成八个服务;当前连通范围见每张卡片。

M01 / DATA部分实现

几何数据与已知干预

将几何来源、构造程序及真实执行变成可复用训练样本,按空间关系组织课程。

已有
64 个设计用例;5 类基体、8 类操作的随机组合;随机姿态;STEP 导出与回读;失败清单。
缺口
逐步前后状态与面对应、实际材料差、无效尝试事件;真实母体干预;明确关系对照与更广曲面来源。
实现位置与输出

synth.py、build_worker.py、run_build.py。输出源几何、程序 JSON、观测、监督和 manifest;当前只为终态提取张量及点场标签。

M02 / OBSERVATION部分实现

合法观测与几何身份

把精确 B-Rep 转成模型可用张量,并明确每个可选对象属于哪一版几何。

已有
面/边采样、属性掩码、coedge 连接、中心与尺度;单实体、有效性、封闭性与资源上限检查。
缺口
统一 entity registry、显示网格拾取映射、跨重导入对应;设计中更完整的解析支撑参数与环合同。
实现位置与输出

observation.py、observation_dims.py。schema 为 spatial_obs_v0;当前面/边属性维度为 18/11。

M03 / SUPERVISION点场监督已运行

自动 / 人工标注与任务编译

把测量事实、结构含义、功能条件和候选假设编译成合法输入 X、目标 Y、有效掩码 M。

已有
内核内外、边界距离与最近几何支持标签;独立观测/监督目录;按任务池加载与掩码损失。
缺口
结构/关系/变化标签与生产 TaskSpec 编译器;人工标注复核、版本与发布;缺失标签和候选的统一语义。
实现位置与输出

labels.py、data.py、metrics.py。v3 的标注协议与演示描述属于设计依据;本次所查目录没有相应生产平台。

M04 / SPATIAL CORE骨干已训练

共享空间编码器

用局部几何、拓扑连接和远处上下文形成可寻址记忆,为各种空间问题提供共同表示。

已有
面 CNN、边 CNN、2 个 coedge 消息块、2 层面全局注意力;d=192;输出面/边记忆。
缺口
编码器自身的迁移能力、关系推断和表示一致性证据;设计中的独立全局摘要 token 尚未实现。
实现位置与输出

model.py:SpatialBRepS.encode。首版从零训练;未接入外部预训练编码器。输入完整不等于有限采样和池化后信息完整。

M05 / GEOMETRIC REASONING仅点查询已运行

空间查询、关系与变化头

按点、几何对、选区或操作条件查询共享记忆,输出数值、集合或多种几何假设。

已有
占据概率、截断 SDF、最近面分布;两层查询交叉注意力;观测距离偏置和 k=8 局部采样特征。
缺口
关系、点选分组、补全、变化与动作输出;射线材料段;置信度校准和多解输出。
实现位置与输出

model.py:query、local_features。查询仍读取原始观测采样;当前成绩不能单独证明编码器记忆的可迁移性。

M06 / TRANSFER待实现

任务适配与应用接口

用任务条件与少量标注,在共享空间核心上适配结构标注、编辑、重建、配合关系和出图关联。

已有
文档定义了冻结编码器 → 任务头 → 局部解冻的实验方式,以及合法任务输入。
缺口
实际任务头、适配训练、少标签曲线;2D 入口;局部前态探针与程序输出接口。
接入原则

空间模型是主线。程序解码器、通用 LLM 及外部编码器均按实际瓶颈做对照;不预设必须扩大参数量。

M07 / EXACT GEOMETRY已有工具资产

精确测量与 CAD 执行

提供可信测量、真实几何变化和可重放执行,支撑标签生产与应用验收。

已有
当前数据管线调用 FreeCAD/OCC;仓库另有测量、直接构造、导出、重放及验收工具。
缺口
SpatialBRep 预测 → 恢复/操作 → 独立验收尚未接通;历史工具成功不能计为本模型成功。
工具边界

docs/AI_TOOLBOX.md、config/reconstruction_modules.json。测量是事实、预测是候选、执行是过程、Judge 是判定;分别留证据。

M08 / EVALUATION点场基准已运行

独立能力评测与版本发布

让每次迭代回答一个可证伪问题,并保存数据、配置、权重、结果与失败。

已有
合成签名划分;按零件汇总;非学习基线;三种子完整/局部消融;测试集与误差分析;代码快照。
缺口
来源/母体/近重复隔离;C2—C5 基准;参数对齐消融;更完整的训练恢复状态与输入合同校验。
实现位置与输出

splits.py、train.py、metrics.py、analyze.py。当前 checkpoint 仅保存模型/config/step,尚不支持完整优化器、调度器及 RNG 恢复。

04

核心模型:输入、网络、输出与训练

逐项核对 model.py、observation.py、data.py、labels.py、metrics.py、train.py 与 full/meta.json。以下运行规格对应 2026-09-24 的 full 实验;本节于 2026-09-25 补充核验。

核心基模是 SpatialBRep-S。当前实现是从随机初始化联合训练的几何神经网络,由面/边 CNN 编码器 → coedge 拓扑消息传递 → 面 token 全局 Transformer → 点查询交叉注意力 → 三个预测头组成。full 实验有 4,209,391 个可训练参数。

它学习以 B-Rep 观测为条件的连续空间场:给定一个零件和空间坐标,判断材料内外、与边界的距离、距离由哪些面支持。共享空间记忆是未来多任务基模的候选基础;关系、补全与变化能力还需独立训练和检验。

04.1 一个模型究竟接收什么、回答什么

M = Encoderθ(O)
(a, t̂, z) = Queryθ(M, O, x′)O:输入零件的几何/拓扑观测;M:面、边记忆;x′:归一化查询坐标;a:占据 logit;t̂:截断距离;z:最近面 logits。

当前任务的输入条件

已有一个完整、有效、闭合的单实体 B-Rep,先提取数值观测;再提供任意查询点。输入上限为 512 面、1,536 边。STEP 是几何交换入口,网络实际读入的是张量。

当前入口没有图像、2D 图纸、自然语言或缺失几何的编码路径。这些输入需要后续观测适配器及对应监督。

训练目标与长期目标的关系

用可计算的材料空间问题训练共享表示:模型须把边界观测转为对空间内部和外部的判断。

目前采用完整几何做空间场学习。仅凭这个任务的成绩,还不能认定模型已具备缺失补全、全局结构语义或可迁移的空间理解。

术语约定:B 是批内零件数;F / E / C 是一件的面、边、coedge 数;Q 是查询点数;Fmax / Emax 是批内最大数。每个 coedge 表示某条边在一个面的边界环中的有向使用。

04.2 输入:几何观测 O +查询点 x′

c = 包围盒中心;L = 包围盒对角线长度 / 2
x′ = (x − c) / L;τ = 0.05;距离截断带宽 = τLx 和 L 的原始单位为 mm。坐标与长度属性按 L 归一化,面积按 L²;法向、切向为单位向量。τ 本身无量纲。
单件观测规格与批处理后的查询规格
张量形状内容 / 使用方式
face_gridF × 10 × 10 × 7每面 UV 网格:xyz′ 三维坐标、外法向三维、trim_mask 一维。trim_mask 表示是否在裁剪面域内。
face_validF × 10 × 10曲面求值/法向数值有效性。与 trim_mask 一起控制池化;编码器额外拼接 valid,实际卷积输入 8 通道。
face_attr + mask各 F × 187 类曲面 one-hot,面积、主/次半径、锥半角、轴方向 xyz、环数、内环数、边数、裁剪覆盖率。mask 区分不适用/不可用属性。
edge_grid + validE × 16 × 6;E × 16每边 16 个点的 xyz′ 与单位切向;拼接 valid 后为 7 个卷积通道。
edge_attr + mask各 E × 115 类曲线 one-hot,长度、弦长、闭合、退化、接缝、半径。
coedgeC × 6next、prev、mate、所属 face、所属 edge、reversed。批处理重映射索引;无 mate 的项以自身索引参与消息传递。
queryB × Q × 3查询点 x′;训练时从固定监督点池抽取。空间坐标是合法输入,点的内外/距离答案单独放在 labels。
批处理辅助量可变面/边展平+paddingface_slot / edge_slot 把 token 放回批内槽位;face_mask / edge_mask 隔离填充项;query_mask 隔离填充查询。

模型不读取构造历史、操作类别、文件名、样本 ID 或监督标签。vertex_xyz / edge_vertices 虽已提取,但未进入当前 OBS_KEYS。scale 用于目标与误差的单位换算,没有作为绝对尺寸特征传入网络;center 用于预处理与坐标还原。

04.3 网络:从局部表面到可查询的空间记忆

面网格+18 维属性2D CNN → 池化 → 每面 192 维
边采样+11 维属性1D CNN → 池化 → 每边 192 维
有向边界 coedge面/边特征+方向 → 192 维
↓ 2 个拓扑块:next / prev / mate 消息+回聚合
共享几何编码器面 token 经 2 层全局 Transformer;边 token 保留拓扑更新后的记忆
↓ M = {面记忆 B×Fmax×192,边记忆 B×Emax×192}
查询坐标 x′6 组 Fourier 编码 → 39 维 → MLP
k=8 局部观测偏移、法向、平面距离+所属面记忆
几何距离偏置到各面/边采样点的最小距离
↓ 2 层、6 heads 交叉注意力:查询读取全部有效面/边记忆
部件实际运算空间作用
FaceEncoder / EdgeEncoder卷积通道分别 8→32→64→128、7→32→64→128;核宽 3。有效区域 mean/max 池化得到 256 维,再拼属性×mask 及 mask,经 MLP 输出 d=192。把曲面形状、方向、裁剪和解析属性编码为面/边 token。
TopoBlock × 2初始 coedge 来自所属面/边与方向;每块注入面/边特征,拼接自身、next、prev、mate,经 MLP 残差更新;按归属均值聚合回面和边。传播边界环与相邻面的连接信息。拓扑关系来自输入 B-Rep。
全局 Transformer × 2仅面 token 做全局 self-attention;6 heads,FFN=768,GELU,pre-norm,dropout=0。面、边各有类型 embedding。允许远距离面之间交换信息。当前没有 32 个全局摘要 token,也没有独立全局向量输出。
查询编码拼 x′ 与 sin/cos(2ᵏπx′),k=0…5,共 39 维,再映射到 192 维。连续坐标被编码为查询向量,支持在给定点处预测。
局部观测通路按距离选 8 个有效面采样点;拼相对偏移 3、法向 3、带符号切平面距离 1、距离 1,以及所属面记忆 192,共 200 维。MLP 后学习权重池化,再加到查询向量。为近边界预测提供细节。直接读取原始观测,因此查询结果不只取决于压缩后的记忆。
CrossBlock × 2Q 为查询向量,K/V 为面+边记忆。每层每 head 的 bias = −softplus(α)·dmin/τ,叠加 padding 屏蔽;随后残差 FFN。偏向几何上较近的 token,同时仍可访问远处 token。dmin 来自观测采样距离,未调用监督真值。

这里的查询层是 cross-attention,没有查询点之间的 self-attention。三维坐标、法向和轴向都直接入网;代码没有实现严格 SE(3) 等变结构。数据中的旋转不能替代等变性与旋转鲁棒性的专门验证。

04.4 输出:三种空间答案及其单位

输出网络与解码含义 / 限制
occ_logit
B × Q
LayerNorm 后经 MLP(d→d→1) 得 a;p = sigmoid(a)。当前评估用 a > 0 判为内部。p 表示材料内部概率。当前没有额外做概率校准。
tsdf
B × Q
另一 MLP 后 tanh 得 t̂ ∈ [−1,1];换算 d̂ = t̂·τL mm。内部为负、外部为正。超过 0.05L 的距离目标被截断,输出不能表达更远处的真实距离。
near_logit
B × Q × Fmax
zf = (Wqq)·(WkMf)/√192;屏蔽 padding 面;softmax 得面分布。表示当前输入中最近边界支持面的分布;是输入实体索引,不是“孔壁”等语义类别。评估用 argmax 检查是否命中任一合法支持面。

数值例子(说明单位,不是一次模型推理):若 L=50 mm,截断带宽为 2.5 mm;某点真实 SDF 为 −1 mm,则目标 t=−0.4。预测 t̂=−0.3 相当于 −0.75 mm;若真实距离为 +10 mm,训练目标会截成 +1,解码只能得到带宽上限 +2.5 mm。

04.5 怎么训练:内核生成标签,神经网络学习预测

① 生成几何并隔离观测 / 监督

程序合成 → STEP 导出回读 → 验证单实体 → 提取 O。对查询点由 FreeCAD / OCCT 计算 isInside 与到边界面的距离;观测和监督分别保存。几何内核承担教师标签计算,梯度不穿过 CAD 内核。

② 每件预先生成固定点池

训练池 8,192 点:25% 包围盒周围均匀采样、40% 表面法向偏移、20% 边附近、15% 内部采样。内部拒绝采样不足时用均匀点补足,因此这些是采样器配比,不能当作最终内外类别比例。近边界偏移尺度包括 0.0005 / 0.002 / 0.01 / 0.03 倍 L。

③ 按几何签名划分零件

本次有效 1,993 件,训练 1,428 / 验证 274 / 测试 291。当前签名为基体种类与操作类型多重集;跨集合签名无交集,仍属于同一合成来源。标签池与零件划分不能互相替代。

④ 每一步抽样并联合更新

随机抽 4 件,每件从固定池无放回抽 2,048 点;一步共 8,192 查询。执行 encode → query → 三项 loss → backward → 梯度裁剪 → AdamW。所有编码器、拓扑块、注意力层和预测头一起训练;当前 full 训练没有冻结骨干或载入外部预训练权重。

⑤ 用验证集选权重,再报告测试集

每 1,000 steps 评估 uniform / stress / section 三种点池;各 4,096 点,其中 section 为 64×64 平面网格。stress 由 55% 边界附近+45% 边附近构成。best.pt 按验证集 stress 的逐件平均 balanced accuracy 选取,测试集另行 eval-only,不参与反向传播。

full 实验的实际训练配方
项目值解释
初始化 / 参数规模随机初始化 / 4,209,391自定义 SpatialBRep-S;完整组与 local_only 组分别用种子 11、29、47。
步数 / batch6,000 steps / 4 件 × 2,048 点按随机步训练;没有遍历式 epoch 循环,也没有每步重新生成 CAD 标签。
优化器AdamW;lr=3×10−4;weight_decay=0.01全部可训练参数传给同一个优化器;梯度范数裁剪阈值 1.0。
学习率180 步 warmup × cosinelr(s)=3e−4·min(1,(s+1)/180)·[1+cos(π·min(s,6000)/6000)]/2;s 为调度器步索引。
网络参数d=192;heads=6;topo/global/query=2/2/2Fourier=6;local_k=8;geo_bias=true;τ=0.05;dropout=0。
设备 / 保存Mac MPS;best.pt 与 last.pt检查点包含 model / config / step;未保存优化器、调度器和 RNG 状态,完整续训尚待补齐。

Config 与 CLI 的 local_k 默认值为 0,steps 默认 3,000;上表来自已运行 full/meta.json 的显式配置(local_k=8、steps=6,000),不能仅按代码默认值复现实验。

04.6 损失函数:占据+距离+最近支持面

定义 meanm(u)=Σ(m·u)/max(Σm,1)。每项只对自己的有效点求平均;当前训练在整批有效查询上平均,评估则先按零件计算、再对零件平均。

ℒ = ℒocc + 1.0·ℒsdf + 0.2·ℒnear来自 metrics.py:loss_fn 的实际默认权重;train.py 未覆盖这些权重。
01 / MATERIAL

占据损失

ℒocc = meanm_occ[−y·ln p − (1−y)·ln(1−p)]

y=1 表示内部,0 表示外部;代码用 binary_cross_entropy_with_logits 直接处理 a,避免先 sigmoid 的数值问题。

m_occ = query_mask ∧ occ_valid。距边界小于 10−4L 的点不参与占据损失,以避开表面“内/外”的歧义。没有额外类别权重或 focal loss。

02 / DISTANCE

截断 SDF 损失

t = clip(sdf_mm / (τL), −1, 1)
e = t̂ − t
ℒsdf = meanm_dist[Huber0.1(e)]

Huber(e)=0.5e²(|e|≤0.1);否则为 0.1·(|e|−0.05)。这里使用 PyTorch Huber 定义,δ=0.1。

m_dist = query_mask ∧ dist_valid。包含带外的饱和目标,不只计算近边界点。δ 的物理对应尺度为 0.005L。

03 / SUPPORT

最近面集合损失

Pf = softmax(z)f
ℒnear = meanm_band[−ln Σf∈SPf]

S 是内核返回的最近支持面集合:在边或顶点上,展开其相邻面;当前最多保留 4 个面索引。

m_band = query_mask ∧ dist_valid ∧ (|sdf_mm|<τL) ∧ S 非空。优化落在合法集合内的总概率;没有要求等距面平均分配概率。

单点计算例子:沿用上例,假设该点三项 mask 均有效,p=0.8、y=1、t̂=−0.3、t=−0.4、合法支持面概率之和=0.7,则 ℒ_occ≈0.22314,ℒ_sdf=0.005,ℒ_near≈0.35667,总损失约 0.29948。这是教学算例,真实训练日志按批内各自有效点数归一化。

内核距离查询失败会把距离/占据有效位清零;找不到支持面时 dist_valid=0。mask 使未知或失败标签不被当成负样本。数值 1 : 1 : 0.2 是系数,不代表三项实际梯度贡献比例。AdamW 的权重衰减在优化器步骤中执行,没有作为上述 total 的额外一项输出。

目前没有 occupancy/SDF 符号一致性约束、Eikonal 梯度约束、对比学习、关系/补全/编辑损失或语言建模损失。两套独立预测头可能给出不一致答案;这是后续可以单独测量和改进的点。最近支持集合最多 4 个的截断也应在复杂边界上验证。

04.7 推理如何使用,未来任务如何复用

当前推理合同

  1. 合法 B-Rep → 与训练一致的观测张量 O。
  2. 加载检查点中的 config 和 model 权重。
  3. memory = model.encode(batch) 编码一次。
  4. 把空间查询按 (x−c)/L 归一化,再调用 model.query(batch, memory, x)。
  5. sigmoid / 距离换算 / 面索引映射,得到点查询结果。

推理所需的是观测、查询与权重;模型前向不调用标签内核。当前 forward 每次都会 encode;拆出的 encode/query 接口允许对同一几何复用 memory,但生产查询分块和缓存生命周期仍需实现。

后续基模扩展合同 设计目标

保留共享空间编码器,增加对应任务的查询与输出头:

  • 几何对查询 → 共轴、支撑、薄壁/连通等关系。
  • 选点/选面查询 → 结构归属与相关面集合。
  • 部分观测 → 多个合法完整几何假设。
  • 操作与参数条件 → 材料变化、前后态及影响范围。

每种能力都需要输入合同、可验证标签、掩码和任务损失。先冻结编码器训练小头并做从零训练对照,才能检验共享记忆是否带来迁移收益。

04.8 这套训练现在能说明什么

已有直接监督:材料内外、到边界的截断距离、近边界的支持面归属。拓扑消息传递和全局注意力为利用远处几何提供了网络通路。

仍缺直接证据:模型是否形成可复用的“孔/腔/薄壁”结构表征,是否理解空域连通、能否预测编辑引起的变化,以及对缺失几何、多来源真实零件的迁移。点场预测可以为这些任务提供基础;最终仍需对应监督与独立测验。

当前 full 同时使用局部原始采样、全局面记忆和拓扑信息。已有消融显示完整组更好,但“记忆学到了什么”还应通过参数量匹配、输入扰动、困难几何对照和冻结编码器迁移来拆分验证。实验结果与证据边界 →

当前实现与长期规格对照

程序合成→STEP 导出 / 回读→观测 + 内核点标签→编码 / 点查询训练→留出评估
项目当前实现 / 实测配置设计目标或待补项
几何采样面 F×10×10×7;边 E×16×6;数值有效与裁剪掩码。验证小孔、薄壁、接缝与一般曲面覆盖;不把采样视作精确 B-Rep。
属性与拓扑面属性 18 维、边属性 11 维;coedge 的 next/prev/mate/face/edge/reversed。v2 设计为 33/12 维;解析支撑位置等尚未齐备。顶点已提取,当前加载白名单未使用。
空间骨干d=192,6 heads,2 拓扑块,2 全局层;4,209,391 参数。文档建议主规格 d=384、4/4 层及 32 全局摘要 token;当前采用 debug 规格,未据此宣称容量不足。
查询输出occ_logit、tsdf、near_logit;τ=0.05,截断带宽为 τL;L 为包围盒半对角线。关系、分组、补全、反事实与变化头;截断距离不代表全域精确距离。
查询输入编码后的面/边记忆 + 原始观测附近采样、法向与距离偏置。需要检验知识能否迁移到其他任务;局部原始信息的使用本身是合法的。
训练Mac / MPS;AdamW 3e-4;6,000 steps;4 件×2,048 点;3% warmup + cosine。当前首个实验不涉及 Qwen、外部几何权重或在线自学习。
运行合同最多 512 面、1,536 边;超限拒绝;固定点池与分组 split。设计中的 query chunk、schema/哈希强校验和完整训练断点恢复尚不完备。

配置差异是明确的实现范围,不将设计数值写成运行事实。代码证据:[E2];实际训练:[E1]。

05

让数据覆盖空间问题

独立几何、空间关系、受控干预和任务含义共同形成训练经验。查询点数不能代替独立结构数。

A / 无历史的几何

学习空间与边界

完整 B-Rep 可生成点场、截面、射线及适用关系监督。隐藏观测后训练补全;未知历史保持未知。

当前仅合成终态点标签
B / 已知几何干预

学习作用与关系

在合成或真实母体上施加已知操作,保存 H、a、S 与变化区域。无须知道整个真实母体的原始建造历史。

需补成对状态与变化监督
C / 标注与任务条件

学习结构与用途

人工补充区域归属、结构角色、配合关系、偏好与约束。功能任务同时记录装配、工况和业务条件。

协议已有,生产接入待做
当前数据基线 · 来自构建 manifest
集合请求与实际结果用途与边界
黄金 6463 ok;1 rejected(加料后产生两个实体)。9 个解析体标签核对:最大距离误差 ≤1.8×10⁻⁵ mm,内外无误判。检查实现与标签;全部标 train。没有将 63 件当作独立泛化测试;也不等于完成全部黄金断言。
随机 2,0001,993 ok;6 error;1 rejected。错误含内核异常及 1 个采样概率异常。5 类基体、8 类操作;单个生成器分布;失败保留分母。不是 2,000 个来源或工业零件族。
训练 / 验证 / 测试1,428 / 274 / 291 件;731 / 153 / 148 个签名;跨集签名零重叠。签名=基体种类+操作种类多重集合,不编码操作次序、依赖和完整关系图;尚无跨来源与几何近重复审计。
查询池训练 8,192 点/件;评估均匀 4,096 点、边界压力 4,096 点、64×64 截面点。训练和评估独立采样。压力池为 55% 边界附近 +45% 棱边附近;独立母体才是统计单位。

下一批样本要增加什么信息

  • 同样的局部圆柱/平面,因远处出口、连接和包围关系不同而对应不同答案。
  • 同一母体上孔深、位置、壁厚与先后操作的成对变化。
  • 跨母体结构与真实几何上下文;薄壁、空腔、相交特征和更复杂边界。

标签合同要保留什么

  • 前态、后态、实际动作、材料变化、失败类型和几何对应;失败尝试也要留记录。
  • 一个面允许参与多个结构或操作解释;保留多对多与不确定对应。
  • 观测与真值分离;未标注、未知、不适用、负例分别表示;严格缺失任务删除可泄漏答案的属性。

参考 GeoReverse 的干预数据与多对多历史设计,以及 v3 的 Observation / Annotation / TaskSpec 合同。[D1] [D3]

06

已经验证的进展,尚待回答的问题

本节数字来自已有训练产物,本次编写页面未重新训练。验证集与测试集分开;所有准确率均为点查询指标。

Validation · 压力池平衡准确率

三种子完整模型约 ±0.07 个百分点;仅局部约 ±0.16 个百分点。均来自同一冻结 split。

Interpretation · 可以支持的判断

点场学习有收益

在同一合成器的签名留出范围内,学习模型优于最近观测采样点+法向基线。保留局部几何显著改善近边界判断。

完整模型相对“无拓扑/全局”约增加 1.75 个百分点;二者约 4.2M / 1.5M 参数,尚不能把差值全部归因于整体结构理解。

冻结测试集 · 291 件 · 完整模型 seed 11
查询分布完整模型 balanced accuracy非学习基线 balanced accuracy能说明的范围
均匀点99.35%95.46%包围空间中的内外分类,须结合近边界专项看。
边界压力点91.98%83.56%边界/棱边附近独立点的分类;0.01L 带内准确率 90.86%。
截面采样点99.49%96.24%截面网格点分类,未独立统计小孔漏检、连通组件或轮廓误差。
压力池近边界 TSDF MAE/L ≈0.0015,最近面集合命中≈0.893。距离只在有效近边界带统计;这不是重建公差,也不是任意全域距离精度。
最关键的未证实项:共享记忆里是否沉淀了可迁移的空间知识?

当前查询会重新读取局部原始观测,因此高分可能同时来自局部几何利用与编码器学习。下一步需要控制输入、模型容量与训练数据,在关系、补全、变化和少标签任务上测量贡献。不能仅凭“用了图网络/注意力”认定已具备整体理解。

当前薄弱处

验证压力池中圆柱/阶梯轴基体约 0.877–0.906,盒体约 0.958;棱边附近错误率约 11%,面边界附近约 6.6%。应检查几何信息与标签,再判断是否扩大容量。

未运行的关键评测

射线材料段、结构关系、点选分组、补全与变化;姿态/编号配对一致性;跨来源真实 STEP、自由曲面;冻结编码器迁移与实际几何应用。

“仅局部”沿用实验名 local_only:它关闭拓扑块与全局编码层,但查询交叉注意力仍可读取面/边记忆,并非严格限定在局部邻域。结果来源 [E1];文件哈希与精简原始指标可在文末下载。运行记录将 7 个未通过项统称为内核错误,本文按 manifest 修正为 6 error + 1 rejected,并保留采样异常。

07

后续迭代围绕能力推进

沿用文档 P0—P5 的阶段编号。近期优先补 C2—C4 的学习与验证,迁移探针并行;每次实验只回答清楚的问题。

P0

数据与标签的可信基础 已起步,尚未完整收口

已做:黄金集构建、解析标签核对、观测/监督分离。

接着补:薄壁、内腔、接缝、拒绝、重导入、姿态配对断言;源单位与标签异常审计。每个拒绝案例定义预期,不能用模型分数掩盖管线错误。

P1

让空间问题超出局部点判断 近期主线

已做:约 2,000 几何的点场学习、基线、三种子消融。

接着补:有限区域材料关系、点选结构与支撑组、条件几何恢复;射线与截面结构评测;局部相似/整体不同对照。

晋级证据:陌生关系组合上有效,近边界能力不明显退步,整体上下文增益在容量对齐后仍成立。

P2

证明表征可迁移 随 P1 布置探针

实验:固定数据与模型大小,比较随机初始化、冻结空间预训练编码器+小头、局部解冻;至少覆盖结构/关系及一种补全或变化任务。

晋级证据:跨母体少标签曲线稳定改善,C5 一致性可接受;再按结构覆盖与标签成本考虑约 20,000 件规模。

P3

已知干预、反事实与局部前态 数据建设可并行

实验:真实母体+已知新操作;预测材料变化、影响区域、连接变化与可行前态。保留空操作、失败及多解。

晋级证据:未知母体上的变化判断与真实循环改善;局部解释对应实际选区。前态任务是核心能力的一个应用探针。

P4

构造、编辑与工程任务 应用扩展

将空间表征用于局部编辑、程序组合和完整重建。需要时接程序解码器;由精确内核执行,独立检查几何、参数编辑、无源重放和 STEP 回读。

这些应用结果与空间能力成绩分表记录;工具或规划器改进不自动计作权重理解能力提升。

P5

多观测入口与更多任务 长期方向

接入 2D 视图、图纸或扫描等合法观测,通过空间问题与对应关系对齐共享核心。记录观测缺失、遮挡、单位和歧义。

功能面、配合、出图与优化任务按输入条件和标注成本接入;物理求解与设计目标另有明确接口。

这是持续迭代路线,不承诺各阶段训练步数、完成日期或成功率。扩大数据和模型规模应有当前瓶颈证据。[D2]

08

让一次标注成为长期资产

v3 的数据与标注设计服务于空间表征复用。先用少量几何贯通身份、标签、任务和训练,再扩大工作台功能。

对象身份与语义分层

标注绑定 case + geometry revision + registry hash + entity / occurrence。重导入改变了面划分,需新 registry 或核验过的对应表。

几何事实、构造历史、结构角色、功能用途、候选假设、偏好约束分开。一个面可有多个角色;局部 patch 不应强行扩成整面标签。

任务条件与训练边界

几何本身不一定决定“密封面”“入口”“检测基准”。TaskSpec 声明部署时可得的条件、监督含义、输出粒度、掩码与评价。

先冻结空间编码器训练小头,再按证据局部解冻或联合微调。比较达到任务门槛所需的独立标注母体数量与人工成本。

任务示例合法输入监督与输出检验模型价值
点选结构理解整件 B-Rep + 一个选点相关面组、支撑组、关系与不确定项单点击范围、跨母体结构分组
材料关系B-Rep + 几何对 / 空间查询薄壁两侧、空腔、连接与材料区间局部相似的困难对照
功能面选择B-Rep + 装配 / 工况 / 目标多标签区域与业务条件少标签迁移、漏关键区域
局部前态后态 B-Rep + 点选支撑集合、候选前态与动作有效前态、真实正向循环、未选区保护
2D ↔ 3D视图元素与合法相机 / 尺度条件跨视图多对多对应、遮挡与歧义新观测与新来源测试

以上为目标任务,尚未在当前 SpatialBRep 原型上验证。v3 中的 schema、registry 与稀疏标签演示描述也不能等同于已上线标注平台。[D3]

09

其他文档留下了什么

按用途吸收已有讨论,以当前空间模型目标统一解释。较早文档中的配置建议、阶段数字与绝对判断不自动成为现行结论。

D0 · 最早的零件理解与合成数据讨论 目标来源

保留:零件理解、可编辑参数与可优化变量;操作序列只是监督之一;合成应保存完整监督链。

调整:7B/14B/32B 与硬件建议没有当前实测依据;中立 IR 是应用表达选择,不强制空间主干经过固定 Feature Graph 流水线。

AI_CAD_零件理解与合成数据系统完整讨论.html · 2026-08 历史讨论

D1 · GeoReverse 局部逆构造方案 变化学习与应用协议

保留:H → a → S 的受控干预;后态+点选任务的输入隔离;材料变化;多对多历史;多个合法前态;真实母体上施加已知操作。

调整:Qwen-1.5B 从主模型目标退到按需程序表达对照;局部逆构造作为空间核心的一项应用检验。

docs/new/模型设计与训练方案.md · GeoReverse v1.1 · 2026-09-22(同名 HTML 为阅读版)

D2 · SpatialBRep v2 空间模型方案 核心设计依据

保留:共享面/边/全局记忆;材料空间、关系、补全和反事实;空间能力与应用两张成绩单;基模消融与分阶段训练。

当前解释:张量维度、网络层数、任务头和规模是设计目标。本文第 04 节列出实际实现差异。

docs/new/SpatialBRep_空间理解模型完整设计与训练方案.md · v2.0 · 2026-09-23(HTML 为阅读版)

D3 · SpatialBRep v3 数据与标注扩展 统一设计依据

保留:Observation / Annotation / TaskSpec;几何身份;事实、历史、结构、功能、假设分层;人工标注;冻结编码器的小头迁移;数据发布与防泄漏。

当前边界:协议与演示描述属于设计资料;本次所查目录未提供完整生产编译器、工作台或任务迁移运行证据。

docs/new/SpatialBRep_空间模型与数据标注完整方案_v3.html · v3.0 · 2026-09-23

D4 · 旧架构审核与工具职责文档 经验与可复用工具

保留:核对模型真实贡献;避免手写整件分支替代权重能力;特征交互与合成/真实分布差距;测量、预测、执行、验收分工。

不直接沿用:旧版本统计与当前状态;对自由曲面可构造性的绝对判断;把学习模型永久定位成小模型顾问。自由曲面理解与精确构造分别实验。

docs/architecture_review.md(2026-08-10)
docs/AI_TOOLBOX.md · docs/RECONSTRUCTION_MODULES.md · docs/v161-tool-value-and-boundaries-2026-09-08.md

E1 · 本轮实际训练与数据证据 已有运行产物

黄金集和随机集 manifest;完整/局部三种子训练元数据、best_eval;seed 11 的独立 test;误差分析、运行记录与代码快照。本页数字由原始 JSON 核对。

runs/aicad_train/20260924T054916Z_spatial_brep_golden64/
runs/aicad_train/20260924T060500Z_spatial_brep_geometry2000/
runs/aicad_train/20260924T075500Z_spatial_brep_train_g2000/

路径相对统一 CAD 数据集中的 aicad_train 目录,用于内部定位;本站不公开几何、标签或权重下载。

E2 · 当前实现 P0 / P1 原型

13 个 Python 文件:合成、提取、标签、构建、划分、加载、模型、训练、指标与分析。训练时基线 HEAD 为 1062150,SpatialBRep 代码当时未提交,另有冻结代码快照;HEAD 不能单独标识这批实验。

spatial_brep/{synth,observation,observation_dims,labels,build_worker,run_build,splits,data,model,train,metrics,analyze,__init__}.py

来源条目是本次阅读范围与文件定位,外部论文/权重效果未在本次复验。本站不把文档引用的外部成果归为本项目已实现能力。

10

让后续迭代可追踪、可比较

每次更新回到固定能力 C1—C5、模块 M01—M08 和阶段 P0—P5,避免文档越多,当前目标越模糊。

一次迭代保留七项记录

  1. 问题:要检验哪项空间能力,原失败是什么。
  2. 变更:改了哪个模块、数据或任务。
  3. 实验:冻结 split、预算、基线与对照。
  4. 归因:权重、观测、工具、助手分别做了什么。
  5. 结果:逐件指标、分母、失败与耗时。
  6. 边界:未知件、真实来源与未验证项。
  7. 决策:接纳、继续实验或保留负结果。

本页的更新规则

目标与模块职责保持稳定;每次实验更新状态、证据链接、数据/代码/权重标识和下一假设。保留旧结果及适用范围,不拼接不同版本的最好成绩。

“代码存在”“训练运行”“能力验证”“任务迁移”“工程交付”分别表述。空间分数提升而迁移无收益时,如实保留两项结论。

v1.1 · 2026-09-24:统一历史讨论、v1/v2/v3 设计与首个 SpatialBRep 实验;确立空间理解为主线,记录实现差异与待验证项。

v1.1 · 2026-09-25:补齐核心模型合同、输入输出张量、逐层结构、训练配方、三项损失及推理边界;沿用原实验,未重新训练。

证据索引与版本核对

页面内嵌精简实验 JSON 与源文件 SHA-256,便于保存这次快照。后续更新应重新核对原始产物;索引不替代真实模型重跑。

证据基线:2026-09-24 · P0 / P1 · 完整与局部三种子对照