Draft Layer

From FreeCAD Documentation
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский
Arrow-left.svg Previous: Draft ToggleGrid.svg ToggleGrid

Draft Layer.svg Draft Layer

Menu location
Utilities → Layer
Draft, Arch
Default shortcut
Introduced in version
See also
Draft AutoGroup


The Draft Layer.svg Draft Layer command creates a Draft Layer. A layer is a special kind of group with a number of visual properties. These properties, and any changes to them, are propagated to the objects placed inside the layer. The layers themselves are put in another special group: the Draft LayerContainer.

This command has replaced the Draft VisGroup command in FreeCAD version 0.19.


  1. There are several ways to invoke the command:
    • Press the Draft Layer.svg Draft Layer button.
    • Select the Utilities → Draft Layer.svg Layer option from the menu.
    • If the layer container already exists: right-click it in the Tree view and select the Draft NewLayer.svg Add new layer option from context menu.
  2. If it does not exist the layer container is created first.
  3. A layer is created and put in the layer container.
  4. Optionally change the properties of the layer.
  5. Optionally put objects in the layer by drag and dropping them on the layer in the Tree view. Objects can also be put in a layer by editing the DataGroup property of the layer.
  6. Optionally activate the layer.

Context menu

Layer container options

For a Draft LayerContainer these additional options are available in the Tree view context menu:

  • Draft Layer.svg Merge layer duplicates: merges all layers with the same base label.
The base label of a layer is its DataLabel stripped of trailing digits and spaces. All layers with the same base label are merged into a single layer with the DataLabel set to that base label. This does not work in FreeCAD version 0.19.
  • Draft NewLayer.svg Add new layer: adds a new layer to the current document.

Layer options

For a Draft Layer these additional options are available in the Tree view context menu:



See also: Property editor.

A Draft Layer object is derived from an App FeaturePython object and inherits all its properties. It also has the following additional properties:



  • DataGroup (LinkList): specifies the objects that are inside the layer.



The properties in this section are applied to objects that are put inside the layer. And any changes to these properties are propagated to them. For two properties, ViewLine Color and ViewShape Color, this behavior is optional.

  • ViewDraw Style (Enumeration): specifies the draw style of the layer: Solid, Dashed, Dotted or Dashdot
  • ViewLine Color (Color): specifies the line color of the layer.
  • ViewLine Width (Float): specifies the line width of the layer.
  • ViewOverride Line Color Children (Bool): specifies if changes to the ViewLine Color of the layer are propagated to the objects inside the layer.
  • ViewOverride Shape Color Children (Bool): specifies if changes to the ViewShape Color of the layer are propagated to the objects inside the layer.
  • ViewShape Color (Color): specifies the shape color of the layer.
  • ViewTransparency (Percent): specifies the transparency of the layer.


  • ViewLine Print Color (Color): specifies the line print color of the layer.
  • ViewUse Print Color (Bool): specifies if the ViewLine Print Color of the layer is used when a TechDraw DraftView is created from the objects inside the layer.


See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft Layer use the make_layer method of the Draft module. To add objects to, or remove objects from, a layer change its Group property.

import FreeCAD as App
import Draft

doc = App.newDocument()

layer = Draft.make_layer(line_color=(1.0, 0.0, 0.0, 0.0),
                         shape_color=(1.0, 1.0, 0.0, 0.0))

polygon1 = Draft.make_polygon(5, radius=1000)
polygon2 = Draft.make_polygon(3, radius=500)
polygon3 = Draft.make_polygon(6, radius=220)
layer.Group = [polygon1, polygon2, polygon3]


Arrow-left.svg Previous: Draft ToggleGrid.svg ToggleGrid