def check_force_length_constraints(force, tol=0.01, printout=False):
    """Checks whether target length constraints applied to the force diagrams are respected, i.e. are below the tolerance criteria.

    Parameters
    ----------
    force: compas_ags.diagrams.ForceDiagram
        The force diagram to check deviations.
    tol: float, optional
        Stopping criteria tolerance for angle deviations.
        The default value is ``0.01``.
    printout: boll, optional
        Whether or not print intermediate messages.
        The default value is ``False``.

    Returns
    -------
    checked : bool
        Return whether of not the diagram passes the check with no deviations greater than the tolerance.

    """
    checked = True

    for u, v in force.edges():
        target_constraint = force.edge_attribute((u, v), 'target_length')
        if target_constraint:
            length = force.edge_length(u, v)
            diff = abs(length - target_constraint)
            if diff > tol:
                checked = False
                break

    if printout:
        if not checked:
            print('> Equilibrium Check | Constraints violate tolerance:', tol)

    return checked