The package is read in full. MeshMedic follows the package relationships to the main model part and reads every model part, so objects stored in a second part and referenced from the first are found too. The file label shows the part count, the triangle count, and the unit, such as millimeter.
One part per mesh object. Each mesh object gets its own rows in the table, labeled with its name. When components use one object several times, the label adds the count, such as ×2, and the shared mesh is repaired once.
Properties stay attached. In a 3MF, each triangle can carry a color or material reference. MeshMedic keeps that reference attached to its triangle through welding, splitting, and flipping; a flipped triangle keeps its color, with its corner values swapped to match. Triangles added to cap a hole take the object's default color or material, or their neighbor's when the object has no default.
Byte-for-byte copying. On export, every entry in the package except the model parts that hold a repaired object is copied byte for byte: textures, thumbnails, slicer settings, and anything else in the archive. Inside a model part, the XML is streamed through and only the vertices and triangles of the repaired objects are replaced. Components, build items, base materials, color groups, metadata, and production UUIDs come through as they were.
The original can move. MeshMedic reads the whole 3MF into memory when you open it. If the original is renamed, moved, or deleted before you export, the export still works, and saving over the original under any name is refused.
Checking the result. The preview draws each object once, side by side, with repaired and added triangles in blue, and Show before brings back the mesh as it was. The note lists the counts before and after for every object, plus triangles flipped, added, and removed.
Same format out. The export is a 3MF, with a suggested name ending in -repaired, ready to open in your slicer with the project laid out as it was saved.