DRYCAD Suite | User Documentation | v1.0.0
Table of Contents
- Overview
- Getting Started
- Configuration: settings.ini
- Configuration: Color Rules File
- Configuration: Children Rules File
- Examples
- Troubleshooting
- Version History
1. Overview
DRY0013 – Random Color replaces CATIA’s manual graphical-properties dialog with a single click: select a feature, or several, and the tool assigns a fresh random color instantly. There’s no interface to open, the tool reads your selection, does its work, and closes itself in the same instant.
Two optional configuration files extend the basic behavior. A Color Rules file lets you exclude ranges of colors you never want assigned, near-pure red, near-white, near-black, or any custom zone. A Children Rules file lets the tool also recolor named children of whatever you selected, using a toned-down variant of the same color so nested features read as a coherent group rather than a random patchwork.
What it does:
- Assigns a new random RGB color to every feature currently selected, in one pass
- Optionally applies a configured line width and/or opacity alongside the color
- Optionally restricts the random color to avoid ranges defined in a Color Rules file
- When exactly one feature is selected, optionally searches for and recolors named children using a coordinated shade of the same color
- Restores your original selection before closing
Supported CAD platforms: CATIA V5
Workspace requirement: Works in the Part, Product, Drawing, or Sketch workspace. Since the tool colors whatever is currently selected, it doesn’t require any specific document type to be active beyond one of these four, it has nothing to do if there’s nothing selectable in the workspace.
2. Getting Started
Prerequisites
- CATIA V5 must be running
- You must be logged in with a valid DRYCAD Suite user account
- The feature(s) you want to color should be selected before launching, or be ready to select one when prompted
Launching the Tool
DRY0013 is launched from the DRYCAD Suite CommandBar inside CATIA V5. Click the corresponding button to run it.
The tool checks the following conditions at startup, and will show an error and close if any fail:
- A valid user session is found
- CATIA V5 is running
- The active workspace is one of: Part, Product, Drawing, or Sketch
DRY0013 has no interface, there’s no panel to keep open, no top-bar menu, and no separate step to confirm. If every check above passes, the color is applied and the tool closes in the same moment. If nothing is selected in CATIA when you launch it, CATIA prompts you to pick a feature first; the tool then proceeds normally with whatever you select.
3. Configuration: settings.ini
File Location
<install_folder>/DRY0013/settings.ini
Structure
; --------------------------------------
; DRY0013 - RANDOM COLOR - SETTINGS FILE
; --------------------------------------
[Graphical Properties]
; Default Linewidth for Colored Features (1 to 8, default unchanged)
DEFAULT_LINEWIDTH=1
; Default Opacity for Colored Features (0.0 to 1.0, default unchanged)
DEFAULT_OPACITY=1.0
[Rules]
; Color Rules File Location
COLOR_RULES_FILE="D:\path\to\your\ColorRules.txt"
; Children Rules File Location
CHILDREN_RULES_FILE="D:\path\to\your\ChildrenRules.txt"
Lines starting with ; are comments and are ignored.
Parameters
DEFAULT_LINEWIDTH
| Property | Value |
|---|---|
| Section | [Graphical Properties] |
| Type | Integer (1–8) |
| Required | No |
| Default | (empty, line width left unchanged) |
The line width applied to every colored feature, alongside the color itself. Leave empty or out of the 1–8 range and the existing line width of each feature is left untouched.
DEFAULT_LINEWIDTH=2
DEFAULT_OPACITY
| Property | Value |
|---|---|
| Section | [Graphical Properties] |
| Type | Decimal (0.0–1.0) |
| Required | No |
| Default | (empty, opacity left unchanged) |
The opacity applied alongside the color, on a 0.0 (fully transparent) to 1.0 (fully opaque) scale. Leave it empty and existing opacity is left untouched.
DEFAULT_OPACITY=0.8
COLOR_RULES_FILE
| Property | Value |
|---|---|
| Section | [Rules] |
| Type | File path (string) |
| Required | No |
| Default | (empty) |
The full path to your Color Rules File, the text file defining color ranges to avoid (see Section 4). Leave it empty, or point it at a file that doesn’t exist, and the tool assigns a completely unrestricted random color every time.
COLOR_RULES_FILE="C:\DRYCAD\Rules\ColorRules.txt"
CHILDREN_RULES_FILE
| Property | Value |
|---|---|
| Section | [Rules] |
| Type | File path (string) |
| Required | No |
| Default | (empty) |
The full path to your Children Rules File, the text file defining which named children get recolored alongside their parent (see Section 5). Leave it empty, or point it at a file that doesn’t exist, and no children are ever touched, only the feature(s) you directly selected get a new color.
CHILDREN_RULES_FILE="C:\DRYCAD\Rules\ChildrenRules.txt"
Tip for teams: Point both files at a shared network location. Any change to your excluded colors or children naming conventions is immediately available to everyone, with nothing to reinstall.
4. Configuration: Color Rules File
The Color Rules File is a plain text file (.txt) that defines zones of color the tool must never assign. Each line is one rule; as many rules as you need can be listed.
4.1 File Syntax Overview
// Lines starting with // are treated as comments and ignored
// Only lines starting with < or > are read as rules
>RRR,<GGG,>BBB
<RRR,<GGG,<BBB
Only lines whose first character is < or > are parsed as rules, every other line, including comments, is silently skipped, so there’s no strict comment marker to get wrong.
4.2 Rule Format
Each rule is a comma-separated triplet, one entry per RGB channel, in Red, Green, Blue order. Each entry must start with either > (the channel must exceed this value to match) or < (the channel must be below this value to match), followed by a number from 0 to 255.
A generated color is rejected and regenerated only when it matches all three channel conditions in the rule at once, a rule is an exclusion zone, not a per-channel filter.
; matches colors where Red > 240 AND Green < 20 AND Blue < 20, a near-pure red
>240,<20,<20
4.3 Full Syntax Reference
>RRR,<GGG,>BBB
Where each of the three positions is independently > or < followed by an integer 0–255. Malformed lines (wrong number of parts, missing >/<, or an out-of-range number) are silently discarded, a mistyped rule simply stops applying rather than causing an error.
4.4 How rejection actually happens
Every time a color is needed, the tool generates a fully random RGB value and checks it against every rule in the file. If it matches even one exclusion zone, it’s discarded and a new one is generated, this repeats until a color satisfies every rule simultaneously. With a reasonably sized set of rules this is instantaneous and invisible; with rules so broad they exclude nearly the entire color space, generation can take noticeably longer while it keeps rolling for a valid match.
5. Configuration: Children Rules File
The Children Rules File is a plain text file (.txt) that tells the tool which named children to recolor alongside whatever single feature you selected.
5.1 File Syntax Overview
// Lines starting with // are treated as comments and ignored
// Only lines starting with [ are read as rules
[ParentType][ChildType]ChildName
Only lines whose first character is [ are parsed as rules; everything else, including comments, is ignored.
5.2 Rule Format
| Field | Description |
|---|---|
[ParentType] | The type the rule is documented for: Body, GeometricalSet, or OrderedGeometricalSet |
[ChildType] | The type of child to search for: Body, GeometricalSet, or OrderedGeometricalSet |
ChildName | The exact name of the child feature to search for and recolor |
[Body][Body]MACHININGS
[Body][Body]DRY_MachiningCollector
Note on
ParentType: it’s parsed and stored for every rule, but the tool doesn’t cross-check it against the type of the feature you actually selected, onlyChildTypeandChildNameare used when searching. In practice, a rule fires whenever a matching child name and type exists somewhere under your selection, regardless of what type the parent rule declares. KeepParentTypeaccurate anyway, it documents intent clearly for the next person editing the file, and future releases may enforce it.
5.3 When children rules apply at all
Children recoloring only happens when every one of these is true:
- Exactly one feature is selected, multi-selection always skips children entirely, no exceptions
CHILDREN_RULES_FILEinsettings.inipoints to a file that exists and contains at least one valid rule- The selected feature’s own type resolves to a known type (
Body,GeometricalSet, orOrderedGeometricalSet), an unrecognized type skips children processing for the whole run - For each individual rule, a child matching that
ChildTypeandChildNameis actually found under the selection, a rule with no match is simply skipped, silently, and the rest of the list keeps going
5.4 What color the children get
Matched children don’t receive the exact same color as their parent, they get an automatically toned, related shade of it, the same coordinated-coloring concept used by Color=Parent in DRY0002 – Add Structured Item. This keeps a colored group visually connected without every nested feature looking identical.
6. Examples
Example 1, Plain Random Coloring, No Rules Configured
The simplest setup: both COLOR_RULES_FILE and CHILDREN_RULES_FILE are left empty in settings.ini.
[Graphical Properties]
DEFAULT_LINEWIDTH=1
DEFAULT_OPACITY=1.0
[Rules]
COLOR_RULES_FILE=""
CHILDREN_RULES_FILE=""
What it creates: Select any feature, or several, and each launch assigns a completely unrestricted random color, with line width and opacity set to the configured defaults. No children are ever touched.
Key points:
- With no Color Rules File, every possible RGB combination is fair game, including colors close to red, white, or black
- With no Children Rules File, coloring always stops at exactly what you selected
Example 2, Studio Palette with Coordinated Machining Children
A team wants to avoid harsh reds and near-monochrome colors, and wants their machining sub-bodies to always pick up a shade that matches whatever Body they just recolored.
Color Rules File:
// list color rules by defining RGB values that are out of limits
// use the syntax >RRR,<GGG,<BBB
// each line is a new rule
>240,<20,<20
>230,>230,>230
<25,<25,<25
Children Rules File:
// list children rules by defining a type (Body or GeometricalSet) and a name
// use the syntax [ParentType][ChildrenType]ChildrenName
// each line is a new rule
// children rules apply when the user selection is restricted to one element
[Body][Body]MACHININGS
[Body][Body]DRY_MachiningCollector
What it creates: Selecting a single Body and launching the tool assigns it a random color that’s never near-pure red, near-white, or near-black. If that Body contains children named MACHININGS or DRY_MachiningCollector, they’re recolored too, in a toned variant of the same new color.
Key points:
- The first color rule excludes near-red, the second excludes near-white, the third excludes near-black, together they keep every assigned color visually distinct from the extremes
- Selecting more than one feature at once still colors all of them, but skips the children step entirely, this configuration only affects single-feature selections
- If a selected Body has no child named
MACHININGSorDRY_MachiningCollector, that rule simply doesn’t fire, the Body itself still gets its new color
7. Troubleshooting
”User not found. Please login and try again.”
The tool could not find a valid DRYCAD Suite user session. Make sure you are logged in to the Suite before launching the tool.
”CATIA is not open. Please open CATIA and try again.”
The tool cannot connect to a running CATIA V5 instance. Launch CATIA V5 first, then run the macro.
”Invalid Workspace”
The active workspace in CATIA isn’t one of the supported types. Switch to the Part, Product, Drawing, or Sketch workspace and relaunch the tool.
Nothing seems to happen after launching
DRY0013 has no interface, so a successful run is silent, the color changes and the tool closes immediately. If a feature’s color genuinely isn’t changing:
- Confirm a feature was actually selected, if nothing was selected, CATIA should have prompted you to pick one; if you dismissed that prompt without selecting anything, the tool exits without applying any color
- Check that
COLOR_RULES_FILEinsettings.ini, if set, points to a file that still exists, a broken path is treated the same as no file at all, so this alone won’t stop coloring, but it’s worth confirming your rules are actually being read as intended - If your Color Rules File defines very broad exclusion zones, color generation may simply be taking longer than expected while it searches for a match, extremely restrictive rule sets can make this noticeably slower
The color was applied, but the children weren’t recolored
Walk through the conditions in order:
- Was exactly one feature selected? Selecting more than one always skips children processing, by design
- Does
CHILDREN_RULES_FILEinsettings.inipoint to a file that exists and actually contains lines starting with[? - Does the selected feature’s own type resolve to a Body, Geometrical Set, or Ordered Geometrical Set? Any other type skips children processing for the entire run
- Does a child with the exact
ChildNameandChildTypefrom your rule actually exist under the selected feature? Names are matched exactly, a typo or a renamed child means that specific rule quietly does nothing
The children got a different color than I expected
Children never receive the exact same color as their parent, they get an automatically toned variant of it, by design, so a colored group reads as coherent rather than uniform. If you were expecting an identical match, that’s expected behavior, not a bug.
8. Version History
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | 2026-07 | Initial release |
DRY0013, Random Color | DRYCAD Solutions | v1.0.0