Balancing UI Integration

Firstly, I would like to express my appreciation for the recent efforts to enhance Blender's UI. The improvements made in such a short time are commendable. However, as an experienced Blender user, I have noticed an aspect of the BBim add-on's integration that bugs me a little. While BBim offers significant functionality, I believe its current approach of disrupting some of the default blender menus deviates from the standard layout of most other add-ons.

Acknowledging the complexity of BBim's features, finding suitable homes for them is undoubtedly a challenge. Nonetheless, ensuring a clear distinction between core Blender and BBim functionality is essential. Users should readily identify which elements belong to the add-on and which are inherent to Blender.

At this point, I may be voicing my own preference, so I am genuinely curious about what other users think.

One suggestion that comes to mind is to create a dedicated window for BBim. Like Sverchok has a dedicated nodes window, BBim could have a dedicated 3D Viewport. By doing so, there could be an effective segregation, and I believe, provide more opportunities for a logical, and less cramped layout that would be more user-friendly.

Tagged:

Comments

  • I don't think there is a "standard" Blender add-on layout. Some add 3D side panels (e.g. 3D-print), some add import / export buttons, some add new nodes (Sverchok), and some add things in the properties panels.

    The key thing here is that the BlenderBIM Add-on is unlike almost any other add-on. We use IFC as a native format: and users not realising this and thinking its an import / export / something else is actually one of our biggest source of bugs. I think it's a good thing to disrupt the File -> New / Open simply because the add-on actually does disrupt the format completely! Have you got another solution?

    Another big difference is that we have nearly 1,000 operators due to the sheer scope of what we're dealing with. I can't imagine any other add-on that comes close (e.g. everything else in Blender combined adds up to ~2200 operators). This means that there's a lot of UI which comes with it. The initial approach was to mix the BBIM UI with the Blender UI, which although was OK at the beginning when there were a few panels here and there, has now outlived its usefulness.

    Users should readily identify which elements belong to the add-on and which are inherent to Blender.

    Completely agree, and this is exactly why things are now all converging into their dedicated tabs within the Scene properties instead of being spread out in various locations and making it ambiguous as to what is Blender and what is BBIM.

    That said, I'm not sure what value there would be in a new 3D viewport panel (if it were possible). It's not like nodes where you can provide your own set of nodes ... it'd just be another 3D view, wouldn't it? We already provide our own "BIM" workspace, if that's what you're after?

    CGRduarteframos
  • Sorry, you are right there is no "standard" Blender add-on layout. I guess I was just thinking about the add-ons I use that have the clearest UI.

    Thanks for highlighting the unique problems that BBim is trying to solve. I guess I am in the category of dummies who don't get why BlenderBIM doesn't save a blend file, and export to IFC (the name and add-on type seems to suggest it should).

    Regarding another solution, I definitely don't have one. But, as I have exposed above, when I started learning BBim it was not clear to me if I was meant to save both a blend and an ifc file. I also recall being disappointed when I only saved an IFC file and lost my other blender stuff (like sun, world settings, cameras, and grass particles). While the new layout somewhat consolidates the location, by showing both I am still given the impression that blend files and ifc files should somehow work together. Maybe I just need to look around to see how others manage dual BIM and archviz workflows.

    Regarding the dedicated 3D view, my naive thought was BBim could control which 3D side panels were visible, and what those side panels contained. It would also be nice to have a BBim top menu bar within a dedicated 3D view that is more intuitive for those coming from other BIM authoring software platforms. If possible, it might help in finding homes for the 1,000 operators while also distinguishing between what is BlenderBIM from core Blender.

  • The confusion of Blender data vs IFC data is something we really need to improve upon, perhaps with your help as you understand how things work you can help suggest how to better communicate how it works.

    IFC is a different data model to Blender. The BlenderBIM Add-on works with IFC as its native data model, not Blender. So imagine you are no longer using Blender at all... you are using an entirely new BIM app that loads and saves IFCs. This means that if you use a Blender only feature, such as a metaball, modifiers, particles, etc, none of that will be stored in the IFC. And vice versa, if you use IFC features such as cost schedules, types, properties, etc and you happen to save a .blend, none of that will be stored in the .blend. So you're using the "Blender interface" but not the Blender data.

    It's not practical to import and export to IFC as they are so different. You'd need to map IFC data to Blender data and this is simply not practical. Even if you did map them, the mapping process would be so convoluted and the export / import process would take 100 times longer (e.g. in Revit exporting to IFC you're often having to wait several hours for large projects).

    For beginners, it is recommended to never save and load .blend files. Only save and load IFC and only use IFC features. That's the reason you see an open / save IFC instead of an import / export IFC ... because we actually are opening and saving IFCs :)

    More advanced users can use .blend alongside a .ifc, where the .blend holds a snapshot of .ifc data and they save both simultaneously. This workflow is theoretically possible (e.g. @theoryshaw does this) but not stable unless you know what you're cooking with. Work has been made to accommodate the areas where Blender data excels at where IFC performs poorly (e.g. high res meshes, material shaders, reference images as planes, arbitrary perspective cameras, etc) but this is alas a work in progress (but progressing quickly!). This duality is mostly useful for viz usecases as you mention.

    Regarding the dedicated 3D view, my naive thought was BBim could control which 3D side panels were visible, and what those side panels contained.

    This is a workspace, not a 3D view. We already provide a custom workspace, which gives you an outliner on the left and a properties panel on the right, and removes other panels like the animation timeline which is generally irrelevant for most BIM usecases. You can see you are using the "BIM" workspace in the top tab list.

    It would also be nice to have a BBim top menu bar within a dedicated 3D view that is more intuitive for those coming from other BIM authoring software platforms.

    You mean like a ribbon as discussed in the other thread?

    If possible, it might help in finding homes for the 1,000 operators while also distinguishing between what is BlenderBIM from core Blender.

    I think this is now solved with the new tabbed UI. Everything BBIM will consolidate in those tabs, and the tabs gives us flexibility to categorise the 1000 operators in our own way (e.g. specific to AEC) instead of the way Blender organises their tabs.

    timOle_Marius_Svendsen
  • Thanks for the detailed reply. I think I understand more about the native IFC data benefits now. I'll also look into theoryshaw's projects to see how he goes about it.

    This is a workspace, not a 3D view. We already provide a custom workspace, which gives you an outliner on the left and a properties panel on the right, and removes other panels like the animation timeline which is generally irrelevant for most BIM usecases. You can see you are using the "BIM" workspace in the top tab list.

    I am not really a fan of BBim changing my workspace every time I open or create a new IFC project. Workspaces should be user-customizable, and not reset by an addon operation. How can I turn that off?

    You mean like a ribbon as discussed in the other thread?

    Maybe, I am not sure which thread you mean, it wasn't really what theoryshaw had linked above. I was meaning something like this

    But, never mind, probably a dumb idea.

    I think this is now solved with the new tabbed UI. Everything BBIM will consolidate in those tabs, and the tabs gives us flexibility to categorise the 1000 operators in our own way (e.g. specific to AEC) instead of the way Blender organises their tabs.

    If you say so. The layout is a vast improvement, but I'm not sure why it's in the Properties -> Scene and not in the BlenderBIM side tab. The UI doesn't say this is the BlenderBIM section, the heading of that section is Scene.

  • How can I turn that off?

    You can turn it off in the add-on preferences called "Should setup workspace layout for BIM". Also note that it only switches your workspace, it doesn't change or remove any of your existing / custom workspaces, so you can still use it alongside usercustomisable workspaces.

    I am not sure which thread you mean

    https://community.osarch.org/discussion/comment/16591/#Comment_16591

    But, never mind, probably a dumb idea.

    No dumb ideas! :) What do you think we should put in that menu area?

    but I'm not sure why it's in the Properties -> Scene and not in the BlenderBIM side tab

    Slowly I wish to remove the BlenderBIM 3D view side tab and move it all in to the scene properties. This is simply due to a technical limitation of Blender. If I could customise Blender fully I'd create my own tab (instead of cheating and overriding the Scene tab).

    The reasons are:

    1. The 3D view side tab only works in a 3D view. This means if you want to split your screen to show multiple different types of BIM panels (e.g. properties and costing and FM side by side) you then need 3 times the 3D view which is computationally very expensive.
    2. The 3D view side tab is intended for 3D operations, whereas a huge amount of the Blender data is unrelated to geometry or 3D. I don't think it makes sense to show a list of suppliers / manufacturers there for example.
    3. In terms of usability, the side tab is hidden by default and when first expanded is noticably thinner (this makes a difference when displaying a lot of the data we need to display, like properties, or especially nested cost and work schedules). We cannot programmatically control the tab visibility or width.
    4. Another less major performance reason is that draw calls occur when the user interacts with the panel or mousemove events over the panel. The overlapping panel increases the chance of unnecessary draw calls (and our UIs are significantly more complex and we do a lot to minimise unnecessary computation).
    tim
  • A couple things you might be interested in:

  • edited July 2023

    Regarding one of the points highlighted in the first post, I think in general addons should never prepend items to menus, because blender users rely on muscle-eye memory, so adding items at the start of a menu disrupts it. For example the fluent addons does this, and I have trouble using it because it makes my workflow slower, I lose a split second every time I do an action because I am lost when I open a menu.

    However in the case of the BlenderBIM addon I think it's a good idea to always remind the user they're using a major overhaul of Blender. They should be aware they have to use the software differently, and that there are implications to having it enabled even if they don't use it. Most Blender addon's don't have side effects when they're enabled but not used, apart from adding a few custom properties to their objects which can bloat the file size a little bit. We have seen a few bug reports because addons like BlenderGIS and BlenderBIM were enabled together for example, most likely because they modify a shared resource. IMO having the BlenderBIM addon enabled but not used to work on an ifc file should be discouraged, and I think the current implementation is a good way to ensure that.

    Moulttim
  • it's a good idea to always remind the user they're using a major overhaul of Blender

    Totally agree, just wanted to stress this point. The BlenderBIM Add-on (despite the innocuous name) is more than an add-on: it is a complete overhaul of how Blender operates so fundamentally that pressing Ctrl-S to save or Shift-D to duplicate is actually overridden. When you enable the BlenderBIM Add-on, that's because you are consciously now using Blender as a BIM tool. It's not just "a few more functions here and there in the background".

    GorgioustimCGR
  • I still have the feeling that there must be a more intuitive and obvious way to remind the user that they are using BBim. As a user, I want to know what BBim has overhauled. This becomes a cumbersome task and interrupts user productivity when BBim reorganizes existing Blender functions. Particularly for users who have workflows that use core Blender and BlenderBIM.

    I appreciated @Moult 's previous comments and found them very insightful in understanding the technical reasons for utilizing the Properties panel and future direction.

    Slowly I wish to remove the BlenderBIM 3D view side tab and move it all in to the scene properties. This is simply due to a technical limitation of Blender. If I could customise Blender fully I'd create my own tab (instead of cheating and overriding the Scene tab).

    I do wonder though, if having a separate dedicated Properties panel just for BBim would appease most of Moult's desires to fully customize Blender. While I understand it would still have to work with the preset tabs (Scene tab), wouldn't a standalone Properties panel for BBim allow irrelevant Blender things to be hidden (rather than reorganized) and create a more focused space where users can easily identify all the functions specific to BBim?

  • I don't think it's possible to have a dedicated properties panel. Sverchok is lucky because Sverchok defines a custom bpy.types.NodeTree which automatically adds that node tree type to the list of UI types. However I'm not aware of any other bpy.types.* that we can use to create our own properties panel. Otherwise yes I'd love to create a BIM specific properties panel.

    tim
  • It's definitely an interesting discussion. Why doesn't Blender allow us to create a new 'tab' on the Properties panel? Even better perhaps would be the ability to define your own custom editor, or 'space' where you could build your own UI, rather than relying on the seemingly inescapable 'panels'.
    Something tells me that it's just the case that no-one on the core Blender development team has yet put the necessary work in to allow this to be done. Unless it is a fundamental limit to the Python integration, that we won't ever be able to create these things.
    On a slight tangent, the existing Spreadsheet tab really seems like the perfect place to display, manipulate and export model data, especially property set data. Again though, I don't know if it's possible to implement via an add-on.

  • I think that users that were already using Blender before BlenderBIM (which is my case) are generally going to dislike anything that changes the default UI. However, I'm starting to like the idea, because there are a lot of things that BB is not able to integrate (yet or ever) with Blender. When you have this separation, it makes clear to the user that you are in a specific workflow. Personally, I have at least two blender versions installed in my computer, one with and the other without BB installed, for different use cases. In the cases I was working with IFC, the positives of having the BB functions well organized are better than the negatives of having Blender default UI changed.
    I don't know if the idea of Blender Apps is being developed, but maybe we should get more involved and show them this discussion about BB

    atomkarincaMoult
  • That Blender Apps article is a really interesting read. I have definitely pondered the idea of a 'stripped-down' Blender to distribute as a plain IFC viewer. I've seen discussions around this idea on here too. It seems like this Apps idea would open the door to that sort of possibility.

    In terms of options using the Python API, it looks like current restrictions are intentional for the time-being. I'd be interested to know why this is the intention. There is likely good reason but it does feel a bit restrictive.

    (from https://docs.blender.org/api/current/info_overview.html)

    tim
  • Greetings,
    I was referred to this discussion because I was wanting to suggest that the BlenderBim Addon have an option to not be the default workspace when loading. Also, it would be great if it didn't disable my splash screen as well. I work in many industries and use Blender for more than BIM so having BBim take over my blender build is rather inconvenient because I am not able to confine BBims tools to just the BBim workspace. I hope that this is something that can be rolled out in a quick supplemental update. As a programmer I would imagine that this should be fairly simple. But I am not sure how the BIM Addon has been setup. Hope that this can be fixed soon.

  • As a work around I am running a separate version just to run BBim

  • You could try switching off Auto-Save Preferences. Then you could just enable the BlenderBIM addon when you need it.

    theoryshaw
  • @axxvdigital said:
    Greetings,
    I was referred to this discussion because I was wanting to suggest that the BlenderBim Addon have an option to not be the default workspace when loading. Also, it would be great if it didn't disable my splash screen as well. I work in many industries and use Blender for more than BIM so having BBim take over my blender build is rather inconvenient because I am not able to confine BBims tools to just the BBim workspace. I hope that this is something that can be rolled out in a quick supplemental update. As a programmer I would imagine that this should be fairly simple. But I am not sure how the BIM Addon has been setup. Hope that this can be fixed soon.

    It can be disabled in the BlenderBIM preferences - "Should Setup Workspace Layout for BIM".

  • Hey Tim!!! Thanks for the workaround! So I decided to experiment in an effort to find a good solution until a better one can be crafted. I have begun doing a lot of work with BlenderBIM and IFC in the last year so crafting a solid work around is important to me. As I was doing some work, I opened up another version of Blender that I have configured and in that moment I cam up with A great idea. An App Template. So I spent the rest of the evening working on this to see if it would meet the needs that I have and it works perfectly! I configured the BlenderBIM workspace with a couple other workspace panels that would support BlenderBIM. Then I designed a custom splash screen that showed the current blender Splash Screen with a BlenderBIM twist. THen I created a seperate set of user preferences that specifically enabled BlenderBIM and a few additional CAD related addons. I took a screenshot of the result.

    The results work so well that I have decided to keep updating it to add more power and functionality. This also allows me to write custom scripts and have them now running with my custom app template. The result means that when I open Blender I get my normal blender with my normal splash screen and listed in the the app templates on the splash screen is my BlenderBIM template. I would love to hear any thoughts that the community has. Thanks

    BedsonbrunopostletheoryshawShegsGorgious
  • Imo this is a very legitimate use of app templates. There could even be separate ones for read-only, mep, structural analysis, etc. I did not know it was possible to define rules for add-ons per template, it's indeed extremely powerful. Cheers

  • edited April 4

    @Gorgious said:
    Imo this is a very legitimate use of app templates. There could even be separate ones for read-only, mep, structural analysis, etc. I did not know it was possible to define rules for add-ons per template, it's indeed extremely powerful. Cheers

    Wow!!! thank you so much!!!! What I love about app templates is that you can configure operate user preferences. This includes which adding are used and which are not used. This gives you the ability to future-proof entire workflows because you can update an Addon and have it only function in a specific app templates. You can also deploy entire python scripts and even specific asset browsers for use In a specific app template. Want to build custom workspace panels to supplement BIM or any other workflow? App Templates has you covered! But what I love most about I believe that when you configure BLenderBIM to work within its own app template you are able to take advantage of the power and capabilities of BlenderBIM without it totally taking over Blender. At the same time keeping your blender install proformant and light weight. Plus the app templates can travel with you across installations and various versions of Blender. I hope that this helps.

  • edited April 4

    @axxvdigital said:

    @Gorgious said:
    Imo this is a very legitimate use of app templates. There could even be separate ones for read-only, mep, structural analysis, etc. I did not know it was possible to define rules for add-ons per template, it's indeed extremely powerful. Cheers

    Wow!!! thank you so much!!!! What I love about app templates is that you can configure operate user preferences. This includes which adding are used and which are not used. This gives you the ability to future-proof entire workflows because you can update an Addon and have it only function in a specific app templates. You can also deploy entire python scripts and even specific asset browsers for use In a specific app template. Want to build custom workspace panels to supplement BIM or any other workflow? App Templates has you covered! But what I love most about I believe that when you configure BLenderBIM to work within its own app template you are able to take advantage of the power and capabilities of BlenderBIM without it totally taking over Blender. At the same time keeping your blender install proformant and light weight. Plus the app templates can travel with you across installations and various versions of Blender. I hope that this helps.

  • edited April 4

    @axxvdigital said:

    @axxvdigital said:

    @Gorgious said:
    Imo this is a very legitimate use of app templates. There could even be separate ones for read-only, mep, structural analysis, etc. I did not know it was possible to define rules for add-ons per template, it's indeed extremely powerful. Cheers

    Wow!!! thank you so much!!!! What I love about app templates is that you can configure operate user preferences. This includes which adding are used and which are not used. This gives you the ability to future-proof entire workflows because you can update an Addon and have it only function in a specific app templates. You can also deply entire python scripts and even specific asset browsers for use In a specific app template. Want to build custom workspace panels to supplement BIM or any other workflow? App Templates has you covered! But what I love most about I believe that when you configure BLenderBIM to work within its own app template you are able to take advantage of the power and capabilities of BlenderBIM without it totally taking over Blender. At the same time keeping your blender install proformant and light weight. Plus the app templates can travel with you across installations and various versions of Blender. I hope that this helps.

    As I develop my App templates that are related to BlenderBIM I will post updates.

    Nigel
Sign In or Register to comment.