|Draft → Utilities → Select Plane|
The Draft module features a working plane system, that allows you to specify a custom plane in the 3D space on which next Draft command will occur. There are several methods to define the working plane:
Working plane objects can easily be created and manipulated in scripts and macros. You can create your own, and use them independently of the current Draft working plane.
import WorkingPlane myPlane = WorkingPlane.plane()
You can also access the current Draft working plane:
import FreeCAD draftPlane = FreeCAD.DraftWorkingPlane
To move or rotate the Draft working plane (see the WorkingPlane API page for available methods):
import FreeCAD from FreeCAD import Vector FreeCAD.DraftWorkingPlane.alignToPointAndAxis(Vector(0,0,0), Vector(1,1,1).normalize(), 17)
(note: a Draft command must have been issued to make grid adopt changes)
The working plane has a complete scripting API on its own, with convenience functions to position it and convert to/from placements.