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

UI/UX: Datum planes and origin appearance and interaction globally #12584

Open
2 tasks done
maxwxyz opened this issue Feb 24, 2024 · 11 comments
Open
2 tasks done

UI/UX: Datum planes and origin appearance and interaction globally #12584

maxwxyz opened this issue Feb 24, 2024 · 11 comments
Labels
Core Issue or PR touches core sections (App, Gui, Base) of FreeCAD DWG Input or discussion from Design Working Group needed Feature FR for improvements or new features UI/UX

Comments

@maxwxyz
Copy link
Collaborator

maxwxyz commented Feb 24, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Problem description

This is a double sided sword. The current default origin / axis system datum planes (XY-plane, XZ-plane, YZ-plane) of each body or part are displayed as huge planes but one can only select them at the outer edge. In assemblies or when dealing with multiple bodies, the selection of the edge is the only way to work with them, as they are all overlapped on top of each other.

Also, the datum plane / axis system feature is not available globally in all workbenches in FreeCAD. It should be possible to add them and use them everywhere and they should look and behave consistently.
Currently they are differently handled and displayed across the application and addons, just to name a few:

  • Origin planes + axis system of part container and bodies
  • Local Coordinate System in Assembly / Joint Coordinate system (JCS)
  • Datum features in PartDesign (plane, axis, point)
  • LCS in Assembly4
  • Axis cross in the global origin

In this demo I have an assembly with 3 simple parts and it is already not usable or distinguishable.

origin-planes-ui-issues.mp4

Ideally the origin planes could be displayed less intrusive and also keep all relevant information including the positive axis indication (e.g. which way is +x). A smaller origin UI works also with distinguishing different part origins and keeps the same select-ability as today.

Examples from other CAD software.
CATIA:
maxresdefault
In assemblies an easier overview for the user:
Constraint-between-part-and-assembly-axis-system-Dash-means-axis-system
Fusion360:
0EM3A000000E61o
Solidworks:
aah1618945450313

Full version info

OS: Windows 11 build 22631
Word size of FreeCAD: 64-bit
Version: 0.22.0dev.36082 (Git)
Build type: Release
Branch: main
Hash: 7a025e4e60a607bdbdd1599627ce13bb8eeda071
Python 3.10.13, Qt 5.15.8, Coin 4.0.2, Vtk 9.2.6, OCC 7.6.3
Locale: German/Germany (de_DE)
Installed mods: 
  * 3DfindIT 1.2.0
  * BIM 2021.12.0
  * CfdOF 1.25.1
  * CurvedShapes 1.0.5
  * Curves 0.6.23
  * Defeaturing 1.2.2
  * fasteners 0.5.11
  * FEMbyGEN 2.1.0
  * freecad.gears 1.0.0
  * freecad_metal_workbench 0.0.1
  * OpenDark 2023.12.17
  * sheetmetal 0.4.1

Subproject(s) affected?

Core

Anything else?

Maybe a new origin UI could be unified with the local coordinate system of joints in the Assembly WB (JCS / LCS) as well, to be visually in line throughout the application.

Even the indication of user-created datum planes (#12296) and sketches (#12458) could be unified with a new origin appearance as well.

Code of Conduct

  • I agree to follow this project's Code of Conduct
@maxwxyz maxwxyz added Core Issue or PR touches core sections (App, Gui, Base) of FreeCAD UI/UX Feature FR for improvements or new features labels Feb 24, 2024
@maxwxyz
Copy link
Collaborator Author

maxwxyz commented Feb 24, 2024

@obelisk79 maybe also worth discussing in the DWG:
Changing the default UI/UX for the origin and using a unified solution for planes, sketches, local coordinate systems (JCS) in assemblies (@PaddleStroke ).
As mentiones above, there are already discussions and ideas in #12296 or #12458

@obelisk79
Copy link
Contributor

obelisk79 commented Feb 24, 2024

I'll have to start this conversation with the group later. Some time ago on the forum I believe there was what I thought a great proposal. To use planes with a center cutout, but the entire plane area was selectable. They would look similar to this rudimentary drawing I made:
image

@obelisk79
Copy link
Contributor

Regarding the axis cross, I think the catia/solidworks variant works well, it would just need to include the colors which people have come to rely on. That really could also effectively represent the planes, I still like the proposal above for the planes.

@PaddleStroke
Copy link
Contributor

PaddleStroke commented Feb 26, 2024

Imo the best solution is :

  • Smaller planes, so that they do not get in the way of other faces and so on. Actually the planes do not scale with zoom level. So with default zoom level they are too big, but if you zoom out they become too small. They should scale with zoom level (the same way JCS in assembly scale with zoom).
  • All the face is selectable an not only the edge and label.
  • Draw planes only in their positive areas. Basically like fusion/catia screenshots above. So they do not overlap and are simpler to understand.

So overall fusion solution here seems the best to me.

@maxwxyz
Copy link
Collaborator Author

maxwxyz commented Feb 26, 2024

I prefer the SolidWorks or CATIA solution: the axis names are displayed with a letter and it is easy to click on each one, also for the planes. The smaller ones with a fully selectable face could get messy when multiple parts are near each other, as there is no way of clicking through one LCS if you need the other.

@pierreporte
Copy link

@maxwxyz Your screenshots may be misleading for those who don’t use Catia. You show images of the coordinate systems. The actual planes are little squares (the size is a program setting) without a label and their size remains the same regardless of the zoom level (the size is always a fixed pixel size). While I would personally be in favor of this as I find that large planes get in the way (even as simple unfilled rectangles), it may not be the case for everyone.

This is a suggestion based on experience:

  • Planes are drawn with an thin opaque border and a transparent background.
  • Planes have a constant pixel size by default.
  • There is a parameter for each one to extend them to the container bounding box (sometimes it’s a pain to pick a plane when you’re working at the other size of a large part).
  • There is a program settings to make the plane extended by default.
  • Planes have a label attached, but not as big as today.
  • The coordinate system is displayed on hover or selection by default.
  • There is a program setting to always display the coordinate system.
  • The coordinate system axis have labels.

Default size:

image

Custom size:

image

@maxwxyz
Copy link
Collaborator Author

maxwxyz commented Feb 26, 2024

Yes, I mean the design of the coordinate systems should be used for axis and base planes and also for local / joint coordinate systems and as a origin for sketches and datum planes.

@obelisk79
Copy link
Contributor

If we are going to pursue one, I think the most visually clear approach is not what is shown in the catia screenshots. Rather a hybrid of what is seen in the solidworks and fusion images. Ideally, I think taking the same approach as Fusion and adding the arrowpoints and letters from solidworks would make a very effective visual representation.

@maxwxyz
Copy link
Collaborator Author

maxwxyz commented Feb 28, 2024

I agree, plus also what @PaddleStroke and @pierreporte mentioned: in those applications the axis cross stays the same pixel size and does not scale / is not displayed larger when you zoom in. That would also help for a better overview and less clutter in the 3D view.
So maybe the solution is to define a preference setting for the size of the origin / planes.

And the new axis cross should ideally then be used to be displayed not only for the origin of parts but also for sketches and datums (visible by default) and the local coordinate systems for joints in assemblies (JCS).

@maxwxyz
Copy link
Collaborator Author

maxwxyz commented Feb 28, 2024

@qewer33 / @kadet1090 maybe you can make weigh in, especially with the transform manipulator changes.

@maxwxyz maxwxyz changed the title [Problem] UI/UX: Origin planes are too intrusive and only selectable at the edges UI/UX: Datum planes overlays, only selectable at the edges and not available globally Mar 10, 2024
@maxwxyz
Copy link
Collaborator Author

maxwxyz commented Mar 10, 2024

I'll add the remarks from the FreeCAD Day 2024 Complaint Session:
Reference objects such as datum lines and planes should be available globally to all WB.
Reference objects such as datum planes, axes lines and axis systems should be available globally to all workbenches.
Consistent behavior and display of them is key.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Core Issue or PR touches core sections (App, Gui, Base) of FreeCAD DWG Input or discussion from Design Working Group needed Feature FR for improvements or new features UI/UX
Projects
Status: No status
Development

No branches or pull requests

4 participants