The rationale behind the 3D approach
The 2D
The mouse, especially the mouse feedback - the screen- is a 2D arrangement. So, the 2D CAD arrangement was evident for single-layer editing. Adding more layers - requires one more dimension, and this dimension is not available. The problem was solved in a very natural and straightforward way because the "Z" dimension in a PCB is deteriorated, ... mostly. That is because the layers are plane. The layers' structure is the same all over the board unless we go to embedded packing or rigid-flex. (This would be a good niche for ZofzPCB, btw.) So, it is natural to overlap or select the layers based on the user request, simply mapping the 2D PCB surface to the 2D screen surface. So, we have layers selection, display order, colors, colors merging, and who knows what to replace the Z dimension. Not bad at all.
The 3D
ZofzPCB proposes another way - the 3D display. So, what are the consequences?- If you browse the PCB on ZofzPCB, you very quickly have the board not aligned to the screen surface. This view is causing
an unexpected impression. Image is processed in another way by our "eyes".
Most importantly, you may discover other errors/aspects of the project than just what you see from the 2D view. - Now, the layers' thicknesses have become a relevant feature of the PCB. So why was it not entered into the CAD stackup tables?
Indeed, physical stackup information makes its way to CAD/CAM data quite slowly. That is understandable by Gerber, but it also happens in ODB++ and IPC2581. Partially because of the CAD designers, partially because of the file formats and software. - How to use the mouse? That is the real UX issue. How to build the user interface to keep all the goods of 2D and 3D approaches?
The 3D UX
Selecting objects by mouse is not a problem. In 2D and 3D, it works the same way. What is missing is the 'free' measurement.
In 2D, one can just select two 2D points (on the screen), and those 2D points are pretty defined on the board.
So, there is a way to measure anything of your choice. (However, pixelation may reduce accuracy.)
In 3D mode, a point generally represents a "perspective" or "radial" line - making the intention unclear.
It is even worse in the component body editor, where one could use the mouse to change the position and size of the (3D) drawing elements.
(This is not implemented yet, btw.)
The solution: primary views when using the Orthogonal FOV setting. In ZofzPCB one can set the primary view by pressing the home button. The other possibility for the stackup view/measurements is to set the PCB-Cut surface. In this case, it would also work in the perspective FOV, as there is only one cut plane, not a stack of planes. That is simply changing the 3D to 2D for the specific case. We have a 2D CAD approach or the stack editor selectable by a simple operation without destroying the beauty of the 3D view.
So, that is the plan—one more measurement type. And from there, I will go to the component editor employing the mouse.