FeaturePython methods/ru

Введение
This page serves as a reference for the available overridable methods on Create a FeaturePython object part I or Scripted objects.

Primary reference
The below methods account for ~99% of the use-cases power-users may have for Python proxy classes.

It is not uncommon to encounter a situation where the Python callbacks are not being triggered as they should. Beginners in this area can rest assured that the FeaturePython callback system is not fragile or broken. Invariably when callbacks fail to run it is because a reference is lost or undefined in the underlying code. If, however, callbacks appear to be breaking with no explanation, providing object/proxy references in the callback (as noted in the first table above) may alleviate these problems. Until you are comfortable with the callback system, it may be useful to add print statements in each callback to print messages to the console during development.

Additional methods
The below methods are for advanced usage of Python proxy classes and you won't have a need for them most of the time.


 * mustExecute
 * getViewProviderName
 * getSubObject
 * getSubObjects
 * getLinkedObject
 * hasChildElement
 * isElementVisible
 * canLinkProperties
 * allowDuplicateLabel
 * redirectSubName
 * canLoadPartial
 * onBeforeChangeLabel

Determining available Python methods
Within the FeaturePython Template Class exists various  calls.

Each of these correspond to an available bound Python method.

For example,  on line 193 means the   method is available.

Note,  and   are special-cases and don't follow the above heuristic.

Смотрите также

 * FreeCAD GitHub: FeaturePython.h - public API
 * FreeCAD GitHub: FeaturePythonT template class
 * FreeCAD Forum Discussion: Scripted Objects Complete Method Reference