def isR3Array(v, N=None):
    """Check if v is an array of size(N,3), a R3Vector or a list of pg.Pos.

    Examples
    --------
    >>> import pygimli as pg
    >>> print(pg.isR3Array([[0.0, 0.0, 1.], [1.0, 0.0, 1.]]))
    True
    >>> print(pg.isR3Array(np.ones((33, 3)), N=33))
    True
    >>> print(pg.isR3Array(pg.meshtools.createGrid(2,2).positions()))
    True
    """
    if N is None:
        return isinstance(v, R3Vector) or \
               (    isinstance(v, list) and isPos(v[0])) or \
               (not isinstance(v, list) and hasattr(v, '__iter__') and \
                not isinstance(v, (str)) and v.ndim == 2 and isPos(v[0]))
    return isR3Array(v) and len(v) == N