This list has 31 (of 57) base classes and 7 (of 62) contributed classes.
Repeating the same information in each of these classes makes maintenance harder and (arguable) makes it harder to understand the classes.
One option might be to introduce a new class (called NXspacially_located_object for example) that extends NXobject and contains the NXtransformations group and depends_on field. Subclasses of this new class would describe any object with a well-defined location in space.
This new class could also contain definitions of the legacy elements (groups of type NXgeometry), if that were possible and desirable.
The definitions of the above list of classes could then be updated to extend this new class, removing the elements that would then be redundant.
There is a large number of classes that describe physical objects that have some location in space, and that currently extend the base class
NXobject
.These classes all have elements in common: they all contain both a group of type
NXtransformations
and a field with namedepends_on
.Here is a list of these classes:
This list has 31 (of 57) base classes and 7 (of 62) contributed classes.
Repeating the same information in each of these classes makes maintenance harder and (arguable) makes it harder to understand the classes.
One option might be to introduce a new class (called
NXspacially_located_object
for example) that extendsNXobject
and contains theNXtransformations
group anddepends_on
field. Subclasses of this new class would describe any object with a well-defined location in space.This new class could also contain definitions of the legacy elements (groups of type
NXgeometry
), if that were possible and desirable.The definitions of the above list of classes could then be updated to extend this new class, removing the elements that would then be redundant.