Ifcopenshell: [BlenderBIM] Owner History

Created on 4 Jun 2020  路  12Comments  路  Source: IfcOpenShell/IfcOpenShell

Unclear how to (impossible to?) define people or organizations.

Screen Shot 2020-06-04 at 10 43 17

BlenderBIM

Most helpful comment

Closing bug - new UI is done, and export system now reads from the Blender data instead of the JSON.

A neat little side effect of this is now the system supports exporting IFCs with _no_ people / organisation data, and in fact no owner history data either, which is totally valid.

This also paves the way to be able to import owner history, and assign ownership to individual objects :)

All 12 comments

Currently in Blender add-ons dir, blenderbim/bim/data/owner/ in JSON.

No UI designed yet. Would you like to try?

Looking at doing a pull request for some minor UI stuff now.

If that works I'll get more creative.

Just a heads up that the UI terminology is designed to reflect the ISO standard terminology ;)

Also to note. I changed the organisation.json and put in my own details but then I got an error.
File "/home/cccplex/.config/blender/2.83/scripts/addons/blenderbim/bim/export_ifc.py", line 1238, in create_owner_history developer_organisation = [o for o in self.ifc_parser.organisations if o['ifc'].Name == 'IfcOpenShell'][0]['ifc'] IndexError: list index out of range
So you have to append your own details to that file and keep ifcOpenShell for the developer_organisation attribute.

Ah yeah, at the moment, IfcOpenShell is hardcoded as the developer organisation. I guess that's the correct approach?

From a user perspective I would say, add another property (and json file) for the developer organisation.

Other possible strategies:

  • Detect computer system local username from the OS layer ... for example using the home directory name on unix-likes, but allowing an override
  • Include a local user setting within some sort of configuration dialog
  • Combine the above, so that a reasonable default is autodetected.

@cccplex to clarify, you can append to the organisation.json to include your own organisation, and then select it in the UI, but you cannot remove the "IfcOpenShell" one, since that one is hardcoded to be the "developer organisation". The "developer organisation" is used to defined the authoring IfcApplication, which should always be developed by IfcOpenShell. I can't quite see in what scenario a user might want to redefine the application's organisation.

@globalcitizen I'll make some time today to build a basic UI, and perhaps include some auto-detection of username in there.

Fundamentally, if we are going for reasonable ease of use, editing files should not be required.

There is a concern about re-inventing version control though ... so many commercial systems do that badly.

Maybe a zoom-out view of overall workflow could be considered, such that owner data could be pulled from git history (etc).

Remember also that CI/CD functionality is one area that open source shines over commercial, and this has HUGE possible implications for osarch projects (imagine a graph of estimated project cost, estimated build time, embodied energy, thermal efficacy, footprint, water-flow properties, government or regulatory ruleset compliance, etc.) which was auto-generated based upon git commits by a CI/CD system.

This is less about the issue subject (owner history) though, so should probably be spun out somewhere else for a bigger discussion.

Agree that re-inventing VCS is a bad idea. I believe that the owner details in IFC stem from legislation requiring certain metadata to be tied to the model. I'm not a lawyer, so although from a technical perspective I see it much more desirable to link to to a VCS and scrap all of it, I don't know what it means legally.

It is on the roadmap to tie model / IFC management better to Git (for now, and other VCSes in the future) in the add-on. But yes, kind of off-topic for this bug.

How about making this an export option instead? Would that make more sense?

Closing bug - new UI is done, and export system now reads from the Blender data instead of the JSON.

A neat little side effect of this is now the system supports exporting IFCs with _no_ people / organisation data, and in fact no owner history data either, which is totally valid.

This also paves the way to be able to import owner history, and assign ownership to individual objects :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

theoryshaw picture theoryshaw  路  5Comments

aahoo picture aahoo  路  9Comments

Moult picture Moult  路  8Comments

yorikvanhavre picture yorikvanhavre  路  13Comments

Moult picture Moult  路  11Comments