BIM Workbench

Hi, just found there is an Add-on! Some preliminary findings
(BTW, I never use Revit or similar ‘BIM’ software, only AutoCAD…)

  1. Is Window Manager supposedly to be working? I randomly open a test file and open the manager but seem nothing summarized there?
  2. Levels Manager seems would be very useful, maybe a corresponding Building Manager which group these Levels?
  3. Then this manager set up Levels and put them in selected Building group, which in turn in selected Site group etc.? - This maybe not be very useful and it is indeed very easily to set up manually in any rate.
  4. I never understand how Placement in Floor, Building or Site is used - the Latitude / Longtiude is for Solar Diagram which is explained in the Wiki (can’t find Pysolar in Fedora yet :frowning:
  5. I currently testing using Arch Axis which can also set levels ‘vertically’ - I wonder how Axis could be used along with Placement in Floor, Building or Site?
  6. I test linking by expression objects supposedly on a floor to the Axis in an Arch Axes. Then, not only the Level, but also the Disposition of these objects changes when the Arch Axes level, or placement change. Not very convenient as there are full of expressions in all input boxes everywhere!
  7. If Arch Floor or BIM WB do that jobs do that jobs, I can eliminate my ‘experiments’

Hope it helps.
Screenshot from 2018-03-03 16-03-04.png
Screenshot from 2018-03-03 16-02-49.png

Yeah, sorry I didn’t announce this properly yet, let’s do it right here right now then! I’ll transfer this thread to the new Features section.

For who hasn’t read my latest blog post about it, I created a new workbench, called BIM, that is in the addons repository (install it with the Addon Manager).

There is still lots of stuff that doesn’t work in the BIM WB. And there will be for a long time. If you find something that doesn’t work, it’s normal :smiley: It is made to experiment. It is not meant (yet) to be a productive environment. It is meant to experiment, discover and build what would be a ideal “BIM workflow”.

The idea behind it is to separate the pure “technical” tools (ie. the Arch tools) in one side, and be able to concentrate/experiment with BIM workflow on another side. That’s why I created this WB, so my experiments with UI don’t pollute the Arch and therefore the whole FreeCAD source.

Also, with a smaller and separate WB, this makes it much easier for people to look at the code and help.

The main idea of the BIM WB is to use all the necessary other tools from other workbenches (so far Draft, Arch, some Part tools, and I’ll integrate the flamingo tools better later on), add a couple of useful macros here and there, and that’s it. If some of these tools need to be modified or new tools added, that will be done in their original WB and not in BIM.

The main focus of the BIM WB would be to create a new “layer” of interface on top of all this: Wizards, setup screens, dialogs, etc. The idea is to explore what an interesting BIM workflow would be, how it could be more intuitive and easier to learn.

A first thing I began to play with is linearity: When you open the BIM WB for the first time, a welcome dialog pops up, telling you what to do next. Then the next step suggests you a third step, etc…

Another thing I started playing with is “manager” dialogs. Manage all the floors of your project in one place. Same for windows. And more to come, with @paullee’s suggestions above. Indeed there could be one to manage all the axes. All the site settings, all the materials, etc, etc…

About the floor object, it never really worked the way I wanted. After 0.18, I’m thinking to 1) rename it to something else, the word floor is confusing, maybe levels? But I would like something more generic, that is not necessarily stacked on top of each other and 2) make it based on App::Part, which works really well and would be exactly what we want here, plus it handles all the movement nicely.

Something more to say: If you have ideas for such dialogs/wizards, please help! It’s very easy, just install Qt Designer (v4 or v5, doesn’t matter) and create some dialogs! In the BIM WB repo there are several already to use as examples: https://github.com/yorikvanhavre/BIM_Workbench

Do you mean something like this?
dialogStairs.zip (1.31 KB)
(not sure if you want them attached here)

Exactly! I suggest to post a screenshot of dialogs uploaded here, so other people can discuss.

Here are the ones I’m working on already:

This is the welcome screen that shows the first time you switch to the BIM workbench:
Screenshot from 2018-03-05 16-05-04.png
This is the setup screen, that sets different preferences across different workbenches (mostly General/Document, Draft and TechDraw):
Screenshot from 2018-03-05 16-05-20.png
This is the levels manager, to set/see/manage the different levels/floors of your model from one place:
Screenshot from 2018-03-05 16-05-39.png
This is the windows manager. I’m not totally happy with it yet, but the idea would be to have a general idea of the windows contained in your model, be able group them by tag independently of which one is a clone of which other one, etc.
Screenshot from 2018-03-05 16-05-52.png
This is @bitacovir’s dialog from last post:
Screenshot from 2018-03-05 16-06-34.png
The three last ones are made to run in the task panel. The two first one not, because they are meant to be modal.

BTW, you can now attach .ui files directly to this forum.

Remarks for two last dialogs: I’m not sure the apply buttons are necessary.. I don’t like them. Maybe everything should just update when pressing enter…

The levels manager works already, you can test it in the BIM WB

I had some free time today… :slight_smile: I hope these are ok.

WALL Manager
dialogWalls.png

Structure Manager
dialogStructures.png

Dimension Manager
dialogDimensions.png

Ceiling Manager
dialogCeilings.png

Anotation Manager
dialogAnotation.png

Here there is the compressed ui file.
dialogXX_ui.zip (5.04 KB)

When you implement BIM Workbench in the toolbar you can see two equal icons.
FreeCAD_2018-03-06_09-30-22.png
I understand that one icon is Offset and the other is Part_Offset2D. I assume they perform different tasks. But showing both can be confusing. Maybe it is better to change the Part_Offset2D icon. You could add a 2D on the Part_Offset2D icon or something to make it with a different look.

Honestly I don’t know how interesting it is to have a “manager” dialog for each and every object type… For ex, once you have a great many walls in your model, how useful would it be to manage all of them at once?

For some types (windows and doors) I think it makes sense because at some point you get confused as which one is clone of which one, and you might want to have a clear picture of all your windows. But the whole point of this WB is also to try to streamline and simplify the workflow as much as possible, so I’d rather not add too much stuff that will be rarely used.

I think the main usefulness of your dialogs is the ability to select all objects of a certain type at once. But that is a feature I want to add to the selection view panel anyway.

As for the double icon, you’re right… We need a new one there

I wasn’t thinking on every item. Only on what items you tend to accumulate more in a project file. Structural elements, room partitions, ceilings, dimensions, and notations. Therefore to have a tool to perform general changes to match specifications and cost variation of a project it would be useful (change from one material to other, volume, etc.). Or in the visualization (dimension, notations). Now, if you are thinking on other features to do the same… well, much better. I am not used to BIM workflow. Maybe you could explain a bit more what do you need.

Let me give you an example: If you select all the walls of your model, you can quickly change one or another of their properties simply by editing its value in the properties view. All the selected objects will get the new value.

A quick way to select all the walls of the project is still missing of course, but I’ll add that as soon as release 017 is out.

Such operation is already easy and straightforward to do with the current properties editor. No need for an extra dialog.

Where I’d like to introduce these panels, is for operations that either are complicated with current tools, or where it would be interesting to have a broad, model-wide view. For example, managing all the levels/floors of your project in one place is handy. In the tree view, it’s difficult to see all the level at once and make sure each one has correct values. And it is handy to add/remove levels from there too.

Same with windows, I think it is very handy to see all the windows of your project grouped by type, size, or whatever. Windows are often buried deep into your model tree.

In your list, indeed spaces would also be a good candidate. It would be interesting to have a clear view of all the space objects in your model, each with area, in which level they are, their main use, how many people in it, total areas, etc… Both this and the windows could also be exportable directly to a spreadsheet…

But for other types, it seems to me they need less of such a “management” interface… The main (only?) advantage of such a tool would be to change some of their properties all at once, and this is (will be) easily done from the property editor. So we would only be adding unnecessary complexity here.

Basically what I’m trying to explore with the BIM WB is to add interface elements that streamline the workflow, and make it easier to learn by new users. So it’s more a matter of identifying specific points that need a certain interface change, rather than populating the WB with yet another series of tools…

Don’t know if all this makes sense…

It is more clear now. I think that your dialogs can have the following purposes:

  1. To provide information and options about the potential of the workbench (like your welcome dialog)
  2. General parameters setup (like your setup dialog). This is very useful for beginners to setup the BIM environment parameters at once.
  3. To manage some complex items (like your dialogs for levels, windows, doors, etc)
    Here I would suggest:
  4. A Project parameters setup dialog. This could be a dialog that can help users and especially beginners to work with a well organised and structured group of the items. A dialog to gather several actions of good practices for each project. This dialog could help to create the organization of a project

Building parameters setup dialog:


So you help to generate something like this:

Excellent! This is exactly the kind of things I had in mind: How to “smooth out” the experience. Very good idea!

This could even become a “project setup”, and it could define both a site and the building, allow to set address, main use, coordinates, etc…

We could also extend this into vertical axes and horizontal axes (common in buildings), and also allow to import a groups structure from a file. This would allow a company, for example, to always use the same layout.

Hi! This sound exciting! :slight_smile: Haven’t learned *.ui yet, so only some more thoughts.

  1. Site / Bldg / Level Manager
    When I had project with have a few blocks on one site, I make a spreadsheet laying out something like below - this maybe an advanced Site / Bldg / Level Manager format? It deliver message FC can and provide the tool to manage more complicated building project. (Danger to become a large spreadsheet rather than a dialog!)

(Draw outline in the cells, and it works like a diagrammatic elevation / section :laughing: )

Site X < ------------------------------------------------ maybe a link to an ‘external model file’ if possible in future (like acad xref / block etc.)
Bldg A . . . . . Bldg B . . . . . Bldg C <---------- see above
Level 42
Level 41
Level 40. . . . .Level 30

Level 2 . . . . . Level 2
Level 2 . . . . . Level 2 . . . . . Level 2
Level 1 . . . . . Level 1 . . . . . Level 1
Level 0 . . . . . Level 0 . . . . . Level 0
Office . . . . . . Hotel . . . . . . Serviced Apartment e.g.
(sorry no tab in forum…)

Maybe a ‘main’ axis system for each building - could probably for a single building develop a few axis systems so it may be confusing to have only 1 in fact.
.
2. Still Level vs Axis System ?
Still I am trying to use Axes (in a vertical layout) to define the floor level - which seem could be useful as expression could be used.
Not sure how the Floor Object is working together / separately with the Axis (system).
This needs to be clarified for consistency and avoidance of doubt.
.
3. Window / Door / Room Manager ?
For objects like Window, Door, Room … I had attempt to do something in a spreadsheet https://forum.freecadweb.org/viewtopic.php?f=23&t=25319#p199555
These objects seem works better and probably run into a large and long schedule rather than in a dialog - architect worldwide do Window Schedule, Door Schdule… etc. ?

Screenshot from 2017-11-15 20-46-00.png

Do you want to keep the focus of this BIM Workbench for design exclusively?

@paullee Interesting ideas!

I also think managing sites, buildings and levels in one single dialog might make it quickly overcomplicated. But one for “project setup” (sites + buildings) and one for levels, might work well.

You are right that the windows dialog must show which window serves which space(s). That’s important information. And yeah a further idea is, from that dialog, produce a spreadsheet exactly like yours.

The idea behind axis/levels/floors would indeed be to merge all this in a more simple structure. But using axes to define levels doesn’t seem such a good idea to me anymore. Now I think it might be better to have a more easy to use Floor object (which could display a level mark in the 3D view, exactly like the axes). “Floor” should also be renamed to something else (Storey? Level?) because floor is ambiguous, it could also designate the material you step on. But Storey and Level both refer to a “stacked” situation (one on top of another), I’d like to find a word that is more generic, that would allow for example to have two building parts next to each other. Maybe “Building Part”, simply?
Also I want to try to make it from an App::Part instead of a Group, so it can easily be moved around and benefit from all the capabilities of App::Parts.

@bitacovir of course. The idea is ultimately to be able to do it all. But personally I’m more the step-by-step type of person :slight_smile: I don’t have much confidence in making so big plans ahead, but go for it, unleash your ideas, the idea here is to experiment.

I like the idea of a more generic name for the floor. It does not need to be one on each other. Mostly it is true but I had buildings we splitted side by side.

Bernd

Yes and that would be useful for all kinds of “components” of a building that need to be replicated. Imagine for example a building made of containers, or the different WC stalls in a public bathroom. Anything that would benefit from having several objects packed into a structure. That would make it pretty powerful

I know some FC features are not fully developed, but I was thinking that your BIM welcome dialog could include buttons to some of those areas that I showed in the pictures. Buttons for:
a) building setup dialog for those who want to use it for design
b) quantity surveyor setup dialog. A new dialog window for those who will use FC for cost calculation. (a workflow using spreadsheet workbench, schedule tool, etc)
c) construction planning setup dialog. Another dialog window for those who will use FC for building construction process (Arch Site, Flamingo tools and level manager dialog could be useful for that).
and so on…

Very good! This is exactly the kind of stuff that is interesting to explore here.
All these things can greatly enhance the way new users can enter and learn how to work with freecad.

The building setup is something we are already doing. That’s the easy one.

The two others, we might think a bit more about what would be that setup, or even if it is really necessary to set anything up. I have no clear idea about that yet. What would want to do a typical user who would want to do these two things with FreeCAD?

In the case of quantity surveying I would think:

  1. Open a model (typically import an IFC file)
  2. Gather some stuff in a spreadsheet
  3. Measure some stuff manually (survey tool)

Maybe we need to think further about the integration between 1) the different levels, windows, space BIM dialogs, 2) the Arch Schedule tool, 3) the Arch survey tool. At the moment each one works in its own corner, ideally the person would want to start a new spreadsheet, and start filling it using all these tools…

In the case of construction planning:

  1. Open a model (typically import an IFC file)
  2. Check if there is any planning info (We need a planning dialog certainly)
  3. Create “deadlines” (or whatever the right term would be)
  4. Attribute project elements to deadlines
  5. Export a spreadsheet