FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabic Belarusian Catalan Czech German Greek Spanish Spanish Basque Finnish Filipino French Galician Croatian Hungarian Indonesian Italian Japanese Kabyle Korean Lithuanian Dutch Norwegian Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbian Swedish Turkish Ukrainian Valencian Vietnamese Chinese Chinese
  • Features
  • Download
  • Blog
  • Documentation
    Documentation index Getting started Users documentation The FreeCAD manual Workbenches documentation Python coding documentation C++ coding documentation Tutorials Frequently asked questions Privacy policy About FreeCAD
  • Contribute
    How to help Sponsor Report a bug Make a pull request Jobs and funding Contribution guidelines Developers handbook Translations
  • Community
    Code of conduct Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendar
  • ♥ Donate

Donate

$
SEPA Information
Please set up your SEPA bank transfer to:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Bank agency: BNP Paribas Fortis
Address: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

Introduction

The Python Console is a panel that is part of the FreeCAD user interface. It runs an instance of the Python interpreter which can be used to control FreeCAD processes, and create and modify objects and their properties.

It can be made visible/hidden through the View → Panels → Python Console drop-down menu.

The Python Console in FreeCAD has basic syntax highlighting, to differentiate, with various styles and colors, comments, strings, numeric values, built in functions, printed text output, and delimiters like parentheses and commas. These properties of the console can be configured in the Preferences Editor.

The Python Console showing messages when FreeCAD has just started.

Scripting

For absolute beginners, see: Introduction to Python, and Python scripting tutorial.

See also: FreeCAD scripting basics, and Scripted objects.

The Python Console can perform basic code completion when a dot is written after an object; it will show public methods and attributes (variables) of the current object (class), for example, obj.

The console is also able to show the documentation string of a particular function when the opening parenthesis is written, for example, function(

Example Python code that produces objects in the 3D view.

The FreeCAD initialization scripts automatically load some modules, and define some aliases. Therefore, in the Python Console these are available:

App = FreeCAD
Gui = FreeCADGui

Therefore these are equal:

App.newDocument()
FreeCAD.newDocument()

Note: these pre-loaded modules and aliases are only available from the Python Console embedded inside the FreeCAD program. If you use FreeCAD as a library in an external program, you must remember to load the FreeCAD and FreeCADGui modules and define the necessary aliases if you wish.

Context menu

Right-clicking the Python Console opens a context menu with the following commands:

  • Copy: stores the selected text in the clipboard for later pasting; it is disabled if nothing is selected.
  • Copy Command: stores the selected command in the clipboard for later pasting; it is disabled if nothing is selected.
  • Copy History: copy the entire history of Python commands entered in this session.
  • Save History As…: save the entire history of Python commands entered in this session to a text file.
  • Save History: TBD.
  • Paste: paste previously copied text in the clipboard to the Python Console.
  • Select All: selects all text in the Python Console.
  • Clear Console: erases all commands entered into the Python Console. This is useful if the Python Console is full of messages and previously entered commands that may be distracting when testing a new function. This is merely aesthetic, as this command doesn't delete existing variables nor clears the imported modules in the session.
  • Insert File Name…: opens a dialog to search for a file in the system, then it inserts the full path of the file. This is useful to test functions that process an input file, without having to write the entire name in the console, which is error prone. This command does not run the file, and does not import it as a Python module, it just returns the full path of that file.
  • Word Wrap: wrap very long lines that exceed the horizontal dimension of the Python Console.

Notes

  • One has the ability to scroll the API in the Python Console. Example:
    1. In the console type: FreeCAD.
    2. A dialog box will display with optional classes/functions to choose from
    3. Scroll through the list to read the description of each class/function
    4. By choosing a function and following it with a . one can repeat steps 2 and 3 to traverse deeper in to the API
  • Tab/Word completion is supported using the Ctrl+Space shortcut


This page is retrieved from https://wiki.freecad.org/Python_Console

Get in touch!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

This project is supported by: , KiCad Services Corp. and other sponsors

GitHubImprove this page on GitHub