View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0004592||Arch||Bug||public||2021-03-09 19:10||2021-05-22 14:58|
|Summary||0004592: [Arch] "Move With Host" property of Arch windows does not work in FC 0.19|
|Description||In FC 0.19 when I move a Arch Wall with a nested Arch Door or Window, these elements do not move with the arch wall.|
As default, "Move With Host" property of windows is setup to "True", but it does not work.
This bug is a regression, because the feature "Move with Host" works normally in FC 0.18.4 for arch windows nested in arch walls.
This bug/regression has been mentioned several times in the forum:
|Steps To Reproduce||In FC0.19|
-Open Arch Module
-Create an Arch Wall
-Select the wall and place an Arch window in it. (The property "Move With Host" of the window should be True).
-Select the wall and change or move its position. The wall moves, but the window doesn't.
Same steps in FC 0.18.4 make the wall and windows move simultaneously, as expected.
|FreeCAD Information||OS: Windows 10 (10.0)|
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.24267 (Git)
Build type: Release
Python version: 3.8.8
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: English/United States (en_US)
I suspect that the relevant bit of code is `get_movable_children()`. Looking there, it seems to iterate over the OutList of the wall looking for children with "MoveWithHost" set, but that seems wrong to me. Any objects that have the wall set in their "Hosts" property, will (AFAIU) appear in the InList of the wall, not the OutList?
I quickly tried this patch:
Which seems to work to fix this problem. However, it also breaks the copy tool (gives src/App/Expression.cpp:3109: App::ExpressionParser::ExpressionImporter::ExpressionImporter(Base::XMLReader&): Assertion `!_Reader' failed.)
Also, looking at the git history, it seems that this has been OutList since it was first introduced in 2014 ( FreeCAD master cb5a8079 ), so this is probably not the right fix.
So I guess the window is supposed to be in the wall's outlist? Should it be in the Additions property? That is what commit FreeCAD master cb5a8079 suggests. But if it is in the wall's outlist and the wall is in the window's outlist, then there would be a cycle?
Hm, I guess I do not quite understand yet how all this is supposed to work...
||See https://forum.freecadweb.org/viewtopic.php?f=23&t=57223 for a lot more detailed investigation about MoveWithHost and its current problems. The above suggested fix certainly is not the right approach :-)|
|2021-03-09 19:10||bitacovir||New Issue|
|2021-03-09 19:10||bitacovir||Tag Attached: 0.19|
|2021-03-09 19:10||bitacovir||Tag Attached: Arch|
|2021-03-09 19:12||bitacovir||Steps to Reproduce Updated|
|2021-03-31 19:23||matthijskooijman||Note Added: 0015589|
|2021-04-01 16:56||Kunda1||Note Edited: 0015589|
|2021-04-01 16:57||Kunda1||Note Edited: 0015589|
|2021-04-01 16:58||Kunda1||Note Edited: 0015589|
|2021-05-22 14:58||matthijskooijman||Note Added: 0015673|