These functions were moved from DraftTools and DraftGui
to individual modules precisely to make them easy to import.
Otherwise we have to import the entire DraftTools and DraftGui
modules which creates dependency problems when we want to use
some functions without the graphical interface.
Previously windows attached to walls were not hidden or shown when the
visibility of the wall changed. This commit searches for all windows
that are based on the wall and hides or unhides them.
https://forum.freecadweb.org/viewtopic.php?f=23&t=34166
fixes 3833
* The import code will manually set 2x3 attributes
* The import code will rely on "smart" attributes for ifc 4
* ArchSite and ArchBuildingPart now support IFC
* IfcSite lat/lon is left alone until I better understand how coords work
This allows us to support more than one ifc version. The 2X3 jsons cannot be autogenerated and have been manually written based on the hardcoded values in the old codebase.
* IfcAttributes as a name is misleading, as currently it stores GUID (yes, an attribute), but also stores IFC export settings (i.e. not an IFC "attribute", per say)
* The previous description of "Custom IFC properties ..." is also misleading, as properties might suggest it stores property sets, which it doesn't (IfcProperties does, currently)
* IfcData is more generic and allows us to store more data in it in the future