DRY0055 - PROPAGATE 2D CURVE SELECTION - DOCUMENTATION

DRY0055 - Propagate 2D Curve Selection

DRYCAD Suite tool that extends a 2D curve selection in a CATIA V5 Drawing view to every geometrically connected curve within a configurable distance tolerance.

DRYCAD Suite | User Documentation | v1.0.0


Table of Contents

  1. Overview
  2. Getting Started
  3. Configuration: settings.ini
  4. Examples
  5. Troubleshooting
  6. Version History

1. Overview

A profile built from many short curves means many clicks whenever you need to select the whole thing, one line, then the next, then the arc after it, and so on around the shape. DRY0055 replaces that entirely: pick one curve, and it walks outward from both of its endpoints, adding every curve it finds connected end-to-end, until the whole chain is selected.

What it does:

  • Prompts you to pick a single starting curve in the active Drawing view
  • Reads every valid geometric element in that curve’s parent view, Lines, Circles, Ellipses, Hyperbolas, Parabolas, and Splines are all recognized
  • Compares curve endpoints against a running list of connected endpoints, expanding the chain one curve at a time until no further connections are found
  • Adds every curve found to be part of the chain to the current CATIA selection, alongside the one you originally picked
  • Uses a configurable distance tolerance to decide whether two endpoints should be treated as touching, so slightly imprecise geometry (from imports, reconstructions, etc.) is still picked up correctly

Supported CAD platforms: CATIA V5

Workspace requirement: An active Drawing document must be open in CATIA. DRY0055 has no interface, it runs immediately when launched and closes on its own once the selection has been extended.


2. Getting Started

Prerequisites

  • CATIA V5 must be running
  • You must be logged into the DRYCAD Suite
  • An active Drawing document must be open in CATIA

Running the Tool

DRY0055 is launched from the DRYCAD Suite CommandBar inside CATIA V5. Click the corresponding button to run it. There is no panel to open, the tool runs its selection logic immediately and exits.

The tool checks the following conditions at startup, and will show an error and close if any fail:

  • A valid user session is found, if not: “User not found. Please login and try again.”
  • CATIA V5 is running and accessible, if not: “CATIA is not open. Please open CATIA and try again.”
  • The active document is a Drawing, if not, an “Invalid Workspace” error is shown and the tool does not run

Once the checks pass, it prompts you directly in CATIA to select the starting curve:

SELECT THE STARTING CURVE…

If you dismiss the prompt without selecting anything, the tool exits quietly, no error is shown, since choosing not to select is a valid outcome, not a failure.

A background watchdog checks periodically whether CATIA is still running. If the CATIA process closes while the tool is active, it shuts down automatically.


3. Configuration: settings.ini

File Location

<install_folder>/DRY0055/settings.ini

Structure

; ------------------------------------------------------
; DRY0055 - PROPAGATE 2D CURVE SELECTION - SETTINGS FILE
; ------------------------------------------------------

; Distance Tolerance between two extremity points to consider as a single point
DISTANCE_TOLERANCE=0.05

Lines starting with ; are comments and are ignored.

Parameters

DISTANCE_TOLERANCE

PropertyValue
TypeDecimal
RequiredNo
Default (shipped file)0.05
Fallback (if unreadable)0.001

The maximum distance allowed between two curve endpoints for them to be treated as a single connection point. Endpoint coordinates are rounded to three decimal places before comparison, so the effective precision of the tolerance check tops out at that rounding.

If this value is missing from settings.ini or can’t be parsed as a number, the tool falls back to a much tighter internal default of 0.001 rather than failing outright, worth knowing if propagation suddenly stops picking up curves that used to be included, since a corrupted or hand-edited settings file is a more likely cause than a geometry change.

; Looser tolerance, treats endpoints within 0.05 units as touching
DISTANCE_TOLERANCE=0.05

; Tighter tolerance, only treats near-exact coincident endpoints as touching
DISTANCE_TOLERANCE=0.001

A larger value is more forgiving of small gaps between segments (common in imported or reconstructed geometry) but also more likely to bridge curves that were only ever meant to be close, not connected. A smaller value is stricter and safer for clean, natively-drawn geometry, but will stop the chain early if there’s any real-world imprecision in your source curves.


4. Examples

Example 1, Native Geometry, Default Tolerance

A Drawing built entirely from curves drawn directly in CATIA, with endpoints that meet exactly.

DISTANCE_TOLERANCE=0.05

What it creates: Selecting any one segment of a closed or open profile selects every other segment in that profile, since natively-drawn endpoints coincide well within 0.05 units.

Key points:

  • The default tolerance is generous enough that native CATIA geometry rarely needs adjustment
  • Rounding to three decimal places means sub-thousandth differences never affect the result

Example 2, Imported Geometry with Small Gaps

A profile brought in from an external format, where endpoints that should touch are actually a small distance apart due to conversion rounding.

DISTANCE_TOLERANCE=0.1

What it creates: The chain propagates across gaps that would otherwise break the selection at the import seams, while still stopping at genuinely separate geometry further away.

Key points:

  • Raising the tolerance is the right response to import-induced gaps, editing the geometry itself isn’t necessary
  • Because the check applies uniformly across the whole view, a single tolerance value has to work for every gap in the profile, not just the worst one

Example 3, Dense Drawing, Tight Tolerance

A Drawing view with many small, closely-spaced but unrelated curves, where a loose tolerance risks selecting more than intended.

DISTANCE_TOLERANCE=0.01

What it creates: Only curves that are essentially coincident at their endpoints are treated as connected, keeping the propagated selection limited to the intended chain even when unrelated geometry sits nearby.

Key points:

  • A tighter tolerance trades some forgiveness for precision, appropriate once a view is dense enough that “close” and “connected” aren’t the same thing
  • If the chain still stops too early at this setting, the gap between curves is real and worth checking in the geometry itself, not just in settings.ini

5. Troubleshooting

”User not found. Please login and try again.”

The tool could not identify the logged-in user at startup. Log out of the DRYCAD Suite, log back in, and relaunch.


”CATIA is not open. Please open CATIA and try again.”

The tool launched but could not find a running CATIA V5 process. Make sure CATIA is fully loaded before clicking the CommandBar button.


”Invalid Workspace”

The active document is not a Drawing. DRY0055 only operates on Drawing documents. Switch to or open a Drawing in CATIA, then relaunch.


Nothing happens after clicking the CommandBar button

This is expected if you dismissed the “SELECT THE STARTING CURVE…” prompt without picking anything, the tool exits without an error message in that case, since no selection was made. Relaunch and pick a curve when prompted.


Why didn’t the selection extend to any other curves?

Check the following, in order:

  1. The picked element isn’t a recognized curve type. Only Lines, Circles, Ellipses, Hyperbolas, Parabolas, and Splines are considered, other element types in the view are ignored entirely and won’t be found as candidates.
  2. The starting curve’s parent view couldn’t be determined. If the picked element isn’t nested the way the tool expects inside a Drawing view, the tool exits without adding anything.
  3. No other curve in the view has an endpoint within tolerance. The propagation only bridges curves whose endpoints match within DISTANCE_TOLERANCE (see Section 3), a gap larger than that tolerance stops the chain at that point.
  4. The connected curves are in a different view. The search is scoped to the starting curve’s own parent view only; curves in other views on the same sheet are never considered.

The selection stopped partway through a chain I expected to be fully selected

The propagation walks outward curve by curve, so a single gap anywhere in the chain, one endpoint pair just outside DISTANCE_TOLERANCE, stops everything beyond that point from being added, even if the rest of the chain further along is well within tolerance. Increase the tolerance if the gap is a known artifact of how the geometry was created (see Example 2), or treat it as a sign the curves genuinely aren’t meant to connect there.


6. Version History

VersionDateChanges
1.0.02026-06Initial release

DRY0055, Propagate 2D Curve Selection | DRYCAD Solutions | v1.0.0