智能增材制造

本数据包包含以下文件：

- "part_geometry.csv"
- "local_geometry_relations.csv"
- "machine_params.json"
- "thermal_params.json"
- "baseline_paths.csv"

---

 一、总体说明

 1. 建模对象
每个零件被离散为若干打印层；每一层又被离散为若干扫描单元（cell）。一个扫描单元可理解为一个已经定义好的局部加工任务，其内部扫描方式不再展开讨论。


 2. 单位说明
本数据包中几何量原则上采用毫米（mm）为单位，时间量采用秒（s）为单位，速度采用毫米每秒（mm/s）为单位。若参赛者对个别指标采用无量纲归一化处理，应在论文中说明。

---

 二、文件说明

 文件1："part_geometry.csv"

该文件给出各零件、各层、各扫描单元的基础几何信息，每一行对应一个扫描单元。

 字段说明

 "part_id"
零件编号。  
用于区分不同测试零件。

 "layer_id"
层编号。  
表示该扫描单元所属打印层。

 "cell_id"
扫描单元编号。  
在同一零件、同一层内唯一标识一个扫描单元。

 "x_mm"
扫描单元中心点的横坐标（mm）。

 "y_mm"
扫描单元中心点的纵坐标（mm）。

 "row_idx"
扫描单元所在的网格行编号。  
用于表达单元在离散网格中的相对位置。

 "col_idx"
扫描单元所在的网格列编号。

 "scan_length_mm"
该扫描单元内部有效扫描长度（mm）。  
也可用于计算激光在该单元内部进行有效加工所需时间。

 "area_mm2"
该扫描单元面积（平方毫米）。  
可用于构造热输入强度、面积权重或局部质量评价指标。

 "type"
扫描单元类型。  
例如可能用于区分普通区域、边界区域、薄壁区域、孔边区域等。参赛者可自行决定是否使用该字段。

 "xmin_mm"
扫描单元包围盒的最小横坐标（mm）。

 "xmax_mm"
扫描单元包围盒的最大横坐标（mm）。

 "ymin_mm"
扫描单元包围盒的最小纵坐标（mm）。

 "ymax_mm"
扫描单元包围盒的最大纵坐标（mm）。

 "layer_cell_count"
该扫描单元所在层的单元总数。  

 "nearest_center_distance_mm"
该扫描单元中心到同层最近其他单元中心的距离（mm）。  
可作为局部密集程度的参考量。

---

 文件2："local_geometry_relations.csv"

该文件给出""同一零件、同一层内任意两个扫描单元之间""的转移代价与几何关系信息。  
每一行对应一个有序单元对 (i,j)，表示从单元 "cell_i" 切换到单元 "cell_j" 的关系。

 字段说明

 "part_id"
零件编号。

 "layer_id"
层编号。

 "cell_i"
起始扫描单元编号。

 "cell_j"
目标扫描单元编号。

 "travel_distance_mm"
从单元 "cell_i" 切换到单元 "cell_j" 的空走距离（mm）。  
可结合设备空走速度计算空走时间。

 "adjacent_flag"
邻接标记。  
若为 1，表示两个单元具有较直接的邻近关系；若为 0，表示不视为直接邻接。

 "spatial_weight"
空间影响权重。  
可用于描述两个单元之间热影响或局部耦合的强弱，通常距离越近、接触越强时取值越大。

 "dx_mm"
从 "cell_i" 中心到 "cell_j" 中心的横向位移（mm）：
\[
dx = x_j - x_i
\]

 "dy_mm"
从 "cell_i" 中心到 "cell_j" 中心的纵向位移（mm）：
\[
dy = y_j - y_i
\]

 "center_distance_mm"
两个单元中心之间的欧氏距离（mm）：
\[
\sqrt{dx^2 + dy^2}
\]

 "dx_grid"
两个单元在网格行列意义下的列差。

 "dy_grid"
两个单元在网格行列意义下的行差。

 "bearing_deg"
从 "cell_i" 指向 "cell_j" 的方向角（度）。  
可用于判断转移方向、建立方向敏感惩罚项，或分析扫描顺序是否存在方向偏好。

 "direction_8"
八方向分类标签。  
通常对应上、下、左、右、左上、右上、左下、右下等离散方向，用于简化方向关系建模。

 "same_row_flag"
若两个单元位于同一网格行，则为 1；否则为 0。

 "same_col_flag"
若两个单元位于同一网格列，则为 1；否则为 0。

 "queen_adjacent_flag"
八邻接标记。  
若两个单元在网格意义下满足王邻接（即横、纵、斜向一步之内），则为 1；否则为 0。

 "contact_type"
单元接触类型。  
可能的取值例如：
- "edge"：边接触
- "corner"：角接触
- "none"：不接触

 "shared_boundary_mm"
两个单元共享边界的长度（mm）。  
若两单元不共享边界，则通常为 0。  

 "manhattan_distance_mm"
两个单元中心的曼哈顿距离（mm）：
\[
|dx| + |dy|
\]

 "manhattan_grid_distance"
两个单元在网格意义下的曼哈顿距离。

 "chebyshev_grid_distance"
两个单元在网格意义下的切比雪夫距离。  
常用于表示“需要几步邻域扩张才能接触到”。

 "proximity_class"
邻近等级分类。  
用于将单元对分成若干层次，例如近邻、中邻、远邻等。参赛者可直接使用，也可自行重新定义。

 "local_relation_flag"
局部关系标记。  
若为 1，表示两个单元之间属于较强的局部几何关系；若为 0，则表示不属于这种局部关系。  
该字段可用于简略地讨论局部热耦合情况。

 "same_type_flag"
若两个单元 "type" 相同，则为 1；否则为 0。  

---

 文件3："machine_params.json"

该文件给出设备运行相关参数，用于将路径方案转换为打印时间成本。

 字段说明

 "scan_speed_mm_per_s"
有效扫描速度（mm/s）。  
可用于计算单元内部有效扫描时间。

 "travel_speed_mm_per_s"
空走速度（mm/s）。  
可用于计算单元间切换时间：

 "laser_on_time_s"
激光开启附加时间（s）。  
表示在开始一个扫描单元加工时需要的固定附加时间（激光头定位和稳定过程）。

 "layer_change_time_s"
层切换附加时间（s）。  
用于多层打印时计算从一层结束到下一层开始的额外时间。

 "start_rule"
起点规则。  
用于说明每层扫描是否从固定起点出发，或采用某种默认起始方式。

 "end_rule"
终点规则。  
用于说明每层扫描结束方式，或是否要求返回某个固定位置。

 "notes"
文字说明字段。  
用于补充解释设备参数的使用方式。

---

 文件4："thermal_params.json"

该文件给出简化热模型所需参数。  
本题不要求建立高保真三维热传导模型，参赛者可使用这些参数构造简化热积累风险指标。

 字段说明

 "A"
初始热影响强度系数。  
表示某单元刚完成扫描后，对自身或邻近区域产生的初始热影响幅度。

 "alpha"
时间衰减系数。  
表示热影响随时间衰减的速度。通常在简化模型中可写为指数衰减或类似形式。

 "beta"
空间衰减系数。  
表示热影响随空间距离增大的衰减程度。

 "H_crit"
热风险参考阈值。  
可将其作为局部过热阈值或安全参考量使用。

 "model_hint"
文字说明字段。  
可用于提示一个可能的简化热影响形式，例如热影响如何随距离和时间衰减。参赛者可参考该提示，也可自行构造合理模型。

---

 文件5："baseline_paths.csv"

该文件给出若干基准扫描策略对应的访问顺序，用于结果比较与方法验证。  
基准策略不一定最优，但可作为参照方案。

 字段说明

 "part_id"
零件编号。

 "layer_id"
层编号。

 "strategy"
策略名称。  
例如顺序扫描、蛇形扫描等。

 "visit_order"
访问顺序。  
通常为按顺序排列的单元编号序列，用于表示该策略下各扫描单元的加工顺序。

 使用说明
参赛者可将自己优化得到的路径与这些基准路径进行比较，比较内容包括但不限于：

- 总打印时间
- 空走距离
- 局部热积累风险
- 热分布均匀性
- 对不同几何结构的适应性

 五、注意事项

1. 本数据包已在实际加工参数上进行过简化抽象，不要求参赛者建立高精度工业物理模型。
2. 每个扫描单元内部的加工方式默认固定，重点在单元之间的访问顺序优化。
3. 对于热风险建模，可以参考本数据包提供的热参数和几何关系，但参赛者也可以在合理假设下提出自己的替代模型。
4. 若对某些字段采用不同解释方式，应在论文中给出清晰说明。
5. 建模过程也可以使用文件中未包含的其他数据，但需要考虑所用的数据是否容易测定。