AxiDraw Layer Control
The AxiDraw layer-numbering syntax, as described in the user guide, shows you how to print only one layer (or a set of layers) in your document, by numbering your layer names. However, there are additional parameters that can be controlled through the layer name. You can use properly formatted codes to specify the pen-down height and the speed for printing that layer alone.
The basic syntax (again, as described in the user guide) requires only that the layer name begins with an integer in the range of 0 to 100. Then, by printing from the "Layers" tab in AxiDraw Control, we can select which layer (or set of layers) to print. We have extended this by detecting that layer-name integer, followed by a specific escape sequence, followed by another integer, in the range of 0 to 100.
The two escape sequences are
+H for pen-down height and
+S for pen-down speed. When printing a document where one or more of the layers contain parameters like this, the layer-specified pen-down height or pen-down speed will override the defaults given in the extension, for that layer only. Since the speed cannot go to zero, the integer following
+S needs to be in the range 1 to 100.
The escape sequences are not case sensitive. Escape sequences need to be given at the start of a layer or immediately following the layer number or other escape sequences. (One exception to this is that whitespace-- one or more spaces at the start of a layer name -- will be ignored. If more than one valid parameter of a given type is found (say, more than one valid speed command for a given layer), only the last one detected will have an effect.
As of AxiDraw Control version 1.3.0, one additional escape sequence has been added. Starting a layer name with
% (a percent sign) designates a documentation layer, which will not be printed. This can be used for setup marks, instructions (including editable text and pictures), or other uses as needed. Documentation layers are skipped outright, so objects such as editable text and bitmap images which would necessitate a warning on printed layers will simply be ignored.
The following examples show a number of different possible layer names, and what the expected behavior would be. Let us assume that the default pen-down height is specified as 20 (in the "Basic Setup" tab of AxiDraw Control) and that the default pen-down speed is set at 30 (in the "Timing" tab of AxiDraw Control).
2 forest floor
- The layer number is 2, and it is labeled as "forest floor". It prints with the default pen height and speed (in the case described here, a pen-down height of 20, and a pen-down speed of 30).
- The layer number is 45, and it is labeled as "_forest floor". It prints with the default pen height, but with pen-down speed of 50, regardless of the value specified in the extension.
- An invalid declaration, since the requested height is 5055 (which is outside of the range 0 to 100). The layer number is 100. It prints with the default pen height and speed, since there are not any valid override codes.
0+s1+h100 Forest floor
- The layer number is 0. It prints with the pen-down height of 100, and with pen-down speed of 1, regardless of the value specified in the extension.
3+s1+h100+S50 Forest floor
- The layer number is 3. It prints with the pen-down height of 100, and with pen-down speed of 50, regardless of the value specified in the extension. While there are two pen speed escape codes given, recall that only the last one has an effect.
22+S0+H0 Forest floor
- The layer number is 22. It prints with the pen-down height of 0, and with the default pen-down speed 1, since the speed value of 0 is not valid.
99+S25_+H50 Forest floor
- The layer number is 99. It prints with the default pen-down height, but with a pen-down speed of 25. The height parameter is not valid, since it does not directly follow the other parameter but is interrupted by an underscore. The layer name is "_+H50 Forest floor".
+H50 Forest floor
- No layer number given. It prints with the default pen-down speed, but with a pen-down height of 50. (Layer numbers are not required.)