Skip to content

Latest commit

 

History

History
99 lines (70 loc) · 5.78 KB

Std_SendToPythonConsole.md

File metadata and controls

99 lines (70 loc) · 5.78 KB
Error in user YAML: (<unknown>): did not find expected alphabetic or numeric character while scanning an alias at line 5 column 14
---
 GuiCommand:
   Name: Std SendToPythonConsole
   MenuLocation: Edit , Send to Python Console
   Workbenches: All
   Shortcut: **Ctrl**+**Shift**+**P**
   Version: 0.19
---

Std SendToPythonConsole

Description

The Std SendToPythonConsole command creates variables in the Python console referencing a selected object and its selected subshapes, along with some other useful references. The variables and the code involved can be used in the development of Python code.

Depending on the selected object and its selected subshapes, if any, the following variables are created:

+++ | Variable name | Referenced object(s) | +=================+=========================================================================================================================================================+ | | The document containing the selected object | | {{Incode|doc}} | | | | | +++ | | The selected Link object (only created if the selected object is a Link) | | {{Incode|lnk}} | | | | | +++ | | Depending on the selected object: | | {{Incode|obj}} | The selected object itself (if the selected object is not a Link) | | | The Linked object (if the selected object is a Link) | +++ | | Depending on the type of {{Incode|obj}}: | | {{Incode|shp}} | The {{Incode|Shape}} property of {{Incode|obj}} (for objects derived from the {{Incode|Part::Feature}} class) | | | The {{Incode|Mesh}} property of {{Incode|obj}} (for Mesh objects) | | | The {{Incode|Points}} property of {{Incode|obj}} (for Points objects) | +++ | | The first selected subshape (only created if at least one subshape is selected) | | {{Incode|sub}} | | | | | +++ | | A list containing all subshapes (only created if two or more subshapes are selected) | | {{Incode|subs}} | | | | | +++

 ### Begin command Std_SendToPythonConsole  try:      del(doc,lnk,obj,shp,sub,subs)  except Exception:      pass    doc = App.getDocument("Unnamed")  lnk = doc.getObject("Link")  obj = lnk.getLinkedObject()  shp = obj.Shape  sub = obj.getSubObject("Edge10")  subs = [obj.getSubObject("Edge10"),obj.getSubObject("Face3"),obj.getSubObject("Vertex5"),]  ### End command Std_SendToPythonConsole

Example output: an edge, a face, and a vertex of a Link to a Part Box were selected

Usage

  1. Select a single object or one or more subshapes belonging to a single object.
  2. There are several ways to invoke the command:
    • Select the Edit → Send to Python Console option from the menu.
    • Select the Send to Python Console option from the Tree view context menu or 3D view context menu.
    • Use the keyboard shortcut: Ctrl+Shift+P.
  3. If required the Python console opens.
  4. The Python console receives the keyboard focus.

Notes

  • All previously created variables are deleted each time the command is run.

  • If the selected object is a Link ({{Incode|App::Link}}) and the Linked object is derived from the {{Incode|Part::Feature}} class, the {{Incode|shp}} variable will be the shape of the Linked object. If the Link has been transformed or scaled and you want to access the scaled/transformed shape, you can do so with this code:

:

pythonlnk_shp = Part.getShape(lnk)

{{Std Base navi}}


documentation index > Std SendToPythonConsole