Building part movement/rotation / documentation observations

A forum dedicated to the Draft, Arch and BIM workbenches development.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
hko
Posts: 96
Joined: Thu Apr 23, 2020 10:44 pm

Building part movement/rotation / documentation observations

Post by hko »

Building part wiki page says: "When a BuildingPart is moved/rotated, all its children that either have no Data Move With Host property, or have it turned on, will move/rotate together."

I created a wall based on a draft rectangle (corner at (0m,0m,0m) and both width and height 1m) and placed it in a building part. I observed the following things:
  • If I change the Placement / Angle of the building part, nothing happens. Can it be rotated somehow as the wiki implies?
  • If I set wall's "Move With Host" to true and "Move Base" to true, and then set building part's Placement / Position / x to 1m, the wall moves to x=1m. The base rectangle does not move, so "Move Base" is not respected.
  • Side note: I suspect I'd always want base objects to be moved, also in case of objects that have neither "Move With Host" nor "Move Base" properties.
  • If I set wall's Placement / Position / x to an expression "1m - 0.2m" the wall moves to x=0.8m. If I then set wall's "Move With Host" to true and building part's Placement / Position / x to 1m, nothing happens. In other words, only children whose position is not determined by an expression move together with the building part.
I think it would also be a good idea to say that building part is such a container object that when moved, actually changes children's placements as a one-time operation. So it's very different from, say, Std Part which effectively gives you a local coordinate system whose global placement can be changed and children's placements (also when calculated with an expression) are relative to that. Both the wiki and Yorik's blog describe the building part as a sort of do-it-all BIM container but I think users should carefully consider this aspect.

My tests were done with:
OS: Ubuntu 20.04.3 LTS (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.20.24436 (Git)
Build type: Debug
Branch: master
Hash: bf527ba5ed9cbde0813e702c2f3793fb55f5be7c
Python version: 3.8.10
Qt version: 5.12.8
Coin version: 4.0.0
OCC version: 7.3.0
Locale: English/United States (en_US)
Post Reply