Abaqus/CAE python command to check for overclosures in the model

Hi Members!

Abaqus release 6.12-1 allows a user to detect interference between the part instances in the assembly via scripting. It will be very useful to check for over closures without running the analysis. This can be achieved using “getSurfaceSeparation()” method available in the Model object that takes an argument “separationTolerance” where you can specify the maximum separation between the two surfaces as 0.0. This method returns a tuple of tuples each containing the two surfaces that are overclosed, the separation distance (0.0 if the surfaces are over closed) and a flag (0 or 1) specifying if the surfaces are over closed or not.

These surfaces are created at the assembly level. You can extract the surface names from the above tuple and use highlight() function to highlight them in the viewport. Users can translate/rotate the instances to avoid over closures in the model. Please see below for the code snippet:

----

>>> os = mdb.models['Model-1'].getSurfaceSeparation(separationTolerance=0.0)

>>> print os

(('CP-1-PART-1-1', 'CP-1-PART-2-1', 0.0, 1), ('CP-2-PART-1-1', 'CP-2-PART-2-1', 0.0, 1))

>>> highlight(mdb.models['Model-1'].rootAssembly.allSurfaces[os[0][0]])

----