3.8.1 Concept |
In RAYGUIDE, there are two important terms related to pens: “pen set” and “marker pen”.
A “pen set” is simply a collection of “marker pens”. Each “marker pen” in it is identified by a natural number. There are usually several “pen sets” involved during a marking process.
A “marker pen” itself is a collection of properties that defines how a path is marked. Such properties are a mix of the settings for the laser, the scanner, the graphical display, etc.
To retrieve a marker pen, one should know which pen set it belongs to, and what identifier it has. There are several places where a pen set is defined:
Job element (that is markable)
Job element holder
Container
Container holder
Job
As normal pen set
As copy of preset (it is called “base pen set”)
Application (as presets)
The following diagram shows the hierarchical order of these placements.
And based on this order, then a property value in a marker pen can be resolved.
When a marker pen is added to a pen set, all its values are implicit. The only exception to this is the “default” marker pen in the application level. This special pen has explicit values for all its properties.
At the application level, several pen sets can be stored. This would allow a job to be marked with a special behavior. For example, a user can define a pen set with values for engraving, another pen set with values for welding, another pen set for cutting, etc.
The presets can be stored in two different ways:
SYSTEM. All users have access. This would be useful to standardize pen values.
USER. Only the current user has access. This would be useful if the user would like to experiment using different set of values.
One of the presets can be assigned as the default pen set when a new job is created.
When a new job is created, a default preset is copied and stored in the job. If needed, another preset can be assigned to the job to replace the default. This assigned pen set is called the base pen set for the job. The special characteristic for this pen set is that all its marker pens have explicit values for all its properties.
When one would like to know the property value of a marker pen, the following rules apply to resolve the value:
Get the pen set of the marker pen.
Verify that these 2 conditions are satisfied:
Is there a marker pen with the specified identifier in the pen set?
Is an explicit value assigned to the specified property?
Are both conditions in #2 satisfied?
YES. Use explicit value.
NO. Is the pen set already the job’s base pen set?
YES. Use the property value from the special “default” marker pen.
NO. Choose the pen set of the next higher hierarchy. Repeat step 2.
In other words, find the first explicit value when traversing up the hierarchy, and use the property value of the “default” marker pen if there is no explicit value found during the traversal to the base pen set.
The following 2 examples show how the pen's properties in a job element is resolved.
All implicit
Level | Laser power | Mark speed | Jump speed | Color |
---|---|---|---|---|
Job element | null | null | null | null |
Job | null | null | null | null |
Base pen set | 1 | 10 | 10 | Black |
Level | Laser power | Mark speed | Jump speed | Color |
---|---|---|---|---|
Job element | 1 | 10 | 10 | Black |
Job | null | null | null | null |
Base pen set | 1 | 10 | 10 | Black |
Some explicit
Level | Laser power | Mark speed | Jump speed | Color |
Job element | null | null | null | Red |
Job element holder | null | 20 | null | null |
Job | 0.5 | null | null | null |
Base pen set | 1 | 10 | 10 | Black |
Level | Laser power | Mark speed | Jump speed | Color |
Job element | 0.5 | 20 | 10 | Red |
Job element holder | null | 20 | null | null |
Job | 0.5 | null | null | null |
Base pen set | 1 | 10 | 10 | Black |