This node is a pattern generator that creates a “concentric pattern” (moves the delection beam along the outline and continuously shrinks it).

A profile curve can used to change the dose during this shrinking, in order to generate concentric profiles (eg. Fresnel lenses).


left: Preview of a rectangle that has an attached ConcentricPatternGen with a profile set. The ConcentricPatternGen has been applied with this script. right: Profile curve used to generate the pattern shown on the left side.


This pattern generator can be applied to all polygon shapes. However, currently it has some limitations:

  • Non-convex polygons with attached profiles might not give the “expected” result.
  • Holes are ignored.
  • With some shapes, artifacts can be produced, when using profiles.
  • Exposure maps are ignored, if a profile is set.

Attribute Reference


niceName dist10 (⇨ wstring) dist50 plug_in plug_out , f_default Unnamed

Human readable name of this node (eg. “Rectangle 1”). The name can be changed to any string in the Attribute Editor or in the Outliner.

Pattern Generation

From Inside to outside

startInside dist10 (⇨ bool) dist50 plug_in plug_out , f_default False

If True, exposing the shape starts from the inside.

Ignore Non Convex Holes

ignoreNonConvex dist10 (⇨ bool) dist50 plug_in plug_out , f_default False

If True, all regions are ignored, that result form shrinking a non-convex polygon (see image below).


Illustrates the effect of the ignoreNonConvex plug on a non convex polygon (with the same profile used above)

Exposure Profile

profile dist10 (⇨ dataset) dist50 plug_in plug_out , f_default Unspecified

A list of (x,y) points. The x-value must be normalized (0: outer margin of the polygon, 1: inner point of the polygon). The y-values denote relative dose scale factors.

Cutoff Value

cutOffValue dist10 (⇨ double) dist50 plug_in plug_out , f_default 0

This setting is only applied, if a profile is set. All regions where the profile values are smaller or equal (<=) than this value are not exposed (and “cutted out”).

Other Attributes

Object Name

name dist10 (⇨ string) dist50 plug_in plug_out , f_default Unnamed

Object name. The object name can be used to address objects from PYTHON scripts or from an expression (eg. in the Attribute Editor). More information about object names can be found Object Names