Parametric CAD Bench v3 附录: 复现 入口 与 三 则 任务 规格
同一篇论文的附录 A–E:制品索引、桁架上板、叉形接头、创建并编辑示例、补充统计和排行榜图。不是第二篇来源。

本文目录
Parametric CAD Bench v3 附录 A–E
这是《从文本与工程图评估智能体式参数化 CAD 创作》的附录,不是另一篇来源。原文:https://arxiv.org/abs/2611.02659
附录 A 可复现性与产物索引
下列公开资源随本论文一并提供:
- • 基准:
https://cadbench.ai/ - • V3 任务与排行榜:https://hub.harborframework.com/datasets/gnucleus-ai/cad-bench/v3
- • 运行配置与试验产物:排行榜每一行所链接的公开 Harbor 作业。
- • 评分代码(验证器):
https://github.com/gNucleus-AI/freecad-validator
冻结数据集的摘要为 sha256:8a786725d3648a76282fc5868df06da3d5e00d603f283573a53430803465d78a。所报告的运行使用 Harbor 0.23.0、FreeCAD 1.1.0 以及 gnucleus-freecad-validator 0.6.0;该验证器发布于 PyPI,并在验证器仓库中标记为 v0.6.0(提交 2a5d67f)。所链接 Harbor 作业的各次试验包含智能体日志、生成的模型以及保存的验证器输出。
基准任务(包括其规格说明、参考模型与图纸)由 gNucleus AI 编写,并按 Apache License 2.0 发布;验证器亦然。任务镜像在 LGPL-2.1 下再分发 FreeCAD 与 Open CASCADE Technology,并附其许可声明。
除第 5.4 节所述四项经审计的 API 成本外,每一项所报告的统计量均由公开任务与公开 Harbor 作业的最终试验计算得出,并可由它们重新计算。
附录 B 文本生成 CAD 创建示例规格
对于每一个创建示例,智能体收到的是下方描述与关键参数,并按所给原文逐字复现,包括其完整小数精度。指令另外加上创建任务共用的输出约定:编写一段 FreeCAD 1.1.0 脚本并写入 /app/answer.py,由该脚本保存 /app/answer.FCStd;模型应构建为单个 PartDesign Body 中的参数化特征树,恰好生成一个实体,特征可编辑,而不是预先计算好的形状。
B.1 桁架上板(freecad-2002df3ce7)
关键参数列于表 9。
带桁架的上板由薄的平面外框构成,外框具有圆角、重复的斜向桁架腹杆、敞开切口、周边安装孔,以及居中的端部延伸。外轮廓以 truss_layout_symmetry_axis_x 为中心,是三个矩形区段的并集:large_outer_rectangle、middle_outer_rectangle 与 small_outer_rectangle。大矩形每一侧有两个互为镜像的梯形侧面凹槽,斜向侧边等长,并有一条居中的下部平边,由对称的圆角倒角所界定。大矩形的两个上角具有倒角退让量 large_outer_rectangle_upper_corner_chamfer_setback。所有矩形区段的角部倒角均使用 rectangular_section_corner_chamfer_fillet_radius。桁架布局以 truss_layout_symmetry_axis_x 为中心。所有具名的布局 x 与 y 坐标都使用位于全局原点的草图坐标系。按右手定则,将该坐标系绕全局 +X 轴、相对全局 XY 平面旋转 -base_sketch_plane_rotation_angle。因此布局 +x 指向全局 +X,布局 +y 指向全局 -Z,板件从全局 Y=0 起沿 +Y 方向延伸 plate_thickness。其三角形子结构为六个大三角形、六个中三角形、两个直角三角形、一个小三角形,以及两个经倒角切割的直角三角形。每一个严格等腰三角形由其形心、理想底边长度与底角定义;其圆角化轮廓使用 truss_cutout_transition_radius。large_triangular_opening_pair_01 至 _03,以及 medium_triangular_opening_pair_01 至 _02,各自定义两个互为镜像的等腰开口。第一与第三对大开口具有外侧竖直底边,第二对则具有内侧竖直底边。第一对中开口具有下方水平底边,第二对具有上方水平底边。medium_triangular_opening_pair_03 具有内侧竖直底边,以及两条在圆角化外侧顶点处相交的斜向侧边。一条上方水平截边把内侧底边连接到上侧边;全部四处过渡均以 truss_cutout_transition_radius 倒圆。两个直角三角形与那个小三角形具有下方水平底边和朝上的顶点。经倒角切割的直角三角形具有上方水平底边、外侧竖直直角边,以及被倒圆的斜向切割角。central_trapezoidal_opening 定义余下的那个非三角形内部环;它与十七个三角形开口一起,构成十八个内部环。它与外轮廓及中心孔共用 truss_layout_symmetry_axis_x。其圆角化的六边边界具有一条上方水平边、两条上方竖直侧壁、两条朝底部向内倾斜的下方侧边,以及一条下方水平边。下方侧边相对竖直方向倾斜 truss_diagonal_angle_family_3。加工完成的平直下边具有 central_trapezoidal_opening_lower_flat_width。全部六个角均为 central_trapezoidal_opening_corner_radius 的相切圆角;具名的包络与中心定位完整边界。板体由 plate_thickness 控制。三角形过渡使用 truss_cutout_transition_radius,而 central_trapezoidal_opening 使用 central_trapezoidal_opening_corner_radius。安装孔与中心孔由其各自的直径、成对间距、行位置与轴线控制。
表 9:freecad-2002df3ce7 的关键参数,按提供给智能体的原文列出。检查标记:W 表示对最终几何的见证量;C 表示自定义绑定;N 表示由该任务的 param_check.py 对原生草图或特征所作的测量。
| 参数 | 值 | 单位 | 检查 |
|---|---|---|---|
| 板件外形、厚度与侧面凹槽 | |||
plate_thickness | 8.00 | mm | W |
base_sketch_plane_rotation_angle | 90.0 | deg | N |
large_outer_rectangle_width | 280.00 | mm | N |
large_outer_rectangle_height | 447.00 | mm | N |
large_outer_rectangle_center_y | $-$51.00 | mm | N |
middle_outer_rectangle_width | 144.00 | mm | N |
middle_outer_rectangle_height | 64.00 | mm | N |
middle_outer_rectangle_center_y | 204.50 | mm | N |
small_outer_rectangle_width | 52.00 | mm | N |
small_outer_rectangle_height | 38.00 | mm | N |
small_outer_rectangle_center_y | 255.50 | mm | N |
rectangular_section_corner_chamfer_fillet_radius | 10.00 | mm | W |
large_outer_rectangle_lower_corner_chamfer_flat_width | 200.00 | mm | N |
large_outer_rectangle_upper_corner_chamfer_setback | 17.00 | mm | N |
large_outer_rectangle_side_trapezoidal_recess_depth | 17.00 | mm | N |
large_outer_rectangle_side_trapezoidal_recess_01_center_y | $-$149.50 | mm | N |
large_outer_rectangle_side_trapezoidal_recess_01_outer_height | 98.28 | mm | N |
large_outer_rectangle_side_trapezoidal_recess_01_inner_flat_height | 47.72 | mm | N |
large_outer_rectangle_side_trapezoidal_recess_02_center_y | 25.50 | mm | N |
large_outer_rectangle_side_trapezoidal_recess_02_outer_height | 148.28 | mm | N |
large_outer_rectangle_side_trapezoidal_recess_02_inner_flat_height | 97.72 | mm | N |
| 桁架布局与斜向角度 | |||
truss_layout_symmetry_axis_x | 0.00 | mm | N |
truss_cutout_transition_radius | 3.00 | mm | W |
truss_diagonal_angle_family_1 | 27.3777028 | deg | N |
truss_diagonal_angle_family_2 | 63.4349488 | deg | N |
truss_diagonal_angle_family_3 | 28.8386275 | deg | N |
truss_diagonal_angle_family_4 | 46.1233027 | deg | N |
truss_diagonal_angle_family_5 | 165.8183429 | deg | N |
| 安装孔与中心孔 | |||
mounting_hole_diameter | 4.30 | mm | W |
center_bore_diameter | 7.00 | mm | W |
center_bore_axis_y | 264.50 | mm | N |
center_mounting_hole_pair_half_spacing | 18.00 | mm | N |
upper_inner_mounting_hole_pair_half_spacing | 62.00 | mm | N |
lower_inner_mounting_hole_pair_half_spacing | 61.76 | mm | N |
upper_inner_mounting_hole_pair_y | 226.50 | mm | N |
lower_inner_mounting_hole_pair_y | 165.50 | mm | N |
side_mounting_hole_axis_x | 136.00 | mm | N |
side_mounting_hole_row_1_y | 137.50 | mm | N |
side_mounting_hole_row_2_y | 113.50 | mm | N |
side_mounting_hole_row_3_y | $-$62.50 | mm | N |
side_mounting_hole_row_4_y | $-$86.50 | mm | N |
side_mounting_hole_row_5_y | $-$216.32 | mm | N |
side_mounting_hole_row_6_y | $-$240.32 | mm | N |
| 三角形开口与中央开口 | |||
large_triangular_opening_pair_01_02_base_length | 141.90 | mm | N |
large_triangular_opening_pair_01_02_base_angle | 27.3777028 | deg | N |
large_triangular_opening_pair_01_positive_member_centroid_x | 86.75 | mm | N |
large_triangular_opening_pair_01_positive_member_centroid_y | $-$170.50 | mm | N |
large_triangular_opening_pair_02_positive_member_centroid_x | 24.25 | mm | N |
large_triangular_opening_pair_02_positive_member_centroid_y | $-$170.50 | mm | N |
large_triangular_opening_pair_03_positive_member_centroid_x | 86.78 | mm | N |
large_triangular_opening_pair_03_positive_member_centroid_y | 16.50 | mm | N |
large_triangular_opening_pair_03_base_length | 133.12 | mm | N |
large_triangular_opening_pair_03_base_angle | 28.8386275 | deg | N |
medium_triangular_opening_pair_01_02_base_length | 73.49 | mm | N |
medium_triangular_opening_pair_01_02_base_angle | 62.6222972 | deg | N |
medium_triangular_opening_pair_01_positive_member_centroid_x | 55.50 | mm | N |
medium_triangular_opening_pair_01_positive_member_centroid_y | $-$230.85 | mm | N |
medium_triangular_opening_pair_02_positive_member_centroid_x | 55.50 | mm | N |
medium_triangular_opening_pair_02_positive_member_centroid_y | $-$110.15 | mm | N |
medium_triangular_opening_pair_03_center_x | 30.11 | mm | N |
medium_triangular_opening_pair_03_center_y | $-$7.95 | mm | N |
medium_triangular_opening_pair_03_envelope_width | 36.23 | mm | N |
medium_triangular_opening_pair_03_envelope_height | 66.89 | mm | N |
right_triangular_opening_pair_base_length | 73.30 | mm | N |
right_triangular_opening_pair_base_angle | 61.1613725 | deg | N |
right_triangular_opening_01_centroid_x | 55.50 | mm | N |
right_triangular_opening_01_centroid_y | $-$40.31 | mm | N |
central_trapezoidal_opening_center_y | 96.50 | mm | N |
central_trapezoidal_opening_corner_radius | 10.00 | mm | W |
central_trapezoidal_opening_envelope_width | 184.30 | mm | W |
central_trapezoidal_opening_envelope_height | 118.00 | mm | W |
central_trapezoidal_opening_lower_flat_width | 108.61 | mm | N |
small_triangular_opening_centroid_x | 0.00 | mm | N |
small_triangular_opening_centroid_y | 186.39 | mm | N |
small_triangular_opening_base_length | 86.69 | mm | N |
small_triangular_opening_base_angle | 43.8766972 | deg | N |
chamfer_cut_right_triangular_opening_01_center_x | $-$32.55 | mm | N |
chamfer_cut_right_triangular_opening_01_center_y | 203.69 | mm | N |
chamfer_cut_right_triangular_opening_01_envelope_width | 38.90 | mm | N |
chamfer_cut_right_triangular_opening_01_envelope_height | 37.63 | mm | N |
chamfer_cut_right_triangular_opening_02_center_x | 32.55 | mm | N |
chamfer_cut_right_triangular_opening_02_center_y | 203.69 | mm | N |
chamfer_cut_right_triangular_opening_02_envelope_width | 38.90 | mm | N |
chamfer_cut_right_triangular_opening_02_envelope_height | 37.63 | mm | N |
| 第二个直角三角形开口 | |||
right_triangular_opening_02_centroid_x | $-$55.50 | mm | N |
right_triangular_opening_02_centroid_y | $-$40.31 | mm | N |
B.2 非对称叉形接头连接件(freecad-fa0a1abef3)
关键参数列于表 10。
非对称叉形接头连接件具有居中的矩形本体、位于其正 X 端的大型开口环叉头、位于负 X 端的较小叉脚,以及一条伸出大型叉头之外的长圆角侧臂。沿连接件方向取全局 X,沿其宽度方向取全局 Y,沿其厚度方向取全局 Z;两端并非镜像。中央本体使用所列 connector_body 尺寸。大型叉头以 clevis_arc_center_x_offset 为中心,朝正 X 方向开口,其开口环轮廓使用 clevis_end_outer_diameter、pin_hole_diameter、clevis_slot_width_gap 以及第一叉头的切线控制量。其内外圆弧边界共用一个圆心,销孔切除从正 Z 面切入。其 Z 向位置由 clevis_body_depth 与 clevis_body_depth_offset 设定,其销孔切除使用 pin_hole_center_offset_x 与 pin_hole_depth。clevis_body_depth_offset 从中央本体的正 Z 面起测量。较小叉脚朝负 X 方向开口,其圆角中心自本体端部向内一个 clevis_fork_prong_straight_length。其同心叉脚圆弧、U 形开口以及正 Z 向凸出使用对应的 clevis_fork 与 clevis_slot 参数。U 形开口与圆角化叉脚端部同心,并从正 Z 面向负 Z 方向切除。clevis_fork_prong_thickness 是拉伸厚度,而不是径向壁厚。该叉脚没有单独的销孔。长侧臂贴靠前方 Y 面,从 clevis_arm_profile_start_x 延伸到由 clevis_arm_end_center_x 与 clevis_arm_end_center_z_offset 定位的圆角端部。其轮廓使用所列 clevis_arm 与 clevis_end 尺寸,clevis_pin_hole_diameter 定义一个穿过其圆角端部、平行于全局 Y 的同心孔。中央、上方与下方让位槽都属于这条侧臂:它们始于 clevis_arm_profile_start_x,朝圆角端部延伸并贯通开口,并使用各自所列的长度、宽度、横向位置以及共同的 slot_depth。三条让位槽均从正 Z 面切入,并朝负 Z 方向切除。
表 10:freecad-fa0a1abef3 的关键参数,按提供给智能体的原文列出。检查标记:W 表示对最终几何的见证量;C 表示自定义绑定;N 表示由该任务的 param_check.py 对原生草图或特征所作的测量。
| 参数 | 值 | 单位 | 检查 |
|---|---|---|---|
| 中央本体 | |||
connector_body_length | 75.0 | mm | N |
connector_body_width | 45.0 | mm | N |
connector_body_thickness | 12.0 | mm | W |
| 大型开口环叉头 | |||
clevis_end_outer_diameter | 45.0 | mm | W |
pin_hole_diameter | 25.0 | mm | W |
clevis_slot_width_gap | 5.0 | mm | W |
clevis_arc_center_x_offset | 37.5 | mm | N |
clevis_body_depth | 50.0 | mm | W |
clevis_body_depth_offset | $-$20.0 | mm | N |
first_clevis_outer_slot_tangent_angle | 6.3793702 | deg | N |
first_clevis_inner_slot_tangent_angle | 11.536959 | deg | N |
first_clevis_inner_prong_tangent_x | 49.7474487 | mm | N |
first_clevis_outer_prong_tangent_x | 59.8606798 | mm | N |
| 叉头销孔切除 | |||
pin_hole_depth | 34.5 | mm | N |
pin_hole_center_offset_x | 37.5 | mm | N |
| 叉脚齿 | |||
clevis_fork_outer_arc_radius | 17.5 | mm | W |
clevis_fork_inner_arc_radius | 7.5 | mm | N |
clevis_fork_arc_central_angle | 180 | deg | N |
clevis_fork_prong_straight_length | 15.0 | mm | N |
clevis_fork_prong_thickness | 8.0 | mm | N |
| 叉脚 U 形开口 | |||
clevis_slot_arc_radius | 7.5 | mm | N |
clevis_slot_arc_central_angle | 180.0 | deg | N |
clevis_slot_straight_length | 15.0 | mm | N |
clevis_slot_profile_width | 15.0 | mm | N |
clevis_slot_depth | 34.5 | mm | N |
| 侧臂 | |||
clevis_pin_hole_diameter | 15.0 | mm | N |
clevis_end_arc_radius | 20.0 | mm | N |
clevis_end_arc_central_angle | 180.0 | deg | N |
clevis_arm_length | 46.7196386 | mm | N |
clevis_arm_width | 40.0 | mm | N |
clevis_arm_depth | 45.0 | mm | N |
clevis_arm_profile_start_x | 52.9513389 | mm | N |
clevis_arm_end_center_x | 99.6709775 | mm | N |
clevis_arm_end_center_z_offset | 9.0 | mm | N |
| 中央让位槽 | |||
clevis_slot_length | 74.88 | mm | N |
clevis_slot_width | 5.21 | mm | W |
clevis_slot_y_min | $-$2.71 | mm | N |
| 上方与下方让位槽 | |||
upper_slot_length | 72.25 | mm | N |
upper_slot_width | 6.96 | mm | N |
upper_slot_y_min | 16.3556146 | mm | N |
lower_slot_length | 73.8 | mm | N |
lower_slot_width | 10.06 | mm | N |
lower_slot_y_min | $-$26.4156146 | mm | N |
slot_depth | 73.6 | mm | N |
附录 C 文本生成 CAD 创建并编辑示例规格
对于 freecad-ff7883ab0c,以下基体描述、编辑指令与参数复现所提供的任务规格。共用的输出约定要求在 /app/answer.py 提供 FreeCAD 1.1.0 脚本,并在运行时由脚本文件名派生两份文档:answer_base.FCStd 与 answer_edit.FCStd。每一份都必须在单个 PartDesign Body 中包含可编辑的参数化特征树,并生成一个实体。
#### 基体零件。
轴对称带凸缘进气壳体具有贯通的中心孔、锥形进气缘、管状中段本体、锥形后毂,以及一块平直的圆柱形后凸缘盘。沿轴线方向,后毂加宽并过渡为凸缘盘,本体经一段短锥收窄后继续为圆柱段,进气端则通过其锥形缘扩张。此时尚无异形前板,也没有后表面上的圆形开口阵列。
#### 编辑指令。
在轴对称进气本体上添加前凸缘板与后部开口阵列。从 tapered_inlet_rim_axial_end_position 起,将四重对称的前板向前延伸 square_flange_thickness,同时保留既有中心孔。由其具名的边弧、角弧与过渡弧,经短切线连接段相接,形成封闭轮廓。从带符号的种子中心出发,添加 number_of_bolt_holes 个相等的通孔,并使其绕壳体轴线均匀分布。从后部圆柱凸缘面切除 number_of_flange_base_counterbores 个相等的圆形开口,直径为 flange_base_counterbore_diameter、深度为 flange_base_counterbore_depth,同样使用带符号的种子中心与均匀角间距。保持管状本体、进气缘、后毂、后盘包络以及中心通道不变。
表 11:文本生成 CAD 创建并编辑示例的参数,复现自智能体指令。15 个基体参数保持不变;编辑新增下方 14 项目标要求。
| 参数 | 值 | 单位 |
|---|---|---|
| 基体零件(编辑不改变) | ||
central_bore_diameter | 50.8 | mm |
tubular_body_outer_diameter | 68.58 | mm |
tubular_body_taper_end_diameter | 75.2 | mm |
tapered_inlet_rim_small_diameter | 88.84 | mm |
tapered_inlet_rim_large_diameter | 95.25 | mm |
tapered_hub_small_diameter | 92.08 | mm |
tapered_hub_large_diameter | 97.78 | mm |
rounded_flange_outer_diameter | 152.4 | mm |
tapered_hub_axial_start_position | $-$27.36 | mm |
rounded_flange_axial_start_position | $-$24.51 | mm |
tubular_body_axial_start_position | $-$8.0 | mm |
tubular_body_axial_middle_position | 7.57 | mm |
tubular_body_axial_end_position | 26.8 | mm |
tapered_inlet_rim_axial_start_position | 26.8 | mm |
tapered_inlet_rim_axial_end_position | 30.0 | mm |
| 新增目标要求 | ||
square_flange_thickness | 16.51 | mm |
square_flange_side_arc_radius | 63.5 | mm |
square_flange_corner_arc_radius | 19.4447813 | mm |
square_flange_transition_arc_radius | 25.4 | mm |
square_flange_corner_arc_center_offset | 40.132 | mm |
number_of_bolt_holes | 4 | |
bolt_hole_diameter | 13.34 | mm |
bolt_hole_seed_center_x_offset | 42.6562166 | mm |
bolt_hole_seed_center_y_offset | 42.6562166 | mm |
flange_base_counterbore_depth | 34.54 | mm |
number_of_flange_base_counterbores | 4 | |
flange_base_counterbore_diameter | 19.05 | mm |
flange_base_counterbore_seed_center_x_offset | $-$42.72 | mm |
flange_base_counterbore_seed_center_y_offset | $-$42.83 | mm |
附录 D 参考模型补充统计
图 6:100 个最终参考模型中的特征对象类型,按工作流分解。一个任务可以贡献同一类型的多个对象。
图 7:30 对文本生成 CAD 创建并编辑任务的特征计数。左:并排条形区分基体分布与编辑后目标分布。右:成对的基体/目标计数;圆面积与数字表示有多少任务共用每一对计数。虚线对角线表示计数没有变化。目标减去基体的计数不一定等于执行一次编辑所需的操作数。
图 8:每个最终参考模型所保存的草图对象计数。草图对象不计入实体建模特征统计。
附录 E 排行榜图
每张图占一页横向页面,以便全部 13 个模型–智能体标签保持可读。
图 9:2026 年 9 月 24 日快照中,100 项任务上的总体平均连续奖励。须线表示 95% 的任务级区间。每一次最终异常均计为零。排序依据点估计,而非已证实的统计分离。
图 10:30 项任务上的文本生成 CAD 创建平均奖励。各系统按其创建点估计排序;未绘制各工作流专属区间。
图 11:30 项任务上的文本生成 CAD 创建并编辑平均奖励。每项任务都通过公式 5 中的嵌套调和聚合,同时为基体与目标产物评分。条形表示点估计,而不是二元成功率。
图 12:40 项工程图任务上的图像生成 CAD 平均奖励。条形只表示各工作流的点估计。工作流总体并不相同,因此不能把跨工作流差异当作受控的模态消融。
觉得有用,转给同事
微信扫码
用微信扫一扫,在手机上打开后即可转发。