1 of 3

FreeCAD Workbench Programming

Instructional video (on the right)

Video URL

Gives overview of:

  • Where/how to find documentation
  • Simple python debugging in FreeCAD
  • FreeCAD code structure
  • Installing a new workbench
  • Example of a basic workbench
    • Adding icons to a workbench
    • Creating a “command” button
    • Opening a dialog

2 of 3

FreeCAD Workbench Programming (cont.)

Links

3 of 3

FreeCAD Workbench Programming (cont.)

Brackets Text Editor notes

  • Brackets is primarily targeting web development, so it seems a little limited for python support, though useable through some extensions (pylinter, requires pylint installed on Linux (sudo apt-get install pylint))
  • Ability to add a folder to the editor for easy file navigation
  • Markdown editor toolbar extension - though you can edit and preview a Markdown file directly in Github
  • Decent editor, but we may need a more rich editor for more hardcore programming or other languages (C++). Of note, a lot of FreeCAD’s main source code (not workbenches) is done in C++

Other possible text editors (add yours :))

  • Visual Studio Code - Source code is under open source MIT license. App itself is under a different license but it’s still free to use for commercial use - Looks to have good extensions for python (better than Brackets) and C++
  • Netbeans IDE - LGPLv2
  • PyCharm - Semi-open source but also easily the industry standard Python IDE. All the Python devs I know either do full text mode (emacs/vim) or if they use an IDE it’s PyCharm. - lex
  • Eric - full featured Python editor and IDE, written in Python.

The main thing is that the editor can lint and format the code because python cares about whitespace/indentation

I also used the default gEdit editor, which is simple but can gets the job done. A lot of Linux people also like Vim, gVim, Emacs. Ubuntu has vi installed, but I think it needs to be upgraded to Vim to behavior more “intuitively”.