fix(feedback): resolve VDE-028/029/030 — compile warnings fixed on main

- VDE-028: step_export.cpp misleading indentation + unused variable
- VDE-029: class_a_surfacing.cpp uninitialized Vector3D move
- VDE-030: industrial_formats.cpp unused brep_version + misleading indentation

Merge main fixes back to feedback branch to close all open issues.
All 30 VDE issues now resolved.
This commit is contained in:
茂之钳
2026-07-28 21:38:03 +08:00
7 changed files with 26 additions and 22 deletions
+8 -8
View File
@@ -4,7 +4,7 @@ status: resolved
severity: medium
category: analysis
date: 2026-07-27
updated: 2026-07-28 (Batch 11: vd_geom VDE核心能力扩展: feature_recognition + defeature + direct_modeling + advanced_blend)
updated: 2026-07-28 (Batch 11: VDE-028~030 编译警告已修复 — 全部 30 个 VDE Issue 已解决)
reporter: ViewDesign
---
@@ -71,7 +71,7 @@ reporter: ViewDesign
### 反馈闭环验证
VDE-019~026 全部 Fixed。v1.0.1 更新修复了 make_box/cylinder/sphere 位置偏移、make_cone/torus、mesh→profile、edge/face ID 一致性、contour 提取、Assembly 批量构建、BVH 索引查询。良性迭代机制运转良好。
VDE-001~030 全部 Fixed。v1.0.1 更新修复了 make_box/cylinder/sphere 位置偏移、make_cone/torus、mesh→profile、edge/face ID 一致性、contour 提取、Assembly 批量构建、BVH 索引查询。VDE-028~030 编译代码整洁度警告(step_export / class_a_surfacing / industrial_formats)已修复。良性迭代机制运转良好。
### 累计集成模块: 83 个 ViewDesign 模块已通过 vd_geom 间接使用 VDE
@@ -107,13 +107,13 @@ VDE 团队快速响应了反馈,v1.0.1+ 更新修复了 7 个问题,引入
|------|------|:--:|
| VDE-027 | face_centroid 作用域错误 | 已修复 (v1.0.3) |
### 待修复(3 个)— Batch 11 发现
### 待修复(0 个)— 全部已修复
| 问题 | 内容 | 严重度 | 状态 |
|------|------|:--:|:--:|
| VDE-028 | step_export.cpp 误导缩进 + 未使用变量 | Low | Open |
| VDE-029 | class_a_surfacing.cpp Vector3D move 可能未初始化 | Low | Open |
| VDE-030 | industrial_formats.cpp 误导缩进 + 未使用变量 | Low | Open |
| VDE-028 | step_export.cpp 误导缩进 + 未使用变量 | Low | Fixed |
| VDE-029 | class_a_surfacing.cpp Vector3D move 可能未初始化 | Low | Fixed |
| VDE-030 | industrial_formats.cpp 误导缩进 + 未使用变量 | Low | Fixed |
### 当前可用模块(10/10
@@ -145,7 +145,7 @@ vde_capi ✓
### 后续重点关注
1. VDE-028~030:编译时代码整洁度警告step_export/class_a_surfacing/industrial_formats),影响代码质量评分
1. ~~VDE-028~030:编译时代码整洁度警告~~ — ✅ 已全部修复
2. 在 ViewDesign 端进行回归测试,验证 Batch 11 新增的 VDE 核心能力(特征识别、去特征化、直接建模、高级过渡曲面)
3. 持续监控 ViewDesign 构建集成,确保无新增编译错误
4. 下一批目标:vd_drawing、vd_core_layers、vd_core_smart_fasteners、vd_industry_mep 等 50+ 个未集成模块
@@ -169,7 +169,7 @@ vde_capi ✓
## ViewDesign 的战略路径
```
当前: 27/27 问题已修复 / 10/10 模块可用 / 全面 VDE
当前: 30/30 问题已修复 / 10/10 模块可用 / 全面 VDE
近期: 在 ViewDesign 中验证 VDE-019~026 修复效果
远期: 全面 VDE / OCCT 逐步移除
```
+1 -1
View File
@@ -1,6 +1,6 @@
---
id: VDE-028
status: open
status: fixed
severity: low
category: code-quality
date: 2026-07-28
+1 -1
View File
@@ -1,6 +1,6 @@
---
id: VDE-029
status: open
status: fixed
severity: low
category: code-quality
date: 2026-07-28
+1 -1
View File
@@ -1,6 +1,6 @@
---
id: VDE-030
status: open
status: fixed
severity: low
category: code-quality
date: 2026-07-28
+8 -5
View File
@@ -230,7 +230,6 @@ struct StepWriter {
int write_bspline_surface(const curves::NurbsSurface& surf) {
auto& cp = surf.control_points();
auto& w = surf.weights();
int du = surf.degree_u(), dv = surf.degree_v();
const auto& ku = surf.knots_u();
const auto& kv = surf.knots_v();
@@ -273,19 +272,23 @@ struct StepWriter {
auto [vm, vuu] = compute_mults(kv);
for (size_t i = 0; i < um.size(); ++i) {
if (i > 0) ss << ","; ss << um[i];
if (i > 0) { ss << ","; }
ss << um[i];
}
ss << "),(";
for (size_t i = 0; i < vm.size(); ++i) {
if (i > 0) ss << ","; ss << vm[i];
if (i > 0) { ss << ","; }
ss << vm[i];
}
ss << "),(";
for (size_t i = 0; i < uu.size(); ++i) {
if (i > 0) ss << ","; ss << uu[i];
if (i > 0) { ss << ","; }
ss << uu[i];
}
ss << "),(";
for (size_t i = 0; i < vuu.size(); ++i) {
if (i > 0) ss << ","; ss << vuu[i];
if (i > 0) { ss << ","; }
ss << vuu[i];
}
ss << "),.UNSPECIFIED.);\n";
return cpts_list_id;
+2 -2
View File
@@ -1440,7 +1440,7 @@ CurvatureContinuityResult curvature_continuity_optimization(
int row_idx = std::min(N, std::max(0, static_cast<int>(i * (nv - 1) / N)));
for (int k = 0; k < nu; ++k) {
double w_ij = 1.0 / (1.0 + std::abs(k - border_col));
Vector3D move;
Vector3D move = Vector3D::Zero();
if (g0_dist > options.position_tolerance) {
move = move + g0_delta * step * w_ij;
}
@@ -1459,7 +1459,7 @@ CurvatureContinuityResult curvature_continuity_optimization(
int col_idx = std::min(N, std::max(0, static_cast<int>(i * (nu - 1) / N)));
for (int k = 0; k < nv; ++k) {
double w_ij = 1.0 / (1.0 + std::abs(k - border_row));
Vector3D move;
Vector3D move = Vector3D::Zero();
if (g0_dist > options.position_tolerance) {
move = move + g0_delta * step * w_ij;
}
+5 -4
View File
@@ -186,9 +186,9 @@ private:
JTBrepData bd;
const uint8_t* p = reinterpret_cast<const uint8_t*>(data_.data());
// B-Rep 段结构:header(8) + XT data
uint32_t brep_version = read_u32_le(p + pos_);
uint32_t brep_length = read_u32_le(p + pos_ + 4);
pos_ += 8;
pos_ += 4; // skip brep_version — reserved, unused
uint32_t brep_length = read_u32_le(p + pos_);
pos_ += 4;
bd.xt_data.assign(p + pos_, p + pos_ + brep_length);
pos_ += brep_length;
return bd;
@@ -1582,7 +1582,8 @@ BrepModel import_acis_sab(const std::string& data) {
for (uint32_t i = 0; i + 1 < int_count; i += 2) {
int v0 = int_table[i] % static_cast<int>(verts.size());
int v1 = int_table[i+1] % static_cast<int>(verts.size());
if (v0 < 0) v0 = 0; if (v1 < 0) v1 = 0;
if (v0 < 0) { v0 = 0; }
if (v1 < 0) { v1 = 0; }
if (v0 == v1) continue;
auto key = std::make_pair(std::min(v0, v1), std::max(v0, v1));
if (ecache.find(key) == ecache.end()) {