L
by liccle_em on 17 Oct 2022, edited 20 Oct 2022
#
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?
M
by Moult on 17 Oct 2022
#
+1 votes
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
M
by Martin156131 on 17 Oct 2022
#
a stupid question here: how do i browse to a document, after i clicked the triangle symbol:

i have the newest release from BlenderBIM
L
by liccle_em on 17 Oct 2022
#
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 =)
M
by Moult on 17 Oct 2022
#
@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.
M
by Martin156131 on 17 Oct 2022
#
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

M
by Moult on 17 Oct 2022
#
Indeed that's the workflow. Clearly, it's far too many clicks and not slick enough, but at least the functionality exists for now.
M
by Martin156131 on 17 Oct 2022
#
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 /)?
L
by liccle_em on 17 Oct 2022
#
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.
M
by Martin156131 on 17 Oct 2022
#
Mhh, strange. i used the latest Blender 3.3.1 and the latest BlenderBIM from here https://github.com/IfcOpenShell/IfcOpenShell/releases

M
by Moult on 17 Oct 2022
#
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.
L
by liccle_em on 17 Oct 2022
#
I am using 2x3. I'll test it using 4.
M
by Moult on 19 Oct 2022
#
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 :)
L
by liccle_em on 19 Oct 2022
#
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?
M
by Moult on 20 Oct 2022
#
+1 votes
@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.