grains.cad.make_holes

grains.cad.make_holes(splinegons)[source]

Creates holes for splinegons that contain other splinegons.

When a smaller splinegon is embedded to a larger one, the boundary of the larger splinegon does not describe it properly. The smaller splinegons have to be subtracted to reproduce the non-simply connected domain. As an analogy to material science, the intended application of this module, we will use the term matrix for the larger grain and inclusion for the smaller one. This function handles multiple inclusion in a matrix and should be called after the splinegon regions have been constructed. No need to directly call make_holes() if you use the splinegonize() utility function.

Todo

Implement it more generally, see the related issue.

Parameters

splinegons (dict) – The keys in the dictionary correspond to the labels of the input image, while the values are TopoDS_Face objects, the surfaces of the regions.

Returns

splinegons (dict) – The input dictionary modified such that the inclusions are removed from the matrix.