What causes "Document::recompute(): Wall007 still touched after recompute"
Forum rules
and Helpful information
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help
Also, be nice to others! Read the FreeCAD code of conduct!
Also, be nice to others! Read the FreeCAD code of conduct!
What causes "Document::recompute(): Wall007 still touched after recompute"
In the report view, I am seeing the following error.
Document::recompute(): Wall007 still touched after recompute
What does it mean?
I searched the forums and could not find any explanation.
-David
Document::recompute(): Wall007 still touched after recompute
What does it mean?
I searched the forums and could not find any explanation.
-David
Re: What causes "Document::recompute(): Wall007 still touched after recompute"
It means that something went wrong when recomputing. Please verify that you have checked all boxes in Preferences->General->OutputWindow. Do you see any other hint? If not please upload the file for further inspection.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: What causes "Document::recompute(): Wall007 still touched after recompute"
What version of FreeCAD are you using?
With some (now pretty old) 0.18 dev Vetsions of FreeCAD this happened when you had cloned windows inside a wall. But this problem should be fixed already. But maybe it is still a problem in 0.17.
Or do you have TechDraw pages with Arch section views in your document? I had this also when the TechDraw Pages where recomputed. But a second recompute of the whole document fixed the problem every time it occured.
Forgot to report this and had no time yet to look into this any further.
With some (now pretty old) 0.18 dev Vetsions of FreeCAD this happened when you had cloned windows inside a wall. But this problem should be fixed already. But maybe it is still a problem in 0.17.
Or do you have TechDraw pages with Arch section views in your document? I had this also when the TechDraw Pages where recomputed. But a second recompute of the whole document fixed the problem every time it occured.
Forgot to report this and had no time yet to look into this any further.
- wandererfan
- Veteran
- Posts: 6320
- Joined: Tue Nov 06, 2012 5:42 pm
- Contact:
Re: What causes "Document::recompute(): Wall007 still touched after recompute"
The state "touched" means (roughly) that a DocumentObject has been changed and needs to be "recomputed". This is the "feature recompute".
When DocumentObject A is changed, that change cascades through the chain of DocumentObjects that are linked in some way to Document A. The cascade of changes (feature recomputes) is the "document recompute".
At the end of the document recompute, all of the DocumentObjects should be "untouched" - ie no pending changes. It can happen that something is changed during the cascade that leaves a DocumentObject in the "touched" state.
The message means that at the end of the cascade Wall007 is still touched, so the model has not changed as much as it should have.
This is a programming issue. Sometimes you can get around it by manually forcing another document recompute.
Re: What causes "Document::recompute(): Wall007 still touched after recompute"
Read the answer from wandererfan, I think it's the best one.
Also, this isn't an "error"; as far as I can tell, it's a "warning", meaning it's not a critical issue. I've had this message appear many times with Arch Windows and other objects, but really, I don't notice a problem at all; in most cases the only thing you need to do is to recompute the document, and everything will be fine.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
Re: What causes "Document::recompute(): Wall007 still touched after recompute"
Thanks for the responses.
Re: What causes "Document::recompute(): Wall007 still touched after recompute"
When running the unit tests then sometimes you can see this warning too when doing the Spreadsheet tests. I have analysed the concrete test that causes the warning:
The test testPrecedence() creates three objects: a spreadsheet, a cylinder and a pipe. The spreadsheet contains some expressions using the cylinder and pipe.
Now before the first recompute none of the objects has any connections to the other objects so the order of recompute is totally random. So, it can happen that the spreadsheet is recomputed as very first.
Now when the spreadsheet is being executed it runs the expressions and this way it adds a reference to the other objects to itself and the spreadsheet will be added to the in-list of the other two objects.
After the recompute of the cylinder and pipe they touch the objects of their in-list -- the spreadsheet.
For any subsequent recompute the warning won't appear any more because due to the dependency the spreadsheet will be computed as very last.
The test testPrecedence() creates three objects: a spreadsheet, a cylinder and a pipe. The spreadsheet contains some expressions using the cylinder and pipe.
Now before the first recompute none of the objects has any connections to the other objects so the order of recompute is totally random. So, it can happen that the spreadsheet is recomputed as very first.
Now when the spreadsheet is being executed it runs the expressions and this way it adds a reference to the other objects to itself and the spreadsheet will be added to the in-list of the other two objects.
After the recompute of the cylinder and pipe they touch the objects of their in-list -- the spreadsheet.
For any subsequent recompute the warning won't appear any more because due to the dependency the spreadsheet will be computed as very last.
Re: What causes "Document::recompute(): Wall007 still touched after recompute"
Same problem as the original post has. Cant figure out why it comes up. Tried to recompute objects but no help.
- Attachments
-
- Capture warning.PNG (97.63 KiB) Viewed 3293 times
Re: What causes "Document::recompute(): Wall007 still touched after recompute"
Maybe you post the model file and give more information about the step to reproduce so people can have a better look
Look luck.
Look luck.
Re: What causes "Document::recompute(): Wall007 still touched after recompute"
For some reason it didnt let me to upload file, maybe it was too large. But I can explain what happened. I tried to make panels on large door. I messed something up and my door moved out from the wall and panels shoot other way. then somehow I had made like 5 copies of the large door. Then this error occured. Tried to recompute all objects but didnt work. Finally I deleted door object and kept only sketch of the door. Then I got rid of the error.
I think when I managed to move the door out of its original place then this error occured.