Python 3 is fussy about match of data type for a file open or write. Python 2 does not seem to care if a string is written with a 'wb' indicating a binary type, but Python 3 flags it as an error.
The ArchSectionPlane has a built in SVG Cache. But the door symbols and
a few other things are not inside the cache. This things not inside the
cache rely on the presence of a cutface. But this cutface was only built
when the cache is not available.
So the First invocation after the cache was cleared added the symbols.
The next invocations of the method, with a cached SVG did not calculate
the symbols again, because the cutfaces where missing.
This commit fixes it by calculating the cutfaces independent from the
cache.
Reported in https://forum.freecadweb.org/viewtopic.php?f=3&t=33987
To allow successful Collada Export for Py3 and Py2, tested import of DAE file with colours from Blender to ensure no regression on the import side. Note: I had to download Pycollada to enable testing in Conda build.
* 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
Crowdin currently has an issue where typo strings that have been fixed in the FC source haven't been permeating in to the Crowdin UI. This maybe do to discrepency between lupdate and crowdin. This PR experiments with removing a few lingering obsolete translations in the main .ts file of the Arch and Path WBs. If this works then a follow-up PR will be made to remove all the rest of the obsolete strings.