Source code for modsim_package.abaqus.abaqus_utilities

import os
import re

import abaqusConstants


[docs] def export_mesh(model_object, part_name, orphan_mesh_file): """Export an orphan mesh for the specified part instance in an Abaqus model Using an abaqus model object (``model_object = abaqus.mdb.models[model_name]``) with part(s) that are meshed and instanced in an assembly, get the ``*.inp`` keyword blocks and save an orphan mesh file, ``orphan_mesh_file``.inp, for the specific ``part_name``. :param abaqus.mdb.models[model_name] model_object: Abaqus model object :param str part_name: Part name to export as an orphan mesh :param str orphan_mesh_file: File name to write for the orphan mesh. Will be stripped of the extension and ``.cae`` will be used, e.g. ``orphan_mesh_file``.inp :returns: writes ``orphan_mesh_file``.inp """ orphan_mesh_file = os.path.splitext(orphan_mesh_file)[0] + ".inp" model_object.keywordBlock.synchVersions() block = model_object.keywordBlock.sieBlocks block_string = "\n".join(block) orphan_mesh = re.findall( r".*?\*Part, name=({})$\n(.*?)\*End Part".format(part_name), block_string, re.DOTALL | re.I | re.M ) part_definition = orphan_mesh[0] with open(orphan_mesh_file, "w") as output: output.write(part_definition[1].strip())
[docs] def return_abaqus_constant(search): """If search is found in the abaqusConstants module, return the abaqusConstants object. :param str search: string to search in the abaqusConstants module attributes :return value: abaqusConstants attribute :rtype: abaqusConstants.<search> :raises ValueError: If the search string is not found. """ search = search.upper() if hasattr(abaqusConstants, search): attribute = getattr(abaqusConstants, search) else: raise ValueError("The abaqusConstants module does not have a matching '{}' object".format(search)) return attribute
# Comment used in tutorial code snippets: marker-1