yucad3d

Transmission lines

Overhead power transmission lines — a run of steel towers carrying conductors that hang in a catenary between them. The line-engineering peer of the road, rail and utility tracks.

Early days — this module is being built in phases (see the docs/transmission-lines.md RFC). Today it covers the model + 3D view (towers, conductors, OPGW) and a sag-tension solver (below). Parametric tower families, clearance checking and an electrical-analysis bridge follow in later phases.

What a line is

A transmission line is an ordered list of towers; the conductors span implicitly between consecutive towers, one per phase, plus an optional OPGW earth wire at the peak. The line carries a default conductor type, a phase count, a voltage and a stringing tension; each tower has its own position, height, base width, cross-arm width and type (Suspension / Tension / Dead-End / Monopole).

Tower families

Tower types are universal (Suspension / Tension / Dead-End / Monopole) but the dimensions are not — every grid operator sizes its own. The module ships parametric tower family presets (TEİAŞ, Swissgrid, Amprion, TenneT, National Grid, typical US) — each just a parameter set (height, base width, cross-arm, circuits) the tower generator builds from. Pick a family when creating or auto-spotting a line, or set a tower's Family in Properties to copy its parameters. The values are typical, editable defaults, not certified standard dimensions. Transmission ▸ Tower Library… opens an editor to add, remove or retune families; edits are saved beside the program (towers.txt) and survive a restart.

Creating a line

Run Transmission ▸ Create Transmission Line and set the span length, tower height, phases, voltage and conductor. If an alignment is selected, towers are spotted along it at the span interval; otherwise a short straight demo line is dropped. Tower base levels are sampled from the document's surfaces, so the line follows the ground in 3D.

Auto-Spot Towers goes a step further: select an alignment, give a maximum span, tower height, voltage and conductor, and it walks the route placing towers at the longest span whose conductor catenary still clears the ground by the voltage's minimum — shortening the span over rising terrain. It spots against any surface in the document, including imported terrain (below).

Terrain (DEM) import

Transmission ▸ Import Terrain (DEM)… reads a real elevation raster — GeoTIFF, ESRI ASCII grid (.asc) or any GDAL-readable DEM — and turns it into a TIN surface (downsampled to a manageable grid). The clearance check and auto-spotting then run against the real ground. Reading is built on the open-source GDAL library, embedded in the program (no external tool).

Conductor catalogue

Conductors carry the physical properties the mechanics need — diameter, unit weight, rated tensile strength, modulus of elasticity and thermal-expansion coefficient. The module ships a small set of typical types (ACSR Hawk / Drake / Dove, AAAC, OPGW); the catenary sag is computed from the chosen conductor's weight and the line tension. (An editable Conductor Library, like the pipe Material Library, comes with the sag-tension phase.)

Sag-tension

The conductor hangs in a catenary between towers; how far it sags depends on its weight and the tension it is strung at. Set the stringing tension and the temperature it applies at, then a design state — temperature, radial ice thickness and wind pressure — and the solver works out the tension and sag at that state from the conductor's weight, elastic modulus and thermal expansion (the classic ruling-span change-of-state). Properties report the ruling span, the sag and tension at the design state, the % of rated tensile strength (over 100% means the state overstresses the conductor) and the blowout swing angle under wind. The 3D view draws the solved sag, so raising the temperature visibly drops the conductors.

Clearance

Transmission ▸ Clearance Check reports three clearances per line to the Event Viewer, flagging any below the voltage-scaled minimum as a violation:

The required values are typical defaults — edit them to your code.

Substations & power flow

A substation (bus) is where lines meet at a common voltage. Transmission ▸ Create Substation drops one (at the selected line's far end, else offset from the origin); set its bus type in Properties: Slack (the reference that balances the grid), PV (a generator holding real power + voltage) or PQ (a load with real + reactive power). Give it a voltage, an injection (generation − load, MW/Mvar) and a voltage setpoint.

Power Flow assembles every substation into a bus network and every line into a branch (each end joining its nearest substation), then solves the balanced AC power flow with a built-in Gauss-Seidel solver — no external engine. Each substation's Properties then show its solved voltage and angle, and each line's show its flow (MW / Mvar) and loss; the per-bus results (and any voltage outside 0.95–1.05 pu) go to the Event Viewer. In 3D the buses colour by voltage — green in band, red low, blue high. (Needs at least two substations and one Slack bus.)

Electrical

Transmission ▸ Electrical Analysis computes the line's electrical constants from the conductor and the phase spacing — series resistance and reactance, shunt charging, surge impedance and surge-impedance loading (SIL) — and, for an entered load and power factor, a single-line voltage drop and real-power loss. Set the load, power factor and frequency in Properties; the constants and flow update there and a summary goes to the Event Viewer (a drop over 5% is flagged). The solver is built in — no external power-flow engine. A full multi-bus load flow / short circuit (across substations and several lines) is a later phase.

STEP export

Transmission ▸ Export Towers (STEP)… writes the selected line's towers as real solid geometry (each steel member a box) to an ISO STEP file, for interchange with other CAD / structural tools. The solids are built with the embedded Open CASCADE kernel — no external converter.

Reading the line