Skip to content

Commit eae7690

Browse files
committed
chore: 更新版本号至1.1.1并改进版本加载机制
- 将硬编码版本号改为从VERSION文件动态加载 - 在__init__.py和gui_main.py中实现版本加载函数 - 更新GUI窗口标题以显示动态版本号 - 添加v1.1.1版本发布说明文档
1 parent 2ce3944 commit eae7690

4 files changed

Lines changed: 76 additions & 3 deletions

File tree

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.1.0
1+
1.1.1

__init__.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@
3333
from .core import generate_mesh
3434
from .data_structure.parameters import Parameters
3535

36-
__version__ = "1.0.0"
36+
def _load_version():
37+
version_file = project_root / "VERSION"
38+
if version_file.exists():
39+
version = version_file.read_text(encoding="utf-8").strip()
40+
if version:
41+
return version
42+
return "0.0.0"
43+
44+
45+
__version__ = _load_version()
3746
__author__ = "CFD_Dev"
3847
__all__ = ["generate_mesh", "Parameters"]

docs/release_notes/RELEASE_NOTES_v1.1.0.md renamed to docs/release_notes/RELEASE_NOTES_v1.1.x.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,55 @@ PyMeshGen v1.1.0 适用于:
7373
感谢所有关注、使用和参与改进 PyMeshGen 的开发者与用户。
7474

7575
v1.1.0 是项目从研究型原型走向标准化工程分发的重要一步,欢迎继续反馈问题、建议和改进方向。
76+
77+
---
78+
79+
## v1.1.1(多方向推进 / Delaunay / GUI)
80+
81+
### ✨ 新增功能
82+
83+
- **GUI 全局参数面板新增 Delaunay 入口**
84+
- 新增“网格生成算法”下拉,可在三角网格模式下选择:
85+
- 阵面推进法(Adfront2)
86+
- Delaunay 三角剖分
87+
- 新增 **Delaunay backend** 选择(Bowyer-Watson / Triangle),并与网格类型、算法选择联动显示。
88+
- **Sizing Decay 可配置**
89+
- 全局参数面板支持设置 `sizing_decay`,并已打通到参数传递链路。
90+
91+
### ✅ 问题修复
92+
93+
- **修复 Delaunay 结果出现 `Unknown` 部件**
94+
- 根因修复位于 Delaunay 构网链路(非 GUI 过滤):
95+
- 构建 `boundary_nodes` 时补齐 `part_name / bc_type` 元数据回填。
96+
- 结果:生成后部件列表不再出现 `Unknown`,边界部件名称正确保留。
97+
- **修复全局参数面板默认算法显示为空**
98+
- 当默认网格类型为“三角形网格”时,算法下拉现默认正确显示为**阵面推进法**
99+
- **修复全局参数面板下拉框过窄**
100+
- 调整对话框与下拉框宽度策略,确保长选项名称可完整显示。
101+
102+
### 🧠 多方向推进算法改进
103+
104+
- 按设计文档完善多方向推进主链路:初始化 -> 光滑 -> 局部步长缩放 -> 推进。
105+
- 修复“虚拟点 >= 2”场景下单元构建错误(零长度虚拟阵面推进逻辑)。
106+
- `compute_point_normals()` 移除角度迭代平滑,仅保留基础方向计算。
107+
- `laplacian_smooth_normals()` 调整为仅距离加权;多方向模式下跳过凸点,避免重复处理。
108+
- 多方向专用光滑改为 staged 批量回写,降低顺序依赖导致的不稳定。
109+
110+
### 🏗️ 代码结构优化
111+
112+
- 将 Delaunay 相关工具/流程函数从 `core.py` 下沉到 `delaunay/`
113+
- `bw_utils.py`:Delaunay 网格构建与 backend 解析、生成流程函数。
114+
- `postprocess.py`:边界恢复 + 拓扑校验封装。
115+
- `core.py` 聚焦流程编排,模块职责更清晰。
116+
117+
### 📣 日志与可观测性
118+
119+
- **Bowyer-Watson 在 `debug_level=0` 下增强进度提示**
120+
- 关键里程碑日志提升到 `INFO`
121+
- 阶段开始/切换、插点阶段完成、边界恢复、平滑、最终统计等。
122+
- 在低日志级别下也能清晰看到生成进度。
123+
124+
### 🧪 验证结果
125+
126+
- 多方向案例与 Delaunay 关键路径回归通过。
127+
- `config\\quad_quad.json` 结果满足预期:首层 **16 个四边形 + 4 个三角形**

gui/gui_main.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,16 @@ def _register_qt_metatypes():
7171
GLOBAL_MESH_DIMENSION = 2
7272

7373

74+
def _load_app_version():
75+
version_file = os.path.join(PROJECT_ROOT, "VERSION")
76+
if os.path.exists(version_file):
77+
with open(version_file, "r", encoding="utf-8") as f:
78+
version = f.read().strip()
79+
if version:
80+
return version
81+
return "0.0.0"
82+
83+
7484
class PyMeshGenGUI(QMainWindow):
7585
"""PyQt版PyMeshGen GUI主类"""
7686

@@ -90,7 +100,9 @@ def __init__(self):
90100

91101
def _setup_window(self):
92102
"""设置窗口大小和标题"""
93-
self.setWindowTitle("PyMeshGen V1.0 - 基于Python的网格生成工具")
103+
self.setWindowTitle(
104+
f"PyMeshGen V{_load_app_version()} - 基于Python的网格生成工具"
105+
)
94106

95107
# Use only the docs/icon.png file as requested
96108
icon_path = os.path.join(PROJECT_ROOT, "docs", "icon.png")

0 commit comments

Comments
 (0)