# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.4.1
#
# Do not make changes to this file unless you know what you are doing - modify
# the SWIG interface file instead.

"""
StepDimTol module, see official documentation at
https://dev.opencascade.org/doc/occt-7.9.0/refman/html/package_stepdimtol.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
    from . import _StepDimTol
else:
    import _StepDimTol

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


class SwigPyIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _StepDimTol.delete_SwigPyIterator

    def value(self):
        return _StepDimTol.SwigPyIterator_value(self)

    def incr(self, n=1):
        return _StepDimTol.SwigPyIterator_incr(self, n)

    def decr(self, n=1):
        return _StepDimTol.SwigPyIterator_decr(self, n)

    def distance(self, x):
        return _StepDimTol.SwigPyIterator_distance(self, x)

    def equal(self, x):
        return _StepDimTol.SwigPyIterator_equal(self, x)

    def copy(self):
        return _StepDimTol.SwigPyIterator_copy(self)

    def next(self):
        return _StepDimTol.SwigPyIterator_next(self)

    def __next__(self):
        return _StepDimTol.SwigPyIterator___next__(self)

    def previous(self):
        return _StepDimTol.SwigPyIterator_previous(self)

    def advance(self, n):
        return _StepDimTol.SwigPyIterator_advance(self, n)

    def __eq__(self, x):
        return _StepDimTol.SwigPyIterator___eq__(self, x)

    def __ne__(self, x):
        return _StepDimTol.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n):
        return _StepDimTol.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n):
        return _StepDimTol.SwigPyIterator___isub__(self, n)

    def __add__(self, n):
        return _StepDimTol.SwigPyIterator___add__(self, n)

    def __sub__(self, *args):
        return _StepDimTol.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _StepDimTol:
_StepDimTol.SwigPyIterator_swigregister(SwigPyIterator)

def _dumps_object(klass):
    """ Overwrite default string output for any wrapped object.
    By default, __repr__ method returns something like:
    <OCC.Core.TopoDS.TopoDS_Shape; proxy of <Swig Object of type 'TopoDS_Shape *' at 0x02BB0758> >
    This is too much verbose.
    We prefer :
    <class 'gp_Pnt'>
    or
    <class 'TopoDS_Shape'>
    """
    klass_name = str(klass.__class__).split(".")[3].split("'")[0]
    repr_string = "<class '" + klass_name + "'"
# for TopoDS_Shape, we also look for the base type
    if klass_name == "TopoDS_Shape":
        if klass.IsNull():
            repr_string += ": Null>"
            return repr_string
        st = klass.ShapeType()
        types = {OCC.Core.TopAbs.TopAbs_VERTEX: "Vertex",
                 OCC.Core.TopAbs.TopAbs_SOLID: "Solid",
                 OCC.Core.TopAbs.TopAbs_EDGE: "Edge",
                 OCC.Core.TopAbs.TopAbs_FACE: "Face",
                 OCC.Core.TopAbs.TopAbs_SHELL: "Shell",
                 OCC.Core.TopAbs.TopAbs_WIRE: "Wire",
                 OCC.Core.TopAbs.TopAbs_COMPOUND: "Compound",
                 OCC.Core.TopAbs.TopAbs_COMPSOLID: "Compsolid"}
        repr_string += "; Type:%s" % types[st]        
    elif hasattr(klass, "IsNull"):
        if klass.IsNull():
            repr_string += "; Null"
    repr_string += ">"
    return repr_string


def process_exception(error, method_name, class_name):
    return _StepDimTol.process_exception(error, method_name, class_name)

import warnings
from OCC.Wrapper.wrapper_utils import Proxy, deprecated

class ios_base(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr
    erase_event = _StepDimTol.ios_base_erase_event
    imbue_event = _StepDimTol.ios_base_imbue_event
    copyfmt_event = _StepDimTol.ios_base_copyfmt_event

    def register_callback(self, __fn, __index):
        return _StepDimTol.ios_base_register_callback(self, __fn, __index)

    def flags(self, *args):
        return _StepDimTol.ios_base_flags(self, *args)

    def setf(self, *args):
        return _StepDimTol.ios_base_setf(self, *args)

    def unsetf(self, __mask):
        return _StepDimTol.ios_base_unsetf(self, __mask)

    def precision(self, *args):
        return _StepDimTol.ios_base_precision(self, *args)

    def width(self, *args):
        return _StepDimTol.ios_base_width(self, *args)

    @staticmethod
    def sync_with_stdio(__sync=True):
        return _StepDimTol.ios_base_sync_with_stdio(__sync)

    def imbue(self, __loc):
        return _StepDimTol.ios_base_imbue(self, __loc)

    def getloc(self):
        return _StepDimTol.ios_base_getloc(self)

    @staticmethod
    def xalloc():
        return _StepDimTol.ios_base_xalloc()

    def iword(self, __ix):
        return _StepDimTol.ios_base_iword(self, __ix)

    def pword(self, __ix):
        return _StepDimTol.ios_base_pword(self, __ix)
    __swig_destroy__ = _StepDimTol.delete_ios_base

# Register ios_base in _StepDimTol:
_StepDimTol.ios_base_swigregister(ios_base)
cvar = _StepDimTol.cvar
ios_base.boolalpha = _StepDimTol.cvar.ios_base_boolalpha
ios_base.dec = _StepDimTol.cvar.ios_base_dec
ios_base.fixed = _StepDimTol.cvar.ios_base_fixed
ios_base.hex = _StepDimTol.cvar.ios_base_hex
ios_base.internal = _StepDimTol.cvar.ios_base_internal
ios_base.left = _StepDimTol.cvar.ios_base_left
ios_base.oct = _StepDimTol.cvar.ios_base_oct
ios_base.right = _StepDimTol.cvar.ios_base_right
ios_base.scientific = _StepDimTol.cvar.ios_base_scientific
ios_base.showbase = _StepDimTol.cvar.ios_base_showbase
ios_base.showpoint = _StepDimTol.cvar.ios_base_showpoint
ios_base.showpos = _StepDimTol.cvar.ios_base_showpos
ios_base.skipws = _StepDimTol.cvar.ios_base_skipws
ios_base.unitbuf = _StepDimTol.cvar.ios_base_unitbuf
ios_base.uppercase = _StepDimTol.cvar.ios_base_uppercase
ios_base.adjustfield = _StepDimTol.cvar.ios_base_adjustfield
ios_base.basefield = _StepDimTol.cvar.ios_base_basefield
ios_base.floatfield = _StepDimTol.cvar.ios_base_floatfield
ios_base.badbit = _StepDimTol.cvar.ios_base_badbit
ios_base.eofbit = _StepDimTol.cvar.ios_base_eofbit
ios_base.failbit = _StepDimTol.cvar.ios_base_failbit
ios_base.goodbit = _StepDimTol.cvar.ios_base_goodbit
ios_base.app = _StepDimTol.cvar.ios_base_app
ios_base.ate = _StepDimTol.cvar.ios_base_ate
ios_base.binary = _StepDimTol.cvar.ios_base_binary
ios_base.ios_base_in = _StepDimTol.cvar.ios_base_ios_base_in
ios_base.out = _StepDimTol.cvar.ios_base_out
ios_base.trunc = _StepDimTol.cvar.ios_base_trunc
ios_base.beg = _StepDimTol.cvar.ios_base_beg
ios_base.cur = _StepDimTol.cvar.ios_base_cur
ios_base.end = _StepDimTol.cvar.ios_base_end

class ios(ios_base):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def rdstate(self):
        return _StepDimTol.ios_rdstate(self)

    def clear(self, *args):
        return _StepDimTol.ios_clear(self, *args)

    def setstate(self, __state):
        return _StepDimTol.ios_setstate(self, __state)

    def good(self):
        return _StepDimTol.ios_good(self)

    def eof(self):
        return _StepDimTol.ios_eof(self)

    def fail(self):
        return _StepDimTol.ios_fail(self)

    def bad(self):
        return _StepDimTol.ios_bad(self)

    def exceptions(self, *args):
        return _StepDimTol.ios_exceptions(self, *args)

    def __init__(self, __sb):
        _StepDimTol.ios_swiginit(self, _StepDimTol.new_ios(__sb))
    __swig_destroy__ = _StepDimTol.delete_ios

    def tie(self, *args):
        return _StepDimTol.ios_tie(self, *args)

    def rdbuf(self, *args):
        return _StepDimTol.ios_rdbuf(self, *args)

    def copyfmt(self, __rhs):
        return _StepDimTol.ios_copyfmt(self, __rhs)

    def fill(self, *args):
        return _StepDimTol.ios_fill(self, *args)

    def imbue(self, __loc):
        return _StepDimTol.ios_imbue(self, __loc)

    def narrow(self, __c, __dfault):
        return _StepDimTol.ios_narrow(self, __c, __dfault)

    def widen(self, __c):
        return _StepDimTol.ios_widen(self, __c)

# Register ios in _StepDimTol:
_StepDimTol.ios_swigregister(ios)
class ostream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _StepDimTol.ostream_swiginit(self, _StepDimTol.new_ostream(__sb))
    __swig_destroy__ = _StepDimTol.delete_ostream

    def __lshift__(self, *args):
        return _StepDimTol.ostream___lshift__(self, *args)

    def put(self, __c):
        return _StepDimTol.ostream_put(self, __c)

    def write(self, __s, __n):
        return _StepDimTol.ostream_write(self, __s, __n)

    def flush(self):
        return _StepDimTol.ostream_flush(self)

    def tellp(self):
        return _StepDimTol.ostream_tellp(self)

    def seekp(self, *args):
        return _StepDimTol.ostream_seekp(self, *args)

# Register ostream in _StepDimTol:
_StepDimTol.ostream_swigregister(ostream)
class istream(ios):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _StepDimTol.istream_swiginit(self, _StepDimTol.new_istream(__sb))
    __swig_destroy__ = _StepDimTol.delete_istream

    def __rshift__(self, *args):
        return _StepDimTol.istream___rshift__(self, *args)

    def gcount(self):
        return _StepDimTol.istream_gcount(self)

    def get(self, *args):
        return _StepDimTol.istream_get(self, *args)

    def getline(self, *args):
        return _StepDimTol.istream_getline(self, *args)

    def ignore(self, *args):
        return _StepDimTol.istream_ignore(self, *args)

    def peek(self):
        return _StepDimTol.istream_peek(self)

    def read(self, __s, __n):
        return _StepDimTol.istream_read(self, __s, __n)

    def readsome(self, __s, __n):
        return _StepDimTol.istream_readsome(self, __s, __n)

    def putback(self, __c):
        return _StepDimTol.istream_putback(self, __c)

    def unget(self):
        return _StepDimTol.istream_unget(self)

    def sync(self):
        return _StepDimTol.istream_sync(self)

    def tellg(self):
        return _StepDimTol.istream_tellg(self)

    def seekg(self, *args):
        return _StepDimTol.istream_seekg(self, *args)

# Register istream in _StepDimTol:
_StepDimTol.istream_swigregister(istream)
class iostream(istream, ostream):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, __sb):
        _StepDimTol.iostream_swiginit(self, _StepDimTol.new_iostream(__sb))
    __swig_destroy__ = _StepDimTol.delete_iostream

# Register iostream in _StepDimTol:
_StepDimTol.iostream_swigregister(iostream)
cin = cvar.cin
cout = cvar.cout
cerr = cvar.cerr
clog = cvar.clog

endl_cb_ptr = _StepDimTol.endl_cb_ptr
endl = _StepDimTol.endl
ends_cb_ptr = _StepDimTol.ends_cb_ptr
ends = _StepDimTol.ends
flush_cb_ptr = _StepDimTol.flush_cb_ptr
flush = _StepDimTol.flush
import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.StepRepr
import OCC.Core.TCollection
import OCC.Core.StepData
import OCC.Core.Interface
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.MoniTool
import OCC.Core.TopoDS
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.Resource
import OCC.Core.StepBasic
import OCC.Core.StepShape
import OCC.Core.StepGeom

from enum import IntEnum
from OCC.Core.Exception import *

StepDimTol_Circular = _StepDimTol.StepDimTol_Circular
StepDimTol_Rectangular = _StepDimTol.StepDimTol_Rectangular
StepDimTol_Square = _StepDimTol.StepDimTol_Square
StepDimTol_CircularOrCylindrical = _StepDimTol.StepDimTol_CircularOrCylindrical
StepDimTol_Distance = _StepDimTol.StepDimTol_Distance
StepDimTol_Projected = _StepDimTol.StepDimTol_Projected
StepDimTol_Spherical = _StepDimTol.StepDimTol_Spherical
StepDimTol_GTMAnyCrossSection = _StepDimTol.StepDimTol_GTMAnyCrossSection
StepDimTol_GTMCommonZone = _StepDimTol.StepDimTol_GTMCommonZone
StepDimTol_GTMEachRadialElement = _StepDimTol.StepDimTol_GTMEachRadialElement
StepDimTol_GTMFreeState = _StepDimTol.StepDimTol_GTMFreeState
StepDimTol_GTMLeastMaterialRequirement = _StepDimTol.StepDimTol_GTMLeastMaterialRequirement
StepDimTol_GTMLineElement = _StepDimTol.StepDimTol_GTMLineElement
StepDimTol_GTMMajorDiameter = _StepDimTol.StepDimTol_GTMMajorDiameter
StepDimTol_GTMMaximumMaterialRequirement = _StepDimTol.StepDimTol_GTMMaximumMaterialRequirement
StepDimTol_GTMMinorDiameter = _StepDimTol.StepDimTol_GTMMinorDiameter
StepDimTol_GTMNotConvex = _StepDimTol.StepDimTol_GTMNotConvex
StepDimTol_GTMPitchDiameter = _StepDimTol.StepDimTol_GTMPitchDiameter
StepDimTol_GTMReciprocityRequirement = _StepDimTol.StepDimTol_GTMReciprocityRequirement
StepDimTol_GTMSeparateRequirement = _StepDimTol.StepDimTol_GTMSeparateRequirement
StepDimTol_GTMStatisticalTolerance = _StepDimTol.StepDimTol_GTMStatisticalTolerance
StepDimTol_GTMTangentPlane = _StepDimTol.StepDimTol_GTMTangentPlane
StepDimTol_GTTAngularityTolerance = _StepDimTol.StepDimTol_GTTAngularityTolerance
StepDimTol_GTTCircularRunoutTolerance = _StepDimTol.StepDimTol_GTTCircularRunoutTolerance
StepDimTol_GTTCoaxialityTolerance = _StepDimTol.StepDimTol_GTTCoaxialityTolerance
StepDimTol_GTTConcentricityTolerance = _StepDimTol.StepDimTol_GTTConcentricityTolerance
StepDimTol_GTTCylindricityTolerance = _StepDimTol.StepDimTol_GTTCylindricityTolerance
StepDimTol_GTTFlatnessTolerance = _StepDimTol.StepDimTol_GTTFlatnessTolerance
StepDimTol_GTTLineProfileTolerance = _StepDimTol.StepDimTol_GTTLineProfileTolerance
StepDimTol_GTTParallelismTolerance = _StepDimTol.StepDimTol_GTTParallelismTolerance
StepDimTol_GTTPerpendicularityTolerance = _StepDimTol.StepDimTol_GTTPerpendicularityTolerance
StepDimTol_GTTPositionTolerance = _StepDimTol.StepDimTol_GTTPositionTolerance
StepDimTol_GTTRoundnessTolerance = _StepDimTol.StepDimTol_GTTRoundnessTolerance
StepDimTol_GTTStraightnessTolerance = _StepDimTol.StepDimTol_GTTStraightnessTolerance
StepDimTol_GTTSurfaceProfileTolerance = _StepDimTol.StepDimTol_GTTSurfaceProfileTolerance
StepDimTol_GTTSymmetryTolerance = _StepDimTol.StepDimTol_GTTSymmetryTolerance
StepDimTol_GTTTotalRunoutTolerance = _StepDimTol.StepDimTol_GTTTotalRunoutTolerance
StepDimTol_MaximumMaterialCondition = _StepDimTol.StepDimTol_MaximumMaterialCondition
StepDimTol_LeastMaterialCondition = _StepDimTol.StepDimTol_LeastMaterialCondition
StepDimTol_RegardlessOfFeatureSize = _StepDimTol.StepDimTol_RegardlessOfFeatureSize
StepDimTol_SDRMAnyCrossSection = _StepDimTol.StepDimTol_SDRMAnyCrossSection
StepDimTol_SDRMAnyLongitudinalSection = _StepDimTol.StepDimTol_SDRMAnyLongitudinalSection
StepDimTol_SDRMBasic = _StepDimTol.StepDimTol_SDRMBasic
StepDimTol_SDRMContactingFeature = _StepDimTol.StepDimTol_SDRMContactingFeature
StepDimTol_SDRMDegreeOfFreedomConstraintU = _StepDimTol.StepDimTol_SDRMDegreeOfFreedomConstraintU
StepDimTol_SDRMDegreeOfFreedomConstraintV = _StepDimTol.StepDimTol_SDRMDegreeOfFreedomConstraintV
StepDimTol_SDRMDegreeOfFreedomConstraintW = _StepDimTol.StepDimTol_SDRMDegreeOfFreedomConstraintW
StepDimTol_SDRMDegreeOfFreedomConstraintX = _StepDimTol.StepDimTol_SDRMDegreeOfFreedomConstraintX
StepDimTol_SDRMDegreeOfFreedomConstraintY = _StepDimTol.StepDimTol_SDRMDegreeOfFreedomConstraintY
StepDimTol_SDRMDegreeOfFreedomConstraintZ = _StepDimTol.StepDimTol_SDRMDegreeOfFreedomConstraintZ
StepDimTol_SDRMDistanceVariable = _StepDimTol.StepDimTol_SDRMDistanceVariable
StepDimTol_SDRMFreeState = _StepDimTol.StepDimTol_SDRMFreeState
StepDimTol_SDRMLeastMaterialRequirement = _StepDimTol.StepDimTol_SDRMLeastMaterialRequirement
StepDimTol_SDRMLine = _StepDimTol.StepDimTol_SDRMLine
StepDimTol_SDRMMajorDiameter = _StepDimTol.StepDimTol_SDRMMajorDiameter
StepDimTol_SDRMMaximumMaterialRequirement = _StepDimTol.StepDimTol_SDRMMaximumMaterialRequirement
StepDimTol_SDRMMinorDiameter = _StepDimTol.StepDimTol_SDRMMinorDiameter
StepDimTol_SDRMOrientation = _StepDimTol.StepDimTol_SDRMOrientation
StepDimTol_SDRMPitchDiameter = _StepDimTol.StepDimTol_SDRMPitchDiameter
StepDimTol_SDRMPlane = _StepDimTol.StepDimTol_SDRMPlane
StepDimTol_SDRMPoint = _StepDimTol.StepDimTol_SDRMPoint
StepDimTol_SDRMTranslation = _StepDimTol.StepDimTol_SDRMTranslation


class StepDimTol_AreaUnitType(IntEnum):
	StepDimTol_Circular = 0
	StepDimTol_Rectangular = 1
	StepDimTol_Square = 2
StepDimTol_Circular = StepDimTol_AreaUnitType.StepDimTol_Circular
StepDimTol_Rectangular = StepDimTol_AreaUnitType.StepDimTol_Rectangular
StepDimTol_Square = StepDimTol_AreaUnitType.StepDimTol_Square

class StepDimTol_DatumReferenceModifierType(IntEnum):
	StepDimTol_CircularOrCylindrical = 0
	StepDimTol_Distance = 1
	StepDimTol_Projected = 2
	StepDimTol_Spherical = 3
StepDimTol_CircularOrCylindrical = StepDimTol_DatumReferenceModifierType.StepDimTol_CircularOrCylindrical
StepDimTol_Distance = StepDimTol_DatumReferenceModifierType.StepDimTol_Distance
StepDimTol_Projected = StepDimTol_DatumReferenceModifierType.StepDimTol_Projected
StepDimTol_Spherical = StepDimTol_DatumReferenceModifierType.StepDimTol_Spherical

class StepDimTol_GeometricToleranceModifier(IntEnum):
	StepDimTol_GTMAnyCrossSection = 0
	StepDimTol_GTMCommonZone = 1
	StepDimTol_GTMEachRadialElement = 2
	StepDimTol_GTMFreeState = 3
	StepDimTol_GTMLeastMaterialRequirement = 4
	StepDimTol_GTMLineElement = 5
	StepDimTol_GTMMajorDiameter = 6
	StepDimTol_GTMMaximumMaterialRequirement = 7
	StepDimTol_GTMMinorDiameter = 8
	StepDimTol_GTMNotConvex = 9
	StepDimTol_GTMPitchDiameter = 10
	StepDimTol_GTMReciprocityRequirement = 11
	StepDimTol_GTMSeparateRequirement = 12
	StepDimTol_GTMStatisticalTolerance = 13
	StepDimTol_GTMTangentPlane = 14
StepDimTol_GTMAnyCrossSection = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMAnyCrossSection
StepDimTol_GTMCommonZone = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMCommonZone
StepDimTol_GTMEachRadialElement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMEachRadialElement
StepDimTol_GTMFreeState = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMFreeState
StepDimTol_GTMLeastMaterialRequirement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMLeastMaterialRequirement
StepDimTol_GTMLineElement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMLineElement
StepDimTol_GTMMajorDiameter = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMMajorDiameter
StepDimTol_GTMMaximumMaterialRequirement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMMaximumMaterialRequirement
StepDimTol_GTMMinorDiameter = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMMinorDiameter
StepDimTol_GTMNotConvex = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMNotConvex
StepDimTol_GTMPitchDiameter = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMPitchDiameter
StepDimTol_GTMReciprocityRequirement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMReciprocityRequirement
StepDimTol_GTMSeparateRequirement = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMSeparateRequirement
StepDimTol_GTMStatisticalTolerance = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMStatisticalTolerance
StepDimTol_GTMTangentPlane = StepDimTol_GeometricToleranceModifier.StepDimTol_GTMTangentPlane

class StepDimTol_GeometricToleranceType(IntEnum):
	StepDimTol_GTTAngularityTolerance = 0
	StepDimTol_GTTCircularRunoutTolerance = 1
	StepDimTol_GTTCoaxialityTolerance = 2
	StepDimTol_GTTConcentricityTolerance = 3
	StepDimTol_GTTCylindricityTolerance = 4
	StepDimTol_GTTFlatnessTolerance = 5
	StepDimTol_GTTLineProfileTolerance = 6
	StepDimTol_GTTParallelismTolerance = 7
	StepDimTol_GTTPerpendicularityTolerance = 8
	StepDimTol_GTTPositionTolerance = 9
	StepDimTol_GTTRoundnessTolerance = 10
	StepDimTol_GTTStraightnessTolerance = 11
	StepDimTol_GTTSurfaceProfileTolerance = 12
	StepDimTol_GTTSymmetryTolerance = 13
	StepDimTol_GTTTotalRunoutTolerance = 14
StepDimTol_GTTAngularityTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTAngularityTolerance
StepDimTol_GTTCircularRunoutTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTCircularRunoutTolerance
StepDimTol_GTTCoaxialityTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTCoaxialityTolerance
StepDimTol_GTTConcentricityTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTConcentricityTolerance
StepDimTol_GTTCylindricityTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTCylindricityTolerance
StepDimTol_GTTFlatnessTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTFlatnessTolerance
StepDimTol_GTTLineProfileTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTLineProfileTolerance
StepDimTol_GTTParallelismTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTParallelismTolerance
StepDimTol_GTTPerpendicularityTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTPerpendicularityTolerance
StepDimTol_GTTPositionTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTPositionTolerance
StepDimTol_GTTRoundnessTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTRoundnessTolerance
StepDimTol_GTTStraightnessTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTStraightnessTolerance
StepDimTol_GTTSurfaceProfileTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTSurfaceProfileTolerance
StepDimTol_GTTSymmetryTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTSymmetryTolerance
StepDimTol_GTTTotalRunoutTolerance = StepDimTol_GeometricToleranceType.StepDimTol_GTTTotalRunoutTolerance

class StepDimTol_LimitCondition(IntEnum):
	StepDimTol_MaximumMaterialCondition = 0
	StepDimTol_LeastMaterialCondition = 1
	StepDimTol_RegardlessOfFeatureSize = 2
StepDimTol_MaximumMaterialCondition = StepDimTol_LimitCondition.StepDimTol_MaximumMaterialCondition
StepDimTol_LeastMaterialCondition = StepDimTol_LimitCondition.StepDimTol_LeastMaterialCondition
StepDimTol_RegardlessOfFeatureSize = StepDimTol_LimitCondition.StepDimTol_RegardlessOfFeatureSize

class StepDimTol_SimpleDatumReferenceModifier(IntEnum):
	StepDimTol_SDRMAnyCrossSection = 0
	StepDimTol_SDRMAnyLongitudinalSection = 1
	StepDimTol_SDRMBasic = 2
	StepDimTol_SDRMContactingFeature = 3
	StepDimTol_SDRMDegreeOfFreedomConstraintU = 4
	StepDimTol_SDRMDegreeOfFreedomConstraintV = 5
	StepDimTol_SDRMDegreeOfFreedomConstraintW = 6
	StepDimTol_SDRMDegreeOfFreedomConstraintX = 7
	StepDimTol_SDRMDegreeOfFreedomConstraintY = 8
	StepDimTol_SDRMDegreeOfFreedomConstraintZ = 9
	StepDimTol_SDRMDistanceVariable = 10
	StepDimTol_SDRMFreeState = 11
	StepDimTol_SDRMLeastMaterialRequirement = 12
	StepDimTol_SDRMLine = 13
	StepDimTol_SDRMMajorDiameter = 14
	StepDimTol_SDRMMaximumMaterialRequirement = 15
	StepDimTol_SDRMMinorDiameter = 16
	StepDimTol_SDRMOrientation = 17
	StepDimTol_SDRMPitchDiameter = 18
	StepDimTol_SDRMPlane = 19
	StepDimTol_SDRMPoint = 20
	StepDimTol_SDRMTranslation = 21
StepDimTol_SDRMAnyCrossSection = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMAnyCrossSection
StepDimTol_SDRMAnyLongitudinalSection = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMAnyLongitudinalSection
StepDimTol_SDRMBasic = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMBasic
StepDimTol_SDRMContactingFeature = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMContactingFeature
StepDimTol_SDRMDegreeOfFreedomConstraintU = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintU
StepDimTol_SDRMDegreeOfFreedomConstraintV = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintV
StepDimTol_SDRMDegreeOfFreedomConstraintW = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintW
StepDimTol_SDRMDegreeOfFreedomConstraintX = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintX
StepDimTol_SDRMDegreeOfFreedomConstraintY = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintY
StepDimTol_SDRMDegreeOfFreedomConstraintZ = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDegreeOfFreedomConstraintZ
StepDimTol_SDRMDistanceVariable = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMDistanceVariable
StepDimTol_SDRMFreeState = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMFreeState
StepDimTol_SDRMLeastMaterialRequirement = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMLeastMaterialRequirement
StepDimTol_SDRMLine = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMLine
StepDimTol_SDRMMajorDiameter = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMMajorDiameter
StepDimTol_SDRMMaximumMaterialRequirement = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMMaximumMaterialRequirement
StepDimTol_SDRMMinorDiameter = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMMinorDiameter
StepDimTol_SDRMOrientation = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMOrientation
StepDimTol_SDRMPitchDiameter = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMPitchDiameter
StepDimTol_SDRMPlane = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMPlane
StepDimTol_SDRMPoint = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMPoint
StepDimTol_SDRMTranslation = StepDimTol_SimpleDatumReferenceModifier.StepDimTol_SDRMTranslation


def Handle_StepDimTol_CommonDatum_Create():
    return _StepDimTol.Handle_StepDimTol_CommonDatum_Create()

def Handle_StepDimTol_CommonDatum_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_CommonDatum_DownCast(t)

def Handle_StepDimTol_CommonDatum_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_CommonDatum_IsNull(t)

def Handle_StepDimTol_Datum_Create():
    return _StepDimTol.Handle_StepDimTol_Datum_Create()

def Handle_StepDimTol_Datum_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_Datum_DownCast(t)

def Handle_StepDimTol_Datum_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_Datum_IsNull(t)

def Handle_StepDimTol_DatumFeature_Create():
    return _StepDimTol.Handle_StepDimTol_DatumFeature_Create()

def Handle_StepDimTol_DatumFeature_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_DatumFeature_DownCast(t)

def Handle_StepDimTol_DatumFeature_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_DatumFeature_IsNull(t)

def Handle_StepDimTol_DatumReference_Create():
    return _StepDimTol.Handle_StepDimTol_DatumReference_Create()

def Handle_StepDimTol_DatumReference_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_DatumReference_DownCast(t)

def Handle_StepDimTol_DatumReference_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_DatumReference_IsNull(t)

def Handle_StepDimTol_DatumReferenceModifierWithValue_Create():
    return _StepDimTol.Handle_StepDimTol_DatumReferenceModifierWithValue_Create()

def Handle_StepDimTol_DatumReferenceModifierWithValue_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_DatumReferenceModifierWithValue_DownCast(t)

def Handle_StepDimTol_DatumReferenceModifierWithValue_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_DatumReferenceModifierWithValue_IsNull(t)

def Handle_StepDimTol_DatumSystem_Create():
    return _StepDimTol.Handle_StepDimTol_DatumSystem_Create()

def Handle_StepDimTol_DatumSystem_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_DatumSystem_DownCast(t)

def Handle_StepDimTol_DatumSystem_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_DatumSystem_IsNull(t)

def Handle_StepDimTol_DatumTarget_Create():
    return _StepDimTol.Handle_StepDimTol_DatumTarget_Create()

def Handle_StepDimTol_DatumTarget_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_DatumTarget_DownCast(t)

def Handle_StepDimTol_DatumTarget_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_DatumTarget_IsNull(t)

def Handle_StepDimTol_GeneralDatumReference_Create():
    return _StepDimTol.Handle_StepDimTol_GeneralDatumReference_Create()

def Handle_StepDimTol_GeneralDatumReference_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeneralDatumReference_DownCast(t)

def Handle_StepDimTol_GeneralDatumReference_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeneralDatumReference_IsNull(t)

def Handle_StepDimTol_GeometricTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_GeometricTolerance_Create()

def Handle_StepDimTol_GeometricTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeometricTolerance_DownCast(t)

def Handle_StepDimTol_GeometricTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeometricTolerance_IsNull(t)

def Handle_StepDimTol_GeometricToleranceRelationship_Create():
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceRelationship_Create()

def Handle_StepDimTol_GeometricToleranceRelationship_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceRelationship_DownCast(t)

def Handle_StepDimTol_GeometricToleranceRelationship_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceRelationship_IsNull(t)

def Handle_StepDimTol_RunoutZoneOrientation_Create():
    return _StepDimTol.Handle_StepDimTol_RunoutZoneOrientation_Create()

def Handle_StepDimTol_RunoutZoneOrientation_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_RunoutZoneOrientation_DownCast(t)

def Handle_StepDimTol_RunoutZoneOrientation_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_RunoutZoneOrientation_IsNull(t)

def Handle_StepDimTol_SimpleDatumReferenceModifierMember_Create():
    return _StepDimTol.Handle_StepDimTol_SimpleDatumReferenceModifierMember_Create()

def Handle_StepDimTol_SimpleDatumReferenceModifierMember_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_SimpleDatumReferenceModifierMember_DownCast(t)

def Handle_StepDimTol_SimpleDatumReferenceModifierMember_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_SimpleDatumReferenceModifierMember_IsNull(t)

def Handle_StepDimTol_ToleranceZone_Create():
    return _StepDimTol.Handle_StepDimTol_ToleranceZone_Create()

def Handle_StepDimTol_ToleranceZone_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_ToleranceZone_DownCast(t)

def Handle_StepDimTol_ToleranceZone_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_ToleranceZone_IsNull(t)

def Handle_StepDimTol_ToleranceZoneDefinition_Create():
    return _StepDimTol.Handle_StepDimTol_ToleranceZoneDefinition_Create()

def Handle_StepDimTol_ToleranceZoneDefinition_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_ToleranceZoneDefinition_DownCast(t)

def Handle_StepDimTol_ToleranceZoneDefinition_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_ToleranceZoneDefinition_IsNull(t)

def Handle_StepDimTol_ToleranceZoneForm_Create():
    return _StepDimTol.Handle_StepDimTol_ToleranceZoneForm_Create()

def Handle_StepDimTol_ToleranceZoneForm_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_ToleranceZoneForm_DownCast(t)

def Handle_StepDimTol_ToleranceZoneForm_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_ToleranceZoneForm_IsNull(t)

def Handle_StepDimTol_CylindricityTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_CylindricityTolerance_Create()

def Handle_StepDimTol_CylindricityTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_CylindricityTolerance_DownCast(t)

def Handle_StepDimTol_CylindricityTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_CylindricityTolerance_IsNull(t)

def Handle_StepDimTol_DatumReferenceCompartment_Create():
    return _StepDimTol.Handle_StepDimTol_DatumReferenceCompartment_Create()

def Handle_StepDimTol_DatumReferenceCompartment_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_DatumReferenceCompartment_DownCast(t)

def Handle_StepDimTol_DatumReferenceCompartment_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_DatumReferenceCompartment_IsNull(t)

def Handle_StepDimTol_DatumReferenceElement_Create():
    return _StepDimTol.Handle_StepDimTol_DatumReferenceElement_Create()

def Handle_StepDimTol_DatumReferenceElement_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_DatumReferenceElement_DownCast(t)

def Handle_StepDimTol_DatumReferenceElement_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_DatumReferenceElement_IsNull(t)

def Handle_StepDimTol_FlatnessTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_FlatnessTolerance_Create()

def Handle_StepDimTol_FlatnessTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_FlatnessTolerance_DownCast(t)

def Handle_StepDimTol_FlatnessTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_FlatnessTolerance_IsNull(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRef_Create():
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRef_Create()

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRef_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRef_DownCast(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRef_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRef_IsNull(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_Create():
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_Create()

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_DownCast(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_IsNull(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_Create():
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_Create()

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_DownCast(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_IsNull(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthMod_Create():
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthMod_Create()

def Handle_StepDimTol_GeoTolAndGeoTolWthMod_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthMod_DownCast(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthMod_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthMod_IsNull(t)

def Handle_StepDimTol_GeometricToleranceWithDatumReference_Create():
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithDatumReference_Create()

def Handle_StepDimTol_GeometricToleranceWithDatumReference_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithDatumReference_DownCast(t)

def Handle_StepDimTol_GeometricToleranceWithDatumReference_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithDatumReference_IsNull(t)

def Handle_StepDimTol_GeometricToleranceWithDefinedUnit_Create():
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithDefinedUnit_Create()

def Handle_StepDimTol_GeometricToleranceWithDefinedUnit_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithDefinedUnit_DownCast(t)

def Handle_StepDimTol_GeometricToleranceWithDefinedUnit_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithDefinedUnit_IsNull(t)

def Handle_StepDimTol_GeometricToleranceWithModifiers_Create():
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithModifiers_Create()

def Handle_StepDimTol_GeometricToleranceWithModifiers_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithModifiers_DownCast(t)

def Handle_StepDimTol_GeometricToleranceWithModifiers_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithModifiers_IsNull(t)

def Handle_StepDimTol_LineProfileTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_LineProfileTolerance_Create()

def Handle_StepDimTol_LineProfileTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_LineProfileTolerance_DownCast(t)

def Handle_StepDimTol_LineProfileTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_LineProfileTolerance_IsNull(t)

def Handle_StepDimTol_ModifiedGeometricTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_ModifiedGeometricTolerance_Create()

def Handle_StepDimTol_ModifiedGeometricTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_ModifiedGeometricTolerance_DownCast(t)

def Handle_StepDimTol_ModifiedGeometricTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_ModifiedGeometricTolerance_IsNull(t)

def Handle_StepDimTol_NonUniformZoneDefinition_Create():
    return _StepDimTol.Handle_StepDimTol_NonUniformZoneDefinition_Create()

def Handle_StepDimTol_NonUniformZoneDefinition_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_NonUniformZoneDefinition_DownCast(t)

def Handle_StepDimTol_NonUniformZoneDefinition_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_NonUniformZoneDefinition_IsNull(t)

def Handle_StepDimTol_PlacedDatumTargetFeature_Create():
    return _StepDimTol.Handle_StepDimTol_PlacedDatumTargetFeature_Create()

def Handle_StepDimTol_PlacedDatumTargetFeature_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_PlacedDatumTargetFeature_DownCast(t)

def Handle_StepDimTol_PlacedDatumTargetFeature_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_PlacedDatumTargetFeature_IsNull(t)

def Handle_StepDimTol_PositionTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_PositionTolerance_Create()

def Handle_StepDimTol_PositionTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_PositionTolerance_DownCast(t)

def Handle_StepDimTol_PositionTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_PositionTolerance_IsNull(t)

def Handle_StepDimTol_ProjectedZoneDefinition_Create():
    return _StepDimTol.Handle_StepDimTol_ProjectedZoneDefinition_Create()

def Handle_StepDimTol_ProjectedZoneDefinition_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_ProjectedZoneDefinition_DownCast(t)

def Handle_StepDimTol_ProjectedZoneDefinition_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_ProjectedZoneDefinition_IsNull(t)

def Handle_StepDimTol_RoundnessTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_RoundnessTolerance_Create()

def Handle_StepDimTol_RoundnessTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_RoundnessTolerance_DownCast(t)

def Handle_StepDimTol_RoundnessTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_RoundnessTolerance_IsNull(t)

def Handle_StepDimTol_RunoutZoneDefinition_Create():
    return _StepDimTol.Handle_StepDimTol_RunoutZoneDefinition_Create()

def Handle_StepDimTol_RunoutZoneDefinition_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_RunoutZoneDefinition_DownCast(t)

def Handle_StepDimTol_RunoutZoneDefinition_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_RunoutZoneDefinition_IsNull(t)

def Handle_StepDimTol_StraightnessTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_StraightnessTolerance_Create()

def Handle_StepDimTol_StraightnessTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_StraightnessTolerance_DownCast(t)

def Handle_StepDimTol_StraightnessTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_StraightnessTolerance_IsNull(t)

def Handle_StepDimTol_SurfaceProfileTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_SurfaceProfileTolerance_Create()

def Handle_StepDimTol_SurfaceProfileTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_SurfaceProfileTolerance_DownCast(t)

def Handle_StepDimTol_SurfaceProfileTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_SurfaceProfileTolerance_IsNull(t)

def Handle_StepDimTol_UnequallyDisposedGeometricTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_UnequallyDisposedGeometricTolerance_Create()

def Handle_StepDimTol_UnequallyDisposedGeometricTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_UnequallyDisposedGeometricTolerance_DownCast(t)

def Handle_StepDimTol_UnequallyDisposedGeometricTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_UnequallyDisposedGeometricTolerance_IsNull(t)

def Handle_StepDimTol_AngularityTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_AngularityTolerance_Create()

def Handle_StepDimTol_AngularityTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_AngularityTolerance_DownCast(t)

def Handle_StepDimTol_AngularityTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_AngularityTolerance_IsNull(t)

def Handle_StepDimTol_CircularRunoutTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_CircularRunoutTolerance_Create()

def Handle_StepDimTol_CircularRunoutTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_CircularRunoutTolerance_DownCast(t)

def Handle_StepDimTol_CircularRunoutTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_CircularRunoutTolerance_IsNull(t)

def Handle_StepDimTol_CoaxialityTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_CoaxialityTolerance_Create()

def Handle_StepDimTol_CoaxialityTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_CoaxialityTolerance_DownCast(t)

def Handle_StepDimTol_CoaxialityTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_CoaxialityTolerance_IsNull(t)

def Handle_StepDimTol_ConcentricityTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_ConcentricityTolerance_Create()

def Handle_StepDimTol_ConcentricityTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_ConcentricityTolerance_DownCast(t)

def Handle_StepDimTol_ConcentricityTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_ConcentricityTolerance_IsNull(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_Create():
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_Create()

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_DownCast(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_IsNull(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_Create():
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_Create()

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_DownCast(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_IsNull(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthMaxTol_Create():
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthMaxTol_Create()

def Handle_StepDimTol_GeoTolAndGeoTolWthMaxTol_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthMaxTol_DownCast(t)

def Handle_StepDimTol_GeoTolAndGeoTolWthMaxTol_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeoTolAndGeoTolWthMaxTol_IsNull(t)

def Handle_StepDimTol_GeometricToleranceWithDefinedAreaUnit_Create():
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithDefinedAreaUnit_Create()

def Handle_StepDimTol_GeometricToleranceWithDefinedAreaUnit_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithDefinedAreaUnit_DownCast(t)

def Handle_StepDimTol_GeometricToleranceWithDefinedAreaUnit_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithDefinedAreaUnit_IsNull(t)

def Handle_StepDimTol_GeometricToleranceWithMaximumTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithMaximumTolerance_Create()

def Handle_StepDimTol_GeometricToleranceWithMaximumTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithMaximumTolerance_DownCast(t)

def Handle_StepDimTol_GeometricToleranceWithMaximumTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_GeometricToleranceWithMaximumTolerance_IsNull(t)

def Handle_StepDimTol_ParallelismTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_ParallelismTolerance_Create()

def Handle_StepDimTol_ParallelismTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_ParallelismTolerance_DownCast(t)

def Handle_StepDimTol_ParallelismTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_ParallelismTolerance_IsNull(t)

def Handle_StepDimTol_PerpendicularityTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_PerpendicularityTolerance_Create()

def Handle_StepDimTol_PerpendicularityTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_PerpendicularityTolerance_DownCast(t)

def Handle_StepDimTol_PerpendicularityTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_PerpendicularityTolerance_IsNull(t)

def Handle_StepDimTol_SymmetryTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_SymmetryTolerance_Create()

def Handle_StepDimTol_SymmetryTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_SymmetryTolerance_DownCast(t)

def Handle_StepDimTol_SymmetryTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_SymmetryTolerance_IsNull(t)

def Handle_StepDimTol_TotalRunoutTolerance_Create():
    return _StepDimTol.Handle_StepDimTol_TotalRunoutTolerance_Create()

def Handle_StepDimTol_TotalRunoutTolerance_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_TotalRunoutTolerance_DownCast(t)

def Handle_StepDimTol_TotalRunoutTolerance_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_TotalRunoutTolerance_IsNull(t)

def Handle_StepDimTol_HArray1OfDatumReference_Create():
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReference_Create()

def Handle_StepDimTol_HArray1OfDatumReference_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReference_DownCast(t)

def Handle_StepDimTol_HArray1OfDatumReference_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReference_IsNull(t)

def Handle_StepDimTol_HArray1OfDatumReferenceCompartment_Create():
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReferenceCompartment_Create()

def Handle_StepDimTol_HArray1OfDatumReferenceCompartment_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReferenceCompartment_DownCast(t)

def Handle_StepDimTol_HArray1OfDatumReferenceCompartment_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReferenceCompartment_IsNull(t)

def Handle_StepDimTol_HArray1OfDatumReferenceElement_Create():
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReferenceElement_Create()

def Handle_StepDimTol_HArray1OfDatumReferenceElement_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReferenceElement_DownCast(t)

def Handle_StepDimTol_HArray1OfDatumReferenceElement_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReferenceElement_IsNull(t)

def Handle_StepDimTol_HArray1OfDatumReferenceModifier_Create():
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReferenceModifier_Create()

def Handle_StepDimTol_HArray1OfDatumReferenceModifier_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReferenceModifier_DownCast(t)

def Handle_StepDimTol_HArray1OfDatumReferenceModifier_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumReferenceModifier_IsNull(t)

def Handle_StepDimTol_HArray1OfDatumSystemOrReference_Create():
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumSystemOrReference_Create()

def Handle_StepDimTol_HArray1OfDatumSystemOrReference_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumSystemOrReference_DownCast(t)

def Handle_StepDimTol_HArray1OfDatumSystemOrReference_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfDatumSystemOrReference_IsNull(t)

def Handle_StepDimTol_HArray1OfGeometricToleranceModifier_Create():
    return _StepDimTol.Handle_StepDimTol_HArray1OfGeometricToleranceModifier_Create()

def Handle_StepDimTol_HArray1OfGeometricToleranceModifier_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfGeometricToleranceModifier_DownCast(t)

def Handle_StepDimTol_HArray1OfGeometricToleranceModifier_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfGeometricToleranceModifier_IsNull(t)

def Handle_StepDimTol_HArray1OfToleranceZoneTarget_Create():
    return _StepDimTol.Handle_StepDimTol_HArray1OfToleranceZoneTarget_Create()

def Handle_StepDimTol_HArray1OfToleranceZoneTarget_DownCast(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfToleranceZoneTarget_DownCast(t)

def Handle_StepDimTol_HArray1OfToleranceZoneTarget_IsNull(t):
    return _StepDimTol.Handle_StepDimTol_HArray1OfToleranceZoneTarget_IsNull(t)
class StepDimTol_Array1OfDatumReference(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_begin(self, *args)

    def cbegin(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_cbegin(self)

    def end(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_end(self, *args)

    def cend(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_cend(self)

    def __init__(self, *args):
        _StepDimTol.StepDimTol_Array1OfDatumReference_swiginit(self, _StepDimTol.new_StepDimTol_Array1OfDatumReference(*args))
    __swig_destroy__ = _StepDimTol.delete_StepDimTol_Array1OfDatumReference

    def Init(self, theValue):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Init(self, theValue)

    def Size(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Size(self)

    def Length(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Length(self)

    def IsEmpty(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_IsEmpty(self)

    def Lower(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Lower(self)

    def Upper(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Upper(self)

    def Assign(self, theOther):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Assign(self, theOther)

    def Move(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Move(self, *args)

    def Set(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Set(self, *args)

    def First(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_First(self)

    def ChangeFirst(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_ChangeFirst(self)

    def Last(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Last(self)

    def ChangeLast(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_ChangeLast(self)

    def Value(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReference___call__(self, *args)

    def SetValue(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_SetValue(self, *args)

    def UpdateLowerBound(self, theLower):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_UpdateLowerBound(self, theLower)

    def UpdateUpperBound(self, theUpper):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_UpdateUpperBound(self, theUpper)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_Resize(self, theLower, theUpper, theToCopyData)

    def IsDeletable(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReference_IsDeletable(self)

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

    def __len__(self):
        return self.Length()

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register StepDimTol_Array1OfDatumReference in _StepDimTol:
_StepDimTol.StepDimTol_Array1OfDatumReference_swigregister(StepDimTol_Array1OfDatumReference)
class StepDimTol_Array1OfDatumReferenceCompartment(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_begin(self, *args)

    def cbegin(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_cbegin(self)

    def end(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_end(self, *args)

    def cend(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_cend(self)

    def __init__(self, *args):
        _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_swiginit(self, _StepDimTol.new_StepDimTol_Array1OfDatumReferenceCompartment(*args))
    __swig_destroy__ = _StepDimTol.delete_StepDimTol_Array1OfDatumReferenceCompartment

    def Init(self, theValue):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Init(self, theValue)

    def Size(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Size(self)

    def Length(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Length(self)

    def IsEmpty(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_IsEmpty(self)

    def Lower(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Lower(self)

    def Upper(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Upper(self)

    def Assign(self, theOther):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Assign(self, theOther)

    def Move(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Move(self, *args)

    def Set(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Set(self, *args)

    def First(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_First(self)

    def ChangeFirst(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_ChangeFirst(self)

    def Last(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Last(self)

    def ChangeLast(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_ChangeLast(self)

    def Value(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment___call__(self, *args)

    def SetValue(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_SetValue(self, *args)

    def UpdateLowerBound(self, theLower):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_UpdateLowerBound(self, theLower)

    def UpdateUpperBound(self, theUpper):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_UpdateUpperBound(self, theUpper)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_Resize(self, theLower, theUpper, theToCopyData)

    def IsDeletable(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_IsDeletable(self)

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

    def __len__(self):
        return self.Length()

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register StepDimTol_Array1OfDatumReferenceCompartment in _StepDimTol:
_StepDimTol.StepDimTol_Array1OfDatumReferenceCompartment_swigregister(StepDimTol_Array1OfDatumReferenceCompartment)
class StepDimTol_Array1OfDatumReferenceElement(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_begin(self, *args)

    def cbegin(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_cbegin(self)

    def end(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_end(self, *args)

    def cend(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_cend(self)

    def __init__(self, *args):
        _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_swiginit(self, _StepDimTol.new_StepDimTol_Array1OfDatumReferenceElement(*args))
    __swig_destroy__ = _StepDimTol.delete_StepDimTol_Array1OfDatumReferenceElement

    def Init(self, theValue):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Init(self, theValue)

    def Size(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Size(self)

    def Length(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Length(self)

    def IsEmpty(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_IsEmpty(self)

    def Lower(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Lower(self)

    def Upper(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Upper(self)

    def Assign(self, theOther):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Assign(self, theOther)

    def Move(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Move(self, *args)

    def Set(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Set(self, *args)

    def First(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_First(self)

    def ChangeFirst(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_ChangeFirst(self)

    def Last(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Last(self)

    def ChangeLast(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_ChangeLast(self)

    def Value(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement___call__(self, *args)

    def SetValue(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_SetValue(self, *args)

    def UpdateLowerBound(self, theLower):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_UpdateLowerBound(self, theLower)

    def UpdateUpperBound(self, theUpper):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_UpdateUpperBound(self, theUpper)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_Resize(self, theLower, theUpper, theToCopyData)

    def IsDeletable(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceElement_IsDeletable(self)

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

    def __len__(self):
        return self.Length()

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register StepDimTol_Array1OfDatumReferenceElement in _StepDimTol:
_StepDimTol.StepDimTol_Array1OfDatumReferenceElement_swigregister(StepDimTol_Array1OfDatumReferenceElement)
class StepDimTol_Array1OfDatumReferenceModifier(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_begin(self, *args)

    def cbegin(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_cbegin(self)

    def end(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_end(self, *args)

    def cend(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_cend(self)

    def __init__(self, *args):
        _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_swiginit(self, _StepDimTol.new_StepDimTol_Array1OfDatumReferenceModifier(*args))
    __swig_destroy__ = _StepDimTol.delete_StepDimTol_Array1OfDatumReferenceModifier

    def Init(self, theValue):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Init(self, theValue)

    def Size(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Size(self)

    def Length(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Length(self)

    def IsEmpty(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_IsEmpty(self)

    def Lower(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Lower(self)

    def Upper(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Upper(self)

    def Assign(self, theOther):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Assign(self, theOther)

    def Move(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Move(self, *args)

    def Set(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Set(self, *args)

    def First(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_First(self)

    def ChangeFirst(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_ChangeFirst(self)

    def Last(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Last(self)

    def ChangeLast(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_ChangeLast(self)

    def Value(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier___call__(self, *args)

    def SetValue(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_SetValue(self, *args)

    def UpdateLowerBound(self, theLower):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_UpdateLowerBound(self, theLower)

    def UpdateUpperBound(self, theUpper):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_UpdateUpperBound(self, theUpper)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_Resize(self, theLower, theUpper, theToCopyData)

    def IsDeletable(self):
        return _StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_IsDeletable(self)

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

    def __len__(self):
        return self.Length()

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register StepDimTol_Array1OfDatumReferenceModifier in _StepDimTol:
_StepDimTol.StepDimTol_Array1OfDatumReferenceModifier_swigregister(StepDimTol_Array1OfDatumReferenceModifier)
class StepDimTol_Array1OfDatumSystemOrReference(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_begin(self, *args)

    def cbegin(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_cbegin(self)

    def end(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_end(self, *args)

    def cend(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_cend(self)

    def __init__(self, *args):
        _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_swiginit(self, _StepDimTol.new_StepDimTol_Array1OfDatumSystemOrReference(*args))
    __swig_destroy__ = _StepDimTol.delete_StepDimTol_Array1OfDatumSystemOrReference

    def Init(self, theValue):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Init(self, theValue)

    def Size(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Size(self)

    def Length(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Length(self)

    def IsEmpty(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_IsEmpty(self)

    def Lower(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Lower(self)

    def Upper(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Upper(self)

    def Assign(self, theOther):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Assign(self, theOther)

    def Move(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Move(self, *args)

    def Set(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Set(self, *args)

    def First(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_First(self)

    def ChangeFirst(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_ChangeFirst(self)

    def Last(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Last(self)

    def ChangeLast(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_ChangeLast(self)

    def Value(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference___call__(self, *args)

    def SetValue(self, *args):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_SetValue(self, *args)

    def UpdateLowerBound(self, theLower):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_UpdateLowerBound(self, theLower)

    def UpdateUpperBound(self, theUpper):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_UpdateUpperBound(self, theUpper)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_Resize(self, theLower, theUpper, theToCopyData)

    def IsDeletable(self):
        return _StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_IsDeletable(self)

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

    def __len__(self):
        return self.Length()

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register StepDimTol_Array1OfDatumSystemOrReference in _StepDimTol:
_StepDimTol.StepDimTol_Array1OfDatumSystemOrReference_swigregister(StepDimTol_Array1OfDatumSystemOrReference)
class StepDimTol_Array1OfToleranceZoneTarget(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def begin(self, *args):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_begin(self, *args)

    def cbegin(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_cbegin(self)

    def end(self, *args):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_end(self, *args)

    def cend(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_cend(self)

    def __init__(self, *args):
        _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_swiginit(self, _StepDimTol.new_StepDimTol_Array1OfToleranceZoneTarget(*args))
    __swig_destroy__ = _StepDimTol.delete_StepDimTol_Array1OfToleranceZoneTarget

    def Init(self, theValue):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Init(self, theValue)

    def Size(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Size(self)

    def Length(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Length(self)

    def IsEmpty(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_IsEmpty(self)

    def Lower(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Lower(self)

    def Upper(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Upper(self)

    def Assign(self, theOther):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Assign(self, theOther)

    def Move(self, *args):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Move(self, *args)

    def Set(self, *args):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Set(self, *args)

    def First(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_First(self)

    def ChangeFirst(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_ChangeFirst(self)

    def Last(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Last(self)

    def ChangeLast(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_ChangeLast(self)

    def Value(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Value(self, theIndex)

    def ChangeValue(self, theIndex):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_ChangeValue(self, theIndex)

    def __call__(self, *args):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget___call__(self, *args)

    def SetValue(self, *args):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_SetValue(self, *args)

    def UpdateLowerBound(self, theLower):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_UpdateLowerBound(self, theLower)

    def UpdateUpperBound(self, theUpper):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_UpdateUpperBound(self, theUpper)

    def Resize(self, theLower, theUpper, theToCopyData):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_Resize(self, theLower, theUpper, theToCopyData)

    def IsDeletable(self):
        return _StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_IsDeletable(self)

    def __getitem__(self, index):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            return self.Value(index + self.Lower())

    def __setitem__(self, index, value):
        if index + self.Lower() > self.Upper():
            raise IndexError("index out of range")
        else:
            self.SetValue(index + self.Lower(), value)

    def __len__(self):
        return self.Length()

    def __iter__(self):
        self.low = self.Lower()
        self.up = self.Upper()
        self.current = self.Lower() - 1
        return self

    def next(self):
        if self.current >= self.Upper():
            raise StopIteration
        else:
            self.current += 1
        return self.Value(self.current)

    __next__ = next


# Register StepDimTol_Array1OfToleranceZoneTarget in _StepDimTol:
_StepDimTol.StepDimTol_Array1OfToleranceZoneTarget_swigregister(StepDimTol_Array1OfToleranceZoneTarget)
class StepDimTol_CommonDatum(OCC.Core.StepRepr.StepRepr_CompositeShapeAspect):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_CommonDatum_swiginit(self, _StepDimTol.new_StepDimTol_CommonDatum(*args))

    def Datum(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_Datum>

        Description
        -----------
        Returns data for supertype Datum.

        """
        return _StepDimTol.StepDimTol_CommonDatum_Datum(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theShapeAspect_Name: TCollection_HAsciiString
        theShapeAspect_Description: TCollection_HAsciiString
        theShapeAspect_OfShape: StepRepr_ProductDefinitionShape
        theShapeAspect_ProductDefinitional: StepData_Logical
        theDatum_Name: TCollection_HAsciiString
        theDatum_Description: TCollection_HAsciiString
        theDatum_OfShape: StepRepr_ProductDefinitionShape
        theDatum_ProductDefinitional: StepData_Logical
        theDatum_Identification: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_CommonDatum_Init(self, *args)

    def SetDatum(self, *args):
        r"""

        Parameters
        ----------
        theDatum: StepDimTol_Datum

        Return
        -------
        None

        Description
        -----------
        Set data for supertype Datum.

        """
        return _StepDimTol.StepDimTol_CommonDatum_SetDatum(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_CommonDatum_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_CommonDatum

# Register StepDimTol_CommonDatum in _StepDimTol:
_StepDimTol.StepDimTol_CommonDatum_swigregister(StepDimTol_CommonDatum)
class StepDimTol_Datum(OCC.Core.StepRepr.StepRepr_ShapeAspect):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_Datum_swiginit(self, _StepDimTol.new_StepDimTol_Datum(*args))

    def Identification(self, *args):
        r"""
        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns field Identification.

        """
        return _StepDimTol.StepDimTol_Datum_Identification(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theShapeAspect_Name: TCollection_HAsciiString
        theShapeAspect_Description: TCollection_HAsciiString
        theShapeAspect_OfShape: StepRepr_ProductDefinitionShape
        theShapeAspect_ProductDefinitional: StepData_Logical
        theIdentification: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_Datum_Init(self, *args)

    def SetIdentification(self, *args):
        r"""

        Parameters
        ----------
        theIdentification: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Set field Identification.

        """
        return _StepDimTol.StepDimTol_Datum_SetIdentification(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_Datum_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_Datum

# Register StepDimTol_Datum in _StepDimTol:
_StepDimTol.StepDimTol_Datum_swigregister(StepDimTol_Datum)
class StepDimTol_DatumFeature(OCC.Core.StepRepr.StepRepr_ShapeAspect):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_DatumFeature_swiginit(self, _StepDimTol.new_StepDimTol_DatumFeature(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_DatumFeature_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_DatumFeature

# Register StepDimTol_DatumFeature in _StepDimTol:
_StepDimTol.StepDimTol_DatumFeature_swigregister(StepDimTol_DatumFeature)
class StepDimTol_DatumOrCommonDatum(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Returns a DatumOrCommonDatum select type.

        """
        _StepDimTol.StepDimTol_DatumOrCommonDatum_swiginit(self, _StepDimTol.new_StepDimTol_DatumOrCommonDatum(*args))

    def CommonDatumList(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_HArray1OfDatumReferenceElement>

        Description
        -----------
        returns Value as a CommonDatumList (Null if another type).

        """
        return _StepDimTol.StepDimTol_DatumOrCommonDatum_CommonDatumList(self, *args)

    def Datum(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_Datum>

        Description
        -----------
        returns Value as a Datum (Null if another type).

        """
        return _StepDimTol.StepDimTol_DatumOrCommonDatum_Datum(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_DatumOrCommonDatum

# Register StepDimTol_DatumOrCommonDatum in _StepDimTol:
_StepDimTol.StepDimTol_DatumOrCommonDatum_swigregister(StepDimTol_DatumOrCommonDatum)
class StepDimTol_DatumReference(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_DatumReference_swiginit(self, _StepDimTol.new_StepDimTol_DatumReference(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        thePrecedence: int
        theReferencedDatum: StepDimTol_Datum

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_DatumReference_Init(self, *args)

    def Precedence(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns field Precedence.

        """
        return _StepDimTol.StepDimTol_DatumReference_Precedence(self, *args)

    def ReferencedDatum(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_Datum>

        Description
        -----------
        Returns field ReferencedDatum.

        """
        return _StepDimTol.StepDimTol_DatumReference_ReferencedDatum(self, *args)

    def SetPrecedence(self, *args):
        r"""

        Parameters
        ----------
        thePrecedence: int

        Return
        -------
        None

        Description
        -----------
        Set field Precedence.

        """
        return _StepDimTol.StepDimTol_DatumReference_SetPrecedence(self, *args)

    def SetReferencedDatum(self, *args):
        r"""

        Parameters
        ----------
        theReferencedDatum: StepDimTol_Datum

        Return
        -------
        None

        Description
        -----------
        Set field ReferencedDatum.

        """
        return _StepDimTol.StepDimTol_DatumReference_SetReferencedDatum(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_DatumReference_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_DatumReference

# Register StepDimTol_DatumReference in _StepDimTol:
_StepDimTol.StepDimTol_DatumReference_swigregister(StepDimTol_DatumReference)
class StepDimTol_DatumReferenceModifier(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Returns a DatumReferenceModifier select type.

        """
        _StepDimTol.StepDimTol_DatumReferenceModifier_swiginit(self, _StepDimTol.new_StepDimTol_DatumReferenceModifier(*args))

    def DatumReferenceModifierWithValue(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_DatumReferenceModifierWithValue>

        Description
        -----------
        returns Value as a DatumReferenceModifierWithValue (Null if another type).

        """
        return _StepDimTol.StepDimTol_DatumReferenceModifier_DatumReferenceModifierWithValue(self, *args)

    def SimpleDatumReferenceModifierMember(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_SimpleDatumReferenceModifierMember>

        Description
        -----------
        returns Value as a SimpleDatumReferenceModifierMember (Null if another type).

        """
        return _StepDimTol.StepDimTol_DatumReferenceModifier_SimpleDatumReferenceModifierMember(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_DatumReferenceModifier

# Register StepDimTol_DatumReferenceModifier in _StepDimTol:
_StepDimTol.StepDimTol_DatumReferenceModifier_swigregister(StepDimTol_DatumReferenceModifier)
class StepDimTol_DatumReferenceModifierWithValue(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_DatumReferenceModifierWithValue_swiginit(self, _StepDimTol.new_StepDimTol_DatumReferenceModifierWithValue(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theModifierType: StepDimTol_DatumReferenceModifierType
        theModifierValue: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_DatumReferenceModifierWithValue_Init(self, *args)

    def ModifierType(self, *args):
        r"""
        Return
        -------
        StepDimTol_DatumReferenceModifierType

        Description
        -----------
        Returns field ModifierType.

        """
        return _StepDimTol.StepDimTol_DatumReferenceModifierWithValue_ModifierType(self, *args)

    def ModifierValue(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepBasic_LengthMeasureWithUnit>

        Description
        -----------
        Returns field ModifierValue.

        """
        return _StepDimTol.StepDimTol_DatumReferenceModifierWithValue_ModifierValue(self, *args)

    def SetModifierType(self, *args):
        r"""

        Parameters
        ----------
        theModifierType: StepDimTol_DatumReferenceModifierType

        Return
        -------
        None

        Description
        -----------
        Set field ModifierType.

        """
        return _StepDimTol.StepDimTol_DatumReferenceModifierWithValue_SetModifierType(self, *args)

    def SetModifierValue(self, *args):
        r"""

        Parameters
        ----------
        theModifierValue: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Set field ModifierValue.

        """
        return _StepDimTol.StepDimTol_DatumReferenceModifierWithValue_SetModifierValue(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_DatumReferenceModifierWithValue_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_DatumReferenceModifierWithValue

# Register StepDimTol_DatumReferenceModifierWithValue in _StepDimTol:
_StepDimTol.StepDimTol_DatumReferenceModifierWithValue_swigregister(StepDimTol_DatumReferenceModifierWithValue)
class StepDimTol_DatumSystem(OCC.Core.StepRepr.StepRepr_ShapeAspect):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_DatumSystem_swiginit(self, _StepDimTol.new_StepDimTol_DatumSystem(*args))

    def Constituents(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_HArray1OfDatumReferenceCompartment>

        Description
        -----------
        Returns field Constituents.

        """
        return _StepDimTol.StepDimTol_DatumSystem_Constituents(self, *args)

    def ConstituentsValue(self, *args):
        r"""

        Parameters
        ----------
        num: int

        Return
        -------
        opencascade::handle<StepDimTol_DatumReferenceCompartment>

        Description
        -----------
        Returns Constituents with the given number.

        Parameters
        ----------
        num: int
        theItem: StepDimTol_DatumReferenceCompartment

        Return
        -------
        None

        Description
        -----------
        Sets Constituents with given number.

        """
        return _StepDimTol.StepDimTol_DatumSystem_ConstituentsValue(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theOfShape: StepRepr_ProductDefinitionShape
        theProductDefinitional: StepData_Logical
        theConstituents: StepDimTol_HArray1OfDatumReferenceCompartment

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_DatumSystem_Init(self, *args)

    def NbConstituents(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns number of Constituents.

        """
        return _StepDimTol.StepDimTol_DatumSystem_NbConstituents(self, *args)

    def SetConstituents(self, *args):
        r"""

        Parameters
        ----------
        theConstituents: StepDimTol_HArray1OfDatumReferenceCompartment

        Return
        -------
        None

        Description
        -----------
        Set field Constituents.

        """
        return _StepDimTol.StepDimTol_DatumSystem_SetConstituents(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_DatumSystem_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_DatumSystem

# Register StepDimTol_DatumSystem in _StepDimTol:
_StepDimTol.StepDimTol_DatumSystem_swigregister(StepDimTol_DatumSystem)
class StepDimTol_DatumSystemOrReference(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Returns a DatumSystemOrReference select type.

        """
        _StepDimTol.StepDimTol_DatumSystemOrReference_swiginit(self, _StepDimTol.new_StepDimTol_DatumSystemOrReference(*args))

    def DatumReference(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_DatumReference>

        Description
        -----------
        returns Value as a DatumReference (Null if another type).

        """
        return _StepDimTol.StepDimTol_DatumSystemOrReference_DatumReference(self, *args)

    def DatumSystem(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_DatumSystem>

        Description
        -----------
        returns Value as a DatumSystem (Null if another type).

        """
        return _StepDimTol.StepDimTol_DatumSystemOrReference_DatumSystem(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_DatumSystemOrReference

# Register StepDimTol_DatumSystemOrReference in _StepDimTol:
_StepDimTol.StepDimTol_DatumSystemOrReference_swigregister(StepDimTol_DatumSystemOrReference)
class StepDimTol_DatumTarget(OCC.Core.StepRepr.StepRepr_ShapeAspect):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_DatumTarget_swiginit(self, _StepDimTol.new_StepDimTol_DatumTarget(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theShapeAspect_Name: TCollection_HAsciiString
        theShapeAspect_Description: TCollection_HAsciiString
        theShapeAspect_OfShape: StepRepr_ProductDefinitionShape
        theShapeAspect_ProductDefinitional: StepData_Logical
        theTargetId: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_DatumTarget_Init(self, *args)

    def SetTargetId(self, *args):
        r"""

        Parameters
        ----------
        theTargetId: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Set field TargetId.

        """
        return _StepDimTol.StepDimTol_DatumTarget_SetTargetId(self, *args)

    def TargetId(self, *args):
        r"""
        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns field TargetId.

        """
        return _StepDimTol.StepDimTol_DatumTarget_TargetId(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_DatumTarget_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_DatumTarget

# Register StepDimTol_DatumTarget in _StepDimTol:
_StepDimTol.StepDimTol_DatumTarget_swigregister(StepDimTol_DatumTarget)
class StepDimTol_GeneralDatumReference(OCC.Core.StepRepr.StepRepr_ShapeAspect):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_GeneralDatumReference_swiginit(self, _StepDimTol.new_StepDimTol_GeneralDatumReference(*args))

    def Base(self, *args):
        r"""
        Return
        -------
        StepDimTol_DatumOrCommonDatum

        Description
        -----------
        Returns field Base.

        """
        return _StepDimTol.StepDimTol_GeneralDatumReference_Base(self, *args)

    def HasModifiers(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Indicates is field Modifiers exist.

        """
        return _StepDimTol.StepDimTol_GeneralDatumReference_HasModifiers(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theOfShape: StepRepr_ProductDefinitionShape
        theProductDefinitional: StepData_Logical
        theBase: StepDimTol_DatumOrCommonDatum
        theHasModifiers: bool
        theModifiers: StepDimTol_HArray1OfDatumReferenceModifier

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_GeneralDatumReference_Init(self, *args)

    def Modifiers(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_HArray1OfDatumReferenceModifier>

        Description
        -----------
        Returns field Modifiers.

        """
        return _StepDimTol.StepDimTol_GeneralDatumReference_Modifiers(self, *args)

    def ModifiersValue(self, *args):
        r"""

        Parameters
        ----------
        theNum: int

        Return
        -------
        StepDimTol_DatumReferenceModifier

        Description
        -----------
        Returns Modifiers with the given number.

        Parameters
        ----------
        theNum: int
        theItem: StepDimTol_DatumReferenceModifier

        Return
        -------
        None

        Description
        -----------
        Sets Modifiers with given number.

        """
        return _StepDimTol.StepDimTol_GeneralDatumReference_ModifiersValue(self, *args)

    def NbModifiers(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns number of Modifiers.

        """
        return _StepDimTol.StepDimTol_GeneralDatumReference_NbModifiers(self, *args)

    def SetBase(self, *args):
        r"""

        Parameters
        ----------
        theBase: StepDimTol_DatumOrCommonDatum

        Return
        -------
        None

        Description
        -----------
        Set field Base.

        """
        return _StepDimTol.StepDimTol_GeneralDatumReference_SetBase(self, *args)

    def SetModifiers(self, *args):
        r"""

        Parameters
        ----------
        theModifiers: StepDimTol_HArray1OfDatumReferenceModifier

        Return
        -------
        None

        Description
        -----------
        Set field Modifiers.

        """
        return _StepDimTol.StepDimTol_GeneralDatumReference_SetModifiers(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeneralDatumReference_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeneralDatumReference

# Register StepDimTol_GeneralDatumReference in _StepDimTol:
_StepDimTol.StepDimTol_GeneralDatumReference_swigregister(StepDimTol_GeneralDatumReference)
class StepDimTol_GeometricTolerance(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_GeometricTolerance_swiginit(self, _StepDimTol.new_StepDimTol_GeometricTolerance(*args))

    def Description(self, *args):
        r"""
        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns field Description.

        """
        return _StepDimTol.StepDimTol_GeometricTolerance_Description(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepRepr_ShapeAspect

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited) AP214.

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited) AP242.

        """
        return _StepDimTol.StepDimTol_GeometricTolerance_Init(self, *args)

    def Magnitude(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepBasic_MeasureWithUnit>

        Description
        -----------
        Returns field Magnitude.

        """
        return _StepDimTol.StepDimTol_GeometricTolerance_Magnitude(self, *args)

    def Name(self, *args):
        r"""
        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns field Name.

        """
        return _StepDimTol.StepDimTol_GeometricTolerance_Name(self, *args)

    def SetDescription(self, *args):
        r"""

        Parameters
        ----------
        theDescription: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Set field Description.

        """
        return _StepDimTol.StepDimTol_GeometricTolerance_SetDescription(self, *args)

    def SetMagnitude(self, *args):
        r"""

        Parameters
        ----------
        theMagnitude: StepBasic_MeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Set field Magnitude.

        """
        return _StepDimTol.StepDimTol_GeometricTolerance_SetMagnitude(self, *args)

    def SetName(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Set field Name.

        """
        return _StepDimTol.StepDimTol_GeometricTolerance_SetName(self, *args)

    def SetTolerancedShapeAspect(self, *args):
        r"""

        Parameters
        ----------
        theTolerancedShapeAspect: StepRepr_ShapeAspect

        Return
        -------
        None

        Description
        -----------
        Set field TolerancedShapeAspect AP214.

        Parameters
        ----------
        theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget

        Return
        -------
        None

        Description
        -----------
        Set field TolerancedShapeAspect AP242.

        """
        return _StepDimTol.StepDimTol_GeometricTolerance_SetTolerancedShapeAspect(self, *args)

    def TolerancedShapeAspect(self, *args):
        r"""
        Return
        -------
        StepDimTol_GeometricToleranceTarget

        Description
        -----------
        Returns field TolerancedShapeAspect Note: in AP214(203) type of this attribute can be only StepRepr_ShapeAspect.

        """
        return _StepDimTol.StepDimTol_GeometricTolerance_TolerancedShapeAspect(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeometricTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeometricTolerance

# Register StepDimTol_GeometricTolerance in _StepDimTol:
_StepDimTol.StepDimTol_GeometricTolerance_swigregister(StepDimTol_GeometricTolerance)
class StepDimTol_GeometricToleranceRelationship(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_GeometricToleranceRelationship_swiginit(self, _StepDimTol.new_StepDimTol_GeometricToleranceRelationship(*args))

    def Description(self, *args):
        r"""
        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns field Description.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceRelationship_Description(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theRelatingGeometricTolerance: StepDimTol_GeometricTolerance
        theRelatedGeometricTolerance: StepDimTol_GeometricTolerance

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_GeometricToleranceRelationship_Init(self, *args)

    def Name(self, *args):
        r"""
        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns field Name.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceRelationship_Name(self, *args)

    def RelatedGeometricTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_GeometricTolerance>

        Description
        -----------
        Returns field RelatedGeometricTolerance.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceRelationship_RelatedGeometricTolerance(self, *args)

    def RelatingGeometricTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_GeometricTolerance>

        Description
        -----------
        Returns field RelatingGeometricTolerance.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceRelationship_RelatingGeometricTolerance(self, *args)

    def SetDescription(self, *args):
        r"""

        Parameters
        ----------
        theDescription: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Set field Description.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceRelationship_SetDescription(self, *args)

    def SetName(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Set field Name.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceRelationship_SetName(self, *args)

    def SetRelatedGeometricTolerance(self, *args):
        r"""

        Parameters
        ----------
        theRelatedGeometricTolerance: StepDimTol_GeometricTolerance

        Return
        -------
        None

        Description
        -----------
        Set field RelatedGeometricTolerance.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceRelationship_SetRelatedGeometricTolerance(self, *args)

    def SetRelatingGeometricTolerance(self, *args):
        r"""

        Parameters
        ----------
        theRelatingGeometricTolerance: StepDimTol_GeometricTolerance

        Return
        -------
        None

        Description
        -----------
        Set field RelatingGeometricTolerance.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceRelationship_SetRelatingGeometricTolerance(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeometricToleranceRelationship_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeometricToleranceRelationship

# Register StepDimTol_GeometricToleranceRelationship in _StepDimTol:
_StepDimTol.StepDimTol_GeometricToleranceRelationship_swigregister(StepDimTol_GeometricToleranceRelationship)
class StepDimTol_GeometricToleranceTarget(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Returns a GeometricToleranceTarget select type.

        """
        _StepDimTol.StepDimTol_GeometricToleranceTarget_swiginit(self, _StepDimTol.new_StepDimTol_GeometricToleranceTarget(*args))

    def DimensionalLocation(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepShape_DimensionalLocation>

        Description
        -----------
        returns Value as a DimensionalLocation (Null if another type).

        """
        return _StepDimTol.StepDimTol_GeometricToleranceTarget_DimensionalLocation(self, *args)

    def DimensionalSize(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepShape_DimensionalSize>

        Description
        -----------
        returns Value as a DimensionalSize (Null if another type).

        """
        return _StepDimTol.StepDimTol_GeometricToleranceTarget_DimensionalSize(self, *args)

    def ProductDefinitionShape(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepRepr_ProductDefinitionShape>

        Description
        -----------
        returns Value as a ProductDefinitionShape (Null if another type).

        """
        return _StepDimTol.StepDimTol_GeometricToleranceTarget_ProductDefinitionShape(self, *args)

    def ShapeAspect(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepRepr_ShapeAspect>

        Description
        -----------
        returns Value as a ShapeAspect (Null if another type).

        """
        return _StepDimTol.StepDimTol_GeometricToleranceTarget_ShapeAspect(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeometricToleranceTarget

# Register StepDimTol_GeometricToleranceTarget in _StepDimTol:
_StepDimTol.StepDimTol_GeometricToleranceTarget_swigregister(StepDimTol_GeometricToleranceTarget)
class StepDimTol_RunoutZoneOrientation(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _StepDimTol.StepDimTol_RunoutZoneOrientation_swiginit(self, _StepDimTol.new_StepDimTol_RunoutZoneOrientation(*args))

    def Angle(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepBasic_PlaneAngleMeasureWithUnit>

        Description
        -----------
        Returns field Angle.

        """
        return _StepDimTol.StepDimTol_RunoutZoneOrientation_Angle(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theAngle: StepBasic_PlaneAngleMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Init all field own and inherited.

        """
        return _StepDimTol.StepDimTol_RunoutZoneOrientation_Init(self, *args)

    def SetAngle(self, *args):
        r"""

        Parameters
        ----------
        theAngle: StepBasic_PlaneAngleMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Set field Angle.

        """
        return _StepDimTol.StepDimTol_RunoutZoneOrientation_SetAngle(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_RunoutZoneOrientation_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_RunoutZoneOrientation

# Register StepDimTol_RunoutZoneOrientation in _StepDimTol:
_StepDimTol.StepDimTol_RunoutZoneOrientation_swigregister(StepDimTol_RunoutZoneOrientation)
class StepDimTol_ShapeToleranceSelect(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_ShapeToleranceSelect_swiginit(self, _StepDimTol.new_StepDimTol_ShapeToleranceSelect(*args))

    def GeometricTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_GeometricTolerance>

        Description
        -----------
        Returns Value as GeometricTolerance (or Null if another type).

        """
        return _StepDimTol.StepDimTol_ShapeToleranceSelect_GeometricTolerance(self, *args)

    def PlusMinusTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepShape_PlusMinusTolerance>

        Description
        -----------
        Returns Value as PlusMinusTolerance (or Null if another type).

        """
        return _StepDimTol.StepDimTol_ShapeToleranceSelect_PlusMinusTolerance(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_ShapeToleranceSelect

# Register StepDimTol_ShapeToleranceSelect in _StepDimTol:
_StepDimTol.StepDimTol_ShapeToleranceSelect_swigregister(StepDimTol_ShapeToleranceSelect)
class StepDimTol_SimpleDatumReferenceModifierMember(OCC.Core.StepData.StepData_SelectInt):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _StepDimTol.StepDimTol_SimpleDatumReferenceModifierMember_swiginit(self, _StepDimTol.new_StepDimTol_SimpleDatumReferenceModifierMember(*args))

    def SetName(self, *args):
        r"""

        Parameters
        ----------
        Standard_CString: 

        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_SimpleDatumReferenceModifierMember_SetName(self, *args)

    def SetValue(self, *args):
        r"""

        Parameters
        ----------
        theValue: StepDimTol_SimpleDatumReferenceModifier

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_SimpleDatumReferenceModifierMember_SetValue(self, *args)

    def Value(self, *args):
        r"""
        Return
        -------
        StepDimTol_SimpleDatumReferenceModifier

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_SimpleDatumReferenceModifierMember_Value(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_SimpleDatumReferenceModifierMember_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_SimpleDatumReferenceModifierMember

# Register StepDimTol_SimpleDatumReferenceModifierMember in _StepDimTol:
_StepDimTol.StepDimTol_SimpleDatumReferenceModifierMember_swigregister(StepDimTol_SimpleDatumReferenceModifierMember)
class StepDimTol_ToleranceZone(OCC.Core.StepRepr.StepRepr_ShapeAspect):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_ToleranceZone_swiginit(self, _StepDimTol.new_StepDimTol_ToleranceZone(*args))

    def DefiningTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_HArray1OfToleranceZoneTarget>

        Description
        -----------
        Returns field DefiningTolerance.

        """
        return _StepDimTol.StepDimTol_ToleranceZone_DefiningTolerance(self, *args)

    def DefiningToleranceValue(self, *args):
        r"""

        Parameters
        ----------
        theNum: int

        Return
        -------
        StepDimTol_ToleranceZoneTarget

        Description
        -----------
        Returns Defining Tolerance with the given number.

        """
        return _StepDimTol.StepDimTol_ToleranceZone_DefiningToleranceValue(self, *args)

    def Form(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_ToleranceZoneForm>

        Description
        -----------
        Returns field Form.

        """
        return _StepDimTol.StepDimTol_ToleranceZone_Form(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theOfShape: StepRepr_ProductDefinitionShape
        theProductDefinitional: StepData_Logical
        theDefiningTolerance: StepDimTol_HArray1OfToleranceZoneTarget
        theForm: StepDimTol_ToleranceZoneForm

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_ToleranceZone_Init(self, *args)

    def NbDefiningTolerances(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns number of Defining Tolerances.

        """
        return _StepDimTol.StepDimTol_ToleranceZone_NbDefiningTolerances(self, *args)

    def SetDefiningTolerance(self, *args):
        r"""

        Parameters
        ----------
        theDefiningTolerance: StepDimTol_HArray1OfToleranceZoneTarget

        Return
        -------
        None

        Description
        -----------
        Set field DefiningTolerance.

        """
        return _StepDimTol.StepDimTol_ToleranceZone_SetDefiningTolerance(self, *args)

    def SetDefiningToleranceValue(self, *args):
        r"""

        Parameters
        ----------
        theNum: int
        theItem: StepDimTol_ToleranceZoneTarget

        Return
        -------
        None

        Description
        -----------
        Sets Defining Tolerance with given number.

        """
        return _StepDimTol.StepDimTol_ToleranceZone_SetDefiningToleranceValue(self, *args)

    def SetForm(self, *args):
        r"""

        Parameters
        ----------
        theForm: StepDimTol_ToleranceZoneForm

        Return
        -------
        None

        Description
        -----------
        Set field Form.

        """
        return _StepDimTol.StepDimTol_ToleranceZone_SetForm(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_ToleranceZone_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_ToleranceZone

# Register StepDimTol_ToleranceZone in _StepDimTol:
_StepDimTol.StepDimTol_ToleranceZone_swigregister(StepDimTol_ToleranceZone)
class StepDimTol_ToleranceZoneDefinition(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_ToleranceZoneDefinition_swiginit(self, _StepDimTol.new_StepDimTol_ToleranceZoneDefinition(*args))

    def Boundaries(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepRepr_HArray1OfShapeAspect>

        Description
        -----------
        Returns field Boundaries.

        """
        return _StepDimTol.StepDimTol_ToleranceZoneDefinition_Boundaries(self, *args)

    def BoundariesValue(self, *args):
        r"""

        Parameters
        ----------
        theNum: int

        Return
        -------
        opencascade::handle<StepRepr_ShapeAspect>

        Description
        -----------
        Returns Boundaries with the given number.

        """
        return _StepDimTol.StepDimTol_ToleranceZoneDefinition_BoundariesValue(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theZone: StepDimTol_ToleranceZone
        theBoundaries: StepRepr_HArray1OfShapeAspect

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_ToleranceZoneDefinition_Init(self, *args)

    def NbBoundaries(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns number of Boundaries.

        """
        return _StepDimTol.StepDimTol_ToleranceZoneDefinition_NbBoundaries(self, *args)

    def SetBoundaries(self, *args):
        r"""

        Parameters
        ----------
        theBoundaries: StepRepr_HArray1OfShapeAspect

        Return
        -------
        None

        Description
        -----------
        Set field Boundaries.

        """
        return _StepDimTol.StepDimTol_ToleranceZoneDefinition_SetBoundaries(self, *args)

    def SetBoundariesValue(self, *args):
        r"""

        Parameters
        ----------
        theNum: int
        theItem: StepRepr_ShapeAspect

        Return
        -------
        None

        Description
        -----------
        Sets Boundaries with given number.

        """
        return _StepDimTol.StepDimTol_ToleranceZoneDefinition_SetBoundariesValue(self, *args)

    def SetZone(self, *args):
        r"""

        Parameters
        ----------
        theZone: StepDimTol_ToleranceZone

        Return
        -------
        None

        Description
        -----------
        Set field Zone.

        """
        return _StepDimTol.StepDimTol_ToleranceZoneDefinition_SetZone(self, *args)

    def Zone(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_ToleranceZone>

        Description
        -----------
        Returns field Zone.

        """
        return _StepDimTol.StepDimTol_ToleranceZoneDefinition_Zone(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_ToleranceZoneDefinition_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_ToleranceZoneDefinition

# Register StepDimTol_ToleranceZoneDefinition in _StepDimTol:
_StepDimTol.StepDimTol_ToleranceZoneDefinition_swigregister(StepDimTol_ToleranceZoneDefinition)
class StepDimTol_ToleranceZoneForm(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _StepDimTol.StepDimTol_ToleranceZoneForm_swiginit(self, _StepDimTol.new_StepDimTol_ToleranceZoneForm(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Init all field own and inherited.

        """
        return _StepDimTol.StepDimTol_ToleranceZoneForm_Init(self, *args)

    def Name(self, *args):
        r"""
        Return
        -------
        opencascade::handle<TCollection_HAsciiString>

        Description
        -----------
        Returns field Name.

        """
        return _StepDimTol.StepDimTol_ToleranceZoneForm_Name(self, *args)

    def SetName(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString

        Return
        -------
        None

        Description
        -----------
        Set field Name.

        """
        return _StepDimTol.StepDimTol_ToleranceZoneForm_SetName(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_ToleranceZoneForm_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_ToleranceZoneForm

# Register StepDimTol_ToleranceZoneForm in _StepDimTol:
_StepDimTol.StepDimTol_ToleranceZoneForm_swigregister(StepDimTol_ToleranceZoneForm)
class StepDimTol_ToleranceZoneTarget(OCC.Core.StepData.StepData_SelectType):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Returns a ToleranceZoneTarget select type.

        """
        _StepDimTol.StepDimTol_ToleranceZoneTarget_swiginit(self, _StepDimTol.new_StepDimTol_ToleranceZoneTarget(*args))

    def DimensionalLocation(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepShape_DimensionalLocation>

        Description
        -----------
        returns Value as a DimensionalLocation (Null if another type).

        """
        return _StepDimTol.StepDimTol_ToleranceZoneTarget_DimensionalLocation(self, *args)

    def DimensionalSize(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepShape_DimensionalSize>

        Description
        -----------
        returns Value as a DimensionalSize (Null if another type).

        """
        return _StepDimTol.StepDimTol_ToleranceZoneTarget_DimensionalSize(self, *args)

    def GeneralDatumReference(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_GeneralDatumReference>

        Description
        -----------
        returns Value as a GeneralDatumReference (Null if another type).

        """
        return _StepDimTol.StepDimTol_ToleranceZoneTarget_GeneralDatumReference(self, *args)

    def GeometricTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_GeometricTolerance>

        Description
        -----------
        returns Value as a GeometricTolerance (Null if another type).

        """
        return _StepDimTol.StepDimTol_ToleranceZoneTarget_GeometricTolerance(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_ToleranceZoneTarget

# Register StepDimTol_ToleranceZoneTarget in _StepDimTol:
_StepDimTol.StepDimTol_ToleranceZoneTarget_swigregister(StepDimTol_ToleranceZoneTarget)
class StepDimTol_CylindricityTolerance(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_CylindricityTolerance_swiginit(self, _StepDimTol.new_StepDimTol_CylindricityTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_CylindricityTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_CylindricityTolerance

# Register StepDimTol_CylindricityTolerance in _StepDimTol:
_StepDimTol.StepDimTol_CylindricityTolerance_swigregister(StepDimTol_CylindricityTolerance)
class StepDimTol_DatumReferenceCompartment(StepDimTol_GeneralDatumReference):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_DatumReferenceCompartment_swiginit(self, _StepDimTol.new_StepDimTol_DatumReferenceCompartment(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_DatumReferenceCompartment_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_DatumReferenceCompartment

# Register StepDimTol_DatumReferenceCompartment in _StepDimTol:
_StepDimTol.StepDimTol_DatumReferenceCompartment_swigregister(StepDimTol_DatumReferenceCompartment)
class StepDimTol_DatumReferenceElement(StepDimTol_GeneralDatumReference):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_DatumReferenceElement_swiginit(self, _StepDimTol.new_StepDimTol_DatumReferenceElement(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_DatumReferenceElement_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_DatumReferenceElement

# Register StepDimTol_DatumReferenceElement in _StepDimTol:
_StepDimTol.StepDimTol_DatumReferenceElement_swigregister(StepDimTol_DatumReferenceElement)
class StepDimTol_FlatnessTolerance(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_FlatnessTolerance_swiginit(self, _StepDimTol.new_StepDimTol_FlatnessTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_FlatnessTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_FlatnessTolerance

# Register StepDimTol_FlatnessTolerance in _StepDimTol:
_StepDimTol.StepDimTol_FlatnessTolerance_swigregister(StepDimTol_FlatnessTolerance)
class StepDimTol_GeoTolAndGeoTolWthDatRef(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRef_swiginit(self, _StepDimTol.new_StepDimTol_GeoTolAndGeoTolWthDatRef(*args))

    def GetGeometricToleranceWithDatumReference(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_GeometricToleranceWithDatumReference>

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRef_GetGeometricToleranceWithDatumReference(self, *args)

    def GetToleranceType(self, *args):
        r"""
        Return
        -------
        StepDimTol_GeometricToleranceType

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRef_GetToleranceType(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepRepr_ShapeAspect
        theGTWDR: StepDimTol_GeometricToleranceWithDatumReference
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aMagnitude: StepBasic_MeasureWithUnit
        aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        aGTWDR: StepDimTol_GeometricToleranceWithDatumReference
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRef_Init(self, *args)

    def SetGeometricToleranceType(self, *args):
        r"""

        Parameters
        ----------
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRef_SetGeometricToleranceType(self, *args)

    def SetGeometricToleranceWithDatumReference(self, *args):
        r"""

        Parameters
        ----------
        theGTWDR: StepDimTol_GeometricToleranceWithDatumReference

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRef_SetGeometricToleranceWithDatumReference(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeoTolAndGeoTolWthDatRef_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeoTolAndGeoTolWthDatRef

# Register StepDimTol_GeoTolAndGeoTolWthDatRef in _StepDimTol:
_StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRef_swigregister(StepDimTol_GeoTolAndGeoTolWthDatRef)
class StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_swiginit(self, _StepDimTol.new_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod(*args))

    def GetGeometricToleranceWithDatumReference(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_GeometricToleranceWithDatumReference>

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_GetGeometricToleranceWithDatumReference(self, *args)

    def GetGeometricToleranceWithModifiers(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_GeometricToleranceWithModifiers>

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_GetGeometricToleranceWithModifiers(self, *args)

    def GetToleranceType(self, *args):
        r"""
        Return
        -------
        StepDimTol_GeometricToleranceType

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_GetToleranceType(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepRepr_ShapeAspect
        theGTWDR: StepDimTol_GeometricToleranceWithDatumReference
        theGTWM: StepDimTol_GeometricToleranceWithModifiers
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aMagnitude: StepBasic_MeasureWithUnit
        aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        aGTWDR: StepDimTol_GeometricToleranceWithDatumReference
        aGTWM: StepDimTol_GeometricToleranceWithModifiers
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_Init(self, *args)

    def SetGeometricToleranceType(self, *args):
        r"""

        Parameters
        ----------
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_SetGeometricToleranceType(self, *args)

    def SetGeometricToleranceWithDatumReference(self, *args):
        r"""

        Parameters
        ----------
        theGTWDR: StepDimTol_GeometricToleranceWithDatumReference

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_SetGeometricToleranceWithDatumReference(self, *args)

    def SetGeometricToleranceWithModifiers(self, *args):
        r"""

        Parameters
        ----------
        theGTWM: StepDimTol_GeometricToleranceWithModifiers

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_SetGeometricToleranceWithModifiers(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod

# Register StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod in _StepDimTol:
_StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod_swigregister(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod)
class StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_swiginit(self, _StepDimTol.new_StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol(*args))

    def GetGeometricToleranceWithDatumReference(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_GeometricToleranceWithDatumReference>

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_GetGeometricToleranceWithDatumReference(self, *args)

    def GetModifiedGeometricTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_ModifiedGeometricTolerance>

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_GetModifiedGeometricTolerance(self, *args)

    def GetPositionTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_PositionTolerance>

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_GetPositionTolerance(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aMagnitude: StepBasic_MeasureWithUnit
        aTolerancedShapeAspect: StepRepr_ShapeAspect
        aGTWDR: StepDimTol_GeometricToleranceWithDatumReference
        aMGT: StepDimTol_ModifiedGeometricTolerance

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aMagnitude: StepBasic_MeasureWithUnit
        aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        aGTWDR: StepDimTol_GeometricToleranceWithDatumReference
        aMGT: StepDimTol_ModifiedGeometricTolerance

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_Init(self, *args)

    def SetGeometricToleranceWithDatumReference(self, *args):
        r"""

        Parameters
        ----------
        aGTWDR: StepDimTol_GeometricToleranceWithDatumReference

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_SetGeometricToleranceWithDatumReference(self, *args)

    def SetModifiedGeometricTolerance(self, *args):
        r"""

        Parameters
        ----------
        aMGT: StepDimTol_ModifiedGeometricTolerance

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_SetModifiedGeometricTolerance(self, *args)

    def SetPositionTolerance(self, *args):
        r"""

        Parameters
        ----------
        aPT: StepDimTol_PositionTolerance

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_SetPositionTolerance(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol

# Register StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol in _StepDimTol:
_StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol_swigregister(StepDimTol_GeoTolAndGeoTolWthDatRefAndModGeoTolAndPosTol)
class StepDimTol_GeoTolAndGeoTolWthMod(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _StepDimTol.StepDimTol_GeoTolAndGeoTolWthMod_swiginit(self, _StepDimTol.new_StepDimTol_GeoTolAndGeoTolWthMod(*args))

    def GetGeometricToleranceWithModifiers(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_GeometricToleranceWithModifiers>

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthMod_GetGeometricToleranceWithModifiers(self, *args)

    def GetToleranceType(self, *args):
        r"""
        Return
        -------
        StepDimTol_GeometricToleranceType

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthMod_GetToleranceType(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepRepr_ShapeAspect
        theGTWM: StepDimTol_GeometricToleranceWithModifiers
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aMagnitude: StepBasic_MeasureWithUnit
        aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        aGTWM: StepDimTol_GeometricToleranceWithModifiers
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthMod_Init(self, *args)

    def SetGeometricToleranceType(self, *args):
        r"""

        Parameters
        ----------
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthMod_SetGeometricToleranceType(self, *args)

    def SetGeometricToleranceWithModifiers(self, *args):
        r"""

        Parameters
        ----------
        theGTWM: StepDimTol_GeometricToleranceWithModifiers

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthMod_SetGeometricToleranceWithModifiers(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeoTolAndGeoTolWthMod_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeoTolAndGeoTolWthMod

# Register StepDimTol_GeoTolAndGeoTolWthMod in _StepDimTol:
_StepDimTol.StepDimTol_GeoTolAndGeoTolWthMod_swigregister(StepDimTol_GeoTolAndGeoTolWthMod)
class StepDimTol_GeometricToleranceWithDatumReference(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_GeometricToleranceWithDatumReference_swiginit(self, _StepDimTol.new_StepDimTol_GeometricToleranceWithDatumReference(*args))

    def DatumSystem(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_HArray1OfDatumReference>

        Description
        -----------
        Returns field DatumSystem AP214.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDatumReference_DatumSystem(self, *args)

    def DatumSystemAP242(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_HArray1OfDatumSystemOrReference>

        Description
        -----------
        Returns field DatumSystem AP242.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDatumReference_DatumSystemAP242(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theGeometricTolerance_Name: TCollection_HAsciiString
        theGeometricTolerance_Description: TCollection_HAsciiString
        theGeometricTolerance_Magnitude: StepBasic_MeasureWithUnit
        theGeometricTolerance_TolerancedShapeAspect: StepRepr_ShapeAspect
        theDatumSystem: StepDimTol_HArray1OfDatumReference

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited) AP214.

        Parameters
        ----------
        theGeometricTolerance_Name: TCollection_HAsciiString
        theGeometricTolerance_Description: TCollection_HAsciiString
        theGeometricTolerance_Magnitude: StepBasic_MeasureWithUnit
        theGeometricTolerance_TolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        theDatumSystem: StepDimTol_HArray1OfDatumSystemOrReference

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited) AP242.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDatumReference_Init(self, *args)

    def SetDatumSystem(self, *args):
        r"""

        Parameters
        ----------
        theDatumSystem: StepDimTol_HArray1OfDatumReference

        Return
        -------
        None

        Description
        -----------
        Set field DatumSystem AP214.

        Parameters
        ----------
        theDatumSystem: StepDimTol_HArray1OfDatumSystemOrReference

        Return
        -------
        None

        Description
        -----------
        Set field DatumSystem AP242.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDatumReference_SetDatumSystem(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeometricToleranceWithDatumReference_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeometricToleranceWithDatumReference

# Register StepDimTol_GeometricToleranceWithDatumReference in _StepDimTol:
_StepDimTol.StepDimTol_GeometricToleranceWithDatumReference_swigregister(StepDimTol_GeometricToleranceWithDatumReference)
class StepDimTol_GeometricToleranceWithDefinedUnit(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_GeometricToleranceWithDefinedUnit_swiginit(self, _StepDimTol.new_StepDimTol_GeometricToleranceWithDefinedUnit(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepRepr_ShapeAspect
        theUnitSize: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited) AP214.

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        theUnitSize: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited) AP242.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDefinedUnit_Init(self, *args)

    def SetUnitSize(self, *args):
        r"""

        Parameters
        ----------
        theUnitSize: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Set field UnitSize.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDefinedUnit_SetUnitSize(self, *args)

    def UnitSize(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepBasic_LengthMeasureWithUnit>

        Description
        -----------
        Returns field UnitSize.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDefinedUnit_UnitSize(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeometricToleranceWithDefinedUnit_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeometricToleranceWithDefinedUnit

# Register StepDimTol_GeometricToleranceWithDefinedUnit in _StepDimTol:
_StepDimTol.StepDimTol_GeometricToleranceWithDefinedUnit_swigregister(StepDimTol_GeometricToleranceWithDefinedUnit)
class StepDimTol_GeometricToleranceWithModifiers(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_GeometricToleranceWithModifiers_swiginit(self, _StepDimTol.new_StepDimTol_GeometricToleranceWithModifiers(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        theModifiers: StepDimTol_HArray1OfGeometricToleranceModifier

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithModifiers_Init(self, *args)

    def ModifierValue(self, *args):
        r"""

        Parameters
        ----------
        theNum: int

        Return
        -------
        StepDimTol_GeometricToleranceModifier

        Description
        -----------
        Returns modifier with the given number.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithModifiers_ModifierValue(self, *args)

    def Modifiers(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_HArray1OfGeometricToleranceModifier>

        Description
        -----------
        Returns field Modifiers.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithModifiers_Modifiers(self, *args)

    def NbModifiers(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Returns number of modifiers.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithModifiers_NbModifiers(self, *args)

    def SetModifierValue(self, *args):
        r"""

        Parameters
        ----------
        theNum: int
        theItem: StepDimTol_GeometricToleranceModifier

        Return
        -------
        None

        Description
        -----------
        Sets modifier with given number.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithModifiers_SetModifierValue(self, *args)

    def SetModifiers(self, *args):
        r"""

        Parameters
        ----------
        theModifiers: StepDimTol_HArray1OfGeometricToleranceModifier

        Return
        -------
        None

        Description
        -----------
        Set field Modifiers.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithModifiers_SetModifiers(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeometricToleranceWithModifiers_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeometricToleranceWithModifiers

# Register StepDimTol_GeometricToleranceWithModifiers in _StepDimTol:
_StepDimTol.StepDimTol_GeometricToleranceWithModifiers_swigregister(StepDimTol_GeometricToleranceWithModifiers)
class StepDimTol_LineProfileTolerance(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_LineProfileTolerance_swiginit(self, _StepDimTol.new_StepDimTol_LineProfileTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_LineProfileTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_LineProfileTolerance

# Register StepDimTol_LineProfileTolerance in _StepDimTol:
_StepDimTol.StepDimTol_LineProfileTolerance_swigregister(StepDimTol_LineProfileTolerance)
class StepDimTol_ModifiedGeometricTolerance(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_ModifiedGeometricTolerance_swiginit(self, _StepDimTol.new_StepDimTol_ModifiedGeometricTolerance(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theGeometricTolerance_Name: TCollection_HAsciiString
        theGeometricTolerance_Description: TCollection_HAsciiString
        theGeometricTolerance_Magnitude: StepBasic_MeasureWithUnit
        theGeometricTolerance_TolerancedShapeAspect: StepRepr_ShapeAspect
        theModifier: StepDimTol_LimitCondition

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited) AP214.

        Parameters
        ----------
        theGeometricTolerance_Name: TCollection_HAsciiString
        theGeometricTolerance_Description: TCollection_HAsciiString
        theGeometricTolerance_Magnitude: StepBasic_MeasureWithUnit
        theGeometricTolerance_TolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        theModifier: StepDimTol_LimitCondition

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited) AP242.

        """
        return _StepDimTol.StepDimTol_ModifiedGeometricTolerance_Init(self, *args)

    def Modifier(self, *args):
        r"""
        Return
        -------
        StepDimTol_LimitCondition

        Description
        -----------
        Returns field Modifier.

        """
        return _StepDimTol.StepDimTol_ModifiedGeometricTolerance_Modifier(self, *args)

    def SetModifier(self, *args):
        r"""

        Parameters
        ----------
        theModifier: StepDimTol_LimitCondition

        Return
        -------
        None

        Description
        -----------
        Set field Modifier.

        """
        return _StepDimTol.StepDimTol_ModifiedGeometricTolerance_SetModifier(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_ModifiedGeometricTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_ModifiedGeometricTolerance

# Register StepDimTol_ModifiedGeometricTolerance in _StepDimTol:
_StepDimTol.StepDimTol_ModifiedGeometricTolerance_swigregister(StepDimTol_ModifiedGeometricTolerance)
class StepDimTol_NonUniformZoneDefinition(StepDimTol_ToleranceZoneDefinition):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_NonUniformZoneDefinition_swiginit(self, _StepDimTol.new_StepDimTol_NonUniformZoneDefinition(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_NonUniformZoneDefinition_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_NonUniformZoneDefinition

# Register StepDimTol_NonUniformZoneDefinition in _StepDimTol:
_StepDimTol.StepDimTol_NonUniformZoneDefinition_swigregister(StepDimTol_NonUniformZoneDefinition)
class StepDimTol_PlacedDatumTargetFeature(StepDimTol_DatumTarget):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_PlacedDatumTargetFeature_swiginit(self, _StepDimTol.new_StepDimTol_PlacedDatumTargetFeature(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_PlacedDatumTargetFeature_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_PlacedDatumTargetFeature

# Register StepDimTol_PlacedDatumTargetFeature in _StepDimTol:
_StepDimTol.StepDimTol_PlacedDatumTargetFeature_swigregister(StepDimTol_PlacedDatumTargetFeature)
class StepDimTol_PositionTolerance(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_PositionTolerance_swiginit(self, _StepDimTol.new_StepDimTol_PositionTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_PositionTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_PositionTolerance

# Register StepDimTol_PositionTolerance in _StepDimTol:
_StepDimTol.StepDimTol_PositionTolerance_swigregister(StepDimTol_PositionTolerance)
class StepDimTol_ProjectedZoneDefinition(StepDimTol_ToleranceZoneDefinition):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_ProjectedZoneDefinition_swiginit(self, _StepDimTol.new_StepDimTol_ProjectedZoneDefinition(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theZone: StepDimTol_ToleranceZone
        theBoundaries: StepRepr_HArray1OfShapeAspect
        theProjectionEnd: StepRepr_ShapeAspect
        theProjectionLength: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_ProjectedZoneDefinition_Init(self, *args)

    def ProjectionEnd(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepRepr_ShapeAspect>

        Description
        -----------
        Returns field ProjectionEnd.

        """
        return _StepDimTol.StepDimTol_ProjectedZoneDefinition_ProjectionEnd(self, *args)

    def ProjectionLength(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepBasic_LengthMeasureWithUnit>

        Description
        -----------
        Returns field ProjectionLength.

        """
        return _StepDimTol.StepDimTol_ProjectedZoneDefinition_ProjectionLength(self, *args)

    def SetProjectionEnd(self, *args):
        r"""

        Parameters
        ----------
        theProjectionEnd: StepRepr_ShapeAspect

        Return
        -------
        None

        Description
        -----------
        Set field ProjectionEnd.

        """
        return _StepDimTol.StepDimTol_ProjectedZoneDefinition_SetProjectionEnd(self, *args)

    def SetProjectionLength(self, *args):
        r"""

        Parameters
        ----------
        theProjectionLength: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Set field ProjectionLength.

        """
        return _StepDimTol.StepDimTol_ProjectedZoneDefinition_SetProjectionLength(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_ProjectedZoneDefinition_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_ProjectedZoneDefinition

# Register StepDimTol_ProjectedZoneDefinition in _StepDimTol:
_StepDimTol.StepDimTol_ProjectedZoneDefinition_swigregister(StepDimTol_ProjectedZoneDefinition)
class StepDimTol_RoundnessTolerance(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_RoundnessTolerance_swiginit(self, _StepDimTol.new_StepDimTol_RoundnessTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_RoundnessTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_RoundnessTolerance

# Register StepDimTol_RoundnessTolerance in _StepDimTol:
_StepDimTol.StepDimTol_RoundnessTolerance_swigregister(StepDimTol_RoundnessTolerance)
class StepDimTol_RunoutZoneDefinition(StepDimTol_ToleranceZoneDefinition):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_RunoutZoneDefinition_swiginit(self, _StepDimTol.new_StepDimTol_RunoutZoneDefinition(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theZone: StepDimTol_ToleranceZone
        theBoundaries: StepRepr_HArray1OfShapeAspect
        theOrientation: StepDimTol_RunoutZoneOrientation

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_RunoutZoneDefinition_Init(self, *args)

    def Orientation(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_RunoutZoneOrientation>

        Description
        -----------
        Returns field Orientation.

        """
        return _StepDimTol.StepDimTol_RunoutZoneDefinition_Orientation(self, *args)

    def SetOrientation(self, *args):
        r"""

        Parameters
        ----------
        theOrientation: StepDimTol_RunoutZoneOrientation

        Return
        -------
        None

        Description
        -----------
        Set field Orientation.

        """
        return _StepDimTol.StepDimTol_RunoutZoneDefinition_SetOrientation(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_RunoutZoneDefinition_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_RunoutZoneDefinition

# Register StepDimTol_RunoutZoneDefinition in _StepDimTol:
_StepDimTol.StepDimTol_RunoutZoneDefinition_swigregister(StepDimTol_RunoutZoneDefinition)
class StepDimTol_StraightnessTolerance(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_StraightnessTolerance_swiginit(self, _StepDimTol.new_StepDimTol_StraightnessTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_StraightnessTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_StraightnessTolerance

# Register StepDimTol_StraightnessTolerance in _StepDimTol:
_StepDimTol.StepDimTol_StraightnessTolerance_swigregister(StepDimTol_StraightnessTolerance)
class StepDimTol_SurfaceProfileTolerance(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_SurfaceProfileTolerance_swiginit(self, _StepDimTol.new_StepDimTol_SurfaceProfileTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_SurfaceProfileTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_SurfaceProfileTolerance

# Register StepDimTol_SurfaceProfileTolerance in _StepDimTol:
_StepDimTol.StepDimTol_SurfaceProfileTolerance_swigregister(StepDimTol_SurfaceProfileTolerance)
class StepDimTol_UnequallyDisposedGeometricTolerance(StepDimTol_GeometricTolerance):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_UnequallyDisposedGeometricTolerance_swiginit(self, _StepDimTol.new_StepDimTol_UnequallyDisposedGeometricTolerance(*args))

    def Displacement(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepBasic_LengthMeasureWithUnit>

        Description
        -----------
        Returns field Displacement.

        """
        return _StepDimTol.StepDimTol_UnequallyDisposedGeometricTolerance_Displacement(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        theDisplacement: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_UnequallyDisposedGeometricTolerance_Init(self, *args)

    def SetDisplacement(self, *args):
        r"""

        Parameters
        ----------
        theDisplacement: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Set field Displacement.

        """
        return _StepDimTol.StepDimTol_UnequallyDisposedGeometricTolerance_SetDisplacement(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_UnequallyDisposedGeometricTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_UnequallyDisposedGeometricTolerance

# Register StepDimTol_UnequallyDisposedGeometricTolerance in _StepDimTol:
_StepDimTol.StepDimTol_UnequallyDisposedGeometricTolerance_swigregister(StepDimTol_UnequallyDisposedGeometricTolerance)
class StepDimTol_AngularityTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_AngularityTolerance_swiginit(self, _StepDimTol.new_StepDimTol_AngularityTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_AngularityTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_AngularityTolerance

# Register StepDimTol_AngularityTolerance in _StepDimTol:
_StepDimTol.StepDimTol_AngularityTolerance_swigregister(StepDimTol_AngularityTolerance)
class StepDimTol_CircularRunoutTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_CircularRunoutTolerance_swiginit(self, _StepDimTol.new_StepDimTol_CircularRunoutTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_CircularRunoutTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_CircularRunoutTolerance

# Register StepDimTol_CircularRunoutTolerance in _StepDimTol:
_StepDimTol.StepDimTol_CircularRunoutTolerance_swigregister(StepDimTol_CircularRunoutTolerance)
class StepDimTol_CoaxialityTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_CoaxialityTolerance_swiginit(self, _StepDimTol.new_StepDimTol_CoaxialityTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_CoaxialityTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_CoaxialityTolerance

# Register StepDimTol_CoaxialityTolerance in _StepDimTol:
_StepDimTol.StepDimTol_CoaxialityTolerance_swigregister(StepDimTol_CoaxialityTolerance)
class StepDimTol_ConcentricityTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_ConcentricityTolerance_swiginit(self, _StepDimTol.new_StepDimTol_ConcentricityTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_ConcentricityTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_ConcentricityTolerance

# Register StepDimTol_ConcentricityTolerance in _StepDimTol:
_StepDimTol.StepDimTol_ConcentricityTolerance_swigregister(StepDimTol_ConcentricityTolerance)
class StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMod):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_swiginit(self, _StepDimTol.new_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol(*args))

    def GetMaxTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepBasic_LengthMeasureWithUnit>

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_GetMaxTolerance(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepRepr_ShapeAspect
        theGTWDR: StepDimTol_GeometricToleranceWithDatumReference
        theGTWM: StepDimTol_GeometricToleranceWithModifiers
        theMaxTol: StepBasic_LengthMeasureWithUnit
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aMagnitude: StepBasic_MeasureWithUnit
        aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        aGTWDR: StepDimTol_GeometricToleranceWithDatumReference
        aGTWM: StepDimTol_GeometricToleranceWithModifiers
        theMaxTol: StepBasic_LengthMeasureWithUnit
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_Init(self, *args)

    def SetMaxTolerance(self, *args):
        r"""

        Parameters
        ----------
        theMaxTol: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_SetMaxTolerance(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol

# Register StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol in _StepDimTol:
_StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol_swigregister(StepDimTol_GeoTolAndGeoTolWthDatRefAndGeoTolWthMaxTol)
class StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol(StepDimTol_GeoTolAndGeoTolWthDatRef):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_swiginit(self, _StepDimTol.new_StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol(*args))

    def GetUnequallyDisposedGeometricTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepDimTol_UnequallyDisposedGeometricTolerance>

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_GetUnequallyDisposedGeometricTolerance(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepRepr_ShapeAspect
        theGTWDR: StepDimTol_GeometricToleranceWithDatumReference
        theType: StepDimTol_GeometricToleranceType
        theUDGT: StepDimTol_UnequallyDisposedGeometricTolerance

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aMagnitude: StepBasic_MeasureWithUnit
        aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        aGTWDR: StepDimTol_GeometricToleranceWithDatumReference
        theType: StepDimTol_GeometricToleranceType
        theUDGT: StepDimTol_UnequallyDisposedGeometricTolerance

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_Init(self, *args)

    def SetUnequallyDisposedGeometricTolerance(self, *args):
        r"""

        Parameters
        ----------
        theUDGT: StepDimTol_UnequallyDisposedGeometricTolerance

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_SetUnequallyDisposedGeometricTolerance(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol

# Register StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol in _StepDimTol:
_StepDimTol.StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol_swigregister(StepDimTol_GeoTolAndGeoTolWthDatRefAndUneqDisGeoTol)
class StepDimTol_GeoTolAndGeoTolWthMaxTol(StepDimTol_GeoTolAndGeoTolWthMod):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        _StepDimTol.StepDimTol_GeoTolAndGeoTolWthMaxTol_swiginit(self, _StepDimTol.new_StepDimTol_GeoTolAndGeoTolWthMaxTol(*args))

    def GetMaxTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepBasic_LengthMeasureWithUnit>

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthMaxTol_GetMaxTolerance(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepRepr_ShapeAspect
        theGTWM: StepDimTol_GeometricToleranceWithModifiers
        theMaxTol: StepBasic_LengthMeasureWithUnit
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        aName: TCollection_HAsciiString
        aDescription: TCollection_HAsciiString
        aMagnitude: StepBasic_MeasureWithUnit
        aTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        aGTWM: StepDimTol_GeometricToleranceWithModifiers
        theMaxTol: StepBasic_LengthMeasureWithUnit
        theType: StepDimTol_GeometricToleranceType

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthMaxTol_Init(self, *args)

    def SetMaxTolerance(self, *args):
        r"""

        Parameters
        ----------
        theMaxTol: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        """
        return _StepDimTol.StepDimTol_GeoTolAndGeoTolWthMaxTol_SetMaxTolerance(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeoTolAndGeoTolWthMaxTol_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeoTolAndGeoTolWthMaxTol

# Register StepDimTol_GeoTolAndGeoTolWthMaxTol in _StepDimTol:
_StepDimTol.StepDimTol_GeoTolAndGeoTolWthMaxTol_swigregister(StepDimTol_GeoTolAndGeoTolWthMaxTol)
class StepDimTol_GeometricToleranceWithDefinedAreaUnit(StepDimTol_GeometricToleranceWithDefinedUnit):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_GeometricToleranceWithDefinedAreaUnit_swiginit(self, _StepDimTol.new_StepDimTol_GeometricToleranceWithDefinedAreaUnit(*args))

    def AreaType(self, *args):
        r"""
        Return
        -------
        StepDimTol_AreaUnitType

        Description
        -----------
        Returns field AreaType.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDefinedAreaUnit_AreaType(self, *args)

    def HasSecondUnitSize(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Indicates if SecondUnitSize field exist.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDefinedAreaUnit_HasSecondUnitSize(self, *args)

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        theUnitSize: StepBasic_LengthMeasureWithUnit
        theAreaType: StepDimTol_AreaUnitType
        theHasSecondUnitSize: bool
        theSecondUnitSize: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDefinedAreaUnit_Init(self, *args)

    def SecondUnitSize(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepBasic_LengthMeasureWithUnit>

        Description
        -----------
        Returns field SecondUnitSize.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDefinedAreaUnit_SecondUnitSize(self, *args)

    def SetAreaType(self, *args):
        r"""

        Parameters
        ----------
        theAreaType: StepDimTol_AreaUnitType

        Return
        -------
        None

        Description
        -----------
        Set field AreaType.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDefinedAreaUnit_SetAreaType(self, *args)

    def SetSecondUnitSize(self, *args):
        r"""

        Parameters
        ----------
        theSecondUnitSize: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Set field SecondUnitSize.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithDefinedAreaUnit_SetSecondUnitSize(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeometricToleranceWithDefinedAreaUnit_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeometricToleranceWithDefinedAreaUnit

# Register StepDimTol_GeometricToleranceWithDefinedAreaUnit in _StepDimTol:
_StepDimTol.StepDimTol_GeometricToleranceWithDefinedAreaUnit_swigregister(StepDimTol_GeometricToleranceWithDefinedAreaUnit)
class StepDimTol_GeometricToleranceWithMaximumTolerance(StepDimTol_GeometricToleranceWithModifiers):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_GeometricToleranceWithMaximumTolerance_swiginit(self, _StepDimTol.new_StepDimTol_GeometricToleranceWithMaximumTolerance(*args))

    def Init(self, *args):
        r"""

        Parameters
        ----------
        theName: TCollection_HAsciiString
        theDescription: TCollection_HAsciiString
        theMagnitude: StepBasic_MeasureWithUnit
        theTolerancedShapeAspect: StepDimTol_GeometricToleranceTarget
        theModifiers: StepDimTol_HArray1OfGeometricToleranceModifier
        theUnitSize: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Initialize all fields (own and inherited).

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithMaximumTolerance_Init(self, *args)

    def MaximumUpperTolerance(self, *args):
        r"""
        Return
        -------
        opencascade::handle<StepBasic_LengthMeasureWithUnit>

        Description
        -----------
        Returns field MaximumUpperTolerance.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithMaximumTolerance_MaximumUpperTolerance(self, *args)

    def SetMaximumUpperTolerance(self, *args):
        r"""

        Parameters
        ----------
        theMaximumUpperTolerance: StepBasic_LengthMeasureWithUnit

        Return
        -------
        None

        Description
        -----------
        Set field MaximumUpperTolerance.

        """
        return _StepDimTol.StepDimTol_GeometricToleranceWithMaximumTolerance_SetMaximumUpperTolerance(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_GeometricToleranceWithMaximumTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_GeometricToleranceWithMaximumTolerance

# Register StepDimTol_GeometricToleranceWithMaximumTolerance in _StepDimTol:
_StepDimTol.StepDimTol_GeometricToleranceWithMaximumTolerance_swigregister(StepDimTol_GeometricToleranceWithMaximumTolerance)
class StepDimTol_ParallelismTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_ParallelismTolerance_swiginit(self, _StepDimTol.new_StepDimTol_ParallelismTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_ParallelismTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_ParallelismTolerance

# Register StepDimTol_ParallelismTolerance in _StepDimTol:
_StepDimTol.StepDimTol_ParallelismTolerance_swigregister(StepDimTol_ParallelismTolerance)
class StepDimTol_PerpendicularityTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_PerpendicularityTolerance_swiginit(self, _StepDimTol.new_StepDimTol_PerpendicularityTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_PerpendicularityTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_PerpendicularityTolerance

# Register StepDimTol_PerpendicularityTolerance in _StepDimTol:
_StepDimTol.StepDimTol_PerpendicularityTolerance_swigregister(StepDimTol_PerpendicularityTolerance)
class StepDimTol_SymmetryTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_SymmetryTolerance_swiginit(self, _StepDimTol.new_StepDimTol_SymmetryTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_SymmetryTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_SymmetryTolerance

# Register StepDimTol_SymmetryTolerance in _StepDimTol:
_StepDimTol.StepDimTol_SymmetryTolerance_swigregister(StepDimTol_SymmetryTolerance)
class StepDimTol_TotalRunoutTolerance(StepDimTol_GeometricToleranceWithDatumReference):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Empty constructor.

        """
        _StepDimTol.StepDimTol_TotalRunoutTolerance_swiginit(self, _StepDimTol.new_StepDimTol_TotalRunoutTolerance(*args))


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_TotalRunoutTolerance_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_TotalRunoutTolerance

# Register StepDimTol_TotalRunoutTolerance in _StepDimTol:
_StepDimTol.StepDimTol_TotalRunoutTolerance_swigregister(StepDimTol_TotalRunoutTolerance)
class StepDimTol_HArray1OfDatumReference(StepDimTol_Array1OfDatumReference, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _StepDimTol.StepDimTol_HArray1OfDatumReference_swiginit(self, _StepDimTol.new_StepDimTol_HArray1OfDatumReference(*args))

    def Array1(self):
        return _StepDimTol.StepDimTol_HArray1OfDatumReference_Array1(self)

    def ChangeArray1(self):
        return _StepDimTol.StepDimTol_HArray1OfDatumReference_ChangeArray1(self)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_HArray1OfDatumReference_DownCast(t)

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_HArray1OfDatumReference

# Register StepDimTol_HArray1OfDatumReference in _StepDimTol:
_StepDimTol.StepDimTol_HArray1OfDatumReference_swigregister(StepDimTol_HArray1OfDatumReference)
class StepDimTol_HArray1OfDatumReferenceCompartment(StepDimTol_Array1OfDatumReferenceCompartment, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _StepDimTol.StepDimTol_HArray1OfDatumReferenceCompartment_swiginit(self, _StepDimTol.new_StepDimTol_HArray1OfDatumReferenceCompartment(*args))

    def Array1(self):
        return _StepDimTol.StepDimTol_HArray1OfDatumReferenceCompartment_Array1(self)

    def ChangeArray1(self):
        return _StepDimTol.StepDimTol_HArray1OfDatumReferenceCompartment_ChangeArray1(self)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_HArray1OfDatumReferenceCompartment_DownCast(t)

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_HArray1OfDatumReferenceCompartment

# Register StepDimTol_HArray1OfDatumReferenceCompartment in _StepDimTol:
_StepDimTol.StepDimTol_HArray1OfDatumReferenceCompartment_swigregister(StepDimTol_HArray1OfDatumReferenceCompartment)
class StepDimTol_HArray1OfDatumReferenceElement(StepDimTol_Array1OfDatumReferenceElement, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _StepDimTol.StepDimTol_HArray1OfDatumReferenceElement_swiginit(self, _StepDimTol.new_StepDimTol_HArray1OfDatumReferenceElement(*args))

    def Array1(self):
        return _StepDimTol.StepDimTol_HArray1OfDatumReferenceElement_Array1(self)

    def ChangeArray1(self):
        return _StepDimTol.StepDimTol_HArray1OfDatumReferenceElement_ChangeArray1(self)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_HArray1OfDatumReferenceElement_DownCast(t)

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_HArray1OfDatumReferenceElement

# Register StepDimTol_HArray1OfDatumReferenceElement in _StepDimTol:
_StepDimTol.StepDimTol_HArray1OfDatumReferenceElement_swigregister(StepDimTol_HArray1OfDatumReferenceElement)
class StepDimTol_HArray1OfDatumReferenceModifier(StepDimTol_Array1OfDatumReferenceModifier, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _StepDimTol.StepDimTol_HArray1OfDatumReferenceModifier_swiginit(self, _StepDimTol.new_StepDimTol_HArray1OfDatumReferenceModifier(*args))

    def Array1(self):
        return _StepDimTol.StepDimTol_HArray1OfDatumReferenceModifier_Array1(self)

    def ChangeArray1(self):
        return _StepDimTol.StepDimTol_HArray1OfDatumReferenceModifier_ChangeArray1(self)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_HArray1OfDatumReferenceModifier_DownCast(t)

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_HArray1OfDatumReferenceModifier

# Register StepDimTol_HArray1OfDatumReferenceModifier in _StepDimTol:
_StepDimTol.StepDimTol_HArray1OfDatumReferenceModifier_swigregister(StepDimTol_HArray1OfDatumReferenceModifier)
class StepDimTol_HArray1OfDatumSystemOrReference(StepDimTol_Array1OfDatumSystemOrReference, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _StepDimTol.StepDimTol_HArray1OfDatumSystemOrReference_swiginit(self, _StepDimTol.new_StepDimTol_HArray1OfDatumSystemOrReference(*args))

    def Array1(self):
        return _StepDimTol.StepDimTol_HArray1OfDatumSystemOrReference_Array1(self)

    def ChangeArray1(self):
        return _StepDimTol.StepDimTol_HArray1OfDatumSystemOrReference_ChangeArray1(self)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_HArray1OfDatumSystemOrReference_DownCast(t)

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_HArray1OfDatumSystemOrReference

# Register StepDimTol_HArray1OfDatumSystemOrReference in _StepDimTol:
_StepDimTol.StepDimTol_HArray1OfDatumSystemOrReference_swigregister(StepDimTol_HArray1OfDatumSystemOrReference)
class StepDimTol_HArray1OfGeometricToleranceModifier(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _StepDimTol.StepDimTol_HArray1OfGeometricToleranceModifier_swiginit(self, _StepDimTol.new_StepDimTol_HArray1OfGeometricToleranceModifier(*args))

    def Array1(self):
        return _StepDimTol.StepDimTol_HArray1OfGeometricToleranceModifier_Array1(self)

    def ChangeArray1(self):
        return _StepDimTol.StepDimTol_HArray1OfGeometricToleranceModifier_ChangeArray1(self)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_HArray1OfGeometricToleranceModifier_DownCast(t)

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_HArray1OfGeometricToleranceModifier

# Register StepDimTol_HArray1OfGeometricToleranceModifier in _StepDimTol:
_StepDimTol.StepDimTol_HArray1OfGeometricToleranceModifier_swigregister(StepDimTol_HArray1OfGeometricToleranceModifier)
class StepDimTol_HArray1OfToleranceZoneTarget(StepDimTol_Array1OfToleranceZoneTarget, OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _StepDimTol.StepDimTol_HArray1OfToleranceZoneTarget_swiginit(self, _StepDimTol.new_StepDimTol_HArray1OfToleranceZoneTarget(*args))

    def Array1(self):
        return _StepDimTol.StepDimTol_HArray1OfToleranceZoneTarget_Array1(self)

    def ChangeArray1(self):
        return _StepDimTol.StepDimTol_HArray1OfToleranceZoneTarget_ChangeArray1(self)


    @staticmethod
    def DownCast(t):
      return Handle_StepDimTol_HArray1OfToleranceZoneTarget_DownCast(t)

    __swig_destroy__ = _StepDimTol.delete_StepDimTol_HArray1OfToleranceZoneTarget

# Register StepDimTol_HArray1OfToleranceZoneTarget in _StepDimTol:
_StepDimTol.StepDimTol_HArray1OfToleranceZoneTarget_swigregister(StepDimTol_HArray1OfToleranceZoneTarget)



