Contour Generator
Pattern Generator
Function Editor

SecuriDesign Pattern Generator

SecuriDesign Pattern Generator is used to create a guilloche pattern between two selected curves (envelopes). You can create multi-row patterns in single step and each row may have completely different settings.

Pattern Generator Dialog

When you launch Pattern Generator by clicking "Pattern" button on the SecuriDesign toolbar you will see the following dialog. Note, that you need to select two curves first before you run the macro. The selected curves are used as the two envelopes between which the pattern is built.

The following curves are used in the examples below as the envelopes:

The following parameters are available on Pattern tab of the dialog:


Specifies the number of pattern rows to generate.

Rows = 1

Rows = 3

Relative Row Phase Offset

Specifies the phase offset between two adjacent pattern rows. Allowed values range from -100% to 100%. 100% represents the offset of a full period.

Row Phase Offset = 0%

Row Phase Offset = 25%

Row Phase Offset = 50%

Apply Properties For

You can specify properties for each row independently. Or you can specify the same properties to all rows at once. You can also apply different properties to odd/even pattern rows.

Different properties are applied to odd/even rows individually:


This list allows you to select which row you specify parameters for. The content of this list depends on the selection in the Apply Properties For list above. You can use the spin buttons to the right of the list to select previous/next item in the row list. All values in Row Properties control group will be updated immediately as you select different row (or row group) in this list.


Specifies the function that is used to specify the pattern in the row. The functions can be designed in Function Editor.

The following example uses different functions for each row in the pattern (functions used are "Sin", "Loop2", and "Loop11"):


Specifies how many periods of the function is used in a row.

The three different rows use the same function ("Sin") with different frequencies (5, 10, and 20):

See also Period Len parameter below.

Relative Height

Specifies the height of a row relatively to the other rows in the pattern. You basically specify size weight of each row. Resulting row height is calculated proportionally to the coefficient entered in this field. You can only enter integer numbers in Relative Height field. If you want to create one row that is, say, 1.5 times higher than another, enter the height of the first row as "3" and the second as "2".

In the following example, every odd row is specified relative height of "2", while every even row is "1" which makes the odd row twice as high as the even ones:


Determines the vertical coverage of the row. Each row is allocated some space whose size (height) is determined by the value of Relative Height described above. Amplitude of 100% allows the row pattern to fill the whole height of the allocated row. 

Amplitude = 100%:

Amplitude = 75%:

Amplitude = 115%


You can use one or more copy of a function with some offset within the same row. Series value specifies how many copies of the function is placed in a row. Relative phase offset of each function within a row is controlled by Phase Coverage property described further.

Series = 1:

Series = 2:

Series = 4:

The following is the resulting pattern with the Series value set to 4 as above but each individual function copy is outlined in different colors manually in CorelDRAW:


Specifies units of measurement for Pattern Len, and Period Len values

Currently the following values are supported: "in" = inches, "mm" = millimeters, "pt" = points.

Pattern Len

Displays the average length of the pattern. This text box is for informational purposes only and cannot be edited.

Period Len

Shows the average length of one function period in the pattern. Increasing the function frequency automatically decreases the period length. In fact, period length equals to the pattern length divided by the frequency.

You can enter a new period length, if you need. However Pattern Generator cannot create non-integer number of periods in the contour, so the closest integer value of the frequency will be chosen and the resulting period length will be adjusted accordingly.

Phase Offset

Specifies the function phase offset. This value corresponds to horizontal pattern offset. The allowed values for this parameter range from -100% to 100%. 100% equals to the horizontal offset of the whole period.


Specifies vertical offset of the whole row relatively to the default allocated position. The value ranges from -100% to 100%. 100% means a vertical offset equal to the row height.

The following three-row patterns have different vertical offset values for the middle row.

Offset = 0%:

Offset = 20%:

Offset = -80%

Phase Coverage

This value controls how the copies of a function is distributed by phase in the same pattern row. The value of 100% means that phase of every copy is evenly distributed throughout the whole range. Less values makes the phase changes more constricted.

The phase coverage can be illustrated by the following image:

The Phase Coverage value equals to (t/T)*100%.

Phase coverage of the middle row of a pattern varies in the following examples:

Phase Coverage = 100%:

Phase Coverage = 40%:

Outline Color and Background

Outline Color specifies the color to the outline for a pattern row. If you want to use a specific color, put a checkmark in the check box and click the color button to pick the color for the contour curve outline.

You can also provide a background for a row. To do this, place a checkmark into Background checkbox and click on the color button next to it to choose the color for the background.

The following example shows the middle pattern row with yellow outline and red background applied to it:

Curve Quality

The pattern curves are built as a set of small straight line segments. This value specifies how many line segments to use for a single period of a function. Thus, if you use the default value of 30 and build a pattern with frequency value set to 10, then the resulting curve will consist of 30*10 = 300 straight line segments.

Increasing the curve quality value increases the precision at which the pattern is built but it also takes longer to build and the resulting curve contains more nodes. Pattern Generator will not create curves with more than 1,500 nodes. If the curve exceeds this limit, it will be automatically split into several pieces.

Background Quality

When the background curve is built, it is also created as a set of straight lines. This value controls how many line segments will build the curve. As the complexity of the background curve is generally less than those of patterns, the default value for background quality is 10. However for long and complex envelope curves, you might want to increase this value to produce better quality of the drawing.

Smoothen Curves

When checked, this option allows Pattern Generator to smooth curves so that they are no longer comprised of straight line segments, but rather of smooth curves. This further increases curve quality but takes even more time to build and sometimes may produce unexpected results when highly cusp nodes are supposed to be present in the pattern curve.

Auto-Reduce Nodes

When this option is checked, Pattern Generator will try to remove redundant nodes from the pattern curves. This dramatically decreases the complexity of the resulting curves, but takes more time to generate the pattern. This option is only available when Smoothen Curves is checked.

Group Curves

If this option is checked, curves in every pattern row are grouped together along with their backgrounds if any, and then all row groups are further grouped. Otherwise every pattern curve is left as separate objects in CorelDRAW document.


The image to the right of the dialog shows real-time preview of the contour curve with the parameters you've just entered. When you change the parameters, click the preview image to update it. The preview is not updated automatically, you have to click it when you finished modifying contour parameters.

< Previous: Contour Generator | Next : Envelopes Tab>

[ SecuriDesign | Oberon Product Index | Oberon Home Page ]

Copyright 2002 by Alex Vakulenko. All rights reserved.
This page was last revised on 11/16/02.