I'm trying to compare type of abaqus object, but it doesn't work. An idea ?
>>> m = mdb.models['Model-1']
>>> type(m)
<type 'Model'>
>>> type(m) == Model
NameError: name 'Model' is not defined
I want those type of comparison or many other object, not only Model
I tried :
>>> import Model
ImportError: No module named Model
>>> type(m) == mdb.models.Model
AttributeError: 'Repository' object has no attribute 'Model'
It is easy to confirm the Python's built-in data type, because as they are built-in, we don't need to import them. For ex.
a = []
type(a) == list # similar for other built-in python data types
However, Abaqus data types are not built-in. Hence, we must import then from respective modules to compare them. Following is the example for Model
and Part
data types.
# importing the modules
import abaqus as ab # just for demonstation I'm importing it this way
import part as prt
# accessing the model and part objects
myModel = ab.mdb.models['Model-1']
myPart = myModel.parts['Part-1']
#checking the data types
type(myModel) == ab.ModelType # Model is imported from Abaqus module
type(myPart) == prt.PartType # Part is imported from Part module
# you can use 'isinstance()' method also
isinstance(myModel, ab.ModelType) # Model is imported from Abaqus module
isinstance(myPart, prt.PartType) # Part is imported from Part module