Repository navigation
feat(BRepTopology): report Lines and Surfaces embedded in several components - #209
Conversation
…including a Block A Line internal to two Blocks, or to a Block and a Surface, was not reported, in particular when Blocks are not meshed since all Block embedding checks are skipped in that case. The check only relies on relationships. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A Surface internal to several Blocks was not reported. The check only relies on relationships, so it also applies when Blocks are not meshed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Cpp-Linter Report
|
Summary
is_brep_validaccepted a model (10_01_meshing_after_conversion.og_istrm) where 4 pieces of a split arc were each internal to 2 Blocks. When Blocks are not meshed, every Block embedding check is skipped, and no check looked at the number of embeddings from the relationships alone.BRepLinesTopologyInspectionResult::lines_multiply_embedded: a Line with more than one active embedding, at least one of them a Block (same rule as the existingcorner_is_multiply_embedded). A Line internal to a Block and a Surface is reported; a Line internal to two Surfaces is not.BRepSurfacesTopologyInspectionResult::surfaces_multiply_embedded: a Surface internal to more than one active Block.nb_issues/string, reported byis_brep_validand exposed in the Python bindings.Test plan
test_multiply_embedded_lineandtest_multiply_embedded_surfaceintest-brep-topology(2 flagged Lines / 1 flagged Surface, single embeddings not flagged)10_01_meshing_after_conversion.og_istrmnow reports the 4 LinesArc #13 #0/#1/#3/#4, each internal to 2 Blocks🤖 Generated with Claude Code