Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BIM: Reworked menus and toolbars #14087

Merged
merged 2 commits into from
May 31, 2024

Conversation

yorikvanhavre
Copy link
Member

Following up on #13783, this is a rework of the toolbars and menus in the BIM workbench.

Basically:

  • All Arch and all BIM tools are there
  • Menus and toolbars are reorganized into broad categories, each with as few as possible submenus:
    • 2D/Drafting (Draft tools)
    • 3D/BIM (BIM tools + some generic 3D tools)
    • Modify (contains generic move/rotate/copy, 2D modif tools and 3D modif tools)
    • Manage (these are all from BIM)
    • Utils (kind of dirty at the moment, all the tools that didn't fit in the other categories, the idea is basically that everything is there for 1.0. That menu needs further discussion)
  • The toolbars are split into smaller toolbars so users can turn on/off parts of them to use less space. It is then possible to have either a "large toolbars layout", a "minimal toolbars layout" or anything in between.

Menus structure from arch:

arch-menus

Menus from BIM (panel tools and structure tools are missing from that image, they are both in the Utils menu for now):

bim-menus

Further things that should be discussed:

  • The Arch StructuralSystem tool should be discarded, because one can now simply use the "Axis" property of structural tools, it's even more powerful than the Structural system tool, as it can work with any object, not just axes
  • The Arch MultipleStructure tool should be reworked and merge in the base Structure tool (used by columns and beams) so one can simply select a profile and one or more edges and create a series of beams.
  • Panel tools: These tools are not really for BIM, but for panel construction (furniture, wikihouse...). Not sure where they should fit.
  • Reorganize the utils menu (maybe Mesh tools, IFC tools, Panel tools, etc...)

@yorikvanhavre
Copy link
Member Author

@furgo16 @marcuspollio @paullee0 @Roy-043 please have a look and comment!

@maxwxyz maxwxyz added the WB BIM Related to the BIM/Arch Workbench label May 17, 2024
@marcuspollio
Copy link
Contributor

marcuspollio commented May 18, 2024

Excellent !
The general layout sounds great and a substantial improvement !

A proposition: maybe for standard 3D BIM Element tools, what do you think of slightly reordering in the construction "sequence" ?
I readily admit it's a highly debatable concept and widely variable in practice =D
Earthwork/foundations, structural work, skin (weather-tight), services (rough-in) and interior stuff.
Here it means: after Project, Site, Building, Level/Storey and Space, we could have Wall, Column, Beam, Truss, Slab, Stairs, Roof, Window, Curtain Wall, Door, Pipe, Connector, Frame, Panel/Covering, Fence/Railing, Equipment, Reinforcement and generic.
Logically reinforcement should go before but it's perhaps not used as much as the others ?
Some like stairs, panel and frame are tricky ones as it's so project-specific.

I'm all for discarding StructuralSystem if there's a way to automatically convert previous files to use Axis.

For Panel tools (Cut, Sheet and Nest), I don't know how often they are used ? Maybe keeping them as macros in the Addon repo ?

Utils, that's a big one indeed that needs a proper discussion XD

Thank you !

@chennes
Copy link
Member

chennes commented May 20, 2024

Also @FreeCAD/design-working-group

@MisterMakerNL
Copy link
Contributor

MisterMakerNL commented May 20, 2024

Couldn't you make all the sketch colors white and red instead of white and yellow? The polyline already is.
Then they would also look the same as in main.
Bit of uniformity would be nice to learn faster.
There lots of icons and features, amazed that you and your BIM team get to work on all these.... 😲

@maxwxyz
Copy link
Collaborator

maxwxyz commented May 20, 2024

@MisterMakerNL but these are the Draft WB icons, not to be confused with the Sketcher WB. Some icons still get revised. This PR seems only to restructure them, I don't want to give my opinion on this as I have no experience working with BIM.

@Roy-043
Copy link
Contributor

Roy-043 commented May 20, 2024

ShapeString should not be in the Annotation menu.

The order of the Draft tools is different from the Draft WB. We should present the same tools in the same order in both workbenches.

I would put Objects library last in the sub menu.

@yorikvanhavre
Copy link
Member Author

A proposition: maybe for standard 3D BIM Element tools, what do you think of slightly reordering in the construction "sequence" ?

That's indeed matter for a larger discussion :) What I did at the moment is basically separate the "building containers" tools (building, level, space...) from the others. If you look at other BIM apps, they don't do really better :) But I'd be totally OK to discuss and define a "proper way" to put these icons.

I'm all for discarding StructuralSystem if there's a way to automatically convert previous files to use Axis.

They already do. The command is just an easy tool that sets the Axis property.

Couldn't you make all the sketch colors white and red instead of white and yellow? The polyline already is.

They are not Sketch tools but Draft tools. For the first one (the sketch tool) we could indeed use another icon, but this one seemed to make sense and easy to understand... Also because it's not EXACTLY the same "create sketch" tool as in the Sketcher/PD. It does not ask for the sketch plane because it takes automatically the current Draft working plane

ShapeString should not be in the Annotation menu.
The order of the Draft tools is different from the Draft WB. We should present the same tools in the same order in both workbenches.
I would put Objects library last in the sub menu.

These 3 make much sense. I'll adapt this PR

@marcuspollio
Copy link
Contributor

marcuspollio commented May 21, 2024

[...] slightly reordering in the construction "sequence"

[...] separate the "building containers" tools (building, level, space...) from the others.

Exactly, the order of the "building containers" first is totally logical, they should be kept as they are now. I was referring more to the following tools for creating elements. About other BIM apps, let's do better then XD

ArchiCAD :

archicad

Revit :

revit

BlenderBIM :

BB

If any of you use other softwares, please do post below for reference =D
It seems there's a tendency to put wall first, then openings (door, window) or other structural elements. Then it's variable.

The gist of it is : most other BIM apps do not follow a construction logic but more a "element you must have before you put/link the following one" (e.g. you need a wall before a window or a door, or you need a roof before a skylight).

So let's set a "sensible" default order that also helps to follow IFC relations: you need the structural elements (IfcWall, IfcSlab, etc.) before openings or IfcCovering elements.

Wall, Column, Beam, Truss, Slab, Stairs, Roof, Window, Curtain Wall, Door, Pipe, Connector, Frame, Panel/Covering, Fence/Railing, Equipment, Reinforcement and generic.
Any other proposition ?

@yorikvanhavre
Copy link
Member Author

yorikvanhavre commented May 22, 2024

"element you must have before you put/link the following one"

I like that. Seems both logical and similar to the other ones.

Wall, Column, Beam, Truss, Slab, Stairs, Roof, Window, Curtain Wall, Door, Pipe, Connector, Frame, Panel/Covering, Fence/Railing, Equipment, Reinforcement and generic.

I would put curtain wall before the window or after the door, to keep door and window "together". Also I'd put pipe and connector to the end, just before the equipment because it's "almost" in the area of equipments. Also because the equipment tool should at some point be used to create faucets and other things that go with pipes.

So my proposal:

Wall, Column, Beam, Truss, Slab, Stairs, Roof, Curtain Wall, Window, Door, Frame, Panel/Covering, Fence/Railing, Pipe, Connector, Equipment, Reinforcement and generic.

BTW I liked having a "covering" tool and a "railing" tool... The panel and the fence/frame tools are not exactly that, though. Maybe they should have a default setting to make a railing? I feel those two tools need more reworking and design

BTW2 it's interesting to see what commercial BIM tools include in their default toolbar

@obelisk79
Copy link
Contributor

obelisk79 commented May 22, 2024

Regarding BIM workflows, I'm quite inexperienced, but looking at the screenshots from marcus, it seems they do utilize command groups. I would assume those are constructed in accordance with the pareto principal. Whenver I do load and of the BIM/ARCH workbenches I'm quite shocked at the sheer number of functions exposed at the surface level. These may certainly be necessary, but I would suggest attempting to keep the default toolbars to consume no more than 2 full rows with a 24px setting @ a 1080p resolution. One way to do this would be to leverage command-groups of similar/related functions as practicable, exposing the most commonly used function at the top of the group on the toolbar.

Another possible approach would be to combine a function onto a single button on the toolbar, but use settings in the task panel to switch modes. Unfortunately, I don't know enough about ARCH/BIM to make more detailed suggestions. However I speculate that there is some oopportunity for optimizations like this.

@marcuspollio
Copy link
Contributor

marcuspollio commented May 24, 2024

[...] sheer number of functions

Yeah, it's a bit overwhelming sometimes =D

[...] default toolbars

Note that this Arch/BIM/NativeIFC is still very work-in-progress. I guess @yorikvanhavre is not finished porting the previous Arch WB state, that means:

  • For 3D/BIM tools (previously Arch), grouping Pipe and Connector tools
  • For Drafting (like on Draft WB), grouping the two Arc tools, grouping the two Bézier tools
  • For Annotations (some also like on Draft WB), grouping the three Dimension tools, grouping Label and Leader, grouping the three Axis tools
  • For 2D modification tools (some also like on Draft WB), grouping the four Array tools

Then, more Toolbars, menus and Task panels improvements can be done to ease the workflow and the experience.

@yorikvanhavre
Copy link
Member Author

TBH I don't like the group tools. That's the whole point of this. To access a grouped tool takes much longer than a "normal" tool.

Now if people absolutely like it, I see no problem in having two interface modes, one "condensed" one for people who feel lost with too many buttons, and a more extended one for who likes it...

Note that in the current proposal, most toolbars are split, so it's possible to turn off many parts (maybe they should be off by default? In AutoCAD I remember 80% of the toolbars were off by default). This allows for something as simple as this:

image

@yorikvanhavre
Copy link
Member Author

I propose to merge this one already, then we can make additional PR to attack remaining specific issues, anyone against it?

@maxwxyz
Copy link
Collaborator

maxwxyz commented May 30, 2024

Sounds good to me

@yorikvanhavre yorikvanhavre merged commit 6ea5c79 into FreeCAD:main May 31, 2024
9 checks passed
@yorikvanhavre
Copy link
Member Author

Ok done then :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WB BIM Related to the BIM/Arch Workbench
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants