Command/it

Un comando di FreeCAD è ciò che viene eseguito quando si preme un pulsante della barra degli strumenti o si digita una scorciatoia da tastiera. Può essere un'azione molto semplice, come cambiare il livello di zoom della vista 3D o ruotare il punto di vista oppure un sistema complesso che apre le finestre di dialogo e attende che l'utente esegua delle specifiche attività.

Each FreeCAD command has a unique name, that appears in the Category:Command_Reference page. Commands can be launched by a toolbar button, a menu item, or from a python script or the python console, by running:

FreeCADGui.runCommand("my_Command_Name")

FreeCAD commands are defined per workbench. Workbenches will normally add their command definitions at FreeCAD init time, so the command exists and is available as soon as FreeCAD is started, no matter if the corresponding workbench has been activated yet or not. In some cases, however, the workbench author might have decided, to not overload too much the FreeCAD startup process, to load the command definitions only at workbench init. In those cases, the command will only be available after the workbench has been activated (you have switched to it at least once with the workbench selector).

As most of them require user interaction, FreeCAD commands are only available in GUI-mode, and not in console mode. However, for convenience, most FreeCAD commands will either have a corresponding python function (like Part.makeBox or Draft.makeLine), or will execute code that is very easy to replicate in a python script.

Commands can be defined either in C++ or in Python.

Example of a C++ command definition (usually defined in /Mod/ModuleName/Gui/Command.cpp):

and a similar command in python (no rule for where it must be done, each python workbench does as it sees fit...)