From 89a50abeddf99f26c1a7b4cc74f8081d1e9bec2d Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 19 Oct 2021 00:11:27 +0200 Subject: [PATCH] Some more documentation about layer views. --- src/lay/lay/doc/manual/basic.xml | 2 +- .../lay/doc/manual/layer_source_expert.xml | 4 + src/lay/lay/doc/manual/layer_views.xml | 84 +++++++++++++++++++ src/lay/lay/layHelpResources.qrc | 1 + 4 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 src/lay/lay/doc/manual/layer_views.xml diff --git a/src/lay/lay/doc/manual/basic.xml b/src/lay/lay/doc/manual/basic.xml index 92969e177..ec136b253 100644 --- a/src/lay/lay/doc/manual/basic.xml +++ b/src/lay/lay/doc/manual/basic.xml @@ -24,9 +24,9 @@ + - diff --git a/src/lay/lay/doc/manual/layer_source_expert.xml b/src/lay/lay/doc/manual/layer_source_expert.xml index 30619a4c1..97a50d9dc 100644 --- a/src/lay/lay/doc/manual/layer_source_expert.xml +++ b/src/lay/lay/doc/manual/layer_source_expert.xml @@ -100,5 +100,9 @@ a selector as well, only those shapes will be shown that meet both criteria.

+

+ A general description for the source notation is found here: . +

+ diff --git a/src/lay/lay/doc/manual/layer_views.xml b/src/lay/lay/doc/manual/layer_views.xml new file mode 100644 index 000000000..c9c294b0c --- /dev/null +++ b/src/lay/lay/doc/manual/layer_views.xml @@ -0,0 +1,84 @@ + + + + + + The Layer List (Layer Views) + + + +

+ An important concept in KLayout are the layer views. KLayout displays the layers + of a layout by default in a list on the right side of the main window. + This list however, does not directly reflect the layers in the layout database. + Instead this list is a collection of "views". A view is a description of what is + to be displayed and how. +

+ +

+ Essentially, the entries in the layer list are pointers to layers in the + database, together with a description how to paint the shapes on these layers (the + "layer properties"). +

+ +

+ The pointer is the "source" of a layer view. This is typically a GDS layer and datatype, + but can be a layer name (for DXF for example). There are also abstract sources (such as + cell boundaries) and the sources can include selectors or modifiers. Selectors are + used to only display shapes with certain user properties or from certain hierarchy + levels. Modifiers transform the shapes before they are drawn for example. + The source is defined by a "source specification" - this is a string describing the + database layer and selectors and modifiers. A simple source string is "1/0" which is + for GDS layer 1, datatype 0 without and selectors or modifiers. + To change the source, use "Change Source" from the layer list's context menu. +

+ +

+ See for some source specification string applications + and more details. +

+ +

+ Beside the source, a layer entry has a display name. This is an arbitrary text + providing a description for the user. By default - when no such name is present - + the source of the layer will be displayed. + To change the display name, use "Rename" from the layer list's context menu. +

+ +

+ Plus of course, the layer views have many options to specify the drawing style, + animations and decorations. +

+ +

+ The concept of separating views from the database layers opens some interesting options: +

+ +
    +
  • Layer views can refer to individual layouts from multi-layout views (through the "@1", "@2", ... notation in the source). + Hence, multiple layouts can be mixed in a single layer list.
  • +
  • Layers can be present in the list which do not need to be present in the database. Such a layer is shown as empty. + This is important as in GDS an empty layer is equivalent to non-existing. Still you may want to have it shown in the + layer list - the views offer this option.
  • +
  • Vice versa, database layer may not be listed in the layer list if no corresponding layer view is present. This + way, auxiliary or debug layers can be omitted from the layer list. A "wildcard specification" is available to make + sure, all layers are shown if you need to see all.
  • +
  • Multiple tabs can be present to provide multiple views on the same layouts. This is just an alternative set of + layer views.
  • +
  • Layer grouping, sorting etc. are just operations on the views, no database change is involved.
  • +
+ +

+ The concept on the other hand is slightly counter-intuitive at first. + Here are some hints: +

+ +
    +
  • Renaming a layer does not change the source - if you rename a layer to something like "1/0", you are likely to fool yourself thinking this is layer 1, datatype 0.
  • +
  • Changing a layer view's source does not change the database too - it will just change the pointer. To change a layer's information in the database, use Edit/Layer/Edit Layer Specification.
  • +
  • Deleting a layer from the layer list does not delete the layer from the database. Use Edit/Layer/Delete Layer instead.
  • +
  • Additing a new layer does not immediately create the layer in the database. Only once you draw something on that layer, it is generated in the database.
  • +
+ +
+ diff --git a/src/lay/lay/layHelpResources.qrc b/src/lay/lay/layHelpResources.qrc index 0e0053df0..06524e1f5 100644 --- a/src/lay/lay/layHelpResources.qrc +++ b/src/lay/lay/layHelpResources.qrc @@ -158,6 +158,7 @@ doc/manual/landmarks.xml doc/manual/layer_animation.xml doc/manual/layer_boolean.xml + doc/manual/layer_views.xml doc/manual/layer_color.xml doc/manual/layer_content.xml doc/manual/layer_fill.xml