Draft Layer: Difference between revisions

From FreeCAD Documentation
No edit summary
(Properties...)
Line 40: Line 40:


== Properties == <!--T:8-->
== Properties == <!--T:8-->

See also: [[property_editor|Property editor]].

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}}


<!--T:9-->
<!--T:9-->
* {{PropertyData|Group}}: specifies the elements that are part of the group.
* {{PropertyData|Group|LinkList}}: 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}}.
=== View ===

{{TitleProperty|Layer}}

* {{PropertyView|Draw Style|Enumeration}}: {{value|Solid}}, {{value|Dashed}}, {{value|Dotted}}, {{value|Dashdot}}
* {{PropertyView|Line Color|Color}}
* {{PropertyView|Line Width|Float}}
* {{PropertyView|Override Line Color Children|Bool}}
* {{PropertyView|Override Shape Color Children|Bool}}
* {{PropertyView|Shape Color|Color}}
* {{PropertyView|Transparency|Integer}}

{{TitleProperty|Print}}

* {{PropertyView|Line Print Color|Color}}
* {{PropertyView|Use Print Color|Bool}}


== Scripting == <!--T:12-->
== Scripting == <!--T:12-->

Revision as of 16:49, 4 August 2021

This documentation is a work in progress. Please don't mark it as translatable since it will change in the next hours and days.

Draft Layer

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

Description

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

This tool replaces Draft VisGroup starting from FreeCAD 0.19.

Note: The BIM Workbench offers a complete layer manager tool, which will eventually be included in Draft.

Usage

  1. Go to the menu Draft → Utilities → 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.
  2. 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.
  3. Change the desired view properties of the Layer.

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 elements that are part of the group.

View

Layer

  • ViewDraw Style (Enumeration): Solid, Dashed, Dotted, Dashdot
  • ViewLine Color (Color)
  • ViewLine Width (Float)
  • ViewOverride Line Color Children (Bool)
  • ViewOverride Shape Color Children (Bool)
  • ViewShape Color (Color)
  • ViewTransparency (Integer)

Print

  • ViewLine Print Color (Color)
  • ViewUse Print Color (Bool)

Scripting

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a 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()
lay_vobj = layer.ViewObject
lay_vobj.LineColor  = (1.0, 0.0, 0.0, 0.0) # red
lay_vobj.ShapeColor = (1.0, 1.0, 0.0, 0.0) # yellow

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()