diff --git a/freecad/asm3/assembly.py b/freecad/asm3/assembly.py index 5e762ee..b08d416 100644 --- a/freecad/asm3/assembly.py +++ b/freecad/asm3/assembly.py @@ -3573,6 +3573,8 @@ class Assembly(AsmGroup): @classmethod def doAutoSolve(cls): + if not cls._PendingSolve: + return canSolve = cls.canAutoSolve() if cls._Busy or not canSolve: cls._PendingSolve = canSolve diff --git a/freecad/asm3/solver.py b/freecad/asm3/solver.py index 06a07ec..0683178 100644 --- a/freecad/asm3/solver.py +++ b/freecad/asm3/solver.py @@ -349,7 +349,7 @@ def _solve(objs=None,recursive=None,reportFailed=False, assemblies.append(obj) if not assemblies: - logger.info('no assembly found') + logger.info('no assembly found', frame=1) return True if recursive: