Custom Rules
Define your own spatial validation rules to enforce the design standards that matter to your practice — minimum pathway widths, maximum slope thresholds, required clearances, and more.
Custom rules let you create validation checks beyond the built-in rule packs. They are created in Rules > Custom tab in the Rules panel and follow the same issue-reporting system as built-in rules.
A custom rule is built from six components: 1. Subject Class — the entity type to check 2. Reference Class — an optional second entity type for relative/proximity checks 3. Metric Type — what to measure (area, length, distance, slope, count) 4. Threshold — the numeric value to compare against 5. Comparison — how to compare the metric to the threshold (greater than, less than, equal to) 6. Severity — how the violation is reported (Advisory, Warning, Required)
Custom rules are saved per project. They can be enabled and disabled from the Packs tab alongside built-in packs.
Open the Custom Rules editor
Click the Rules icon in the top bar to open the Rules panel. Click the Rules tab (not the Packs tab). Scroll to the bottom of the Rules list and click + Custom Rule, or click Custom in the sub-navigation at the top of the Rules tab.
The custom rule builder form opens.
Define the Subject Class
The Subject Class determines which entity type the rule checks. Available entity types:
- Pathway
- Planting Area
- Lawn
- Paving / Hard Surface
- Water Feature
- Structure (Wall, Fence, Pergola, etc.)
- Plant (individual)
- Step
- Ramp
- Drain
- Irrigation Zone
The live entity count preview below the Subject Class dropdown shows how many entities of the selected type currently exist in the project. This helps confirm you have selected the right entity type before saving the rule.
Select the entity type you want to validate and proceed to the next field.
The live entity-count preview is a quick sanity check — if it shows 0 subjects, no matching entities exist on the current page yet and the rule will produce no issues until you add them.
Define the Reference Class (optional)
The Reference Class is a second entity type used as a spatial reference for proximity or relative measurement rules.
For example:
- Rule: all Pathways (Subject) must be at least 600 mm from any Water Feature (Reference) edge — this is a distance check between two entity types
- Rule: all Structures (Subject) must be at least 1.0 m from any Building (Reference) — another proximity check
Leave Reference Class empty for rules that check a single entity type in isolation (e.g. minimum pathway width — no reference needed).
Use the wildcard "All" group options wherever possible. A rule with Subject = "Tree" and Reference = "All structures" covers decks, pergolas, pools, and buildings in one rule — far less maintenance than creating a separate rule for each structure type.
Set the Metric Type, Threshold, and Comparison
Metric Type defines what measurement to take from the subject entity:
- Area — the surface area of the entity (m² or ft²)
- Length — the total path length or perimeter (linear m or ft)
- Distance — the nearest distance from the subject to the reference entity (m or ft). Requires a Reference Class.
- Slope — the average slope of the entity surface (%). Requires terrain data.
- Count — the number of entities of the subject type in the project
Threshold — enter the numeric value to compare against. The unit adjusts automatically to match the metric type and the project unit system.
Comparison — choose how the metric is compared to the threshold:
- Greater than — triggers if the measured value exceeds the threshold
- Less than — triggers if the measured value is below the threshold
- Equal to — triggers if the measured value matches the threshold exactly
Example: Metric = Length, Comparison = Less than, Threshold = 1.2 m → flags any pathway that is narrower than 1.2 m.
The most common pattern is "Less than [minimum value]" — use this to enforce minimum sizes, clearances, and dimensions. Use "Greater than [maximum value]" to cap slopes, areas, or heights.
Set Severity and save
Choose a Severity level: Advisory (blue, informational), Warning (amber, review recommended), or Required (red, should be resolved or accepted). All three severities appear in the Issues tab grouped from Required at the top down to Advisory at the bottom; the panel never blocks an export or share on your behalf. New rules default to Advisory severity. Click Add rule to save — the new rule appears immediately in the Rules list and starts checking the design. Because a saved rule marks the existing results as outdated, open the Issues tab (which runs a check automatically) to see any new violations.
Review and act on violations
Switch to the Issues tab to see all current violations. Each issue card shows the rule name, a plain-language description of the violation, and the severity. Click Select both on an issue card to highlight the two violating entities on the canvas so you can reposition or adjust them. If a violation is intentional — for example, a deliberate design exception — click Accept to move it to the Exceptions tab, where it is recorded but no longer shown as an active issue.
Edit or delete custom rules
All rules in the Rules tab support inline management. Click the threshold value on a rule card to edit it inline — type the new value and press Enter or click away to save. Click a custom rule's name to rename it inline. Use the toggle switch on the right of any rule card to temporarily disable it without deleting it. To remove a custom rule permanently, click the × delete button on its card. Built-in rule names cannot be renamed, but their thresholds can be adjusted the same way.
Set up your firm's standard custom rules on a template project — clearances from boundaries, no-build zone restrictions, and irrigation proximity rules — then duplicate that project at the start of each new job. Your constraints will be in place from the first object you draw.
The custom rule form offers four metrics: edge clearance, center spacing, mature spread clearance, and must not overlap. These cover the great majority of garden clearance, spacing, and overlap standards. If your constraint cannot be expressed with one of these four, check whether an enabled built-in pack already covers it before building a workaround.
Deleting a custom rule permanently removes it and its associated issues from the project. Accepted exceptions tied to that rule are also cleared. To keep the rule temporarily inactive, use the toggle switch instead of deleting it.
Frequently Asked Questions
Can I save custom rules as a template to reuse across projects?
Custom rules are saved per project. The fastest way to reuse them is to duplicate a project that already has your custom rules configured and use it as a starting template for new jobs. This preserves the full rule set without any manual re-entry.
What is the difference between edge clearance and center spacing?
Edge clearance measures the shortest distance between the outer edges of the two shapes — it catches cases where objects are physically too close. Center spacing measures the distance between the geometric centers of the two objects — useful for spacing standards that are defined center-to-center, such as tree grid planting. For irregular or large shapes, edge clearance is usually the more meaningful constraint.
Can I edit a custom rule's subject class or metric after saving?
You can edit the threshold and name inline by clicking directly on those values in the rule card. To change the subject class, reference class, or metric, delete the rule and create a new one with the updated settings — these structural fields cannot be changed on a saved rule.
The live entity count under the Subject class dropdown shows zero — is the rule still active?
Yes. The rule is saved and active; it simply has no matching entities on the current page yet. As soon as you place an object that matches the subject class, the rule will start evaluating it and report any violations in the Issues tab.
How does the "Must not overlap" metric work with complex polygon shapes?
"Must not overlap" performs a topological intersection check between the actual polygon boundaries of the subject and reference objects. It triggers whenever any part of the subject's footprint overlaps any part of the reference's footprint — even a single pixel of overlap counts. There is no threshold to adjust; if overlap exists, the issue is raised.