Carve is a fast and robust library for performing Constructive Solid Geometry (CSG) operations (boolean operations) on meshes.
In case the mesh is corrupted or has self-intersections, Carve will refuse to perform operations on it and will terminate with this error: “didn’t manage to link up hole!”.
To solve that, simply open the mesh in a mesh software (such as netfabb) and repair it.
In .NET, the
List<> class is serializable. However, you should note that during a call to the deserialization constructor of the objects the list contains, the list will be empty. All operations on the newly deserialized objects (such as value checking and so on) need to be performed in another function marked by the
[OnDeserializedAttribute] attribute. More info on this can be found here.