this post is in no way a criticism of the work carried out by the various players in FreeCAD.
First of all, I note that overall, we do not know much about each other, about our respective training, which led us to discover FreeCAD, our expectations on the evolution of it, etc. .
Accordingly, here are a few words as far as I'm concerned:
I am French, and like many of my fellow citizens, I am not an expert in the use of English. So I use automatic translation tools, which despite their prowess can sometimes cause surprises ...
I am retired (67 years old). I taught "mechanical construction", that is to say initially technical drawing, technology, mechanics ..., then with the advent of computer science I discovered Computer Aided Drawing . I then taught for several decades "Engineering Sciences" and the use of computer tools (CAD, simulation and calculations of statics, kinematics, dynamics, resistance of materials).
How did I find out about FreeCAD?
After having used software like SolidWorks and Catia for many years, while for the rest I was a follower of free software like Open Office, Libre Office, but blocked by the French education system which like elsewhere swears by Microsoft, I periodically did research on the web to see if free CAD software appeared. My first steps with FreeCad (versions 0.13, 0.14) were disappointing because they did not correspond to my construction approach. Then one day, a miracle! PartDesign was born! And I was approaching retirement.
What have I done for FreeCAD?
I have no programming knowledge, so how do I participate?
As I was translating the wiki pages I needed for my own use, I realized that this could be my way of helping others. So I translated Yorik's book into French, then participated in the translation of many wiki pages, and finally built my website to try to respond to user requests. Why not develop the wiki? Because I had experience in building html pages based on superimposed layers that I do not know how to reproduce in the wiki and which are essential for me to express what I want to contribute.
Let's get to the point.
The many posts that I regularly consult on the forum show that a majority of participants know programming, if only in Python language. Me nothing. Not a scrap, except a few attempts by comparison and multiple tests for very few results.
I am therefore an ordinary user, a simple tool manipulator. But suddenly I ask myself a few questions.
Should a tool user understand the structure and internal organization of his tool in order to use it better? I readily admit that this can be a plus in some cases.
But let's take an example: a woodcarver uses a wood chisel. The designer of the wood chisel will strive to give it an ergonomic handle and a cutting edge adapted to the material to be worked to make it as sharp and as durable as possible. Will knowing the chemical composition of the blade material make the sculptor more skillful or more creative?
Another example: an excavator. The driver must be able to maneuver the machine by manipulating levers which are the interface (quickly forgotten) between his brain and the active part of his machine. Will he be more skilled at handling his machine because he will know the relationship between the pressure of the fluid and the force developed? or the internal organization of his machine?
What about FreeCAD in all of this?
I think the problem is the same when it comes to a CAD tool.
The average user must have in his hands a tool that allows him to represent his project as well as possible, according to the most concrete and instinctive reasoning possible.
For me, a mechanical designer who has worked with many novice learners, the workbench that comes closest to this point of view, at least as soon as the topological naming problem is solved, is PartDesign WB. Direct application of functionalities from faces, edges, reference geometries ... Any beginner who is not tense on his mouse and not wanting to try or experiment will be able to get started quickly. Of course, learning to analyze his needs and organize his approach will allow him to progress faster, but let's not forget that it is the first step that costs.
But does he have to know the architecture of the program that allowed him to reach his goal?
Concerning the assembly workbench.
The assembly WB responds to a similar approach: for a beginner, assembling objects in a virtual project is a building game. Bring two objects into contact on a flat face, align two bores to insert a hinge pin or a screw, prohibit movement by a stop, allow an object to rotate around an axis or a point ...
We must bear in mind that the goal is to make something concrete, therefore to start from real shapes, even if at the beginning these shapes are modeled by "exact" geometric shapes.
The assembly tool, like the design tool, must therefore remain as transparent as possible for the user in order to allow him to think "concrete" and to be as close as possible to the material on which he is working, even if it is virtual in the software.
Once the CAD "virus" has triggered the user's passion, there will always be time for them to dig deeper and seek to understand.
My conclusion: Does FreeCAD want to address only specialists or does it want to excite the greatest number?