Environment
-----------
- SALOME version: 9.15.0
- Modules: Geometry (GEOM)
- OS: Windows
Description
-----------
I am building a hexagonal lattice model consisting of:
- a hexagonal "wall" solid (outer hexagon minus inner hexagon, ~1.6 mm thickness),
- a solid rod (cylinder) at the center of each hexagon,
- three hollow "guide tube" cylinders (annular, outer/inner radius) located at
alternating vertices of the hexagon.
The wall, rod and guide tubes are combined with Boolean Cut/Fuse operations,
then the whole assembly is duplicated across a lattice (Translation / direct
coordinate placement) to build a multi-cell array, and finally Partitioned
along the Z axis at several elevations to create axial segments (the array
is extruded ~3000 mm and cut into segments matching a spacer-grid pattern).
Observation
-----------
After Partition, I use Explode to obtain individual Solid sub-shapes so that
I can assign different meshing hypotheses per solid (I need quadrilateral
surface meshes, so each solid needs individual algorithm control).
When I inspect the boundary between two axially-adjacent solids (i.e. the
horizontal, Z-normal interface created by the Z-direction Partition cuts):
- Where the cutting plane intersects a **vertical planar face** (e.g. the
flat side of the hex wall), the resulting edge on both sides of the cut
matches exactly (single line, no offset) after Explode.
- Where the cutting plane intersects a **cylindrical face** (rod outer
surface, guide tube outer/inner surface), the resulting circular edges on
the two sides of the cut do **not** coincide after Explode. Viewed from
directly above (looking down the Z axis, normal to the cutting plane), the
two curves are visibly offset/distorted relative to one another (not just
a sub-micron numerical difference — the curve shapes themselves differ
noticeably in this view). Viewed from an oblique angle, the same curves
appear to overlap into a single line (foreshortening makes the offset hard
to see, but `CheckSelfIntersections` / face-level `CheckShape` are what I
am using to confirm this is a real geometric discrepancy rather than a
rendering artifact).
- I do NOT observe this problem when the cutting plane only crosses planar
(flat) faces. The Partition result right after the Partition call (before
Explode) also displays fully coincident boundaries in the viewer; the
mismatch becomes visible only after Explode separates the solids into
independent shapes.
Question
--------
1. Is this a known behavior of GEOM's Partition/Explode when a cutting
plane intersects a curved (cylindrical) face that is shared between two
resulting solids? Specifically, does Explode create independent copies of
the two sides of what should be a single shared circular edge, and can
these two copies be computed/discretized differently even though they
originate from the same cut?
2. Is `MakeGlueFaces` expected to correctly re-merge this type of edge, or
are there known limitations when the coincident edges are conics
(circles) rather than lines?
3. Is there a recommended workaround other than (a) avoiding cutting
through cylindrical faces (i.e., building each axial segment as a
separate extrusion instead of extruding once and cutting), or (b)
extracting one side's face as a template and re-using it (via
MakePrismVecH) to guarantee the other side is an exact geometric copy?
Any pointers to relevant OCC/GEOM documentation or prior forum discussions
would be appreciated.(This is written by Claude.)

