feat(v4.3): offset_section_view — stepped section with multiple parallel planes
CI / Build & Test (push) Failing after 32s
CI / Release Build (push) Failing after 16m59s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled

- offset_section_view(body, normal, offsets): combines section profiles at each offset
- Step lines connect boundaries between adjacent planes
- 4 new tests
This commit is contained in:
茂之钳
2026-07-25 07:18:49 +00:00
parent 1e196473bc
commit 93852075dd
3 changed files with 115 additions and 0 deletions
+10
View File
@@ -48,6 +48,16 @@ struct ProjectionView {
[[nodiscard]] ProjectionView section_view(const BrepModel& body,
const core::Point3D& point, const core::Vector3D& normal);
/// Offset (stepped) section view — multiple parallel cutting planes
/// Each offset defines a cutting plane at a different position along the normal
/// direction. Results are merged with step lines at plane boundaries.
/// @param body Body to slice
/// @param normal Section direction (all planes share this normal)
/// @param offsets Vector of plane positions (distance along normal from origin)
/// @return Combined section view
[[nodiscard]] ProjectionView offset_section_view(const BrepModel& body,
const core::Vector3D& normal, const std::vector<double>& offsets);
/// Export views to DXF format (R12 compatible)
/// @param filepath Output file path (.dxf)
/// @param views Vector of views to export