WorldDj wrote: ↑
Sun Nov 10, 2019 8:55 pm
Should I first invest some time learned open cascade or is there any good/sufficient resources for modelling kernels? Or should I dive into the source code of freecad directly?
Thanks in advance.
I'm more in the camp of Joel Graff, than in the camp of wandererfan and ezzieyguywuf.
What do you want to do with FreeCAD? If you want to do something useful, and see quick results, then learning to write small Python macros is all you need to get you started. The Python interface to create and manipulate objects is quite powerful; you can write code, and see results immediately.
In my opinion it's entirely unnecessary to learn OpenCASCADE and the rest of the C++ code, unless this is really what interests you (computer graphics?). The internals are "hard", and the code is complex, so I wouldn't bother.
Maybe you'd like to see nicer tools to create a steel structure with simple options. This is a much more interesting objective that will help you keep motivated while you learn the internals. You will need basic mathematics (vectors), and understanding how to create a solid body; the rest is just adding properties to those bodies, and how to handle the body when the properties change. See Scripted objects
Of course, if you really want to learn C++ and know more about computer graphics, then go ahead and dive into C++ books and references, and try to untangle all concepts of the FreeCAD source code that sadly aren't that well documented. See the Developers hub
In particular, qingfeng's FreeCAD Mod Dev Guide
is a nice reference that explains with some details the internals of FreeCAD which aren't well documented in the wiki, which is supposed to be the official documentation.