Philosophical thoughts (?) About FreeCAD.

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
obelisk79
Posts: 81
Joined: Thu Sep 24, 2020 9:01 pm

Re: Philosophical thoughts (?) About FreeCAD.

Postby obelisk79 » Sat May 15, 2021 1:08 pm

I think this is a tangent that deviates from the intent of my original point.

Generally speaking Red/Purple names on the forum would be what I'm referring to, and back in 2018 when that thread had first started there was a comment or two from kkremitzki I didn't notice any encouragement that such an endeavor was welcome. You commented plenty there, but you weren't listed as a 'core developer' until early this year.

I think 'core developer' would be most easily categorized as those given such title as listed here: https://forum.freecadweb.org/memberlist.php?mode=team

Perhaps you believe the 45 page logo thread with more than 50 unique users commenting and countless individual submissions made was a poor example to illustrate my point.

I didn't come here to squabble details or start a debate over the merits of the icon thread, just wanted to state that while often cast aside or blatantly dismissed, the GUI is an important aspect of any software package, that while certainly not unusable, still has room for major improvements. If you disagree with me, just say so. Arguing specific details related to an example I attempted to provide accomplishes nothing and distracts from the core of the topic.
user1234
Posts: 502
Joined: Mon Jul 11, 2016 5:08 pm

Re: Philosophical thoughts (?) About FreeCAD.

Postby user1234 » Sat May 15, 2021 2:02 pm

Hello!
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.
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: Sat May 15, 2021 1:08 pmGUI is an important aspect of any software package, that while certainly not unusable, still has room for major improvements.
+1, but they working on it!

Greetings
user1234
User avatar
sliptonic
Posts: 2234
Joined: Tue Oct 25, 2011 10:46 pm
Location: Columbia, Missouri
Contact:

Re: Philosophical thoughts (?) About FreeCAD.

Postby sliptonic » Sat May 15, 2021 2:03 pm

jpg87 wrote: Sun May 09, 2021 8:15 am
But let's take an example: a woodcarver uses a wood chisel.
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.

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.
drmacro
Posts: 3391
Joined: Sun Mar 02, 2014 4:35 pm

Re: Philosophical thoughts (?) About FreeCAD.

Postby drmacro » Sat May 15, 2021 3:04 pm

sliptonic wrote: Sat May 15, 2021 2:03 pm ...
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.
There are plenty of "serious craftsmen" that would argue this point. Especially as HF quality continues to improve.
I agree, I probably wouldn't base my roofing business on their airnailers...but, if you only use an airnailer a couple times a year, then it is quite adequate.
And, I recently purchased one of their Hercules line of cordless tools and it definitely is every bit as good as my Dewalt or Milwaukee...we'll see how the bearings last and how many charges I get out of the battery pack. 8-) (I'd note, that I've not been particularly impressed with the name brands...)
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.
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.

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.
Star Trek II: The Wrath of Khan: Spock: "...His pattern indicates two-dimensional thinking."

My beginners, written treatise: Learning FreeCAD
User avatar
jpg87
Posts: 550
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Philosophical thoughts (?) About FreeCAD.

Postby jpg87 » Sat May 15, 2021 4:19 pm

sliptonic 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.
I would tend to share this point of view, but as says
drmacro wrote: Sat May 15, 2021 3:04 pm...
only in heavy use cases.

sliptonic wrote: Sat May 15, 2021 2:03 pm 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 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.

sliptonic wrote: Sat May 15, 2021 2:03 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.
Maybe, but I think this only applies to very specific situations.

I would like to recall a few words at the end of my 1st message :
"Once the CAD "virus" has triggered the user's passion, there will always be time for them to dig deeper and seek to understand."
In other words, if we interest beginners by a rather instinctive approach, perhaps some will be encouraged to go deeper.

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.
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 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.
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.
I am deeply convinced of this having worked with many beginners.
On the other hand, the user must endeavor to know the main functionalities of his tool and what he can expect from them.
Examples :
http://help-freecad-jpg87.fr/011_pi_fonct_creation.php
http://help-freecad-jpg87.fr/020_ass_outils_contr.php
My website : http://help-freecad-jpg87.fr updated 2021/05/27
thschrader
Posts: 2141
Joined: Sat May 20, 2017 12:06 pm
Location: Germany

Re: Philosophical thoughts (?) About FreeCAD.

Postby thschrader » Sat May 15, 2021 5:33 pm

jpg87 wrote: Sat May 15, 2021 4:19 pm ...
I would like to recall a few words at the end of my 1st message :
"Once the CAD "virus" has triggered the user's passion, there will always be time for them to dig deeper and seek to understand."
...
+1
I agree to 100%
User avatar
onekk
Posts: 958
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Philosophical thoughts (?) About FreeCAD.

Postby onekk » Mon May 17, 2021 8:03 am

Most of CAD users don't use and don't know Autolisp language, (speaking of one of the most widespread CAD around), but I could not thing of a "not beginner CAD user" that don't know at least some shortcuts, and maybe some line of "AutoLisp code".

The great advantage of FreeCAD is that Python, at least for a beginner is more near the "natural language", think a for loop in Python and a for loop in C or C++, plus maybe the if things.

Not spaking that in the recent past more wiki pages were updated (many thanks to the guys that have done this) to add some Scripting hint at the bottom.

So it is more easy to find some information about how to do things, even without bringing in the discussion "scripting and Macro".

One thing that is slightly "difficult" is that FreeCAD use "Macro" for both the "recording and repeating actions" thing and "little programs that could be fired using a button" thing. (Sorry for the "kindergarten" sentences, but in this manner I hope there will be no misunderstandings.).

But this could be easily resolved with a more clear wiki page, (maybe is already done, as I've not recently read the whole beginners Scripting pages).

For the Fact that FreeCAD could "mimic" other software, I don't see a real need, apart from the usual "keystrokes" CTRL-C, CTRL-X and maybe the "navigation behaviour" that I think it already offers a bunch of different choices.

The point is "more documentation" is needed, and on top "more up to date tutorials" are needed to "guide newcomers" to use FreeCAD.

So the work jpg87 have done is "very welcomed" and similar works has to be "encouraged" and maybe some efforts has to be done in writing "more free beginners guides" as people with "different backgrounds" have "different needs" in terms of "explanations" as maybe using some other software they are too accustomed to some "different" and maybe "bad habits".

Some work is already done, I've seen a "guide for users that come from Fusion360" so if there are more people that have experience in using FreeCAD and other piece of software (CAD/CAE and similar) it will be a "way to repay" developer efforts to "put together" something about the "different behaviours" or about "different ways" to do thing in FreeCAD and in XXXCAD.

My two cents.

Regards

Carlo D.
Il mio Blog: https://onekk-maker.blogspot.com/

Introduzione a FreeCAD in Italiano: https://github.com/onekk/freecad-doc
freedman
Posts: 1978
Joined: Thu Mar 22, 2018 3:02 am
Location: Washington State, USA

Re: Philosophical thoughts (?) About FreeCAD.

Postby freedman » Tue May 18, 2021 5:23 am

I remember back (way back) when some company wanted me to make some sheet metal CAD drawings on an Apple computer. They had some simple CAD program that was actually pretty cool at the time. Anyone that knows computer history can remember how the Apple computer had much better graphics than a PC and the software programmer was held to follow a rigid structure. This got me thinking about icons and toolbars and how they were used to teach someone how to use the software.
Somewhere in the time-line of complicated computer software the programmers quit using the icon as an indicator of is the process available. I see that often in current software development. It's interesting how much you can learn just from the program enabling and disabling a few icon functions. I can imagine the Toolbar in PartDesign with nothing selected in the 3D, or only a face selection. It's no fun to do in code (trying to keep track) but man is it a good silent teacher.
User avatar
onekk
Posts: 958
Joined: Sat Jan 17, 2015 7:48 am
Contact:

Re: Philosophical thoughts (?) About FreeCAD.

Postby onekk » Tue May 18, 2021 6:56 am

@freeman

Yes, it will be easy, but you may not have taken in account, that "old programs" generally were "monolitic" i.e no plugin, or no macro extensions.

So in a more recent view, you have at least to have a "complete GUI guide" to make some things:

1) track what every button is doing, to track if a button is "applicable" to what is selected
2) "deselect" or "grey" buttons, or menu item that are not working on selected item

But this will involve having to expose and create at least some thing:

Code: Select all

working_on = [TopoShape, Geometry, "Document objects", Links, Compounds]
not_working_on = [CompSolids]


that have to be tracked and taken in account but the UI code at every modification, I think that this will slow down the interface responsiveness a lot.

But as usual without some test is only a mere thinking.

Regards

Carlo D.
Last edited by onekk on Tue May 18, 2021 3:43 pm, edited 1 time in total.
Il mio Blog: https://onekk-maker.blogspot.com/

Introduzione a FreeCAD in Italiano: https://github.com/onekk/freecad-doc
User avatar
Zolko
Posts: 1378
Joined: Mon Dec 17, 2018 10:02 am

Re: Philosophical thoughts (?) About FreeCAD.

Postby Zolko » Tue May 18, 2021 1:31 pm

freedman wrote: Tue May 18, 2021 5:23 am Somewhere in the time-line of complicated computer software the programmers quit using the icon as an indicator of is the process available .... It's interesting how much you can learn just from the program enabling and disabling a few icon functions.
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.
try the Assembly4 workbench for FreCAD v0.19
install with Tools > Addon Manager > Assembly4 — tutorials here and here