FreeCAD / FreeCAD/FreeCAD

UX: Hidden selection is invisible

Open
#13,981 3 comments 3 reactions 0 assignees View on GitHub
Mod: Core Topic: User Interface Type: Feature
Dominant language
C++
Stars
33.6k
Forks
6k
Avg merge
3d 17h
Merged PRs (30d)
196

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Problem description

When something is selected in FreeCAD (solid, edge face, …) and the view is rotated so that the selection is hidden behind geometry, the selection is invisible. It is impossible to know that something has been selected. It is then hard for the user to identify exactly what has been selected for an operation, especially complex ones.

FreeCAD could always display the edges of the selection so that it stands out in the 3D view. To better indicate that the hidden part of the selection is behind existing objects, it could be dashed. The visible part of the selection would remain as it is today.

### Full version info

```shell
OS: Ubuntu 23.10 (KDE/plasma)
Word size of FreeCAD: 64-bit
Version: 0.22.0dev.37249 (Git) AppImage
Build type: Release
Branch: main
Hash: 3acbc561f299b4cddea8215c387a52f3d5132cf6
Python 3.11.9, Qt 5.15.13, Coin 4.0.2, Vtk 9.2.6, OCC 7.7.2
Locale: French/France (fr_FR)
Installed mods:
* BillOfMaterials-WB 0.0.7
* CosmeticThread3D
* OpenTheme 2024.4.20
* Curves 0.6.35
* CurvedShapes 1.0.9
* sheetmetal 0.4.13
```

### Subproject(s) affected?

Core

### Anything else?

Solidworks does it:

![image](https://github.com/FreeCAD/FreeCAD/assets/2029853/818a91e3-d18e-4089-b88d-41fa998b1fa8)

### Code of Conduct

- [X] I agree to follow this project's Code of Conduct

Contributor guide

Open the contributing guide

Research direction

The issue points to FreeCAD Core’s 3D view and selection rendering, but names no source files or tests. Start by tracing how selected solids, edges, and faces are rendered when occluded; done means hidden selection edges are distinguishable behind geometry while visible selection remains unchanged, with coverage for rotated, occluded selections.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.