Skip to content

Cable Report

Asketyll edited this page Sep 14, 2026 · 6 revisions

Cable Report

Builds one Excel row per cable: its end markers (Repere), its nature and total length (custom properties read on the cable and the elements grouped with it), and its trenching length broken down by soil type — one column per distinct soil-type value, summed when several zones along the same cable share a value. Aerial cables are listed on a sheet of their own, with no soil type. Example:

Repere Nature Length Shared with CH2C CH2C (2) TRIC
RAS 1 - D3UP 1 HTAS 3x150 AL 493.6 RAS 1 - PT 4 193.6 100 200
RAS 1 - PT 4 HTAS 3x95 AL 120 RAS 1 - D3UP 1 20 100
Cable totals 213.6 200 200
Trench to dig (deduplicated) 213.6 100 200

What ARES looks for

  • Cables: every element on the cable level(s) — Line, Arc, LineString, Shape, ComplexString or ComplexShape.
  • Repere: the nearest cell within the search radius of each end of the cable that carries the Repere property, written start - end (in the cable's own drawing direction). A closed Shape/ComplexShape has no ends, so no Repere (its lengths are still reported).
  • Nature / Length: read, as-is. Nature is read on the cable itself first, then on whichever element grouped with it (graphic group) carries the property — a text, a cell, any member; Length only on the grouped elements. The two may sit on different members.
  • Aerial cables: when ARES_CableReport_Aerial_Nature_Property names a property, a cable carrying it — on itself or on a grouped element, even with no value yet — is aerial. It is listed on a second sheet, Aerial cables (Repere, Nature, Length; Nature is that property's value), and never measured against a zone. A cable carrying the Nature property, or neither, stays on the first sheet; one carrying both appears on both.
  • Soil-type columns: for each trenching zone (Shape/ComplexShape on the zone level, e.g. produced by RunOutline and cut with SplitRegion), the cable's length inside that zone is added to the column named after the zone's soil-type property value — or to <value> (n) when n cables share that zone (see Shared trenches below). Columns are sorted alphabetically; a cell with nothing to add stays blank. A zone with no soil-type value contributes nothing.

Shared trenches. When two or more cables have length inside the same zone, that zone is a shared trench and gets its own column, headed with the soil type and how many cables are in it — CH2C (2) — right next to the ordinary CH2C. Several can coexist (CH2C (2), CH2C (3), TRIC (2)), and one cable can appear in several of them: it may share its start with one cable and its end with another. Each cable still shows its own length in every column, and the Shared with column names the other cables (by Repere, or #row when a cable has none).

Two cables that merely cross are not sharing a trench. Where their trenches intersect, each holds the other's cable for about its own width, and counting that as occupation would declare a half-metre shared trench that nobody digs. A cable must therefore run further than ARES_CableReport_Cross_Factor x ARES_Outline_Distance inside a zone to count as occupying it; below that the zone is left out of its row and its totals entirely. One trench width is twice that distance - exactly what a perpendicular crossing measures - and an oblique one measures more, so the default factor of 3.5 leaves room for both. Raise it where cables cross at very shallow angles.

A shared column identifies the group of cables, not just how many there are. Two TA1 zones each shared by two cables but by different pairs — A+B here, A+C there — are two different trenches, so they get two columns: TA1 (2) and TA1 (2) #2. Which cables belong to which is read straight off the column: only their rows are filled. Two zones shared by the same cables do merge into one column (two stretches of one shared trench, added up).

Below the table, Cable totals adds the rows up as they are, while Trench to dig (deduplicated) counts each zone once, at the length of the longest cable inside it — so a (2) column typically shows twice the trench length on the first row and the real one on the second. A shared trench must be drawn as one zone covering the cables (two separate overlapping zones are not detected).

A missing Repere, Nature or Length is an expected gap in the drawing: the cell is left blank and the row is counted as incomplete in the final status line — nothing is logged.

Commands

EditCableReportOptions

macro vba run [ARES]EditCableReportOptions

Opens the Cable Report options dialog (configures the variables below). The five property-name fields list the ItemTypes authored in the "ARES" DGNLib; the aerial Nature list starts with a blank entry, which turns the aerial sheet off.

ExportCableReport

macro vba run [ARES]ExportCableReport

Runs the report and prompts for where to save the .xlsx (cancelling aborts). Status line: N cable(s), N soil-type column(s), N incomplete, N shared trench zone(s) — cables and incomplete ones are counted per row written, so a cable on both sheets counts twice.

Configuration variables

Variable Default Purpose
ARES_CableReport_Cable_Level (empty) Required. Level(s) holding the cables, aerial and underground alike, pipe-separated (|). Non-existent names are ignored (reported on the status bar); if none exists the report aborts.
ARES_CableReport_Zone_Level (empty) Level holding the trenching zones. Empty = ARES_Outline_Output_Level. No zones found → the report still runs, with no soil-type columns.
ARES_CableReport_Repere_Property Repere Custom property read off each end cell.
ARES_CableReport_Nature_Property Nature Custom property holding an underground cable's nature/type, read on the cable first, then its group.
ARES_CableReport_Aerial_Nature_Property (empty) Custom property holding an aerial cable's nature/type, read the same way. A cable carrying it goes on the Aerial cables sheet, never measured against a zone. Empty = no aerial sheet.
ARES_CableReport_Longueur_Property Longueur Custom property read off the cable's group for its total length.
ARES_CableReport_Zone_Property Coupe_Type Custom property read off each zone; one column per distinct value.
ARES_CableReport_Search_Radius 2.0 Search radius (master units) around each cable end for the Repere cell.
ARES_CableReport_Cross_Factor 3.5 Multiplies ARES_Outline_Distance to give the length a cable must EXCEED inside a zone to count as occupying it. The trench width is twice that distance, so a factor of 2 is exactly one width - a perpendicular crossing's own value; oblique crossings are longer, hence the default 3.5. Raise it where cables cross at very shallow angles. 0 disables the filter.
ARES_CableReport_Round 2 Decimal places for the soil-type length sums.
ARES_CableReport_Excel_Visible False True = leave the workbook open in Excel after export; False = silent (workbook closed, Excel quit if ARES started it).

Each property name must be an ItemType of the "ARES" DGNLib; an invalid name is reported and that column is left blank — for the aerial Nature property, there is no aerial sheet.

Clone this wiki locally