Sharing code between FreeCAD and BlenderBIM
As first proposed by @bernd over at the FreeCAD forums, I think it's a great idea to share code between FreeCAD and BlenderBIM. I'm posting to start the discussion off with a very simple draft proposal of a new set of utility classes and functions which will be part of IfcOpenShell, which we can then use.
Here's a few ideas off the top of my head just to get started (definitely full of holes!), we can then organise them into classes (perhaps
ifcopenshell.util.qto (do automagic calculations?) and
ifcopenshell.util.pset , etc etc
- get_unit_scale() - stuff related to SI and imperial unit conversions and all that
- get_property() - note this needs to handle not just simple properties but complex list and tabular properties too - also qto can be merged into this since buildingSMART is planning to merge them anyway for IFC5
- dd2dms() and dms2dd() definitely
- map_class(element) - e.g. mapping between IFC classes and uniclass, omniclass, AIA CAD layers ...
In addition, various utilities can be shared:
- IFC diffing
- IFC COBie
- IFC CSV spreadsheet export
- IFC recycling / garbage collector
- Ifc Patching