[BlenderBIM] IfcDocumentInformation
Hello, I'm testing BlenderBIM with regards to adding IfcDocumentInformation to objects. I have managed to add documents globally so that they export associated to IfcProject however there seems to be no way of applying them to other objects, even in the Object Properties tab which just says 'No Documents'.
Am I missing something?
Comments
The UI for documents is likely pretty minimal, given that I've mostly managed documents via code, so any suggestions on improving the UX would be greatly welcome.
IfcDocumentInformation is not assigned to objects, however IfcDocumentReferences are. In the Object Properties > IFC Misc > IFC Documents panel, click "Assign Document References", click the triangle to browse to a reference within a document, then the plus icon to assign.
I can't recall when this UI was redesigned this way, so if you're using an old version (i.e. the stable release) it might be a good idea to switch to the unstable release: https://blenderbim.org/docs/devs/installation.html#unstable-installation
a stupid question here: how do i browse to a document, after i clicked the triangle symbol:
i have the newest release from BlenderBIM
I've installed the latest unstable release and it's no different. There is no plus sign to assign the ones which have been added at a scene level. If I then go back to the scene properties and try and delete the document it throws up an error.
Happy to provide feedback on the UX =)
@Martin156131 you're in the object properties, you'll need to add some documents to your project first via Scene Properties > IFC Project Setup > IFC Documents. Then you should be able to see them.
@liccle_em Did you click the triangle to the left of the document entry to go to its references? Only once you have a reference selected, the plus sign should show. What error showed up? I just tested documentation deletion without issues but there could be bugs around. Alternatively we can also screenshare if you find that easier but that'd need to be tomorrow as it's midnight here.
Thanks @Moult
so my workflow:
click download sign
click plus sign
click pencil
click folder button and add a document
change name
click save button
click triangle
click plus sign
click x sign
there is now a document assigned to a object
Indeed that's the workflow. Clearly, it's far too many clicks and not slick enough, but at least the functionality exists for now.
Is it possible to get saved the relative path to the document in the ifc file IFCDOCUMENTINFORMATION?
How do we get OS agnostic path (windows is with \ and mac & gnu/linux with /)?
Hmmm...
I noticed in Martins he has Location, I don't have that.
I've checked and I am using today's build
Let me reinstall Blender and see what happens.
Mhh, strange. i used the latest Blender 3.3.1 and the latest BlenderBIM from here https://github.com/IfcOpenShell/IfcOpenShell/releases
Ah she's probably on IFC2X3. I'll look deeper in the morning. IFC2X3 is usually given second priority for these aspects of the schema.
I am using 2x3. I'll test it using 4.
Fixed support for IFC2X3: https://github.com/IfcOpenShell/IfcOpenShell/commit/16b05d9981d490823d2fe4acbd80e1ba674b7606
The big difference in IFC2X3 is that the document information has no location, only the reference has a location (hence why you did not see a location field originally). Also, IFC2X3 does not denote that this location is a URI, only an IfcLabel, so at the moment the BlenderBIM Add-on displays it as a regular text field and doesn't give you the file browse dialog like in IFC4's URI data types. This makes for a pretty poor user experience.
If this is important to you, if you could help by suggesting workflows and UI upgrades, that would save the time having to design them and I can help implement until the experience is smooth :)
Hi Dion, thank you for looking at this. Yeah, the penny dropped when I remembered IfcDocumentInformation.Location wasn't part of IFC2x3. Happy to provide you some feedback, I'm currently writing a paper on the document side so I might have some ideas come out of that. Just so you know I did manage to export an IFC with the documentation metadata - It's amazing to actually be able to utilise other parts of the schema! Thank you!
I did have one question, why can IfcDocumentInformation be directly associated to IfcProject (through IfcRelAssociatesDoc) yet any other object the association is driven through IfcDocumentReference first?
@liccle_em yeah this is a slightly ambiguous part of the IFC specification, I originally asked the question to bSI last year: https://forums.buildingsmart.org/t/proposal-to-simplify-document-association/3508
In short, in theory the spec allows you to associate objects to document information. However, that's just based on the data type. If I read what's written in the docs, the intention seems to be similar to how other external references are handled (e.g. IfcClassification is associated to the project, then objects are associated to IfcClassificationReference). This behaviour of the "thing" (doc info, classification, library, etc) at the project level and the "reference" (doc ref, class ref, lib ref) at the object level makes it internally consistent within IFC.