Capable people are short of time. And now you can imaging how short of time are the developers (tip: very very short). They do not bother things for style over substance and that is good (or discussions like that). Note i do not mean the GUI, this is important and get better and better thanks to uwestoehr or chennes. And if you follow the git commits then you will see that the coredevelopers often make changes under the hood that is not often seen directly, but have have impacts to the usability.obelisk79 wrote: ↑Fri May 14, 2021 5:51 pmJust as an example of how poorly UI discussions/proposals are treated: the logo proposal topic and poll. Not a single core developer/program manager weighed in if there was any interest in changing the logo or not. Just silence, a few dozen proposals were submitted only to be completely ignored. People could have saved their efforts if there was no interest in a design change. While I don't mention this as a criticism, it is an example of the type of engagement (or lack thereof) that stifles enthusiasm and productive user <-> developer interaction.
+1, but they working on it!
This is an interesting analogy. There's other was to think about it: Does the woodcarver need to understand the relationship between the angles of the cutting edge? Yes! especially if he intends to sharpen to tool or adapt it for a special cutting operation.
There are plenty of "serious craftsmen" that would argue this point. Especially as HF quality continues to improve.
While I absolutely agree, it should not be a normal or required part of the learning the tool. (I need know nothing about gears or springs to competently use a ratchet wrench) I worked for several of the major CAD vendors, and they never offered the source code as educational material.My grandfather had a construction (road building) company and owned/operated many excavators, bulldozers, graders, etc. He also built special tools to attach to them and did all the maintenance himself.
I'm not saying everyone needs to program but if one isn't comfortable writing a Python macro or looking at the source from time to time, they're missing out on a lot of power.
I would tend to share this point of view, but as sayssliptonic wrote: ↑Sat May 15, 2021 2:03 pm This is an interesting analogy. There's other was to think about it: Does the woodcarver need to understand the relationship between the angles of the cutting edge? Yes! especially if he intends to sharpen to tool or adapt it for a special cutting operation.
The alternative to sharpening tools is to buy inexpensive but disposable tools that are cast away when they become worn. In the US we have a chain of stores called Harbor Freight that sell tools like this. No serious craftsman uses these tools.
only in heavy use cases.
I build myself for my pleasure small machines adapted to my particular needs, and the current functionalities of FreeCAD are more than enough to satisfy me.
Maybe, but I think this only applies to very specific situations.
This is also my point of view if we consider a common use of the CAD tool.drmacro wrote: ↑Sat May 15, 2021 3:04 pm I'm not saying everyone needs to program but if one isn't comfortable writing a Python macro or looking at the source from time to time, they're missing out on a lot of power.
While I absolutely agree, it should not be a normal or required part of the learning the tool.
For many users, using the CAD tool with a natural approach, close to working on the material in a basic way like on a block of plasticine with a simple cutter, can allow you to become efficient quickly.drmacro wrote: ↑Sat May 15, 2021 3:04 pm On the other hand, the capability of whipping up a Python script to address specific use case should be seen as a very desirable feature. But, not something every user could be expected to be comfortable with. And, referring to the above CAD vendors, their customers would typically pay the vendor for said script, or the customer would have one of their employees attend training (typically, offered at a cost by the vendor) and be the go to guy for such needs.
Code: Select all
working_on = [TopoShape, Geometry, "Document objects", Links, Compounds] not_working_on = [CompSolids]
This is how FreeCAD buttons behave in workbenches: they have the IsActive() function, which returns True if the function is available and then the GUI sets the button active, and returns False is the function is not available and the button is greyed out. It's the responsibility of the workbench coder to code that return function in a sensible way.