def nLabelStr2IntTuple(nLabelStr):
    """converts an legal nodeList string to a to a tuple consists of integer 
    labels of those nodes
    
        nLabelStr: a string of Abaqus nodeList 
        format of nodeList is same as the one used to create nodal path in 
        Abaqus visualization
        return: a tuple of integer
        example: '1,3:7:2,10:8:-1' will be converted to (1,3,5,7,10,9,8)
    """
    resList = []
    nLists = [nSeg.strip() for nSeg in nLabelStr.split(',')]
    for nSeg in nLists:
        if ':' in nSeg:
            if nSeg.count(':') == 1:
                start, end = [int(x) for x in nSeg.split(':')]
                nTempList = range(start, end+1)
            else:
                start, end, inc = [int(x) for x in nSeg.split(':')]
                if inc < 0:
                    end -= 1
                nTempList = range(start, end, inc)
        else:
            nTempList = [int(nSeg)]
        resList += nTempList
    return tuple(resList)