feedback: VDE-139 - DrawingStandard enum lacks DIN/GB/BS/GOST support
Build & Test / build-and-test (push) Waiting to run
Build & Test / python-bindings (push) Blocked by required conditions
CI / Build & Test (push) Failing after 1m32s
CI / Release Build (push) Failing after 31s

This commit is contained in:
2026-07-31 16:30:37 +08:00
parent e1ceb3e5f7
commit 79df8caaf7
+42
View File
@@ -0,0 +1,42 @@
# VDE-139: DrawingStandard enum supports only ISO/ANSI/JIS — lacks DIN/GB/BS/GOST
**Date**: 2026-07-31
**Severity**: Medium
**Status**: Open
## Summary
The `vde::brep::DrawingStandard` enum (in `vde/brep/auto_dimensioning.h`) supports only 3 standards:
```cpp
enum class DrawingStandard {
ISO, ///< ISO 129 / ISO 1101
ANSI, ///< ANSI Y14.5 / ASME Y14.5
JIS, ///< JIS B 0001 / JIS B 0021
};
```
Professional CAD software (SolidWorks, CATIA, NX, Creo) supports many more national/international standards.
## Request
Add support for at minimum:
| Standard | Country | Description |
|----------|---------|-------------|
| **DIN** | Germany | DIN 406 / DIN ISO 2768 |
| **GB** | China | GB/T 4458 / GB/T 1182 |
| **BS** | UK | BS 8888 / BS ISO 2768 |
| **GOST** | Russia | GOST 2.307 / GOST 2.308 |
## Impact
- ViewDesign/FeatureBuilder's `standardDefaultsVde()` currently maps only ISO/ANSI/JIS
- Users in Germany, China, UK, Russia cannot get standard-compliant drawing configurations
- The `drawing_standards.h` already has class infrastructure (IsoStandard/AnsiStandard/JisStandard) — new classes would follow the same `DimensionStyle create_style()` + `description()` pattern
## Suggested Implementation
1. Add enum values: `DIN`, `GB`, `BS`, `GOST`
2. Add corresponding standard classes: `DinStandard`, `GbStandard`, `BsStandard`, `GostStandard`
3. Update `standard_defaults(DrawingStandard)` switch to handle new values