Draft Layer/en: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 2: Line 2:


{{Docnav
{{Docnav
|[[Draft_ToggleGrid|ToggleGrid]]
|[[Draft_FlipDimension|Flip Dimension]]
|[[Draft_WorkingPlaneProxy|WorkingPlaneProxy]]
|[[Draft_Slope|Slope]]
|[[Draft_Module|Draft]]
|[[Draft_Module|Draft]]
|IconL=Draft_FlipDimension.svg
|IconL=Draft_ToggleGrid.svg
|IconR=Draft_Slope.svg
|IconR=Draft_WorkingPlaneProxy.svg
|IconC=Workbench_Draft.svg
|IconC=Workbench_Draft.svg
}}
}}



{{GuiCommand
{{GuiCommand
Line 16: Line 15:
|MenuLocation=Utilities → Layer
|MenuLocation=Utilities → Layer
|Version=0.19
|Version=0.19
|SeeAlso=[[Draft_AutoGroup|Draft AutoGroup]]
}}
}}


==Description==
==Description==


The [[Draft_Layer|Draft Layer]] creates a special kind of group that controls the visual properties of objects placed inside of it. By changing the properties of the Layer, such as line width, line color, shape color and transparency, the changes are propagated to the objects that make use of the Layer property.
The [[Image:Draft_Layer.svg|24px]] '''Draft Layer''' command creates a Draft Layer. A layer is a special kind of group with a number of [[#View|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 tool replaces Draft VisGroup starting from FreeCAD 0.19.
This command has replaced the Draft VisGroup command in FreeCAD version 0.19.

'''Note''': The [[BIM_Workbench|BIM Workbench]] offers a complete [[BIM_Layers|layer manager tool]], which will eventually be included in Draft.


==Usage==
==Usage==


# There are several ways to invoke the command:
# Go to the menu {{MenuCommand|Draft → Utilities → [[Image:Draft_Layer.svg|16px]] Layer}}. This adds a new layer. If it is a the first layer, a Layers object will be created too, which contains all the layers.
#* Press the {{Button|[[Image:Draft_Layer.svg|16px]] [[Draft_Layer|Draft Layer]]}} button.
# To add objects you can drag them into the layer. This will remove the objects from there original layer. If you want to have an object in several layers, e.g. to control the visibility of different sets of objects, you have to edit the Group property of the layer. Click the button occurring to the right and select/deselect the objects you want to have in or out of the layer.
#* Select the {{MenuCommand|Utilities → [[Image:Draft_Layer.svg|16px]] Layer}} option from the menu.
# Change the desired view properties of the Layer.
#* If the layer container already exists: right-click it in the [[Tree_view|Tree view]] and select the {{MenuCommand|[[Image:Draft_NewLayer.svg|16px]] Add new layer}} option from context menu.
# If it does not exist the layer container is created first.
# A layer is created and put in the layer container.
# Optionally change the [[#Properties|properties]] of the layer.
# Optionally put objects in the layer by drag and dropping them on the layer in the [[Tree_view|Tree view]]. Objects can also be put in a layer by editing the {{PropertyData|Group}} property of the layer.
# Optionally [[#Layer_options|activate]] the layer.

== Context menu ==

=== Layer container options ===

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

* {{MenuCommand|[[Image:Draft_Layer.svg|16px]] Merge layer duplicates}}: this option currently does not work.
* {{MenuCommand|[[Image:Draft_NewLayer.svg|16px]] 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|Tree view]] context menu:

* {{MenuCommand|[[Image:button_right.svg|16px]] [[Draft_AutoGroup|Activate this layer]]}}: activates the selected layer.
* {{MenuCommand|[[Image:Draft_SelectGroup.svg|16px]] [[Draft_SelectGroup|Select layer contents]]}}: selects the objects inside the selected layer.

== Notes ==

* A new layer can also be created with the [[Draft_AutoGroup|Draft AutoGroup]] command.
* The [[BIM_Workbench|BIM Workbench]] offers a complete [[BIM_Layers|layer manager tool]] which will eventually be included in the [[Draft_Module|Draft Workbench]].


== Properties ==
== Properties ==


See also: [[property_editor|Property editor]].
* {{PropertyData|Group}}: specifies the elements that are part of the group.

* Visual properties that can be changed that are propagated to the objects: {{PropertyView|Drawing Style}}, {{PropertyView|Line Color}}, {{PropertyView|Line Width}}, {{PropertyView|Shape Color}}, {{PropertyView|Transparency}}, and {{PropertyView|Visibility}}.
A Draft Layer object is derived from an [[App_FeaturePython|App FeaturePython]] object and inherits all its properties. It also has the following additional properties:

=== Data ===

{{TitleProperty|Layer}}

* {{PropertyData|Group|LinkList}}: specifies the objects that are inside the layer.

=== View ===

{{TitleProperty|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, {{PropertyView|Line Color}} and {{PropertyView|Shape Color}}, this behavior is optional.

* {{PropertyView|Draw Style|Enumeration}}: specifies the draw style of the layer: {{value|Solid}}, {{value|Dashed}}, {{value|Dotted}} or {{value|Dashdot}}
* {{PropertyView|Line Color|Color}}: specifies the line color of the layer.
* {{PropertyView|Line Width|Float}}: specifies the line width of the layer.
* {{PropertyView|Override Line Color Children|Bool}}: specifies if changes to the {{PropertyView|Line Color}} of the layer are propagated to the objects inside the layer.
* {{PropertyView|Override Shape Color Children|Bool}}: specifies if changes to the {{PropertyView|Shape Color}} of the layer are propagated to the objects inside the layer.
* {{PropertyView|Shape Color|Color}}: specifies the shape color of the layer.
* {{PropertyView|Transparency|Percent}}: specifies the transparency of the layer.

{{TitleProperty|Print}}

* {{PropertyView|Line Print Color|Color}}: specifies the line print color of the layer.
* {{PropertyView|Use Print Color|Bool}}: specifies if the {{PropertyView|Line Print Color|}} of the layer is used when a [[TechDraw_DraftView|TechDraw DraftView]] is created from the objects inside the layer.


== Scripting ==
== Scripting ==


{{Emphasis|See also:}} [[FreeCAD_Scripting_Basics|FreeCAD Scripting Basics]].
See also: [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].


To add or remove objects from the layer, simply overwrite its {{incode|Group}} attribute.
To create a Draft Layer use the {{incode|make_layer}} method of the Draft module. To add objects to, or remove objects from, a layer change its {{incode|Group}} property.


{{Code|code=
{{Code|code=
import FreeCAD as App
group = App.ActiveDocument.Layer.Group
import Draft
group.append(App.ActiveDocument.Wire)

App.ActiveDocument.Layer.Group = group
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]

doc.recompute()
}}
}}



{{Docnav
{{Docnav
|[[Draft_ToggleGrid|ToggleGrid]]
|[[Draft_FlipDimension|Flip Dimension]]
|[[Draft_WorkingPlaneProxy|WorkingPlaneProxy]]
|[[Draft_Slope|Slope]]
|[[Draft_Module|Draft]]
|[[Draft_Module|Draft]]
|IconL=Draft_FlipDimension.svg
|IconL=Draft_ToggleGrid.svg
|IconR=Draft_Slope.svg
|IconR=Draft_WorkingPlaneProxy.svg
|IconC=Workbench_Draft.svg
|IconC=Workbench_Draft.svg
}}
}}
Line 60: Line 123:
{{Draft Tools navi{{#translation:}}}}
{{Draft Tools navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{clear}}

Revision as of 06:58, 11 August 2021

Draft Layer

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

Description

The 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.

Usage

  1. There are several ways to invoke the command:
    • Press the Draft Layer button.
    • Select the Utilities → Layer option from the menu.
    • If the layer container already exists: right-click it in the Tree view and select the 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:

  • Merge layer duplicates: this option currently does not work.
  • 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:

Notes

Properties

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:

Data

Layer

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

View

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.

Print

  • 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.

Scripting

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]

doc.recompute()