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.material , ifcopenshell.util.qto (do automagic calculations?) and ifcopenshell.util.pset , etc etc

  • get_material(element)
  • get_unit_scale() - stuff related to SI and imperial unit conversions and all that
  • convert_unit()
  • 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
  • calculate_volume/area/length()?
  • convert_true_north_angle()?
  • fetch_epsg()?
  • dd2dms() and dms2dd() definitely
  • local_to_global(coordinate)?
  • 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



Sign In or Register to comment.