nPoles Changelog
nPoles v1.4.204 - What’s New
Release Date: 30 October 2026
3D VIEW
- 3D views: a strain under another circuit is bridged as the company's drawing has it. On AusNet's 22 kV subsidiary strain the inside phase's bridging insulator lies out of the crossarm's end with its bridge around it, the outside phase's stands upright on the arm's end, and the centre phase's lies out of the pole's side on a bracket 700 mm above the arm, toward the inside phase - so the bridges keep their distance. Each company's constructions file says how its drawings bridge; where it does not, the views draw as before
- 3D views: closing a 3D window with Measure still on - or leaving it with Esc - takes the measurement box away with it. In the Route View the box stayed on the screen, with no way to close it
- 3D views: a strain's bridging insulators stand in line with their phase's strain insulators, 30 mm out along the crossarm from where they are bolted. At an angle strain the insulator on the inside of the angle stood 0.2-0.3 m in along the arm from its strain insulators
- Route View: a centre phase strained on the pole, recorded on a row of its own above its crossarm, is bridged over a bridging insulator on the pole top, or on one lying out of the pole's side where the pole top is out of reach, as the construction drawings bridge it. It stood on the crossarm beside the pole as an outer phase's does
- Route View: a centre phase recorded on a string of its own, set in String Properties as the same circuit as its crossarm's string, takes that circuit's strain where both strings run on through the pole: strained each way and bridged with the other two phases. It was drawn on an intermediate insulator beside a strained crossarm
- 3D views, Pole Load and Clearances: a conductor string recorded again on a pole it has already reached - as on a junction point copied from its pole's own point, which carries the pole's strings - runs no span back to that pole. The Route View drew a span from the line's last pole back to the junction pole, and at the pole before it laid the crossarms along the line, as though the string ran on through; Pole Load counted the span at the junction pole twice and gave the last pole a span it does not have, overstating both poles' loads; the Clearances check found the string running on to the junction pole as well
- 3D views: a strain's bridges go over its crossarm unless the circuit's "Bridges under the arm" is ticked. A bridging crossarm or bridging insulator row recorded under the arm took them under it whether ticked or not
- Clearances 3D View: at the middle pole of a check, a circuit ending there from the first pole, or strained each way there, keeps each phase on its own side of the line. Its phases toward the first pole were drawn mirrored, and strained each way its centre and right-hand phases also changed places on the arm, so its conductors crossed through each other in the span. Phases recorded one over another at the first or last pole, with no left, centre or right recorded, are drawn in the order they have at the middle pole
- 3D views: a circuit recording no construction whose remark says it is on an extreme offset - EX OS, EXT O/S, X-TREME OFFSET and the like - is drawn on the company's extreme offset construction, every phase on an arm reaching to one side of the pole: to the side the remark names (L or R, or R/S for the road side), else toward the straight line between the poles either side, else toward the road. AusNet's 22 kV subsidiary extreme offset on a concrete pole, from its Non-Standard Installation Manual, is added to its constructions
- 3D views: a crossarm the survey does not record, where none of the company's standard constructions fits, is drawn at the length the companies use for its voltage - 2.1 m for low voltage and up to 22 kV, 2.6 m at 33 kV, 3.2 m at 66 kV - and longer where it carries more conductors, so its phases are their normal distance apart at the pole. The Route View drew every such arm 1.5 m long whatever its voltage, 66 kV phases 0.67 m apart
- 3D views: an intermediate's centre phase raised onto a post on the pole's side is drawn clear of the outer phases by the circuit's phase separation, where they stand on upright posts. It was raised the separation over the arm only, and so stood a fraction of it from the outer phase beside it - 0.3 m at 22 kV
- Route View: at a strain where one line carries all three phases one way and the centre phase leaves on a string of its own the other way, each phase is bridged over its own bridging insulator, the outer phases' at the arm's ends - where all three were bridged over the one post on the pole top
- Route View: the centre phase of a circuit drawn as the profile's standard construction under another circuit - the 22 kV subsidiary under a 66 kV - stands on a post lying out of the pole's face above its arm, as the construction drawings and the other 3D views have it, where it stood upright on the crossarm
- 3D views: a centre phase strained each way well under the pole top - its top out of reach of a bridging insulator there - is bridged over a post lying out of the pole's face on a bracket above the arm, where the arm leaves room for it beside the pole, as the construction drawings bridge it; its bridge went round the pole with nothing under it
- 3D views: a line turning 90 degrees or more on a pole where it is recorded on two points is drawn on one arm on the bisector of its two spans, a line strained off each side of it, the arm on the back of the pole from its tightly strung span. Laid square to the mean of the spans (1.4.203), both lines left one side of the arm and a conductor coming in passed through one going out, beside the pole
- Route View: a line ending or starting at a pole where a junction point stands is drawn with its arm square to its own span. Its arm was turned onto the bisector with the span of another line on the junction point, of any voltage - a low voltage arm with a high voltage line, an arm nearly along its own span. A line running on through the pole, on its own string or another at its voltage and height, still bisects
- Clearances 3D View: where two lines leave a pole on one arm - one recorded on the pole's own point, the other on a junction point on its spot - the arm is drawn square to the mean of both lines' spans, on the back of the pole, as the Route View and Pole Load's 3D View draw it, and a line turning 90 degrees or more there on the bisector, strained each way, a slack side too. A check sees only its own spans, and its 3D View laid the arm square to the one span in the check
SHARING
- File > Send > Share a Web Link: the share window's choice is Modern style (with 3D) - every view, the 3D views too - or Classic Windows style (no 3D), the names Shared Links and the nPoles portal give them too
- File > Send: Email the Job File..., Share a Web Link... and Shared Links.... Share a Web Link makes a link to the open job for one person, from your nPoles portal account - nPoles signs in to it once, in your web browser. You choose the style the link opens in: Modern style (with 3D), or Classic Windows style (no 3D). The link is made first and not sent: copy it, or open it to test it as they will see it, then email it to them through the portal. It opens only for them, with a code the portal emails to their address. Shared Links shows who opened each link, when and in which browser, emails a link again and revokes it. A copy of nPoles 1.4.203 or earlier can no longer share a new link; links already shared work as before until they run out
POLE LOAD
- Pole Load: the Summary Report and the Detailed Report no longer run past the right of their window. Their sentences - the wind conditions under VESI, One side only's and a wood pole's long-duration limit - were each kept on one line as long as itself, and a report was as wide as its longest; they wrap now, and a report is as wide as its table
MAIN WINDOW
- The File, Point, Tools, Design and View toolbars show at every start. A first start of nPoles that ended without its window being closed - by a fault, or by Windows shutting down - saved them hidden, and as nPoles has no way to show a hidden toolbar again they stayed hidden at every start after it. They are back for anybody who had lost them
HELP MENU
- Help: the Bugs Web-Site item, a link to the old bug site, is gone. Help > Send Bug or Idea sends a bug report or an idea, with nPoles' logs, to nPoles support
nPoles v1.4.203 - What’s New
Release Date: 29 October 2026
3D VIEW
- 3D views: bridges at a strain rest on bridging insulators, as the companies' strain drawings show them - an upright post on the arm's end for each outer phase, and on the pole top for the centre phase, strained on the pole - where they were drawn as free arches over the arm
- 3D views: a line turning 90 degrees or more on a pole where it is recorded on two points - one string ending at the pole's own point, the next starting at a junction point on its spot - is drawn as a strain on one arm square to the mean of its two spans, every phase on disc insulators each way and bridged, the centre phase on the pole - a slack side strained too, where the Route View drew it on posts
- 3D views: two lines ending at a pole on one arm - as where a cable comes up a pole and two lines leave it the same way, one recorded on the pole's own point and the other on a junction point on its spot - are drawn on one strain arm square to the mean of their spans, on the back of the pole, each line dead-ended toward its own span. Pole Load's 3D View drew the two lines as one circuit of six conductors on one arm, all heading for one of the two poles, and two low voltage ABC cables there as one; the Route View drew the second line's insulators in the air in front of the pole, as though the line ran on through it
- Route View: a junction point on a pole's spot is drawn on that pole - its heights are weighed against the pole's surveyed top, length and type, where it estimated a top of its own, so a 66 kV centre phase recorded on the junction point stood on a post a metre above the pole. A line recorded on it beside a line of the pole's own and leaving the same way ends at the pole - a low voltage ABC there was hung in a suspension clamp, as though it ran on through
- Route View: a fibre or CATV cable lashed to its string's catenary - one with no stringing chart of its own - is one cable on the pole, as Pole Load hangs it; a catenary carrying a fibre cable was drawn as two wires on two crossarms
- 3D views: a street light with no stay across the line and no road edge near points away from the property boundary the job surveys - the pole stands between the boundary and the road, and its light reaches over the road - where it was drawn square to the line on a side guessed. The measure tool's label on the light says when the boundary decided it
- 3D views: each pole is drawn at the size Pole Load works it - its record in the company's pole database for its material, length and strength, and what was measured of a pole that stays - where every pole was drawn at one default size, no record being found for it: a 15.5 m 12 kN concrete pole replacing a wood pole was drawn 200 mm across its tip, about the wood pole's measured 199 mm, where Pole Load takes its record's 300 mm. Where several records fit a pole, it is drawn as the one Pole Load takes. Crossarms, insulators, stays and equipment sit on the pole's surface as drawn. The Inspect tool's pole label gives the tip and ground-line diameters drawn and where each came from, and says a new or replacement pole's measured tip is not used - it said "Tip: 199mm (survey)" of the replacement, and gave a measured ground-line diameter in metres marked as millimetres; the measure tool measures to the pole as drawn, leaning with it. The Route View's pole panel gives a pole's status as recorded - it read every status as New
- 3D views: a line turning a corner on a pole where it is recorded on two points - one string ending at the pole's own point, the next starting at another point on its spot - is drawn as one arm on the bisector of its two spans in Pole Load's 3D View, the Route View and the Clearances 3D View, strained each way or carried on through as its rows record, else as its two strings are strung. Pole Load's 3D View drew two arms crossed, each square to its own span, and the Route View drew the arm off the bisector with the second string's insulators square to its own span
- Clearances 3D View: an arm strained each way at the middle pole is on the bisector of its two spans, or square to the tight span where one side is strung slack, as the Route View draws it - it was square to the span toward the first pole
POINT EDIT
- Point Edit: a circuit's Structure window asks the structure type first - its Type box now stands above Construction - and lists only the constructions of that type for the circuit's voltage, pole and conductors, every type's while the type is blank; a construction picked keeps the type chosen
- Structure types: T/ON, the tee-on, beside T/O, the tee-off, in the AusNet, Jemena, JEN, Powercor, SECV, TasNetworks and UED profiles. The tee-on constructions of AusNet, JEN, Powercor and UED, filed as T/O - the only tee type there was - are T/ON, and those drawn for a tee-off or a tee-on are listed under both
- Point Edit: a circuit's Structure window asks which way its crossarm is turned - on the bisector of the circuit's spans, or square to the span back (to the lower-numbered pole) or ahead - and Pole Load's 3D View, the Route View, the Clearances 3D View and the CAD files exported from them turn it so, over the conductor shots and the spans. Left as it is, the views work it out as before
- Point Edit: Copy data from Point keeps the conductor strings of a point already in the job - it took the other point's strings with its circuits, so one strain pole's make-up copied onto the next put the first pole's strings on it and took off the ones a split had just put there. Each of the point's strings takes the circuit the other point has for the same string, or for one of the same voltage and conductor count; when the two points' strings differ it asks first, and Use point N's strings copies them as before. A row could also come out blank when the string it was to take was on a lower row of this point, row 24 could take another string, and rows 15 to 24 kept their own remarks
- Point Edit: a circuit's Height box takes T-0.6 for 0.6 m below the pole top - the Top box - and T for the top itself, beside -1.2 for 1.2 m below the row above and +0.6 for 0.6 m above the row below, which it took already. While one is typed a panel under the box shows the height it works out to and what it is measured from, and its Row above, Row below and Pole top buttons measure it from another; leaving the box, OK or Save puts that height in, above the ground as every height is
- Point Edit: a Height box entry with no row to measure from - -1.2 in the first row, or under a row with no height - was kept as typed or worked out from nothing, a negative height; it now puts back the height the box had, the panel under it saying why. An entry still in its box when OK came by its key, F5, was saved as typed
CLEARANCES
- Clearances: the check through such a pole takes the strings that start at the other point and run to A or C as the pole's own, so their spans are checked and drawn in the 3D View - it found no string on to the next pole and drew nothing toward it. The boxes still show and edit the pole's own rows
- Clearances: each block's figures sit on the same rows as their captions, whatever a cell holds - a Phase figure on two lines staggered its column's rows against the others and against the captions - and the figures can be selected and copied
- Clearances: Edit Point opens as quickly as it does from the main window after the first press in a visit - each press built a new Edit Point window, which took several seconds to open
POLE LOAD
- Pole Load, Design Stress: a wood pole's long-duration (LDL) limit is the figure SECV drawing VX9/7020/105A gives its size - 3.3 kN for a 17 m 12 kN pole - and for a half-metre length the figure in between the drawing's lengths either side of it, where it was worked out from the pole's dimensions for every wood pole, which put a standard 17 m 12 kN pole as much as 30 % under the drawing. It is still worked out where the point records the pole's timber species and a measured tip, ground-line diameter or girth, or a diameter part-way up, and where the drawing gives no figure for the size - an imperial pole, a 16 kN pole, a 23 m pole. The tooltip over the results, an LDL condition's tooltip and the reports say which figure was used and give the other beside it, and how far the drawing's figure would bend the pole against the deflection limit - 3.3 kN bends a 17 m 12 kN pole standing 13.5 m out 1/19 of that height, where the limit is 1/25
- Pole Load, Design Stress: an Ausgrid wood pole's long-duration (LDL) limit is the sustained tip load NS220 section 6.2.1 gives its size - 10.95 kN for a 12.5 m 8 kN pole - where it was 0.34 of the pole's breaking load whatever its size (10.88 kN there), up to 3.5 % away from NS220's. The tooltips and the reports say so; they also say it cannot be worked out from the pole's deflection, as Ausgrid's poles record no timber strength group
PLAN VIEW
- Plan view: a double-click on a point, or on its number, opens Edit Point, shown in bold in the point's menu - also where a string's line, map data or another point there brings up the list of everything under the pointer, for the point in bold in that list; a single tap still opens the menu at once
- Plan view: the list of everything under the pointer gives the poles first, then the other points, each in number order - the points came in the order they are drawn, the highest number first
SWAP POINTS
- Point > Swap Points: Copy Coordinates 1 to 2 - point 2 takes point 1's easting, northing and RL, its backups with it, and keeps everything else; point 1 is left as it is
- Point > Swap Points: a press that changed nothing - a point swapped with itself - threw away a swap made before it in the same visit, and the line saying what was done could not be copied
IMPORT AND EXPORT
- File > Import > PLS-CADD profile (DXF): the points brought in take their places in the job by number - they went in after the job's last point, as Insert File's did before 1.4.202
- File > Import > PLS-CADD summary (XML): PLS-CADD's summary report, exported as XML from its right-click menu, is brought into the job - each structure as a pole with its length, strength and material and its circuits at PLS-CADD's attachment heights and offsets, each section as a conductor string with the profile's conductor, and each sagging tension as a stringing chart. A circuit whose phases were sagged to different tensions comes in as a phase set, a four-wire low voltage as one string of four; crossarms, insulators and stays are left to set in Point Edit
JOB FILES
- Opening a job puts its points in number order, as saving a point in Point Edit does - a job saved with its points out of order, as Point > Insert File and File > Import left one before 1.4.202 (points 31 and 36 after 530), listed them so in the Surveying Calculator's point lists and its points table until a point was saved. The job file itself is put in order when the job is next saved
MENUS AND BUTTONS
- An "&" in a name shows as written on menus, buttons and tick boxes, as it does in lists - a single "&" was taken as a keyboard shortcut, not drawn and the letter after it underlined. File > Recent Files listed the job "Smith & Co.pxml" as "1 Smith Co.pxml", and the plan view's list of everything under the pointer gave AusNet's description code H2 as "HV LV Pole, LV Termination". The same went for the chart titles in Compare Stringing Chart Databases (AusNet's MID VX18/25 & VX18/29), a conductor string's description on its Edit item, its Clearances button and its Pole Load circuit button, an address found by Look Up, a map feature's name and its Copy item, an imported file named in Edit > Undo, the job file named when a bug report or a crash report is sent, and the names of a linked device, a Bluetooth base and a local grid. The on-screen keyboard's & key showed nothing
nPoles v1.4.202 - What’s New
Release Date: 26 October 2026
3D VIEW
- The 3D views: a footpath stay's strut is bolted through a wood pole, where it stood on a band round the pole
- The 3D views: a circuit is one construction at a pole - a slack span beside a span strung full is strained with it, where its side was drawn on posts, and a slack span that ends at a pole is strained where the pole is stayed against it, else every phase on posts lying along the span; in the route's 3D View a crossarm at such an end was always strained, its top phase on a post
- The 3D views: a stay looped round a concrete pole is drawn as it hangs - highest at the back of the pole, on a steel band, and from there round each side of the pole and down to the stay's insulator at one angle to the ground, its two wires leaving the pole's sides; it was drawn level, its two wires running through the pole
- The 3D views: a pole whose surveyed top is too low for the conductors recorded on it - its crossarm would have to come down more than half a metre to fit under the top - keeps its surveyed top, its conductors are drawn at their recorded heights, and it is marked in red: a dashed line from its top up to its highest conductor, and a label with both heights. A strain crossarm recorded above the pole top was pulled down under it with its conductors - on an existing pole carrying a new 66 kV line's end, the 66 kV was drawn 1.5 m low among the 22 kV - and the route's 3D View drew a pole with conductors more than 1.5 m over its top taller than surveyed. In the route's 3D View a line's top phase ending over the pole top is strained from its bracket, as the rest of its circuit is, where it stood on a post
- The 3D views: insulators are drawn as the catalogue and the companies' drawings draw them, and look like insulators close up - a clamp-top post carries its clamp on its cap, between the cheeks of its bracket: the saddle the conductor lies in, the keeper over it and its two bolts; a tie-top's head and a pin's are their porcelain's own, with the groove the conductor lies in and the neck its tie wraps round; each shed falls to a rounded rim, the base fitting is its full size and the porcelain is glazed rather than flat white; a strain disc has its cap, its shell with a rib under it and its pin. A polymer strain insulator is drawn as a grey rod with its sheds, a polymer post in grey. The conductors are where they were. An insulator is two or three parts where it was up to a dozen, and a STEP file has them as solids of revolution. A DXF draws them as the view does, so a long route's is larger - 371 MB where it was 155 on a 259-pole job
- The Clearances 3D View: a pole strained each way - a tension section ending there and another starting, on one arm - is drawn on one arm, each side's conductors at their places on it, and a strain the survey records there keeps the slack side on strain insulators; it was drawn with an arm for each side, the slack side's conductors on posts lying toward its span
- The route's 3D View: a top phase recorded on a row of its own above its arm takes the insulator the arm's rows record for their centre, and a strain they record - at the end of a slack span it was drawn on a post on the pole top where the survey records a strain insulator
- The route's 3D View, the measure tool: a pole's drop-out fuses, their leads, a bridge and a street light are named by what the survey records of them - a fuse beside a transformer was labelled as the transformer, a bridge or a street light as "Equipment"
- The Clearances 3D View: a vibration damper winds round its conductor 3 m out from the pole, bending with it as the route's 3D View's now does - it was placed as if the span were level and sized for a thinner conductor, so on a span between poles of different heights it hung as much as 19 cm off its conductor or sank into it
- The route's 3D View: on a pole substation whose line has its centre phase recorded on a row of its own above its arm, the centre phase has its lead down to its fuse - only the arm's two phases had leads, and with nothing recording the fuses only two fuses were drawn
- The route's 3D View: a vibration damper winds round its conductor and bends with it, clear of it all the way round - it sat a little under the conductor, was sized for a thinner one and lay straight where the conductor bends, so its upper half was inside the conductor and only its lower half showed. In all three 3D views a damper on a sloping conductor is now round it rather than flattened against its top and bottom
- The route's 3D View: a pole's insulators, bridges, fuses and leads, and a span's conductors, are drawn from the start as before but kept out of the view's own parts until the view comes near them - opened on a 259-pole job it starts with 64,000 parts where it had 275,000. An export still writes every part
- The route's 3D View, Pole Load's 3D View and the Clearances 3D View: a strain string's discs and a post insulator's sheds share one shape each, as a damper's rods do - on a 259-pole job the route's 3D View builds its scene in 1.7 s rather than 2.1 s. Nothing drawn or exported changes
- The route's 3D View: vibration dampers are made for the spans near the camera as the view comes to them, not for the whole route at once - on a 259-pole job its scene is built in 2.1 s rather than 3.3 s, with under half the parts to draw. An export still writes every damper
- The route's 3D View draws while the view is being moved or changed, and rests otherwise - open on a large job it kept redrawing, and held the rest of the application up nearly all the time it was open
- The route's 3D View, Pole Load's 3D View and the Clearances 3D View: a vibration damper's rods share one shape rather than each keeping a copy of its own, so a job with many dampers opens, redraws and closes sooner - on a 259-pole job the route's 3D View showed the line 9.5 s after the click rather than 13 s, redrew after Pole Tilt in 12 s rather than 19 s, and closed in 4 s rather than 7. Nothing drawn or exported changes
POLE LOAD
- Pole Load with ISD, Clearances by ISD, the ISD window and Chart Finder: each conductor tension is found in about 11 steps where it took about 800 - Pole Load with ISD works through a 201-pole job in 35 s rather than 108 s. The figures are the same to 7 parts in 10 million
- Pole Load and Clearances: a conductor string that records no MES is worked at the MES of its spans without those to a pole that has no coordinates. One such pole anywhere along the string put the MES at millions of metres, and Pole Load could not work out a pole on the string two spans away from it. Pole Load's note on the MES it worked out, and the plan's menu for the string, name the pole
- Pole Load: a pole with no coordinates, or with a span to a pole that has none, is not worked out, and the reason names the pole to survey - its spans were measured from 0, 0, thousands of kilometres from a surveyed pole, and the tip loads read like results. An easting or northing that is not a number is quoted. Poles with no coordinates are no longer merged into one another as tee-offs.
CLEARANCES
- Clearances: a span with a pole that has no coordinates is not checked, and the reason names the pole to survey - the span was measured from 0, 0, thousands of kilometres from a surveyed pole, and its checks read like results: an uplift of -415.6 m was shown as clear. An easting or northing that is not a number is quoted.
CONDUCTOR STRINGS
- MES Calculator: a span to or from a pole with no coordinates is left out of the MES, and the window says in red which pole to survey - the span was measured from 0, 0, thousands of kilometres long, so the MES came out at the box's limit of 9999 m, which Store For String then saved. Show Points and Calculate All Strings say it too, and Calculate All Strings' question can be copied
SURVEYING CALCULATOR
- Surveying Calculator: Connect Station shows only with the station panel, and the dialog is only as wide as what it shows - it opens at that width, and showing then hiding the station or the comps puts it back as it was, its height kept. Connect Station showed with the Station button off, the dialog opened wider than it needed, and hiding a panel left the dialog at the width the panel had needed
- Surveying Calculator: on a tablet's screen, such as a 1280 x 800 one at 150 %, the comps' function buttons all fit at each company profile's own font size - each button's name is drawn without the margin round it, the buttons, their order and their places as they were. The last, Line Line Dist, was below the bottom of the screen
POINT ON LINE
- Point On Line: an offset goes to the side its letter names - "2.5L" to the left of the line, "2.5R" to the right; every offset went to the right, whatever its letter. Its messages can be copied.
IMPORT AND EXPORT
- Point > Insert File and File > Import: the points brought in take their places in the job by number - they went in after the job's last point, so points 31 and 36 inserted into a job numbered to 530 came after 530 in the Surveying Calculator's point lists and its points table, and in the saved job. A job already saved that way is put back in order by saving any point in Point Edit
SURVEY PROPERTIES
- Survey Properties, Look Up: an address in another country than the job's datum, with that datum kept, no longer sets the zone or a survey centre - Bern looked up on a GDA2020 job set zone 32, and OK stored a centre projected onto it, an easting and northing that mean nothing, which the plan then framed on. A datum picked afterwards takes its zone from the job's own points. The electricity company is looked up for an Australian address only - Bern's postcode, 3011, was read as Footscray's, and the dialog said it is on a border served by CitiPower and Jemena
REPORTS
- Job Change Report: the messages when a PDF or spreadsheet cannot be saved can be copied
HELP
- Help > Send Bug or Idea: pictures can go with a report - up to five screenshots or photographs, added as files, dropped on the window or pasted after Windows + Shift + S or Print Screen. A large one is made smaller to send, and Save to File saves them beside the report
nPoles v1.4.201 - What’s New
Release Date: 24 October 2026
3D VIEW
- The route's 3D View, Pole Load's 3D View and the Clearances 3D View: a crossarm is drawn on the face of the pole it was built on - the side its circuit row's left and right conductor shots show, where both were shot, else the other face where the row is ticked "Arm on the other face of the pole" in the Structure window, else as before - and the CAD files exported from the views draw it there. An intermediate, or an arm strained each way and strung alike, is drawn on the face toward the next pole along its string unless ticked or shot; the tick, "Arm on the front of the pole (its span's side)" until now, moved only a strain arm that ends its line, and shots turned an arm to lie along them but left it on the usual face.
- Pole Load's 3D View: an arm strained each way is drawn on the face of the pole toward the next pole along its string, as the route's 3D View draws it - it was on the face toward the previous pole or the next as the line turned, toward the previous on a straight line
ON-SCREEN KEYBOARD
- Read Diameter and Read Line: what the total station's shots fill in - the slope distance, bearing and vertical angle, the coordinates, distances and bearing worked out from them - is shown read-only, so the on-screen keyboard no longer comes up for it each time Read Diameter opens; Read Line's extra distance is still typed in, and the keyboard still comes for it. The dialog's warnings can be selected and copied
- On-screen keyboard: where it was put, and the size it was given, are kept for the next session - a keyboard moved to the bottom right of the screen opens there from then on. A place no screen shows gives way to the usual placement, a layout chosen on the keyboard opens in its own size, and changing the bottom-centre setting in User Settings starts the keyboard afresh
- Surveying Calculator comps: the inputs, Calculate and the Outputs stand one under the other at the top of the comps column, with the column's spare height left below them, where the on-screen keyboard sits. Calculate was stretched and the Outputs spread down to the bottom of the screen, under the keyboard
nPoles v1.4.200 - What’s New
Release Date: 23 October 2026
3D VIEW
- The route's 3D View, Pole Load's 3D View and the Clearances 3D View: a porcelain post insulator is drawn with its sheds all one size on its porcelain core - every second shed was drawn smaller - and a post on the pole's side, a centre phase out from the pole or a lone conductor's, is drawn as a post like an arm's own; in the route's 3D View it was a bare cylinder
- The route's 3D View, Pole Load's 3D View and the Clearances 3D View: an HV intermediate whose circuit rows record no crossarm and no construction is drawn as the profile's standard construction for its voltage and pole, where what the rows do record fits it - in the AusNet profile the cruciform arm on the pole top for a 66 kV or 22 kV circuit recorded at the pole top, and the subsidiary arm on the face for a 22 kV circuit under another, their insulators lying out of the arm's ends. A top phase recorded on a row of its own, a measured insulator height or conductor offset, or a recorded insulator or lie that does not fit the standard leaves the structure as the survey records it, and a construction picked in the Structure window is drawn as picked. Each view drew its own stand-in arm, 1.5 m or 2 m at any voltage. The constructions file marks each standard
- Pole Load's 3D View: an arm that mounts only on the pole top, such as AusNet's SL2, is drawn as recorded where its circuit's top phase is on a row of its own ahead of the arm's row - it was replaced by the face-mounted arm of its length, the SL12
- The route's 3D View, Pole Load's 3D View and the Clearances 3D View: a centre phase out on its pole's side - on a horizontal post or a bracket above its crossarm - changes side from one pole to the next down the line, as staggered lines are built, or stands on the side its circuit row records (Centre insulator side, in the Structure window). It was drawn on one side at every pole, and the three views did not always agree which
- The route's 3D View and Pole Load's 3D View: a strain pole whose line has its top phase on a circuit row of its own one way, and all three phases on one row the other way, is drawn as one structure - one crossarm, each phase strained toward both of its spans and bridged. Both views took the three conductors one way and the two the other for different lines and drew two crossarms, each square to its own span on its own face of the pole, and the route's 3D View laid out the three against the pole they came from, so they crossed over in that span
- The route's 3D View and Pole Load's 3D View: a crossarm strained each way with a slack span on one side and full tension on the other is square to the full-tension span and on the back of the pole from it, so the full pull holds it against the pole - on the front where its circuit rows are ticked "Arm on the front of the pole". Strung alike both ways, it still bisects its two spans; it bisected them whatever their stringing
- Slack spans: AusNet's EVX18/30000/3 is a slack span chart in the 3D views, as EVX18/30000/1 is. The Clearances 3D View keeps a slack span's strain insulators where the circuit rows or the pole description say the pole is a strain, as Pole Load's 3D View does; it drew post insulators on every slack span
INSERT FILE
- Insert File: Prompt For Point Number asks each point's number with OK, Skip and Abort - Abort stops the whole insert and leaves the job as it was, where Cancel left out only that one point, so a long file could be stopped only point by point
- Insert File: a text file's columns are worked out from the file - the delimiter, a header line, and what each column holds, by the header's names or by the values - so a file written northing first reads the right way round. The Data columns tab shows the file split as it will be read, and a click on a column's heading changes what it holds; unticked, the columns are read as set last time
- Insert File: a text file is checked before its points go in, and anything that does not fit is listed with a one-click fix where there is one - a delimiter that does not split the lines, a header read as a point, the easting and northing the wrong way round, points far from the job's, values that are not numbers
- Insert File: under Prompt on Point Number Conflict, every point whose number the job already holds is listed in one window - each given a new number, put in place of the job's point, or left out, one by one or all at once - rather than asked about a point at a time with Replace or Skip
- Insert File: the Insert Option chosen is kept for the next insert - it went back to Append All every time - and Prompt For Point Number suggests the point's own number when the job does not hold it
- Insert File: a text file no longer stops at a blank line or a line without the delimiter ("Delimiter not found in record"), a header line no longer goes in as a point, and a point whose number does not read takes the next free number - it went in with none
- Insert File: a LandXML, Topcon or MAXML point numbered with leading zeros, such as 035, is the job's point 35 - it went in beside it
nPoles v1.4.199 - What’s New
Release Date: 22 October 2026
CLEARANCES
- Clearances Check: a leaning pole's conductors are checked where its lean puts them - in the object, ground and phase checks, and for two circuits of a phase set one above the other, which part or close as the pole leans; every conductor had been taken straight above its pole's base. The dialog, its report and the clearance list of nPoles on Qt Quick name each leaning pole of the spans, how far it leans and which way, and say that it can be ticked Stands Vertical on the point to design it vertical
POLE LOAD
- Pole Load: the footing is rated on the pole record the wind load is worked on, as the pole stands - its tip, ground-line diameter or girth where they were measured, else along its record's taper to its surveyed height, and its depth from its surveyed top, else its record's. The rating took the first record of the pole's length and strength in the pole database, with that record's ground line at its own setting depth. Thirteen profiles had a generic Rocla record with no ground line or depth ahead of the full one, so every 11 m to 18.5 m 12 kN concrete pole was rated at 0 kN and the summary report said the rating had not been worked out; a ground line measured on a concrete pole also gave way to its record's. The Footing Details tab and the summary report say which record the footing was rated on and what was estimated, and that a pole no record matches is not rated
- Pole Load: a Brinch Hansen footing rating with no auger diameter entered takes the pole's ground line as the SECV rating does, a measured girth included. It took a ground-line diameter entered on the point, and 300 mm without one
- Pole Load: a wood pole that stays is rated in Design Stress on what was measured of it - a tip, or a diameter part-way up, carried down its record's taper, as a measured ground line already was - so a large pole marked 8 kN is rated on its own section and timber. A tip measured without the ground line had left the pole at its record's rating. A new pole, or one replacing another, is rated on its record
- Pole Load: a pole going in for another, or a new pole, is analysed as its pole database record draws it. The tip diameter, ground-line diameter, girth and diameter part-way up recorded on its point were measured on the pole it replaces, and Pole Load took them as the new pole's: a 15.5 m concrete pole replacing a wood pole was given the wood pole's 199 mm tip, and its shaft wind load came out 1478 N where the same pole with nothing measured has 2029 N. The point keeps the measurements, the replaced pole's backup is still analysed with them, a pole that stays still uses its own, and the wind load breakdown says when a measured tip was not used
POINT EDIT
- Point editor: a pole that stays can be ticked Stands Vertical on the Pole tab, beside Support Lean, for a design that straightens it, and a new pole or one replacing another stands vertical without it - its point's top shot was taken on the pole it replaces, and the crew stand a new pole vertical in the same hole. Pole Load, the clearance check and the 3D views then take the pole vertical, and Support Lean reads "Vertical; surveyed ..."; the top shot stays on the point and counts again when the status goes back to EXISTING or the tick comes off. A replacement pole had been drawn leaning as the old pole leant, and a measured transformer on it placed against the old pole's lean
3D VIEW
- Clearances 3D View and the route's 3D View: a pole's lean is drawn with the pole's radius taken off its top shot, as Pole Load's 3D View and Support Lean take it, so the view and the clearance check agree; they drew the shot's raw offset
COMPANY DATA
- Pole databases: the generic Rocla concrete pole records - a length and strength code only, a 225 mm tip at every length, no butt, ground line or setting depth - are removed wherever the same pole has a full record, in the AusNet, JEN, Jemena, SECV, Powercor, Ausgrid, Endeavour, Essential, Energex, Ergon, Evoenergy, Horizon Power, NT Power and Water, SA Power Networks, TasNetworks and Western Power profiles; where it has none, the generic record stays as the only one of that pole. JEN: the 14 m 8 kN concrete pole 14.0/8/240/C is back in the pole list, with the generic 14.0/8 that had taken its place gone
- AusNet, JEN and Jemena profiles: the pole lists hold the standard concrete poles - AusNet's pole specification DES 10-16 and Jemena's construction manual give every 12 kN concrete pole shorter than 20 m a 300 mm tip. Rocla's 270 mm tip 12 kN poles from 11 m to 18.5 m are gone from them: a 12 kN concrete pole of those lengths with its tip diameter recorded near 270 mm was analysed in Pole Load as one of them. Rocla's longer 270 mm tip poles, from 20 m, stay in the lists for the times they are needed
nPoles v1.4.198 - What’s New
Release Date: 21 October 2026
COMPANY DATA AND CONSTRUCTIONS
- JEN, United Energy, SECV, Jemena and Powercor profiles: the field book's insulator words reach the insulators they name - 4 SH (Powercor's 4SI) the 22 kV 4-shed post, CYCLO the 22 kV cycloaliphatic post, CYCLO PIN the 22 kV cycloaliphatic pin and BRN FOG and WHT FOG the 22 kV fog pins, where they reached the LV pin, an LV cycloaliphatic pin and fog discs. These old types join each profile's insulator list for existing lines, as AusNet's Insulator Identification Manual shows them, with SECV's brown disc for its BRN DISC; the LV pin is drawn with its one skirt, the aerodynamic pin with four sheds, and the 5-shed post is rated 22 kV with 565 mm creepage, 315 mm long
- AusNet profile: the insulator list carries the insulators AusNet's Insulator Identification Manual shows on its network - 19 more types on existing lines: the brown and grey fog pins, the 4-, 5- and 6-shed 22 kV posts, the cycloaliphatic posts, the 66 kV 11-, 12-, 13-, 15- and 16-shed posts and the high-pollution 17-shed tie-top, the 66 kV fog pin and polymeric post, the brown disc and the cycloaliphatic and glass pins. The field book's words reach them: 4SI and CYCLO are the 22 kV posts and WHT FOG INS and BR PIN the 22 kV fog pins, where they were read as LV pins and a fog disc. The 5-shed post is rated 22 kV, the LV pin is drawn with its one skirt, and the old 66 kV constructions on existing lines take the 12-shed 1250 mm posts their drawings name
- Constructions: a construction drawn for more than one voltage is offered at each. Powercor's and United Energy's sheets drawn for 22 kV or 11 kV are offered to 11 kV circuits, CitiPower's work among them, and AusNet's 22 kV constructions to its 11 kV and 6.6 kV circuits, which AusNet builds with the same 22 kV parts. Circuits at 11 kV and 6.6 kV were offered none
- AusNet profile: the constructions carry AusNet's STND drawing numbers where its current manuals give one - 178 of the 278, from the 22 kV, SWER and subsidiary drawings it renumbered in 2024. The 66 kV, LV aerial bundled cable and LV bare drawings still print only their EVX numbers in the manuals' current issues and keep them. A job that recorded the EVX number still finds its construction, and the Structure window shows the number it has now
- Powercor profile: Powercor's standard pole constructions, 444 of them, from the CitiPower and Powercor Distribution Construction Standards (section E - Overhead, the 2025-2026 issues) - 66 kV, three-phase 22 kV and 11 kV on wood and concrete poles, single-phase, SWER, HV aerial bundled cable, spacer and open wire covered conductor, LV aerial bundled cable and LV bare, with CitiPower's own constructions. Picking one in a circuit's Structure window fills its structure type, crossarm, insulators and how they lie, and the 3D views lay its crossarm and conductors out as its drawing dimensions them where the survey does not say otherwise. The non-standard structures, HV aerial bundled cable (for maintenance replacements in high bushfire risk areas) and LV bare (maintenance only) are listed after the standard ones. The profile has no angle structure types, so an angle construction fills INT and gives its angle in its name; a construction drawn for 22 kV or 11 kV is offered to 22 kV and 11 kV circuits. A fibre reinforced cement pole's standard is its concrete twin's construction, its differences in that construction's notes
- Powercor profile: the crossarm and insulator lists carry the parts Powercor builds with - its S(IN) and S(ST) steel crossarms, the SL12a, the CP21 and the 66 kV extension crossarm, the LV hardwood and composite crossarms, the EF312 tie-top and EF311 and EF331 clamp-top line posts at 22 kV and 66 kV, the EF345 in-line strain insulator and the spacer cable's insulators - and the parts it shares with the other Victorian companies are checked against its standards: the LV crossarms are hardwood, not steel; the SL1 and SL2 sit on the pole top on L brackets; the SECV 9-shed posts and clamp-tops, the SL1, SL10, SL11, SL12 and SL20 and the wood HV crossarms are marked existing lines. An HV insulator a row does not record is drawn as the EF312 post, which replaced the 9-shed
- United Energy profile: United Energy's standard pole constructions, 93 of them, from its Distribution Network Construction Standard UE-ST-2000 Version 15 (July 2025) - 66 kV, 22 kV and 11 kV on wood and concrete poles, 22 kV subsidiary, SWER, HV and LV aerial bundled cable, and LV bare on hardwood crossarms. Picking one in a circuit's Structure window fills its structure type, crossarm, insulators and how they lie, and the 3D views lay its crossarm and conductors out as its drawing dimensions them where the survey does not say otherwise. The profile has no angle structure types, so an angle construction fills INT and gives its angle type in its name; a construction drawn for 22 kV or 11 kV is offered to 22 kV and 11 kV circuits
- United Energy profile: the crossarm and insulator lists carry the parts United Energy builds with - its steel crossarms US10, US20 (its standard intermediate crossarm), US21 and US24, the LV crossarm L52, its 22 kV heavy-pollution tie-top line post, the 66 kV 12-shed 1250 mm tie-top post and the 22 kV and 66 kV polymeric strain insulators - and the parts it shares with the other Victorian companies are checked against its manual: the LV crossarms L11 to L61 are hardwood, not steel, with United Energy's drilling and braces; the steel crossarms' braces and drawing numbers, the SL2 on the pole top on L brackets with no brace; the 9-shed tie-top post is rated 22 kV, as United Energy uses it on concrete poles; the glass disc is current. Sizes the manual does not print are scaled off its drawings, and each record says so
- AusNet profile: the constructions take the newest documents' defaults - the aerodynamic pin for SWER on a wood pole, which AusNet's 2024 schedule lists first, and the lightweight S(ST)2.6/100 crossarm for 1200 mm strains and terminations, the lightest in AusNet's 2021 strain crossarm selection guide
- AusNet profile: the constructions follow AusNet's current Standard Installation Manual - 66 kV, 22 kV on wood and concrete poles, 22 kV subsidiary, SWER and LV aerial bundled cable - with the clamp-top posts and polymeric strain insulators AusNet now builds with, and the LV bare open-wire constructions marked for maintenance. Each construction is listed once: the list offered many twice (the strains' "ARR A" copies, the SL1 and SL2 copies of one head), and a semi-anchor is now part of its intermediate. Constructions from earlier drawings that are still on poles - with tie-top posts, porcelain disc strings, the retired SL1 and SL27 arms, or from withdrawn drawings - stay at the end of the list, their names ending "EXISTING LINES"
- AusNet profile: the insulator and crossarm lists are corrected against AusNet's current manuals. Added: the clamp-top posts AusNet now uses - horizontal (CT1) and vertical (CT2) at 22 kV and 66 kV, normal and high pollution, and the CT3H and CT3V slack-termination types - and the polymeric strain insulators (22 kV, cockatoo resistant, in-line, two-disc replacement, 66 kV). Corrected: the 22 kV tie-top, aero pin and clamp-tops' voltages, lengths, creepage and mountings, the 66 kV tie-top (1450 mm creepage, 760 mm long), the high-pollution distances (10 km of a surf beach, 5 km of a bay), the clamp-top load limits. Crossarms: the LV arms L11 to L55 are hardwood, not steel; added the extreme offset, fused strain, subsidiary and covered-conductor arms (SL21E, SL22E, SL24E, SL26E, SL26H, SL24S, SL26S, SL51/61, SL61S, SL25E) and the LV composite arms (L11C, L51C, L15C, L55C). Parts AusNet no longer uses but are still on poles - the 11 kV pin, the older posts and discs, SL1, SL11, SL25, SL27, SL10, SL20 and the HV wood crossarms - stay in the lists, marked "existing lines only"
LIDAR SCAN IMPORT
- LiDAR import: a scan that is not classified comes in - nPoles finds the ground in it itself. The import window ticks "nPoles finds the ground itself" for a scan holding no ground returns, and says so in its checks, so the ground under each span and a new job's terrain come in from it; it can also be ticked to replace a scan's own ground. Held against a supplier's classification of a 25-million-return terrestrial scan, it finds 99.8 % of the supplier's ground. Poles, conductors, trees and buildings still come from the scan's own classes. An import that finds no ground in a scan now says the scan may not be classified, where it blamed the datum
- LiDAR scan import: the stays holding a pole up come in on the pole's stays, each found in the scan as a straight wire from the pole to an anchor in the ground - its height on the pole, its bearing, its angle above horizontal and its attachment's 3D position; a footpath stay with its strut's height and length - existing, and INLINE or BISECT where it stands along a span or outside the line's angle. The anchor's distance out and level are in the stay's remark. A scan does not show a stay's size or its anchor's kind, which are left to be set. The import's Stays row lists each one
- LiDAR scan import: each pole comes in with its pole type, wood or concrete, read from the shape of its shaft in the scan - wood where the shaft shows a tree's marks: bent off straight, dents a metre and more long down its grain, oval or unevenly tapered; concrete only where it shows none of them and is round, straight and tapered as a spun concrete pole is. A pole that shows neither, or that the scan sees from one side only or too thinly, is left without a type to be set by hand. The type is written in the company profile's own word for it, the 3D views draw the pole as that, and the standard constructions fitted to its circuits are those drawn for its material; the import's Crossarms row says what each pole was read as and why
- LiDAR scan import: each circuit the scan puts on a crossarm is given what the company profile's own crossarm, insulator and construction lists say of what the scan shows - its structure type, from whether its conductors run on, turn or end at the pole; the crossarm of the length and material measured, for its voltage; each insulator's record and whether it stands or lies - a post as tall as its conductor stands over the arm, a post lying out of the arm's end where the conductor is past the end at the arm's height, a pin, an LV shackle; the side the centre insulator is on; and, where one of the company's standard constructions agrees with nearly every measurement - its crossarm's length, material and mounting, each conductor's offset, height and insulator - that construction, as picking it in the Structure window fills the circuit. The 3D views draw the circuits with those parts. The measured heights and offsets are kept as they were, and the import's Structures row says what each circuit was given and why
IMPORT
- Import into a new job: the job takes the profile of the company whose network the data is on - a LiDAR scan, LandXML, a Topcon job or Insert File. nPoles looks up the postcode at the middle of the data (over the internet, as an address look-up does) and, where another company's network is there, switches the job to that company's profile before the import, so a scan's poles and crossarms are fitted to that company's parts and constructions; the address goes into Survey Properties. A scan that does not say which grid it is on is placed once its datum and zone are set in the import window, and a LiDAR import that is cancelled puts the profile back. Survey Properties: looking up an address now switches a new job to the company serving it - it never did on the desktop
POINT EDIT
- Point editor, Structure window: a circuit is offered the constructions carrying as many conductors as its string records - three-phase or single-phase, four- or five-wire LV - as well as those for its voltage and its pole's type, and the caption says what chose the list. A string recording one conductor (a SWER wire, an aerial bundled cable, a phase strung on its own) or none is offered them all
- Point Edit, a circuit's Structure window: under the Construction box, a line or two - the construction's name, its drawing and the line deviation it takes - and More information... for the whole of its entry, the parts it fills and the notes read from its drawing, in a box to read and copy. The whole text was under the box
- Point Edit, a circuit's Structure window: the Arm and Insulator lists offer the parts for the circuit's voltage, read from its conductor string - the LV crossarms and insulators for an LV circuit, the HV ones for a 66 kV, 22 kV or SWER circuit - as the Construction list already did. A circuit whose string gives no voltage, a CATV or fibre cable, is offered every part, and a part the row already records stays in its list. The Victorian companies' LV crossarms (the L series and the CATV arm) say "LV" in their descriptions, which is how an arm is known to be LV
- Point Edit, a circuit's Structure window: "Centre insulator side", Left or Right - the side of the pole the centre insulator is on, looking along the line from the lower- to the higher-numbered pole, for 66 kV and 22 kV lines whose centre insulator changes side from one pole to the next. Generate ends the circuit's line of the pole description with an arrow for it, ← for left and → for right, which the construction drawing prints with the description. It is saved with the job, shown on the circuit's Structure button and when a point is compared with its backup, and moves with its circuit when the rows are sorted, a string is duplicated or split and a tee-off is merged in Pole Load
3D VIEW
- Clearances 3D View: each voltage at a pole is drawn as one structure, as Pole Load's 3D View draws it. Where a voltage's top phase is on a circuit row of its own above the row carrying its crossarm, the crossarm is that row's - its own crossarm and length, at the height its insulators hold it, laid out by the construction picked for it - and the top phase is where Pole Load's 3D View puts it: on the pole top, on a crossarm resting on the pole top, or on the side of the pole at its recorded height. Where each phase of a circuit is strung on a string of its own, each phase is drawn at the position and insulator height its circuit row records. The first and last poles of the check are drawn from their own circuit rows, and as intermediates where the line runs on past them. The crossarm was drawn from the top phase's row, which records no crossarm: a 2 m crossarm about half a metre below insulators lying out of its ends, and at the check's first and last poles a strain crossarm on the back of the pole with its insulators on the front. A centre phase went on the pole top within 0.5 m of the tip and otherwise on the crossarm 0.35 m from the pole, and fibre and CATV cables within 0.9 m of each other were drawn on a crossarm
- Route View, Pole Load's 3D View and the Clearances 3D View, AusNet profile: a circuit that records no insulator is drawn on AusNet's clamp-top posts - the vertical clamp-top standing, the horizontal one lying out of the crossarm's end - as AusNet builds now, where it was drawn on the 9-shed tie-top. A post lying out of a crossarm's end puts its conductor out by its own length, and Pole Load's 3D View lays the post that lies, not the one that stands
PLAN VIEW
- Plan view: a drag begun on a point's symbol, on a line, on a survey mark or inside a property boundary pans the plan, as a drag begun on open ground does. It held the plan still. A tap still opens the menu of what was tapped, and a point's number can still be dragged aside
- Plan view: the symbols and lines can be kept the same size on screen as the plan is zoomed in and out, as the point numbers always are - User Settings > General > Plan View, kept on this computer. A pole looked at closely on an aerial photograph is no longer hidden under its own symbol, nor its spans under lines metres wide, and with a whole job in view every point still shows its symbol. Unticked, the default, they are drawn to the scale of the ground as before. Print Scaled draws them to the ground's scale either way; Print and Export draw them as the screen shows them
- Plan view: after a point is edited its symbol is redrawn the same size as the others. It was a quarter bigger until the plan was next redrawn
nPoles v1.4.197 - What’s New
Release Date: 18 October 2026
3D VIEW
- Route View and Pole Load's 3D View: a footpath stay is drawn with its strut - the strut out of the pole at its recorded height and length, the stay wire down to the strut's end and from there straight down to its anchor. It was drawn as a plain stay, one wire to the ground well out from the pole
- Pole Load's 3D View: where one conductor string ends at a pole and another, strung to another stringing chart or MES, carries the line on, the pole is drawn strained each way - a disc string toward each span, the crossarm at the recorded height, every phase at the same height - as the Route View draws it. Unless the two pulls differed by more than a post insulator takes, it was drawn as an intermediate on posts, the crossarm a post below the recorded height and a top circuit's centre phase on a post on the pole top, well above the other two; and where they did, the strain was drawn on posts all the same. A span is drawn slack - on post insulators - by its stringing chart alone, as in the Route View: one whose pull was under 4.4 kN was drawn slack whatever its chart
- Route View: where bare LV conductors end at a pole and an aerial bundled cable (ABC) begins there, or the two are recorded within 0.15 m of each other, the bare conductors are drawn on a crossarm of their own - on the back of the pole when they end there - and the ABC on its clamp on the pole. They were taken for one run of conductors: a crossarm each way, the bare conductors' on their span's side, and the ABC bridged to them. An ABC beside a fibre or CATV cable is likewise drawn on a clamp of its own
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): strain insulator discs are drawn at their real size, from the insulator list - 255 mm across, 146 mm apart coupling to coupling (127 mm for discs from before 1973), each with its cap, its shell and its pin. They were drawn 146 mm across. The Victorian companies' 22 kV disc insulator records gave 146 mm as the diameter: they now give the diameter 255 mm and the spacing 146 mm, and records for pre-1973 discs (127 mm spacing, field code OLD DISC) are added. Their DXF and STEP exports follow
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): a steel crossarm on the pole top is drawn on its mounting as the standard drawings have it - an L bracket each side of the pole top, their bolts through the arm, the kingbolt through the pole and the centre insulator's stud; on a wood pole also the brackets' coach screws. A picked construction's shim under its insulator is drawn. The arm was drawn on the pole top with nothing holding it. Their DXF and STEP exports follow
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): post insulators are drawn as the insulator list gives them - the core rod at its listed diameter, the listed number of sheds alternating between the largest and smallest listed diameters, a steel base, and a tie-top cap or a clamp-top's clamp. They were drawn as a thick cylinder with thin discs whatever the list said; the 22 kV line post's body was four times too wide. Their DXF and STEP exports follow
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): one layout places each crossarm, its conductors and the insulators under them, in all three views. A conductor the survey gives no offset for is drawn at its crossarm's listed conductor spacing - 1.2 m each side on an HV21, where it was drawn 80 mm in from the crossarm's end; a circuit row that records insulator heights has its conductors drawn that height above the crossarm, as Pole Load calculates them, where the insulator's listed size was drawn; a string whose voltage type is "-" is drawn at the voltage it records - it was drawn as no voltage, its crossarm at the row and the conductors a post above it; a construction picked for a circuit puts its crossarm and conductors where its drawing dimensions them - the 22 kV concrete intermediates' crossarm centred on the pole top. The Clearances 3D View draws the conductor offsets the survey records, which it did not read. Their DXF and STEP exports follow
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): posts are drawn as the standard drawings dimension them - a post's conductor at the top of its crossarm plus the post's listed height, its tie-top within it, a post on the pole top standing on the tip. An arm on posts under a circuit row that records no insulator height is drawn 55 mm higher, its conductors at the row as before; the conductors of a row that records insulator heights are drawn 55 mm lower; a centre phase on the pole top up to 0.1 m lower, the same in all three views. A post lying out of the end of an arm holds its conductor at the arm's end plus the post's length - 1.385 m from the pole on an SL2, as drawn - where it was 1.41 m. Their DXF and STEP exports follow
- 3D views (Pole Load's 3D View and the Clearances 3D View): a circuit row that records no insulator height has its conductors drawn at the recorded height, as the Route View draws them - its arm below them by the posts standing on it, their fittings and half the arm's depth. Pole Load's 3D View drew them 0.09 m above it, more where the row records a post longer than the voltage's line post (0.2 m for a 600 mm post); the Clearances 3D View drew them up to 0.12 m off it, and drew a 0.35 m post where the row records no insulator - now the voltage's line post, as the other views draw. A single conductor on an insulator on the side of the pole is at its row's height in all three views: the two drew it a post's length lower. Their DXF and STEP exports follow
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): a crossarm that mounts only on the pole top - AusNet's SL2 - is drawn on the pole top, centred, when no other arm of the pole is above it, and the outer posts of an arm built to carry its conductors at its ends plus a post - SL1, SL2 and SL12 - lie along the arm out of its ends, their conductors at the arm's height, as the standard 22 kV concrete pole intermediate is built (SP9/7033, EVX9/7033 E). A circuit's V or H for an outer insulator stands or lays its post. An SL2 was drawn as another arm when its row was off the pole top, every post upright. A conductor offset recorded past a lying post's head lengthens the arm to it
- Route View: a circuit row that records no insulator height is read as its conductors' height, as Pole Load's 3D View, the Clearances 3D View and Pole Load's calculations read it - an arm on posts is drawn below it by its posts, their tops at the recorded height. The arm was drawn at the row's height, its conductors a post and its fittings above what was recorded: 0.58 m at 22 kV, 0.24 m at LV. A row that records an insulator height is still its arm's height, and a strain arm stays at its row. The arm's measure label gives both heights
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): an HV insulator the survey does not record is drawn as its profile's line post for the voltage, as the standard drawings show - the 485 mm 9-shed post at 11 and 22 kV, the 785 mm 17-shed post at 66 kV. A 0.35 m post was drawn at every voltage, and the arms read at their conductors' height were lowered by a different length again
- 3D views (Pole Load's 3D View and the Route View): a street light whose direction is not recorded points away from its pole's stays, square to the line, before a nearby road edge is looked for - a stay goes where the road is not. It was drawn square to the line on either side, so it could stand over its own stay. Stays in line with the conductors, and aerial stays, which can cross the road, give no side. A tap with the measure tool says what its direction was read from
- 3D views (Pole Load's 3D View and the Route View): a street light recorded with the wire holding it up is drawn as the standard inclined arm - rising 2.5 m from its mount on the pole to a major road lantern 4.5 m out, the wire running to the arm's end - an estimate, as the survey records the two mounts and not the arm. It was drawn reaching only as far out as its wire's mount is above its bracket, about 2 m
- Route View: a click on a pole, one of its crossarms or stays, or a conductor opens a menu of what can be done with it, as a click on a point in the plan view does - for the pole's point Edit, Pole Load, Describe, Photos and Files, Street View and Fly to, for a crossarm its circuit's Structure window too, and for a conductor its string's properties and Edit for the point at either end. A right-click opens it at once; a double-click still flies to the pole, and with the measure tool on a click measures, as before. After a change made from the menu the view is redrawn where it was, not zoomed back out to the whole route
- Route View: the centre phase of a pole's top circuit, recorded at the pole top or a little over it, stands on an insulator on the pole top, as Pole Load's 3D View draws it. It was drawn on an insulator on the side of the pole at its tip, lying across the line. A centre phase under another circuit that would reach within 0.15 m of the pole top is held 0.15 m under it
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): a crossarm its profile's crossarm list marks cruciform - the steel strain arms SL21 to SL28 among them - is bolted to the face of the pole as other crossarms are, unless it is recorded on the pole top. It was drawn through the middle of the pole wherever it was
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): they read the profile's own pole, crossarm and insulator files and nothing else, so "Database error: Database loading incomplete: Failed to load poles database, ..." no longer appears - the views first looked for a base copy of the SECV files that was never installed. The Clearances 3D View now draws with its profile's crossarms and insulators: it found none unless Pole Load's 3D View or the Route View had been opened first. After a change of profile the views no longer draw with the first profile's records as well as the new one's
- Route View: a Street View button opens the pole being looked at in Google Street View, in the browser - the pole the view is on, or with the whole route in view the pole nearest the middle of the view - the panorama taken nearest it, turned to face it, as Pole Load's 3D View does. It places the pole by the job's datum and zone (Survey Properties), and says so where they cannot place it
- 3D views (Pole Load's 3D View and the Route View): drop-out fuses are drawn where a row of a pole's circuits records them - FUSE XA, HV FUSE ARM and the like, on their crossarm, or the HV FUSES row of a LiDAR import, each fuse where its top was measured - with leads from the line's conductors down to them and from them to the pole transformer's bushings. A pole substation recording no fuses gets an estimated set, drawn paler. A tap with the measure tool says where they came from
- 3D views (Pole Load's 3D View and the Route View): bridges are drawn at a strain - each phase ended on a strain insulator toward each of its spans is joined from one end to the other, over its crossarm. Point Edit, a circuit's Structure window: "Bridges under the arm (at a strain)" - ticked, the arm's bridges hang under it. A row naming a bridge crossarm or bridging insulators (BRIDGE XRM, BRIDGE INS) gives the height they rest on: over the arm where it is above them, under it where it is below. The tick is saved with the job, shown on the row's Structure button, and moves with its circuit when the rows are sorted, a string is duplicated or split and a tee-off is merged in Pole Load; the measure tool says which way a bridge goes and why
- Pole Load's 3D View: a Street View button opens the pole in Google Street View, in the browser - the panorama taken nearest the pole, turned to face it and tilted up to take in its crossarms. It places the pole by the job's datum and zone (Survey Properties); a job on a local grid or AGD cannot be placed, and the button says so in words that can be copied
- 3D views (Pole Load's 3D View and the Route View): a street light the survey records on a pole is drawn - its bracket from the row of the point's circuits naming it (LIGHT BKT, TOP MT LIGHT BKT, PL BKT, PL and the like) and the wire holding it up from the row naming that (LIGHT SUPP WIRE, PL STAY, PL CAT and the like). The bracket reaches out as far as the wire's mount is above its own, or 1.5 m, an estimate, where no wire is recorded. It points to the nearest road edge the job surveys within 40 m of the pole, else square to the line, an estimate; a tap on it in the measure tool says what was recorded and what is estimated. A row naming a traffic light, a light column, a service or cable to a light, a photocell, or the pole's construction (L51 & PL, LV INT PL) is not a light. Pole Load leaves a light's weight and wind out, as before
- Pole Load's 3D View: a tee-off (T-off) that records its own crossarm is drawn on that crossarm, as the Route View draws it. Its arm was taken as the far end of the pole's own arm at a similar height, so the tee-off's crossarm was missing, its conductors left the pole's arm, and the pole's arm was drawn strained both ways instead of on the back of the pole
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): a lone strain crossarm - the end of a line, strained on disc insulators (high voltage) or shackles (low voltage) - is on the back of the pole, away from its span, so the conductors pull it against the pole. It was drawn on the span's side. A termination on post insulators stays on its span's side, and a conductor in the middle of an arm on the back of the pole is kept clear of the pole
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): a crossarm recorded at the top of its pole - its insulator heights recorded and its height at the surveyed pole top or just above it - sits on the pole top, centred over the pole, with every phase on it, the centre phase on the crossarm over the pole. It was bolted to the side of the pole: Pole Load's 3D View drew it beside the pole above its top with the centre phase on an insulator on the pole top, and the Route View drew it below the pole top, an insulator lower, with the centre phase on the side of the pole
- Pole Load's 3D View: a circuit whose conductor string has no conductor chosen, or whose string number the job has no conductor string for, is not drawn at all - not as a circuit of its own, not on another circuit's crossarm, and it no longer keeps another circuit's centre phase off the pole top. A tee-off string with no conductor recorded just under a circuit of the same voltage was drawn as three more conductors on that circuit's crossarm, and the crossarm was moved down to the tee-off's height
- Pole Load's 3D View: a conductor string with a conductor and no stringing chart is drawn with the conductors it records, at an estimated sag. It was drawn as three conductors whatever it carried, so a string of one conductor - a single phase, a service cable - came out as three on a crossarm
- Route View: a circuit naming a conductor string number the job has no conductor string for is not drawn, as Pole Load's 3D View does not draw it. Where poles carried such a number, it was drawn between them as a fibre
- Route View: opening it again after a change to the job, and its Pole Tilt and T-Off Poles buttons, take a second or two again. The view was rebuilt piece by piece in its open window, which took 25 seconds on a 200-point job, over a minute on some and 15 minutes on a 680-point job, with nPoles not responding meanwhile; closing a job or nPoles after the view had been open was slow for the same reason
- Pole Load's 3D View: the centre phase of an intermediate high-voltage crossarm recorded close under the pole top stands on an insulator on the pole top, as the Route View draws it. Where its row recorded no insulator heights it was hung from the side of the pole on a horizontal insulator, above the pole top and not joined to the pole
POINT EDIT
- Point Edit, a circuit's Structure window: the Construction list offers the constructions for the pole's type as well as the circuit's voltage - a concrete pole's for a concrete or Titan pole, a wood pole's for a wood pole, a steel pole's for a steel pole, each with those for any pole; all of them for another pole type (a Stobie pole, or none recorded). Its caption says what the list is for, as "Construction (22 kV, wood pole)". Each construction's whole title shows as a tooltip, in the list and on the box, and the one picked is named in full under the box, where it can be copied. The window opens a third wider, and tall enough that nothing in it is squeezed
- Point Edit, a circuit's Structure window: a Construction box lists the company's standard pole constructions for the circuit's voltage, read from its conductor string - for the JEN profile those of Jemena's overhead design manual and for the AusNet profile those of AusNet's, 66 kV to LV. Picking one fills the window's structure type, crossarm, insulators and whether each stands or lies, as its drawing builds it - a part the construction does not give is left as recorded - and beneath it says which drawing and page it is and the line deviation it takes, in words that can be copied. The circuit keeps the construction picked: it is saved with the job, shown on the circuit's Structure button and when a point is compared with its backup, and moves with its circuit when the rows are sorted, a string is duplicated or split and a tee-off is merged in Pole Load. A construction the profile does not list is kept as it is
- Point Edit, a circuit's Structure window: "Arm on the front of the pole (its span's side)". A strain crossarm that ends its line is drawn on the back of the pole, away from its span; ticked, the 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View) draw it on the front. It is saved with the job, shown on the row's Structure button, and moves with its circuit when the rows are sorted, a string is duplicated or split and a tee-off is merged in Pole Load
POLE LOAD
- Pole Load, the 3D views and Fill offsets in a circuit's Structure window (Point Edit): a circuit whose structure type is an angle type - AT1, AT1A, AT1B, AT2 or AT3 - is taken as an intermediate, its conductor running on over the pole, as angle constructions are built. It was taken as a termination: Pole Load took a stay to hold the conductors on its own side alone, as at a strain, the 3D views drew a strain crossarm, and Fill offsets gave a horizontal insulator's conductor the arm's own spacing, the insulator lying along the line
- Pole Load: a tee-off's circuit, merged into the pole being worked, takes an empty row and no longer replaces a row with a remark - a transformer's top or bottom, a light's bracket - which the pole's 3D View and Pole Schematic then lost
- Pole Load: a red line under the results names each conductor string the loads leave out, and why - no conductor chosen, no stringing chart, a conductor or chart not in the company's lists, or a string number the job has no conductor string for. Pole Load leaves out such a string's wind and tension until it is finished, and said nothing; the line can be selected and copied
LIDAR SCAN IMPORT
- LiDAR import: the drop-out fuses on a pole are brought in, each found in the scan with its top measured, and recorded as an HV FUSES row of the pole's circuits - the row a fuse crossarm is recorded with, the fuses' tops as its measured positions. The import's Fuses row says where each was found
- LiDAR import: fuses or insulators standing side by side at one height on a pole are no longer read as a crossarm, which could put a circuit on an arm that is not there
BUG REPORTS
- Help > Send Bug or Idea: the job that is open goes with the report as it is in nPoles, changes not yet saved included, under a tickbox of its own that starts ticked; untick it to send the report without the job. The job's own file is not touched. A job too large to send is left out, and Save to File keeps it with the report, to email
- nPoles notes where it is stuck when its window has not answered for 15 seconds. If it is then closed from Task Manager, or Windows closes it, the next start asks to send a report - with where nPoles was stuck, the recent log and, ticked, the job that was open as last saved - as it does after a crash. A run closed while it was stuck was never asked about. A pause nPoles comes out of is not asked about, and Help > Send Bug or Idea sends the note of it with the logs
nPoles v1.4.196 - What’s New
Release Date: 15 October 2026
3D VIEW
- Route View: a pole with a tee-off (T-off) record numbered before its own record is drawn. The two records took each other as the pole's T-off, so the pole was not drawn at all - no pole, stays, label or transformer, and on some its crossarm missing, its conductors meeting in the air
- Route View: a conductor string running through a pole is drawn as an intermediate unless the job records a strain there, as Pole Load's 3D View draws it. A string whose spans differed by more than 2:1 was drawn strained - with a disc string on one side only and the other span's conductors brought round the pole to it - where Pole Load's 3D View showed an intermediate. Where a strain is recorded on a string running through the pole, the Route View draws a disc string toward each span, each span's conductors from its own side
- Pole Load's 3D View: a strain recorded in a circuit's structure type (Point Edit, the circuit's Type) is drawn strained each way on a string running through the pole, as the Route View draws it; without a crossarm code beside it, it was drawn as an intermediate
- 3D views (Pole Load's 3D View, the Route View and the Clearances 3D View): a pole substation is drawn where the survey records it. Rows of a point's circuits with no conductor string whose remark names the transformer's top or bottom - TOP OF TX, BOT OF TX, TX TOP MT, TX BTM, BASE OF S/STN, TX PLATFORM and the like - place its tank: between a top and a bottom, as high as they are apart, or hung from a top or stood on a bottom recorded alone. A pole substation's description code (S1, S2, SS and the like) with no such rows draws the tank 60 % up the pole, paler, as an estimate. A transformer was drawn only where the point's Sub Station group records one, which still decides where it records a height. Pole Load still counts only a transformer recorded under Sub Station, as the 3D views' labels say of one drawn from the rows or the code
- Pole Load's 3D View: each conductor hangs as Pole Load works it out - the stringing chart's catenary for the conductor in the condition shown, between its attachments as surveyed, the span's rise or fall included - and its DXF and STEP carry that curve, so a stay's clearance to the conductors near the pole can be measured from them. The view drew a sag of its own, worked out from a conductor weight of 0.5 kg/m whatever the conductor weighed, as a small arch that rose back to its attachment's height; on a strain pole, the conductors on the far side of a tension change came out nearly straight
- 3D views: DXF, STEP and 3D Web write exactly what the view draws - every pole, crossarm, insulator, conductor, stay and surveyed object where the view has it, in its own colours - from Pole Load's 3D View, the Route 3D View and the Clearances 3D View, which gains an Export button. Pole Load's DXF and STEP used to work each circuit out again: every crossarm square to one span, and the STEP model upright on a leaning pole. The Route View's held only pole shafts and conductors, with a sag of their own
- 3D exports for checking clearances: each conductor and stay is written along its axis, on the curve the view draws to within a millimetre - a 3D polyline in the DXF, a pipe along the curve in the STEP model, a conductor leaving an insulator for both its spans a curve for each - so a stay's clearance on the structure can be measured in CAD, and a conductor's to objects in a span in the Clearances 3D View's files, which have each span whole as the clearance check hangs it. Pole Load's 3D View draws the first 25 m of each span, and the Route 3D View hangs its conductors at a sag of 2.5 % of the span, to show the line; each export's window says what its view's conductors are
- 3D DXF for AutoCAD: a layer for each kind (POLE, CROSSARMS, INSULATORS, CONDUCTORS, STAYS...), each pole, crossarm, insulator and object a mesh in its own colour, labels as text, the drawing opening on the model and passing AUDIT with no errors. STEP for FreeCAD, Inventor and SolidWorks: named, coloured solids in an assembly for each kind, in millimetres, its progress shown on a long route. Each asks whether to write grid co-ordinates as surveyed or local ones less an origin - FreeCAD and most mechanical CAD draw in single precision, so grid co-ordinates in the millions shake on their screens - and remembers the origin for the job, so the files of every view line up
- 3D views: Pole Load's 3D View and the Route 3D View decide a structure the same way. Its crossarm, its type (INT, ST...) and its insulators come from whichever of its circuit rows records each one, so an INT recorded on one row of a structure shows in both views, on the crossarm the other rows record
- 3D views: a crossarm whose left and right conductors were shot is drawn along the shots, where it stands, in Pole Load's 3D View and the Route 3D View alike; without shots it lies on the bisector of the line's deviation
- Pole Load's 3D View: an intermediate crossarm at an angle pole lies on the bisector of the line's deviation, as a strained one does. It stood square to one span, turned by half the deviation
- 3D views: a circuit recorded on a strain crossarm (SL22, SL26...) with no structure type is drawn as a strain. Pole Load's 3D View drew it as an intermediate - even where the pole description said ST - while the Route 3D View showed the strain; a structure type left blank is no longer read as INT
POLE LOAD
- Pole Load, Pole Schematic: a crossarm the company's database allows only on the pole top, recorded below it, is labelled with the arm of the same use and length that can go there - AusNet's SL2 as SL12 - as the 3D views draw it, on the Pole Schematic tab, in its DXF and on the detailed report's Diagrams sheet. The schematic did not find the company's crossarm database and labelled the arm as recorded
- Pole Load: the stick diagram's DXF (Export DXF on the Pole Schematic tab) passes AutoCAD's AUDIT with no errors. AUDIT found one: the drawing's dictionary named an object the drawing did not hold
- Pole Load: the Manual Wind Load window's explanation and total, and the question asked before a typed wind load is replaced by the calculated one, can be selected and copied
STRINGING CHARTS
- MES Calculator: the conductor length - when strung and unstressed - takes each span's rise between its attachments again, so changing a height on a pole changes it. In 1.4.193 to 1.4.195 every span was worked as though level, which left the length short on sloping ground: about 0.5 % where the spans average a 10 % slope, 2 % at 20 %. The MES and the other figures were not affected
- MES Calculator: the number of spans, the sum of the spans, the route length and the average gradient can be selected and copied
- Chart Finder: picking Point A takes Point B to the next pole on the conductor string, so the two always make a span - from the string's last pole, to the pole before it. Point B stayed where it was, pairing the new Point A with a pole that might be anywhere on the string. Point B can still be picked on its own
STRING PROPERTIES
- String Properties, Points Tools: Duplicate makes the new string what the original is on each point - its insulator positions and conductor offsets (Left, Centre and Right), crossarm, structure type, insulator types and orientation, remark, the weather recorded with it and its measured shots. It kept only the attachment height and one insulator height, always on the left, with every conductor offset 0, so a duplicated phase of a circuit strung a phase to a string came out on the pole's centreline. With Set Height ticked, the new string takes the heights typed and keeps its positions and offsets
- String Properties, Points Tools: Duplicate's With its phases duplicates a circuit strung a phase to a string whole - its main string and each of its phases on the points in range become new strings, the new phases phases of the new main
- String Properties, Points Tools: Split leaves the strain pole carrying the new string exactly as the old one stands there - its Centre position, crossarm and structure were dropped
- String Properties, Points Tools: Delete leaves nothing of a string on a point - its measured shots and recorded weather stayed, and the next string put in its place took them - and the weather recorded with a circuit stays with it when the tools put a point's circuits in height order; it stayed where it was and passed to whichever circuit took that place
SURVEY PLANS AND FIELD RECORDS
- Survey Plans and Field Records: opening a document LASSI has nothing on file for gives the day LASSI added it to its map, the day the Added to LASSI column shows. LASSI holds no document for most of the plans it added between February and September 2026; older plans open as before
- Document viewer (survey plans, field records and survey mark documents): the page box shows "Page 1" and the last page in full; it was a few pixels too narrow and cut the number off
- Survey Plans and Field Records: an Added to LASSI column gives the day LASSI put each plan's label on its map - the plan is at least that old - or old for a label LASSI held before it began keeping those dates in 2003, and for a plan of a series that closed in 1990 (LP, SP, RP, CP and CS). LASSI keeps no date for applications, field notes and VicRoads' plans, which are left blank. Copy carries the column too
PLAN VIEW
- Plan view, Lasso selection: the warnings when no row is ticked, a ticked row has no description code or the first point number is not a positive number can be selected and copied
- Plan view: the Lasso works on the job's own points as well. A loop drawn round surveyed points lists them, each ticked and ringed on the plan, to delete - in one step Undo brings back - or to copy to a new job file, with the conductor strings they carry, the custom charts those strings name and their photos and files; the open job is left as it is. Only the points the plan shows are taken, and when the loop also holds map-layer features nPoles asks which to work with
FILES
- File > Quick Backup: the job's photos and files and its survey log are backed up with it, beside the backup under its name; a photo changed since the last backup is brought up to date, with a progress window that can stop the copy
- File > Save As: the job's survey log goes with it to the new name, so its history carries on there; a log already beside the new file is kept under another name, never written over
- File > Save As: a job's photos and files are kept in a folder beside its file, under its name, so a job saved under another name or in another folder could no longer open them. Save As now says where they are and offers to copy them beside the new file, or tells that they stay with the old one; a file of the same name already there is never overwritten
IMPORT AND EXPORT
- Export to DXF: AutoCAD opens the drawing, the company profile's symbols and all, and its AUDIT finds no errors. With the symbols - every company profile adds them - AutoCAD 2014 discarded the drawing ("Invalid Block Name: SECS2", "drawing discarded"): the list declaring them was written after the part of the file AutoCAD reads it from. Without them the drawing opened, but AUDIT found errors: layer 0 had a colour no layer can have, and the drawing's dictionary named an object the drawing did not hold
- DXF exports - Export to DXF, Pole Load's stick diagram and the 3D views' DXF: a DWG saved from the drawing in AutoCAD can be opened. The drawing's dimension style took its text style from whatever number was left in memory, and where that pointed at nothing, AutoCAD opened the DXF but would not open a DWG saved from it - RECOVER mended the DWG by replacing the dimension style. It now takes the drawing's own STANDARD text style
- Point > Insert File reads LandXML, Topcon Field jobs (.mjf) and MAXML files (.mxl) as well as nPoles jobs, text files and DOS POLES surveys, with the same point limit and insert options. The file type follows the file chosen - the File Type buttons are gone and the file dialog lists every kind - and a controller's file brings its string numbers and is checked as File > Import checks it: its datum, ground scaling, and string numbers the job already uses
- Insert File: a file name typed or pasted into the window is read as the kind of file its name says. It was read as an nPoles job, or as the kind last chosen with the browse button
- Insert File: with Replace points that Conflict, the points of a ground-coordinate file that replace job points are converted to grid with the rest; they were left in ground coordinates
- Insert File: a DOS POLES file that cannot be read says why; the message was empty
VIRTUAL KEYBOARD
- Virtual keyboard: nPoles no longer closes as it takes the Windows touch keyboard off the screen. With both keyboards up on Windows 10 or 11, closing the Windows one could end nPoles without a word, as on a customer's tablet on v1.4.195
- Virtual keyboard: a Windows touch keyboard already on screen when the nPoles keyboard appears is closed. One opened while nPoles was in the background, or while its keyboard was closed, used to stay beside it. While the nPoles keyboard is closed or minimised, a Windows keyboard opened from the taskbar is left alone
- Virtual keyboard: with the nPoles keyboard on, Windows no longer offers its own touch keyboard or handwriting panel for nPoles fields, spin boxes included, and a tap in a field no longer asks for it
START-UP
- Start-up: after a run that did not close normally, the nPoles log says what Windows recorded of it - a crash, or not responding and closed - so a report sent with Help > Send Bug or Idea shows what happened
nPoles v1.4.195 - What’s New
Release Date: 11 October 2026
POLE LOAD
- AusNet profile: Pole Load works the wind conditions by VESI - the method of the SECV Overhead Line Design Manual, which AusNet's design manual 4104A copies - where it worked them by AS/NZS 7000. Each span takes the tension of the wind it sees rather than its maximum-wind tension, and a stayed pole is checked with the wind in line with and across each stay, so an AusNet pole's results in the wind conditions can change. AS/NZS 7000 can still be chosen in User Settings, Pole Load
- B.M. Plot: a stayed pole's full moment, drawn dashed beside the line in the stay's plane, runs on below the ground line as that line does, so it passes through the moment the Util reads below the ground - as it can on a concrete pole. It stopped at the ground line
- Pole Load: a pole without stays counts its transformer's own bending moment - its weight off the pole's axis - in its tip load and its footing load, and the B.M. Plot draws that moment from where the transformer is mounted down. Only a stayed pole counted it. The existing pole's figures, from its backup before the works, count the transformer it had then
- Pole Load: a transformer whose centre is measured, by a reflectorless shot on its face or a LiDAR scan, bends the pole toward the side it hangs on. Its moment adds to the pole's load on that side and takes from it on the other, on a pole with stays or without, and the report gives the bearing it acts toward. A transformer not measured is taken at its full moment in the direction the pole is loaded most
- Pole Load: a staked pole is held to what its stakes take at the ground line. A pole recorded in Point Edit with stakes - their type, number and status - has as its limit the lesser of its own and the tip load that puts its stakes' rated bending moment on its ground line, short and long duration alike, and the B.M. Plot's capacity is held to the stakes' moment from their top to their foot. The limit's heading and its hover, both reports, and the summary report's PDF and spreadsheet give the stakes, their rating and where it comes from, and whether they or the pole govern. The ratings are in a new stakes database with each company profile that offers stakes: the stake ratings of Powercor's EB141 - for the AusNet, JEN, Jemena, SECV and UED profiles too, each file flagged for its company to confirm - and the failing moments of TasNetworks' DS-D-OH-1. Limit State takes 0.9 of a stake's failing moment, a working rating being half of it (CitiPower/Powercor EA061). A stake the database does not rate, or a number of stakes it does not rate, is taken as the weakest stakes it rates for that number, no number recorded as one stake, and the pole says so. Stakes to be removed, and a new or replacement pole, are not counted. A staked pole was calculated at the pole's full rating
- Pole Load: a transformer described with its voltage, as in "100 kVA 3-phase 22 kV", is matched to the database's unit of that voltage where a profile lists one rating at several voltages; with no voltage, to the first unit of the rating, the heaviest
- Pole Load: a transformer is matched to the transformer database by the description it was picked by. A 25 kVA or 50 kVA 3-phase transformer was given the first record of its rating, the 25 kVA SWER or the 50 kVA single-phase transformer, with their smaller bending moment and wind area
- Pole Load: a pole-mounted transformer's wind load counts in Design Stress by default, as it does in Limit State, so a substation adds its wind to the pole's load as well as its bending moment. It counted only with User Settings, Pole Load, Design Stress, Wind load on transformer ticked, and that came unticked. The company profiles that come with nPoles take the change with this update; a profile of your own keeps its setting. Wind on crossarms and insulators still counts in Design Stress only when ticked
- Pole Load: the left-hand column is a little wider and the 3D button narrower, so the ISD, F.E. and Limit State tick boxes show their names in full. They were cut short - ISD read "ISC" and Limit State "Limit Sta"
- Pole Load: an F.E. tick box beside ISD chooses how a stayed pole is worked - ticked, by the finite element model, the pole on its own tapered section and each stay stretching from the tension it was installed at; cleared, by the SECV props, each stay a rigid prop on a pole of uniform stiffness. It changes that window only: each time Pole Load opens, the box starts at the choice in User Settings > Pole Load, and a report worked by the finite element model says whether User Settings or the box chose it. A pole without stays works out the same either way. ISD has a tooltip saying what it does, and the 3D View button reads 3D
- Pole Load: a test condition's Load Type can be Construction as well as SDL or LDL, in Design Stress and in Limit State - a short-duration condition with the conductors on one side only erected, as during construction or maintenance. One side only is worked out in Construction conditions, and only in those; it was worked out in every condition, the full wind and the long-duration one among them. The JEN, AusNet, UED, Powercor, SECV and Jemena profiles have Design Stress condition 4 as a Construction condition at 15°C and 100 Pa. In Limit State, and in a profile without one, a condition is set to Construction in User Settings > Pole Load for One side only to be worked out. A Construction condition's column is headed CON, and in the reports "construction"
TRANSFORMER DATABASES
- Transformer databases for the Ausgrid, Endeavour, Essential, Evoenergy, Energex, Ergon Energy, Western Power, Horizon Power, NT-P&W, SAPN, TasNetworks, JEN, Jemena and UED profiles, each with the ratings its network's standards list, at each voltage it uses. Masses, sizes, wind areas and weight offsets are the network's own where it publishes them - Ausgrid NS220, Evoenergy PO07132, SA Power Networks TS-107, JEN SP10/60, TasNetworks' transformer weights, CitiPower/Powercor EL001, United Energy's pole-type substation design figures - and are estimated from other networks' published figures where it does not, and each transformer's notes say which. These profiles had no transformer database of their own and used the AusNet, Powercor and SECV transformers
- Transformer databases of the AusNet, Powercor and SECV profiles: the sizes of published units (JEN SP10/60, SA Power Networks TS-107), so the 3D views draw each tank at its overall size, and the ratings their networks list - AusNet 10 kVA single-phase, 100 and 200 kVA SWER isolating and 500 kVA 11 kV; Powercor 10 and 20 kVA SWER, 16 kVA single-phase, 50 kVA 3-phase, 200 kVA SWER isolating and 400 kVA; SECV 50 kVA 3-phase. AusNet's 16 kVA single-phase is 165 kg (was 130) and its 50 kVA 3-phase 550 kg (was 630), as published
- Transformer wind areas and bending moments, every profile: a transformer's wind area is the network's published effective face area where it has one, otherwise 0.63 of its overall width x height - the share of the overall size Ausgrid's published effective areas are for the same units; its bending moment is its weight at the network's published offset from the pole's axis, otherwise at 0.5 m, about the mean of the offsets Evoenergy and United Energy publish - for the same weight a fifth less than the AusNet, Powercor and SECV transformers had, at 0.61 to 0.63 m from no stated source
- Transformer databases of the AusNet, Powercor and SECV profiles: masses and heights brought up to date with CitiPower/Powercor's EL001 of February 2026, with the bending moments following the masses and the wind areas the heights - a 315 kVA transformer now 1500 kg (was 1640), a 25 kVA 3-phase one 400 kg (was 345)
CLEARANCES
- Clearances: two conductor strings of one phase set - phases of one circuit, linked with Phase of conductor string - are checked phase to phase only. They were also checked against each other circuit to circuit, as two separate circuits, so a stack of phases on a pole could read under. The Circuit cell now says why the pair is not checked, and the set's lowest phase is still checked against the circuit below it
- Clearances: where LV spreaders must go in Victoria's fire areas is checked on every bare LV span - SECV drawing VX9/7020/150 A's table (Powercor's ES051 Table 1), United Energy's UE9/7020/150 A, or CitiPower's every span - the rule chosen for the company in User Settings, Clearances + P.L., Phase, and set for the Powercor, SECV and UED profiles. A span short of what the rule asks shows "needs 1 spreader" on its Phase cell, in red, and its hover and What's This give the rule, the fire area and the spreaders recorded; where the rule cannot be applied they say why. Fire areas are CFA's high bushfire risk areas, from CFA's Low Bushfire Rating Areas - installed with the map data, and drawn on the plan view by Layers, Show Bushfire Risk (CFA)
- Clearances: interphase spreaders - LV spreader rods and HV inter-phase spacers - can be recorded in a span, how many and where, and the phase separation check takes each one as a conductor support, as AS/NZS 7000 figure 3.6 note 4 has it. A span with spreaders is checked stretch by stretch between them, each stretch needing what a span of its own length would - one spreader at mid span quarters the sag, the "4 times" of VESI drawing VX9/7020/90C note C.2(b). Right-click a span's Phase cell to give it spreaders, evenly spaced or each at its own distance, joining every conductor or one pair of phases; String Properties has a Spreaders tab listing them span by span. The span's separation is worked out again as the spreaders change, before they are kept, and a span short on its arm says how many evenly spaced spreaders would give it what it needs. The Phase cell says how many spreaders are in play on a line of its own, and its hover, What's This and the preview set what the span would need without them - the separation they save - beside what it needs with them, and say where they are what gives it enough
SHARING
- Share by email and Shared jobs: an installed copy proves to the nPoles portal that it is the installation its registration trusts, by a key of its own kept only in its encrypted licence file - made on the first share, the same for both nPoles applications on the computer, never shown or logged - so a used Manual Activation code no longer lets anyone else list or open the licence's shared jobs. Where the portal says sharing from the licence is tied to another nPoles installation, its words are shown, copyably, with how to reset it
- File > Send > Share by email (web link)... sends the job's photos and PDFs with it: "Include 23 photos and 2 PDFs", ticked. A picture over 2048 pixels goes smaller, turned the way the phone held it and under its own name; a PDF of up to 10 MB goes as it is; attached files a guest's browser cannot open (Word, Excel) stay behind, and the dialog says so. A bar shows how far the share has got, and Cancel stops it; when the portal refuses the photos, Share without photos sends the job alone. The guest sees the photos in the job's point details. Shared jobs... says how many went with each
- Share by email: when the portal's answer could not be read, the message sent you to a menu this application does not have; it says to look in Shared jobs... (File > Send)
- File > Send > Share by email (web link)... sends the open job to anyone by email, through the nPoles portal: they open the link in a web browser, with nothing to install, to view and print the job - not to change it - for 30 days. The job goes as it is saved, so a job with changes not saved, or never saved, is saved first when asked; its photos and attached files are not sent in this version. The answer gives the link, until when it works and who it went to, with Copy link, and says so when the portal could not send the email - the link works all the same, to send yourself. File > Send > Shared jobs... lists the jobs shared, when each was sent and opened and until when its link works, copies the list, and revokes a link at once. Sharing needs nPoles registered on the computer; a copy in demo mode says so
REGISTRATION
- Demo mode: the 90-day evaluation runs from the day it began. It ran from the day the licence file was last saved - the first start, or any change to the registration details - so changing a detail started it again; and the check for a computer clock wound back never worked. Each start in demo mode now notes the day, and winding the clock back behind it ends the evaluation. A computer whose evaluation this change ends at once has 14 more days from its first start on this version, once
- Start-up: the messages that the evaluation has ended, or that the maintenance contract does not cover this version, and the demo-mode welcome can be selected and copied, to paste into an email
- Registration: a computer that cannot reach the registration server can be de-activated without a connection - with the new De-activate without a connection... button on User Settings' Registration tab, or from the message a De-activate that could not connect shows. nPoles clears its licence at once and shows a release code, its QR code and the de-activation page's address, with Open in Browser; the page, opened on any phone or computer, frees the key to be activated on another computer. Until it has been opened the key stays registered to this computer on the server
- Manual Activation: Open in Browser opens the activation page in this computer's own browser, which often gets out through a company proxy when nPoles cannot, and the page starts with the product and the name and email typed in User Settings. On a computer already registered with the key, the activation code brings the licence's details up to date - a renewed support contract, on a site that never reaches the server. Activating online after a request code has been handed out uses that code's details, so the two never conflict
- Manual Activation: the QR code sits beside the address, the window is never smaller than what is in it, and the request code shows whole, from its first character. On a small screen the bottom of the QR code could be cut off, and at the usual font size the request code showed only its end
- Registration: a company proxy that asks for a user name and password is asked about, in a small window - the user name is remembered, the password is never stored - and the secure web connection is tried again signed in. That connection used to fail there, and nPoles went on to the connections the company had blocked
- Registration: trying the direct connection no longer freezes nPoles for up to 10 seconds. A failed attempt always shows its message - it showed for some failures only - with the way round it for what was asked (Manual Activation, or De-activate without a connection), and the connection log lists the message a line at a time. A ';' or a line break typed into the name or email no longer garbles what is sent
- Registration: Registered User takes up to 80 characters, as many as the registration server keeps; a longer name failed with "server error"
- Help, About, Registration: one Name, as User Settings has - the Last Name beside it was always empty - and every detail on the tab can be selected and copied. The Clearances report's "prepared by" and the MES and multiplier tables' author no longer end in a space
- Registration: the direct connection to the registration server checks the server's certificate, which is built into nPoles, and goes ahead only with the nPoles registration server - nothing is sent to any other. The connection through portal.npoles.com, which is tried first, is unchanged
START SCREEN AND NEW JOBS
- File > Close: the job is closed - asked to save first if it has changed - and nPoles goes back to the start screen, or, with the start screen turned off in User Settings, General, to an empty job. The File menu had no Close, so a job could be left only by opening or starting another
- Plan View: a new job starts on an empty plan. With a job open, New - and Close - left that job's points, strings and labels on the plan over an empty Points List, and the new job's first point could go down out of sight, the view still over the last job's ground
- Start screen: with no job open - when nPoles starts without one, and when a job is closed - the main window shows New job, Open, Import and the recent jobs with their folders; a double-click opens one. It can be turned off in User Settings, General
- New job: a new job opens its Survey Properties first - its details, datum and zone, an address to look up - and on a LOCAL datum offers the instrument's first setup as point 1, at the company profile's starting values, any of them changed first. The User Settings option that put a first point into every new job is gone; its values are the setup point's starting values (User Settings, Spatial, Initial Setup Point)
PRINTING AND REPORTS
- File > Print Scaled asks the scale - 1:100 to 1:10 000, 1:500 offered first - and prints the survey at exactly that scale, on as many sheets of the printer's paper as it runs through, each framed and captioned with the job, the scale, the sheet's number and the date. It printed far smaller than 1:500 - about 1:23 600 on a 1200 dpi printer - on one sheet
- Report > Conductor Schedule and Joint-Use Schedule say "Not enough data to create schedule. Conductor strings and spatial data required." when a job has nothing to schedule - they offered an empty report to save - and a report that cannot be saved says so, naming the file; both messages can be selected and copied. The schedules are made by the code the Qt Quick app makes them with
- File > Export > Export Current List to PDF writes the list on show: with the Circuits view on show it wrote the Points List
- Export Current List to PDF and Print on a list fit the list to the paper's width, so a list wider than the page no longer loses the columns past its edge; a cell holding < or & no longer breaks the table Export Current List to HTML writes; and a list that cannot be saved, or a view that cannot be exported to an image, is said in a message that can be selected and copied
LIDAR SCAN IMPORT
- LiDAR scan import: a transformer hung on a pole is found in the scan and recorded on that pole - the Sub Station fields, with the height to the centre of its tank and the side of the pole it stands on, and the tank's measured centre, which Pole Load takes the weight's offset from. A scan shows the tank's size and not its nameplate, so the transformer recorded is the heaviest of that size in the company's transformer database for the phases its line carries, and the point says so: check it against the nameplate. The import window lists each transformer found - its size, its height, whether it stands on a platform, and the rating it was given and why - before anything is added. A transformer's tank, its low voltage boxes and its bushings no longer come in as crossarms. A scan must be dense enough to show the pole's shaft, as a mobile or terrestrial scan is
- LiDAR scan import: a tree, shrub or other object beside the line is measured from the ground it stands on. Its level and height were taken from the lowest ground anywhere in its grid cell, or across the whole width of the corridor along a span, so on sloping ground its level came in up to two metres low and a bush under half a metre came in as a tree over two metres tall. Returns on a pole itself - a cable guard or a sign that a scan classifies as vegetation - no longer come in as a tree beside the pole
- LiDAR scan import: a pole whose conductors do not show its voltage - a single conductor, as on a SWER line, or none - comes in under the company profile's HV pole code (H1 in the Victorian profiles) so it is drawn on the plan, and the import's summary says which poles took it. It came in as the bare letter P, which is no code and draws nothing
- LiDAR scan import: where a scan holds none of the classes in the conductor classes box, the classes that hang the way conductors do - in long, narrow runs well above the ground - are put in the box, and the scan's checks say which and why. A scan that classifies its conductors under the supplier's own numbers, such as 110 and 134, brought in no conductors unless those numbers were known and typed in
- LiDAR scan import: a conductor string that is one conductor alone on its poles - how a SWER line looks in a scan - says in its remark that it may be SWER, and so does the import's summary
- LiDAR scan import: a scan on VicGrid, Victoria's own grid (VicGrid2020 or VicGrid94), is brought onto MGA as it is read - onto the zone it lies in and its own datum, or, for a job that already has points, onto that job's zone and datum, GDA94 or GDA2020. Its points came in with their VicGrid coordinates read as MGA, some 2,000 km from where they belong, so no map data or survey marks could be shown with them. The scan report says which zone the scan was brought onto and gives the file's own extent
- LiDAR scan import: a scan whose coordinate system gives its EPSG code only in its text (WKT) - an MGA zone or VicGrid - is read as that grid, and a new job takes its datum and zone. Such a scan was reported as being on a grid nPoles does not carry
- LiDAR scan import: a new job takes the datum and zone the scan declares. The import window filled its datum and zone with the job's own - LOCAL, in a new job - before the scan was read, so the job stayed on LOCAL whatever the scan said, and a datum or zone changed in the window after the points were worked out was lost when they were added. For a VicGrid scan the two are fixed to the grid its points come in on
- LiDAR scan import: where poles are found in a scan, its ground comes in as spot levels along the spans between them, as for a job that already has its spans. It came in on a 5 m grid over the whole scan - some 2,500 spot levels on a 250 m tile, nearly all of them away from the line
- LiDAR scan import: a pole found in a scan comes in with its status Existing, and so do the conductor strings made from the scan, in the company profile's own wording. They came in with no status
- LiDAR scan import: the road comes in by its surface. Each edge of the seal comes in as a line under the company's road-edge code (K1) - found where the scan's sealed surface, dark to the laser and grey, meets the verge, and not where it runs off the edge of the scan - and each gravel area joined to the seal - unsealed road, driveway, shoulder - as a closed outline under a new area code, K2 Gravel Surface, which the plan view shades. The import had looked for kerbs as steps in the ground, and on a rural road with none it found one at every seal edge, driveway lip and verge, its vehicle crossings joined straight across the road. The import window's Vehicle crossing code is now a Gravel code, beside a tick box to leave the road out
3D VIEW
- Route 3D View: the road is drawn as its surfaces - the seal a dark grey surface between its two edges of road, and each gravel area (K2 Gravel Surface) a tan surface inside its outline, each at its surveyed levels - and an edge of road as a flat pale line on the road, following its grade. An edge of road was drawn as a grey kerb bar 0.15 m high laid level at each segment's middle, with a block at every point, and there was no road surface at all. Any two edges of road that face each other across a road's width give a seal, surveyed or scanned. A shot of an edge of road on no string is marked where it was taken, rather than joined to every other such shot in a line across the job
PLAN VIEW
- Plan view: aerial markers are drawn on the spans that carry them - orange markers spaced along the span, within the First and Last Support set on the conductor string's Additional Weight tab, and none for a string marked Remove. Hovering over them, or a span's menu, gives the string, the number per span, the mass and the diameter
- Plan View: a Power Lines layer, from the Victorian government's open data (Vicmap Infrastructure). Victoria's power lines are drawn as what each one is - low voltage teal, high voltage distribution orange, SWER orange and dashed, 66 kV sub-transmission dark red and transmission purple, the higher the voltage the heavier the line. A tap on a line gives its voltage, what that makes it, the network it belongs to and when it was recorded, and says that its publisher has not verified the data, so it is a guide to check on site. The lasso never takes it. Layers > Show Power Lines, with the map data download "Victoria power lines" installed
SURVEY PLANS AND FIELD RECORDS
- Document viewer: Rotate Left and Rotate Right turn the pages a quarter turn either way, for the sketch plans, mark reports, survey plans and field records that are drawn or scanned across the sheet. A turned page stays fitted to the width, and each document opens the right way up
- Survey Plans and Field Records: Open in LASSI opens the selected document in LASSI, which finds it, selects it and zooms to it - or, with nothing selected, the parcel at the place. It opened LASSI's map of the whole state
- Survey marks: a Victorian mark's Open in LASSI (SMES) opens LASSI's Survey Mark Enquiry on that mark, centred on it. It was named Open SMES website and opened the enquiry on the whole state
- Survey Plans and Field Records: the field records LASSI holds around a place are listed with the plans - applications, strata surveys, boundary plans with their abstracts of field records, re-establishment records, the Crown survey field notes and VicRoads' survey and control plans - and open as the plans do, kept on the computer so they open again without a connection. Only plan labels were searched, so an application or a boundary plan beside a pole was never offered. Where fewer than ten documents lie within 250 m the search reaches out to 1 km, and the nearest 100 are listed
- Survey Plans and Field Records opens from the Layers menu, around the centre of the plan view, and from a right-click on empty map space, around that spot, as Survey Notes Nearby does. It opened only from a property boundary's menu
- Survey Plans and Field Records: each document is named for what it is. Plans of consolidation (CP) were listed as Crown plans, strata plans (RP) as record plans, cluster subdivisions (CS) as Crown surveys, applications (AP) as approved plans and the Crown survey field notes (OP) as office plans
SURVEYING CALCULATOR
- Surveying Calculator: a point shot again takes the code and string the calculator shows, as a new point does, whether or not Point Edit opens after Accept. Without Edit After Accept it kept its old code and string; with it, a building, tree or other object point was put on no string whatever the String box said
- Surveying Calculator: a point shot again without Edit After Accept is reported on the status line as overwritten. It said "Point Added", with no number
- Surveying Calculator: Connect Station closes and re-opens the station's port when pressed, and is greyed with the other station buttons while the station is busy. Since it was added in 1.4.183, pressing it did nothing
- Surveying Calculator: with Edit After Accept on, a reading that overwrites a point - Overwrite chosen when asked - and is then cancelled in Point Edit leaves the point as it was. The point was deleted, with its pole, circuits and everything else recorded on it. When Point Edit is closed with OK, the survey log's Original Easting, Northing and RL are where the point was; they were its new position, so the log kept no record of the old one. A new point cancelled in Point Edit is no longer reported as added on the status line
- Surveying Calculator, GNSS: a point goes on the string in the String box, as a total station reading does. Every GNSS point was put on no string
- Surveying Calculator, GNSS: with Edit After Accept on, Point Edit opens after a point averaged over several fixes, as it does after one fix. It did not open, and the point was kept as it stood. Cancel in Point Edit keeps nothing of the point, in the job or in its survey log: after one fix, Cancel left the point in the log, so Create job from log file brought it back
- Surveying Calculator, GNSS: a position is not accepted once the receiver has sent none for three seconds, as in nPoles Field mini, and the message says so. The last position received was stored however long ago it came, so a point accepted after the receiver stopped sending was put where the pole had been
- Surveying Calculator, Peg Bisect: the stay peg is always worked out on the outside of the angle at the stay pole. When the line turned right at the pole, going from the last pole to the next, the peg was put inside the angle, between the conductors. A pole the line runs straight through now says so rather than choosing a side
POINT EDIT
- Point Edit, Sub Station: a reflectorless shot on the middle of the transformer's outer face, with the Sub Station height focused, records where the transformer is - its tank's centre, halfway between the pole's surface and that face - and the height to that centre, Height to Centre. Pole Load then takes the transformer's weight at its measured offset from the pole instead of the transformer database's estimate, its report saying "measured" or "estimated", and the 3D views draw the tank where it was measured. The height shows green while it is measured and its tooltip gives the centre; typing over it, or taking the transformer off, drops the measurement
- Point Edit: with the Sub Station height focused, the total station's Read and Reflectorless buttons fill it; the reading went nowhere
- Point Edit, Sub Station: Height to says what the transformer's height is measured to - the top of its tank, where a hanger-mounted transformer's brackets are, its bottom, on a platform, or its centre; a new transformer starts at Top. Pole Load puts the transformer's wind at the centre of its tank - half its height in the transformer database below the top, or above the bottom - and its weight's bending moment at the height recorded, and the 3D views draw the tank there at its size in the database. A height recorded before is taken as the centre, as it always was
- Point Edit, Pole Load and the Surveying Calculator's Trans CoOrds: a stay's bearing and angle are saved to the second. They were saved to six figures, so a bearing of 123°45'30" was saved as 123°45'28.8" and reopened as 123°45'29". A point opened and saved without a change was rounded the same way, and so was every stay of a pole whose stays were changed in Pole Load
STRING PROPERTIES
- Conductor String Properties: hovering over Phase of conductor string explains it. One of a circuit's strings is the master conductor string and stays at (none); each of the others chooses the master here, and follows it as a phase of its circuit
- Conductor String Properties: Phase of conductor string offers conductor strings only. It also offered Not Active and 0 - Non String, the two entries every job's string list starts with, which are no conductor to be a phase of. A string already linked to one of them is a circuit of its own again, where the Circuits view could list the entry as a circuit with the string as its phase
- String Properties: a new conductor string can be made a phase of another straight away - after New, the Phase of conductor string box was greyed until the string had been left and opened again, and it listed the new string as a phase of itself
SURVEY PROPERTIES
- Survey Properties: a job's zone is no longer replaced by one worked out from a point that is not on the job's grid. A job whose points held coordinates from another grid had its zone changed - to 62, a zone that does not exist - each time Survey Properties opened, whatever zone had been set
USER SETTINGS
- User Settings: closing it - with OK or with Cancel - leaves the main window as it is. It took the window down and put it back as at start-up, and in the browser the points list was then drawn smaller than the window until the window was maximised again
- User Settings, Clearances + P.L. > Pole Load: one short line under each setting, with a Manual... button that opens the manual at the full explanation, in a new appendix, J: User Settings, Clearances + P.L. The line under Wind directions and conductor tension, and under Pole and stays, describes the method chosen; it described AS/NZS 7000 whichever was chosen. The Design Stress and Limit State wind tick boxes sit in a row each, the VESI method's LDL footing option has a box of its own like the others, and the stays' strength reduction factor shows its value in full - 0.70 read "0.7("
- User Settings: a company profile's tick boxes that its settings file holds no value for - a profile from an older version, or one written by hand - take the value the company profiles nPoles ships hold. They took whatever happened to be in memory, so such a profile could open with the surveying calculator saving after every change, or with its clearance report headings ticked at random
- User Settings, Spatial: the greyed-out "Description codes that default to Pole String 0" box is gone; it was never used
- User Settings, Clearances: the ground clearance pop-up's Point RL and Sag @ Point tick boxes are saved as they are shown. They were saved the wrong way round, so any change made in User Settings and kept swapped the two
- User Settings: a change keeps what the dialog does not show - the clearance and Pole Load reports' heading choices (date, survey reference, job ID, address, description, job stage, field book, party members, survey date) and the conductor schedule's reference column. Any change in User Settings lost them: the report choices came back ticked or not at random, and the reference column's position and heading were emptied
- User Settings, Saving: a profile with the surveying calculator's automatic saving off shows Auto-Save Disabled ticked; none of the three was ticked. A profile chosen in the profile list after one that saves showed that profile's choice, and the next change saved it into this one
- User Settings > Pole Load and Pole Load's Edit Conditions: each test condition's Enabled tickbox and Load Type sit level with its row. They drifted below it, the first row's by up to half a row. The Load Type is now a list - SDL, LDL or Construction - where a single SDL button stood for both SDL and LDL
WINDOWS AND DIALOGS
- Pole Load and Clearances open with room to work in on a screen that has it - 94 % of the screen nPoles is on, centred, up to a full-HD screen's worth - rather than at the field tablet's size, so they no longer need dragging bigger every time. They stop short of the whole screen, so the main window still shows round them, and on a 1280 x 800 tablet they still open within the screen. Pole Load opened again keeps the size it was left at; it went back to the tablet's height every time. With nPoles on a second or third monitor, both open on that monitor and are sized for it: they were sized for the first monitor, and Pole Load moved onto it
- File dialogs: with the nPoles keyboard on, a folder of Topcon jobs on a USB stick is listed at once, and nPoles no longer freezes while it is. Each file in the folder was opened and read as the list came in, to name its type, and each drive's icon was asked of Windows with nPoles waiting - up to five seconds for an office drive that cannot be reached
- File dialogs: with the nPoles keyboard on, plugging in a USB stick while a dialog is open no longer holds the dialog up. Every drive was checked again first - about 20 seconds for each office drive that cannot be reached in the field - and the stick's folder stayed empty until then. The stick is added to the side panel within a second. A folder's list is brought up to date each time the folder is opened, rather than while it is showing
- File dialogs: with the nPoles keyboard on, a folder opened from My Computer while an office drive cannot be reached is listed at once, in a new dialog that takes the first one's place. It waited about 20 seconds for each such drive before showing anything
- Clearances and Insert File: a page that scrolls to fit a field tablet's screen scrolls down only, and the window opens wide enough for it. From 1.4.189 the right-hand end of Clearances' circuit pages was cut off until scrolled across - 720 pixels of 825 showing - and so was Insert File's Data columns tab, 814 of 1035. User Settings, Stringing Charts, Pole Load and the Conductor Calculator can no longer be dragged narrower than their pages, which cut them off the same way, and Transform Coordinates opens wide enough for its second tab rather than growing when it is opened
- Every dialog but the Surveying Calculator opens within a field tablet's screen, on any screen: no larger than 1280 by 721 pixels for its contents (a 1280 x 800 tablet less the taskbar and title bar). Pole Load opened 828 pixels tall, Point Edit, User Settings, Circuit Settings and the Conductor Calculator up to 808, the Standards Parameters up to 1640 wide, and the LiDAR scan import could not fit at all - its "What is in the scan" box now shows six lines rather than ten, and the job's datum and zone sit beside the road options. Each can still be dragged larger
IMPORT AND EXPORT
- Pole descriptions are saved in the job file as HTML again, as they were up to v1.4.186, so nPolesPPE draws them in its AutoCAD scripts line for line. A description saved by v1.4.187 to v1.4.194 came out of nPolesPPE as one line of text; saved again, it comes out as it shows. Point Edit shows and edits the description as before, and jobs saved earlier open as they did
- Export to DXF: every symbol in the company profile's symbol file is defined in the drawing once, drawn as it is in the file. After the first symbol whose name does not start with SEC, the export lost its place in the file: it defined blocks named after numbers and entity names, left some symbols empty, and left eleven out - among them SECC1, SECL1 and SECL6 - so a point coded C1 or L1 inserted a symbol the drawing did not have. A symbol's solid fill is drawn whole; it was written as stray codes added to what came before it
- Export to DXF: the company profile's symbols go into the drawing when its symbol file is in a folder whose name holds a letter such as é or ü. They were left out, and nothing said so
- Import Poles (DOS POLES): points come in without a pole top, as a DOS POLES survey holds none. Every point was given one, from a part of each record the format leaves unused - 0 m from a survey made by DOS POLES, and 0.36 m from one exported by nPoles, whose Export As DOS POLES now leaves that part at zero, as DOS POLES does
- Create job from log file: points surveyed by GNSS - in the Surveying Calculator or in nPoles Field mini - and points Field mini worked out by a calculation are recovered from the log, as a total station's are. Only the total station's were, so from a log holding no full copy of the job a GNSS survey gave no points at all
- Insert File: Replace points that Conflict, Ignore Conflicting Points and both prompting options find a point number the job already holds wherever it is in the job. Only the job's first point was checked, so a clashing point went in beside the job's own and the job held the number twice; Prompt on Point Number Conflict asked about every point, and its Replace removed the job's first point rather than the one asked about; and a job with no points took nothing in. A backup point comes in only with its own point - Ignore Conflicting Points brought an ignored point's backups in as "B1", twice - and Cancel leaves the job as it was
- Insert File: the Data columns tab is set out in four even columns - point and observation, instrument and GNSS, pole, and circuits - so the dialog opens about 680 pixels tall rather than 860 and fits a field tablet's screen without scrolling. "Delimiter" is spelt correctly there and in the import's error message
nPoles v1.4.194 - What’s New
Release Date: 5 October 2026
3D VIEW
- Route View: at a strain pole whose rows record each direction separately, each centre phase's strain insulators are mounted on the pole at the height its rows record, and its conductors end at their tips. The conductors ran from above the insulators to the crossarm, not to the insulators
- Pole Load 3D View: a strain pole's centre phase near the pole top is strained each way, on the pole at the height its row records; it was drawn on a post on the pole top, as at an intermediate pole. One recorded above the pole top is strained from a raiser bracket
- Route View, Pole Load 3D View and Clearances 3D View, Measure: a click within a few pixels of a stay or a conductor picks the wire itself, on its centre line, and a measurement to a stay or a conductor is to its nearest point - from a crossarm's end to a stay, the clearance - rather than to wherever it was clicked. The result says which end it measured to a wire's nearest point
- Route View: a house surveyed as a closed string of corners is drawn as one building - its walls from the corners down to the ground and its roof through the eaves and through any ridge recorded inside it, as a second string of the house code. Every corner was drawn as a 10 m block of its own, so a house of twelve corners was twelve overlapping blocks. Walls whose corners have no height recorded stand 3 m and are drawn paler, as an estimate. Hips, valleys and a flat top are more strings inside the outline; a point inside it on no string is a peak
- Route View and Clearances 3D View: a tree canopy walked as a string (G6) is no longer drawn as a house at each of its points, nor a Telecom EJ (G5) as a street light. Codes from an older scheme were applied even where the company profile sets its own
- Route View: a centre phase recorded over the pole top and higher than its insulator reaches stands on a raiser, at a line's end as anywhere else
- Route View: every bare conductor is drawn on an insulator, clear of its pole. A conductor string with no voltage recorded - a LiDAR import records none it cannot measure - is drawn as a bare conductor on an insulator, high voltage where its conductors are 0.95 m or more apart and low voltage otherwise; it was drawn as a fibre, on a bracket with no insulator. A centre phase recorded on the pole's axis goes on the pole top or out on the pole's side; it stood on the crossarm inside the pole. And on a crossarm whose circuit rows are recorded a little apart, each conductor is drawn on its insulator; it hung up to 0.15 m off it
- Route View: a pole whose top is surveyed is drawn to that height, and what is recorded up to 1.5 m above the top is taken as conductor heights: a crossarm recorded above the top is drawn below it, its insulators reaching the conductors, and a conductor recorded above the top stands on an insulator on the pole top - the same insulator as the outer phases, on a raiser bracket where the conductor is higher than the insulator reaches. The pole was drawn taller than surveyed to carry them, such a conductor on an insulator on the pole's side by the raised top and the crossarm's conductors too high. A crossarm is drawn wide enough for the conductor offsets recorded on it; it was drawn at its default length with its conductors out past its ends
- Pole Load 3D View: a centre phase recorded above its crossarm and the pole top stands on the pole top, on the same insulator as the outer phases and on a raiser bracket where the conductor is higher than the insulator reaches; it was drawn on the pole's side, floating beside the top. A centre phase on the pole's side above an intermediate crossarm goes out on a horizontal insulator at its recorded height, as Route View draws it; it was drawn as an upright insulator against the pole
- Route View and Pole Load 3D View: Save Image saves the view as it is to a PNG, JPEG or bitmap picture in one step (Print's dialog still offers it too). The picture is offered under the job's name, then the pole and point numbers of the structure in view, without spaces - "23077_2026-9-28-updated-Pole112-Pt3-3dView.png"; the Route View names a structure when it is looking at one
- Route View: a strain pole recorded a direction to a row - for each side, the top phase on one row and the crossarm's phases on another - is drawn as Pole Load's 3D View draws it: one crossarm a voltage, with the crossarm, structure type and offsets its rows record, strained each way, the top phase at the crossarm's centre and the aerial earth strained each way where the description says "AE ST". The top phases were drawn as a separate conductor beside the crossarm, and the crossarm as an intermediate, or with the description as a terminal facing one way with every conductor brought round to it
- Route View: a structure type recorded on a pole's circuit rows (ST, INT) is used whether or not the pole has a description; a strain with spans both ways is strained toward each span rather than drawn as a terminal facing one way (a bare LV crossarm excepted); a crossarm where a conductor changes string number at the pole sits on the bisector of its two spans rather than square to one of them; and an aerial earth or fibre ending at a pole leaves its bracket toward its own span
- Route View: a large job turns, pans and zooms smoothly. Every piece of every pole, insulator and conductor was drawn on its own, every time the picture was drawn - more than 17,000 on a 111-pole job, most of them the pieces of its spiral vibration dampers - so the view crawled and jerked as it moved. Pieces of one colour are now drawn together: about 60 draws for that job. What is drawn, picked and measured is unchanged
- Route View, Pole Load 3D View and Clearances 3D View: the mouse moves the view by as much as the mouse moves. A left drag carries the view along the ground, which stays under the pointer, a right drag turns it a third of a degree for each pixel, a wheel notch zooms 5 % in on what is under the pointer, which stays under it, a double-click brings what is under the pointer - in Route View the pole - to the middle of the view, 40 m off, and the arrow keys and Page Up / Page Down move it by set steps. In Route View a pole is reached with a double-click, and the line followed with a double-click on each pole along it. The views moved by the mouse's movement times the time since the last picture was drawn, so after a pause the first drag threw the view far away, Pole Load's 3D View swung at the slightest touch, and on a large job the Route View lurched; and the wheel zoomed in on the middle of the view, so on a long route a pole away from the middle slid off the screen before it could be reached, and a drag moved the view across the screen, so pulling the ground down the screen lifted it instead of carrying it along the line. Turning the view no longer tips it over the top, and turning it from Top keeps north up the screen
- Route View: the toolbar is on two rows and fits a 1920-pixel screen at 150 % scaling. On one row it was wider than that, and its buttons were drawn over one another, an Inspect button over the Pole box. A point number typed in the Pole box (9 or pt9), or a pole number, followed by Enter goes to that pole, and the list shows the poles holding what is typed; a number the route does not have is reported on the status line. A typed number found nothing
- Route View, Pole Load 3D View and Clearances 3D View: an insulator chosen by a circuit's voltage and use, and a crossarm chosen in place of one that cannot be mounted where it is recorded, is the first the company's database lists, every time. The choice could change from one run of nPoles to the next, so an LV circuit was drawn on a 150 mm pin insulator one time and a 100 mm shackle the next, with its strain assemblies changing to match
POLE LOAD
- Pole Load: One side only is worked out, shown and reported only for a strain structure - a pole where a circuit ends, by its spans, a remark of TERM or STRAIN, or the structure type recorded - and only where it differs from every conductor up. A stay shows its One side figures only where something pulls toward its anchor: a bisect stay on an angle, or a termination's stay, holds the same either way and shows none, where its every-conductor-up load was shown again. An intermediate pole shows no One side row or fields, and has none in either report
- Pole Load: a strain pole without a stay is checked with only one side's conductors erected and no stay to hold them, as during construction or maintenance: the pole's largest moment against its capacity, where, and which side, on the One side row and in both reports
- Pole Load: the summary report's wind load table lists a transformer only for a pole with a substation; every pole had a Transformer row, "(no transformer, no height or no DB area)" where it had none
- Pole Load: a pole's condition columns follow that pole as soon as it is opened. Until Calculate they went by the pole shown before it, so a concrete pole opened after a timber one showed LDL columns it does not have
LIDAR SCAN IMPORT
- LiDAR scan import: what stood where a pole might have and is not one comes in as what it is. A building or other structure - a house, a shed, a shade sail on its posts, a sign - comes in as its outline, a closed string of corners under the house code each with its height to the top there, and a ridge inside it where its roof rises above its edges, so the 3D views draw it as walls and a roof; structures within a metre of each other are one. Vegetation comes in as trees. Everything that failed the pole tests came in as a tree, and a building as a house point for each 10 m square of its roof, each drawn as a 10 m block. Trees are told from structures by the supplier's class where it has one, else by the scan's shape - leaves scatter, roofs, walls and posts lie flat or straight - and a post or mast by being narrow all the way up
- LiDAR scan import: an object with no ground found beneath it takes its measured top as its level; it came in at a level of nought. Kerb lines and building outlines go on point strings past every string the job already holds; kerb lines could land on a string the job used
- LiDAR scan import: each pole's crossarms are measured from the scan - height, direction, length and whether steel or timber (by the scan's colour, else its intensity) - and the conductors on each arm go in as one circuit at that arm, each insulator's height measured above it. A four-wire low voltage arm is one circuit of four; it came in as a circuit of three and one of one, or as a circuit for each conductor where the scan lost one between poles. A steel arm's two outer conductors are given the same offset. A pole with a conductor on its top takes its top under that insulator; it took the top of the insulator. The circuits came in at their lowest conductor's level
PLAN VIEW
- Plan view: the tool box is drawn in the desktop theme's colours - dark under a dark theme, with its labels, the Snap to points tick box and the aerial imagery's year in the theme's own text colour. It was white whatever the theme, and under a dark theme the Snap to points label was light text on white, all but unreadable
- Plan view: a point's symbol is reached by a tap where it is drawn, with a little to spare, and its selected box and the ring that marks it in the list a tap offers fit the symbol too. All three went by the whole square each symbol is drawn on - over 11 m across on the ground, four times the width of a spot level's cross - so among close-set points, such as the ground points of a LiDAR import, a tap listed points metres from the finger, a tap in the clear beside a symbol opened its menu, and a selected point's box took in its neighbours. A tap on a string line, a map feature or a point's number finds points the same way
- Plan view: a string of the house code lying inside a house - its ridge - is drawn as a line, not shaded as a second house inside the first
- Plan view, shapes: a double-click on a polyline's last corner finishes the polyline, and a double-click on any shape's last click keeps the shape. The release after the double-click was taken as the first click of a new shape, so the shape just finished was thrown away and a new one begun on that spot
- Plan view, shapes: points generated along a polyline, circle, rectangle or square are named for that shape in the generate window's rows, in the points' remarks ("Generated around a rectangle, perimeter 60.00 m"), in the Undo list and on the status line. Every shape was called an arc - "Generated on an arc of radius 0.00 m" round a rectangle - and Undo listed the points as added from the lasso
CONDUCTOR SCHEDULE
- Conductor schedule: a circuit strung a phase to a conductor string - each phase set as Phase of the circuit's own string - is one item where its phases are strung to the main string's stringing chart, its conductor count that of all the strings combined. Each phase string was a row of its own, the same row repeated for each phase. A phase that differs from the main string in anything else the schedule lists - its conductor, MES, status or the poles it runs between - keeps its own item
IMPORT AND EXPORT
- LiDAR scan, LandXML and Topcon Field imports open in the job's folder - the open job's, else the job folder kept in User Settings, as File > Open does. They opened in the folder the last file dialog had used, and the first in a session in the Windows temporary folder
nPoles v1.4.193 - What’s New
Release Date: 3 October 2026
CLEARANCES
- Clearances: where a conductor string carries line markers in a span, the span's ground clearance details say how many hang there and how much of the sag they cause - for example "5 markers in the span cause an additional 2.486m of sag" - by the stringing chart and by ISD.
- Clearances, uplift: a conductor string with an uplift temperature of 0, or none, is checked at its circuit's uplift temperature. A 0 - what String Properties saves for an empty box - was worked at 0 °C until the job was saved and opened again, and the 3D view drew the uplift conductor at -10 °C, whatever its circuit's. A company that works uplift at 0 °C sets it on its circuits
- Clearances, stringing chart method: each span now hangs at the chart's tension between its own two attachments - the true catenary where they differ in height - instead of being hung as though level. On steep ground that put the conductor too high: at a slope of 1 in 3 a span sags about 5 % more than a level one at the same tension, and on a steep line compared with PLS-CADD the chart method's clearances fall by up to 0.27 m. Clearances on inclined spans checked in earlier versions should be checked again
- Clearances: a phase set's required separation follows the Phase column's rule. Where neither string records an AS/NZS 7000 K, or the profile sets neither VESI nor AS/NZS 7000, AS/NZS 7000 answers with the standard's own k and U, and a temperature not recorded is taken as 50 °C, the conductors' maximum operating temperature. In those cases the phase set needed 0.00 m and always read clear
- Clearances: where phase separation is checked by AS/NZS 7000 alone, a phase set in which only one conductor string records its own K is held to that string's requirement. The pair needed nothing, so a phase set closer together than that string requires was shown clear
- Clearances: a circuit unticked for a span is left out of the phase set checks of the circuits that share its phase set, as it is left out of the span's other checks. It was still taken as their partner, so a phase set clearance could be worked against a circuit the check had been told to leave out
POLE LOAD
- Pole Load, bending moment diagram: on a stayed pole the full bending moment - its part across the stay included, which the utilisation is judged on - is drawn dashed beside the moment in the stay's plane, with the critical point and the intercept on it. Only the part in the stay's plane was drawn, so a pole over its capacity could look within it. On a wood pole the legend no longer runs into the axis title.
- Pole Load: a circuit's span details (What's This on its load) - the conductor strung, its chart and its tension in each condition - are there after Calculate. They were blank after any Calculate.
- Pole Load and Clearances: a conductor string with no MES recorded is worked at the MES its own spans give, as the MES Calculator works one, and Pole Load's report and span details say so, as does the plan view's span menu. Such a string's tensions came out as not worked out - Pole Load called its conductor beyond its breaking load and its clearances read "-". A tension that cannot be worked out is now called that, not a breaking load.
- Pole Load: a pole's ground-line diameter is worked out where the pole stands - at its top's surveyed height above ground, down the pole's taper - rather than taken from the pole database, whose ground line is at the pole's standard planting depth, or assumed. A diameter measured on the point is taken as it is; two measured part way up give the taper only where they are far enough apart. It is the diameter the pole's own wind, the Deflection tab, the long-duration deflection limit, Limit State timber strength and the timber capacity diagram are worked on. A concrete pole whose record gives its tip alone takes Rocla's 15 mm/m taper: its own wind had been worked on a ground line of nothing - half its true area - and its deflection on an assumed 400 mm. Where such a record and a fully described one both fit a pole, the fully described one is taken. A surveyed top height the pole could not have (more than its length out of the ground) falls back to the standard depth. A steel pole with no modulus in its record bends at steel's 200 GPa, not timber's 12
- Pole Load: an optional finite element model of the pole and its stays, chosen in User Settings > Pole Load > Pole and stays, works a stayed pole on its own tapered section - hollow for a concrete pole with its section data - and each stay, as long as it is to its anchor point, stretching with its cable's stiffness from the tension it was installed at. That tension is set in the same place: by default the tension that stands the pole straight with every conductor up and no wind, or none, or one set tension for every stay, as another program's guy pretension is set. A stiff pole then leaves more of the load to its stays and a flexible one less, and two stays nearly on one line hold a load across it only as far as their stretch allows. The stay's tooltip gives the tension it was installed at and its length, the result with stays and the reports say how the stays were worked, and a diameter or modulus the pole record does not have, and so is assumed, is named. The default, the SECV props, is unchanged
- Pole Load: a pole's stays are worked together, each a prop holding the pole straight where it is fixed, as stays are tensioned to do. Two stays pulling against each other, as at a termination each way, both hold their conductors and leave a side wind to the pole. They had been worked as one pair sharing every load: a load leaning one way across their line pulled them against each other at many times its size, showing them red at three times their rating, and a load leaning the other way left both slack, the pole no better for them. A single stay is the same as before, except where its loads above and below it pull opposite ways: it now takes the propped-cantilever share whenever the pole would pull away from it
- Pole Load: an optional One side only check, on by default and turned off in User Settings > Pole Load, works each stay, and the pole, with only the conductors that stay holds erected - as during construction or maintenance, before the conductors balancing them are up (the worst case the SECV overhead line design manual requires). It is shown on rows of its own under the every-conductor-up figures, in the stay boxes, the With stays results and the reports, red where over. A termination each way, or a strain pole with a slack span, had its stay rated only at the difference between its two sides
- Pole Load: three or four stays, and stays a few degrees apart, are worked by the same rule. A T of stays at whole-degree bearings no longer leaves the pole with no relief; two stays more than 90° apart no longer both go slack where one can take the load; stays pointing nearly the same way share a load by their heights rather than by the few degrees between their bearings; and two stays a few centimetres apart in height no longer clamp the pole between them
- Pole Load: the Stay Plot draws the loads at the wind direction the stays were worked at, so the stays' arrows end at the load with stays. It drew the pole's tip load at its own worst wind direction, which the stays were not worked at, and the arrows missed the result
- Pole Load: TasNetworks' steel pole (8.0 m, 2 kN, a 125 x 125 x 5 square hollow section) is found for a pole marked STEEL, and rated as steel - 2 kN in Design Stress, the standard's figure, and 4.5 kN in Limit State, the same for long duration as for short, steel not creeping - with the wind drag of a square section. Its record was named Galvanised Steel, which no TasNetworks pole type is, so a steel pole found no record and had no rating or wind load of its own
- Pole Load: a long-duration (LDL) condition is shown wherever the pole has a long-duration limit of its own, and left out where its long- and short-duration limits are the same, unless its load is over that limit or it is not worked out. It went by the pole's material, so in Limit State a concrete pole's long-duration check - 0.4 x its ultimate, against 0.9 for short duration - was worked out but never shown, and the PDF and spreadsheet summaries listed long-duration rows the results left out. The results' heading gives the long-duration limit wherever it is the pole's own. A TITAN pole in Design Stress, whose two limits are the same, no longer shows LDL
3D VIEW
- Pole Load, 3D View: a strain pole recorded a direction to a row - for each side, the top phase on one row and the crossarm's phases on another - is drawn with one crossarm for each voltage, as a strain, with the crossarm, structure type and conductor offsets the rows record. It drew a second crossarm at the same height, and the first as an intermediate on a default crossarm, with the conductors at different spacings
- Pole description: a line for a circuit with no voltage of its own, such as "AE ST" for the aerial earth (likewise EDC, OPGW and ASC), is read for that circuit by the 3D views and the pole schematic, and Pole Load's 3D View draws a single conductor recorded as a strain both ways with a strain insulator along each span. The line was not read at all, and such a conductor was drawn on one insulator as though it ran through
- Pole Load 3D View and Route View: the company profile's crossarm and insulator databases are found from nPoles' data folder, however nPoles was started. They were looked for relative to the folder nPoles was started in, and where that folder held no copy of the data every crossarm was drawn as a 2 m default
INDIVIDUAL SPAN
- Individual Span, and Pole Load and Clearances by ISD: a steep span no longer comes out tighter than it is. The conductor's stretch at the starting condition was worked over its length instead of its span, so even a change of state to the same condition came back tighter - 2.04 kN from 2.00 kN on an 80 m span falling 21 m - and the span hung a few centimetres high. Individual spans now agree with PLS-CADD's catenaries for the same spans to within 0.2 %
- Individual Span, Clearances and Pole Load: in wind, an inclined span swings into the plane of its weight and the wind with its supports' height difference turned into that plane. It kept its full height difference there, which on a steep span in strong wind gave too little sag in the swung plane
STRING PROPERTIES
- String Properties, Clearances: a conductor string's VESI Minimum Separation is now its Phase Separation Override, the string's own required phase separation. Set, the Phase column and the phase set checks require it in place of the separation VESI or AS/NZS 7000 works out - above or below that - and judge the conductors on the arm against it; the tooltip and What's This give the worked-out separation beside it. Not set, the separation is worked out as before. It is saved with the job, and picking a voltage type leaves it as it is. The VESI minimum separation was copied from the circuit when a voltage type was picked, not saved with the job, and used by no check
- String Properties, Points Tools: Duplicate and Delete take the two supports either way round, as Add now does; picked last to first on a job without co-ordinates they took in no point. Duplicate's new string keeps the additional conductors' chart titles, which it dropped
- String Properties: a line marker's shape and drag coefficient and the VESI minimum separation are saved for a conductor string that already exists. They were kept only for a new string, so an edit to them went back the next time the string was shown
- String Properties: a description or asset owner typed in is saved as it is typed, and the uplift Limit when it is the only field changed. A description or owner typed without pressing Enter, or a Limit changed on its own, was lost
- String Properties: an AS/NZS 7000 K or U the string does not record shows as "not set" and is saved as nothing. It showed 0.1 and was saved as 0.1 with the string's next edit, so its phase separation was worked with a K of 0.1 instead of the standard's own. Strings already saved with 0.1 keep it
- String Properties: a voltage type the circuits database does not have is shown and kept, not replaced with "-" at the string's next edit; picked again, it leaves the design conditions as they are
- String Properties: Add String starts a conductor string with no design conditions, fault level, AS/NZS 7000 or VESI figures, line markers, bundled conductors or New design temperature. It kept those of the string shown before and saved them with the new one
- String Properties: a new conductor string (Add String, Split, Duplicate) takes a number no point's circuit and no string backup in the job still names. A deleted string's number went to the next new string, which then took over the points and backups that still named it
- String Properties: a string backup's note can be edited in the String Backup table (double-click it), and the table can be copied
- String Properties, Points Tools: Split says so, and makes nothing, when no point would move to the new string or no point carries the string. It made a new string no point carried, and with no point carrying the string it could crash
- String Properties, Points Tools: Add takes the points between the two supports picked either way round, and a point standing on the line between them, as Duplicate and Delete do, and leaves each point's circuits in height order
- String Properties: the Asset Owner box is enabled for a conductor string shown after the Not Active or 0 marker
PLS-CADD
- PLS-CADD: a profile view exported from PLS-CADD as a DXF can be compared with the job - Test > Compare with PLS-CADD puts nPoles' clearances, by the stringing chart and by ISD, beside PLS-CADD's at every point the drawing labels, and nPoles' catenary beside PLS-CADD's on each of its spans from the tension the PLS-CADD section was sagged to. File > Import > PLS-CADD profile brings a drawing into a job instead: its labelled points, and its structures as poles at the heights its wire meets them
- PLS-CADD: File > Export > PLS-CADD tables writes the job's survey points, poles, conductor attachment levels and conductor strings as tables for PLS-CADD's survey import, its structure import and its own tables, with a README saying what each column is and how each goes in. A PLS-CADD model built from them keeps the job's point numbers, so its profile can be compared with the job point for point
DATABASE EDITOR
- Database Editor: a save keeps everything in the file the editor does not show, and changes only what was edited. A save rewrote the whole file through the editor's own record types, which dropped whatever they do not name - the bending moment and shear values of 814 pole records in the Jemena, Powercor and UED pole databases, every crossarm's drilling, JEN's crossarm SAP numbers and brace details - wrote the insulator database's load categories and loading directions as empty, and rewrote every line of the file in its own layout. A database saved with an earlier version is best compared with the one shipped
- Database Editor: Save Changes on a record keeps every value it did not change. Values came back to the places the form shows - a pole's tip diameter of 0.24828171 m as 0.248, a capacity table to one place, a transformer 1.035 m high as 1.04 m - a pole code's tip diameter over 99 came back as 99, and an insulator status the list does not have (Unverified) or a timber species with no strength group came back as the list's first entry
- Database Editor, Poles: Design Stress Limit shows and edits the pole's own design stress limit. It showed the strength in the pole's code, and editing it wrote that over the design stress limit as well. A new embedment depth now works the pole's strength values out from the capacity table at the new depth, not the old one
- Database Editor: opened again for another company profile, it no longer keeps the previous profile's abbreviations or stays, which a Save then wrote over that profile's files; it asks before reading over changes not saved; and Save in its question about changes not saved saves every database with changes, not only the one in front
PLAN VIEW
- Plan View: tapping a power-line span lists the conductor strings that span carries - the conductor, stringing chart, MES, voltage and status of each, and String Properties to open it - saying outright where a conductor or a stringing chart has not been assigned yet. Only the strings attached at both of the span's poles are listed, so the menu answers for the span under the finger rather than for the line as a whole
IMPORT AND EXPORT
- Export LandXML points / Topcon MAXML: the controller's job is recognised by what is in the file, not by its name, so a MAXML export saved as .xml is read as MAXML, with its codes and coordinate system, rather than as LandXML
nPoles v1.4.192 - What’s New
Release Date: 2 October 2026
POLE LOAD
- Pole Load: Calculate no longer writes a poleload_debug.log file into the folder nPoles is working in. A diagnostic trace meant only for development builds had been left on in every release since 1.4.172
- Pole Load: the GY3 stay insulator every Powercor, AusNet, JEN and UE stay carries is checked in Limit State, at AS/NZS 7000's factor of 0.8 on its 222 kN minimum failing load: 177.6 kN in the stay, below a No.8's 186.2 kN, so a No.8 in Limit State is held to its insulator, about 5% lower. No working load is published for it, so it is not checked in Design Stress, and the stay's tooltip says so
- Pole Load: an AusNet, JEN or UE No.8 stay is held in Design Stress to its M36 eye-thimble nut's 95 kN maximum working load, 1% under the stay's 96 kN
- Pole Load: an AusNet aerial stay is one within 15° of horizontal, as AusNet's own stay tables (EVX9/7020/5) have it. nPoles took 30°, so a stay between 15° and 30° from horizontal was rated at its aerial value instead of its 45° value - up to a third more
- Pole Load: stay databases for JEN and UE - the SECV stay ratings, with their M24 and M36 eye-thimble nuts and GY3 insulators. A UE No.8 stay on a screw anchor ends in the anchor's 48 kN M24 nut, half the stay's rating, so it is held to 48 kN in Design Stress and its tooltip flags this for United Energy to confirm
- Pole Load: stay databases for Ausgrid, Horizon Power and TasNetworks - their stays, named by their conductor (19/2.00, 19/2.75), and their anchors' holding capacity by soil class from NS220, Horizon Power's design rules and DS-D-OH-1, in the soil recorded at the pole. Where a standard does not say whether its figures are working, limit-state or ultimate values, the stay's tooltip names the basis taken, to be confirmed with the company; an anchor rated only in the other design method is named as not checked
- Pole Load: a stay is rated at its weakest part - its stay wire, its anchor or a fitting in its load path, such as a stay insulator or an eye nut - where the company's stay database rates that part. A fitting counts where the database puts it in every such stay, or where the stay's description in the point names it; the stay's tooltip names the part that limits it and the document its rating comes from
- Pole Load: an anchor the company's stay database rates by soil class is rated in the soil recorded at the pole - the layer at the anchor's depth, else the deepest. With no soil recorded, or a soil its table does not cover, its weakest class is taken and the stay's tooltip says so
- Pole Load: the results with stays have a Moment row - the bending moment's share of the pole's capacity where it is largest, and where on the pole, red over 100 %. A result with stays is red when either its load is over the pole's limit or this moment is over the capacity; one red on its moment alone, its load within the limit, gave no reason, and now the row shows it and the tooltip names the place. A result within both is green, as a stay within its rating is. The summary report gives the same: a Moment with stays row on screen, and in the PDF and spreadsheet reports, under each condition with stays, the moment and the capacity where it is largest and where on the pole
- Pole Load: a company's own stay ratings are used where its profile holds them, in a stay database beside its pole database, before nPoles' built-in tables - and each stay's tooltip names the document its rating comes from
- Pole Load: a Powercor stay is rated from CitiPower/Powercor's own EG031 - its working-stress and limit-state ratings for No.5 and No.8 stays and its footpath stay table. Footpath stays were rated from AusNet's tables, up to twice Powercor's figure at 60°
- Pole Load: Calculate works only the circuits ticked Active. In 1.4.191 it worked every circuit with a span whatever its tick, so unticking a circuit did not change the results, and a circuit whose string is marked REMOVE - unticked when the pole opens - was counted in the tip loads, diagrams and reports. Results moved either way: a pole whose REMOVE circuits balanced the others could read well within its rating while over it. Poles carrying a REMOVE circuit that were calculated in 1.4.191 should be calculated again
- Pole Load: the factor Limit State applies to a stay's breaking load, where the company holds no limit-state rating for the stay, is set in User Settings (Pole Load, Stays in Limit State) - 0.7 by default, AS/NZS 7000 Table 6.2's figure for stay or guy and termination members
- Pole Load: in Limit State a pole is rated at its ultimate strength times its limit-state factor. A concrete or Titan pole whose record in the pole database holds its working load was rated at half its strength - a 12 kN concrete pole at 10.8 kN instead of 21.6 kN - so loads well within it showed red
- Pole Load: in Limit State a No.5 or No.8 stay is rated at 0.7 of its stay wire's breaking load (AS/NZS 7000 Table 6.2, stay or guy and termination members) where no limit-state rating of the company's is held. It was held to its design-stress rating against limit-state loads; stays whose breaking load is not known keep that rating, and each stay's tooltip names the rating it is measured against
- Pole Load: a result shown red says in its tooltip what it is over - the load against the pole's rating, or the bending moment against its capacity - and in which design method. The result with stays had no tooltip at all
INSTALLER
- Installer: a computer that skipped a release now gets every company data file that changed in between. Such files were kept as if they had been edited, with the new version saved beside each, so a skipped release's data fixes - its stringing charts among them - did not arrive
GENERAL
- nPoles is now built on Qt 6.12.0, with the charting, spreadsheet and pole, crossarm and insulator database libraries rebuilt to match
GNSS
- GNSS: Topcon and Sokkia receivers (HiPer XR, HR, CR and older; GRX) now give positions. Choose "Topcon / Sokkia" as the receiver in User Settings > GNSS: a few seconds after connecting, nPoles switches on whichever of the receiver's GGA, GST and GSA it is not already sending, where "Any NMEA receiver" waited for sentences such a unit does not send until asked. Javad, Spectra Precision, NovAtel, Hemisphere (with the Juniper Geode and Carlson BRx7, which carry its engine) and Unicore receivers are asked the same way, each in its maker's own documented command. A receiver already sending them is asked nothing
- GNSS: the receiver list in User Settings > GNSS names the mainstream makes - Leica, GeoMax, Trimble, Emlid, Eos, Bad Elf, CHCNAV, Hi-Target, South and Stonex as well - in name order, and the note under it gives each make's own steps for switching its NMEA on, which those makes take only from their own software. When a receiver connects but sends no position for ten seconds, whichever make is chosen, the Surveying Calculator's status line says whether nothing is arriving, data that is not NMEA, or NMEA without GGA, and what to set on that make; when nPoles has sent it corrections for 90 seconds and it shows no sign of using them, it says what to set for that
- GNSS: a Leica's fix quality 2 reads "DGPS or RTK float". A Leica reports RTK float as quality 2, the same as DGPS, and never as the 5 other receivers use, so a Leica in float read as DGPS. The two cannot be told apart from what the receiver sends, so a Leica's points are still accepted at RTK fixed only
POINT EDIT
- Point Edit: the Stay Cable and Anchor Type lists also offer the stays and anchors in the company's stay database, each with its rating as a tooltip, and a stay the company names by its conductor is rated by that name
DATABASE EDITOR
- Database Editor: a Stays tab opens, edits and saves a profile's stay database - its stays, footpath stay tables, anchors with their holding capacity by soil class, fittings and stay wires. A stays file saved there is used at once by Pole Load and Point Edit, without restarting nPoles
CLEARANCES
- Clearances: Edit Point lists every description code with its meaning and symbol, as Edit Point does everywhere else. Opened from Clearances it listed only the company's common codes, bare - H6, not H6 and what it means
nPoles v1.4.191 - What’s New
Release Date: 1 October 2026
CLEARANCES
- Clearances: a clearance worked out from a conductor at or beyond its breaking load - which would have broken it - is not given; the cell shows - and says which string was not worked out and why, as the other reasons for no clearance do. It covers ground, object, phase, circuit-to-circuit, phase set and uplift clearances, by the stringing chart and by ISD. In 1.4.187 to 1.4.190 the ISD method put some spans on stringing charts drawn for another conductor at many times their breaking loads, and a heavier conductor's sag collapsed: its ground clearances read up to 2.5 m high
- Individual Span: started from a stringing chart, the span is worked out on the chart at every condition asked for, as Pole Load's and Clearances' ISD methods work it. All of the chart's limits are applied, not only its first, and on a chart drawn for another conductor the conductor picked is taken to the chart's sag as the new ISD setting in User Settings > Solver/MES chooses. The chart's tension, written for the chart's own conductor, had been put on the conductor picked: Grape 30/7/2.5 on SECV's VX18/22 over 45 m hung at 1.28 m at 20 °C and now hangs at 0.96 m (0.95 m following the stringing charts, as SECV's chart gives), and 19/3.25 AAC on JEN's SP18/22 at 3.08 m at 50 °C where the chart gives 1.20 m. Where another of the chart's limits governs - TasNetworks' 5 °C limit on short spans - the sag read up to a fifth tight. The start names the chart and the conductor it is drawn for. A stress typed as a manual start is taken over the area of the conductor picked; with a chart drawn for another conductor selected, it was taken over that conductor's
- Clearances and Pole Load in ISD mode: on a stringing chart drawn for another conductor, an individual span's tension and sag are once more those of the conductor strung. Since 1.4.187 the conversion from the chart's own conductor was made again at every step of the calculation, so it compounded: a conductor heavier than the chart's own was worked at many times its tension and hung almost straight - ground clearances up to 2.5 m too high, and object clearances that fail shown as passing - while a lighter one sagged far too low, putting clearances 4.6 m under the true figure; Pole Load's ISD tip loads reached meganewtons. An individual span now gives the stringing chart's tension for the same span
- Phase separation: where a profile has both the VESI and the AS/NZS 7000 methods switched on, the larger of the two requirements now governs, on the Phase column and in the phase set check. The smaller did, which is the permissive direction, and where a conductor string records no minimum separation of its own it required less than the minimum separations the VESI method carries
- Clearances Check: uplift at the middle pole uses each conductor string's own conductor and stringing chart. A string with no uplift temperature of its own took the conductor, chart, wind and ice of the string listed before it on the pole
- Clearances Check: circuits 17 to 24 show their What's This details, and that tab's Edit Point buttons open the point and its headings name the span, as on the other two tabs. The buttons did nothing and the headings read Point A, B and C
- Clearance report: the header lines ticked in the report window are the ones printed; the ticks were ignored and the profile's used instead. The Survey Reference is printed when it is ticked - it followed the Report Date tick - and is no longer replaced by the Job ID printed beside it
- Clearance report: an object's worst clearance is followed by the wind it was worked at. It showed a vertical clearance there, labelled as a wind pressure
- Clearances Check checks an object clearance where the conductor's position on the span is known - its offsets recorded, taped or from 3D shots - and otherwise says it was not checked and why. With a profile set up without crossarm data, the standard method never checked an object and the ISD method checked every one from the pole centre
- Clearances Check: changing one circuit height, to try another attachment height, no longer changes the point's other heights. Every height box was written back to the point, and the boxes hold two decimals between 0 and 99.99, so keeping the change saved the point's other heights rounded to the centimetre - 8.125 m as 8.13 m - and a dip, a negative height, as 0
- Clearances Check shows an object too close beside a span in red, and lists it in the exceptions report. The object clearance was measured, but whether it passed was read from the wrong place, so an object that failed its clearance looked like one that passed
- Clearances Check checks objects on a span taken from a higher point number to a lower one, such as a line numbered back towards its start. It reported "Span-Length between supports too small" and checked nothing
- Clearances Check: the phase check read the circuit's fault level as if it were a ground point under the span. The ground check put the screen right straight afterwards, but where the fault level was a whole number at least the number of points in the job, it read beyond the end of the job's points, which risked a crash
POLE LOAD
- Pole Load: a condition in which a span's conductor would be at or beyond its breaking load - so would have broken - is not worked out, and says why rather than giving a tip load: its results read NO RESULT / BREAKING LOAD, and a warning that can be copied names the conductor string, the span, the conductor and the tension. The summary and detailed reports say the same, and such a condition is left out of the bending moment, deflection and stay diagrams, the wind arrows and the worst loads recorded on the pole, and a footing verdict is not given without it. In 1.4.187 to 1.4.190 the ISD method put some spans on stringing charts drawn for another conductor at many times their breaking loads, and Pole Load printed tip loads in the meganewtons. A condition not worked out for want of a pole top is reported the same way in the summary reports, where it read 0 kN, and no longer keeps a footing demand from an earlier calculation
- Pole Load: a stayed pole's load with its stays is shown red when either check fails - its tip-equivalent load against the pole's rating, or its bending moment against the capacity down the pole. It was the tip-equivalent load alone, so a pole with a low stay and the conductors above it on a cantilever could read clear with the moment at the stay at twice the capacity
- Pole Load: a timber pole's bending moment capacity on the B.M. Plot, and the capacity a stayed timber pole's utilisation is worked against, is its rating: the section's shape down the pole, scaled so that at the ground line it is the moment of the pole's short-duration limit at its tip. It came from the stored stress on the section, which on metric poles gave about twice the rating; a stayed timber pole's utilisation with its stays is now typically half as high again, and the plot names the rating it is drawn to
- Pole Load: the B.M. Plot draws a long-duration (LDL) condition against the pole's long-duration capacity, so its Util is the utilisation the results give for that condition - the detailed report's pages too. It drew the short-duration capacity for every condition: one stayed pole's plot read 2.5 % where the results gave 9.8 %
- Pole Load: a pole whose grade is not recorded - no species, no measured tip, only its length and strength - takes the strength of the weakest of the pole database's records that fit it, and says which it assumed ("grade not recorded: ... assumed") beside the pole's limit, in the wind load breakdown and in the summary reports. Its strength came with the record picked for its wind, and records a fraction of a newton apart in wind can be a fifth apart in their long-duration limit; with the weakest taken, a timber pole's long-duration limit in Design Stress is typically about two thirds of what it was, and in Limit State both limits can halve where an untreated grade fits. The pole's wind is taken as before
- Pole Load: a pole length typed in feet is matched only to the imperial poles in the pole database, and a length in metres only to the metric poles. A length within half a metre of a pole of the other kind was shown as that pole - a 45' pole marked 8 as a 14.0 m 8 kN pole - and a length in metres equal to an imperial one took that pole's capacity
- Pole Load: on a concrete, steel or stobie pole the results with stays no longer head a column for a long-duration condition that is not shown, and those columns stay hidden after the load conditions are changed
- Pole Load: the wind direction boxes of the results without stays show the whole bearing at the size the window opens at. The degrees were cut off
- Pole Load: a new setting, User Settings > Pole Load > Wind directions and conductor tension, chooses the standard the wind conditions follow - AS/NZS 7000 (every wind direction, each span at its maximum-wind tension; the default), VESI (the SECV overhead line design manual, 1993: the worst direction without stays, and the wind in line with and across each stay) or EN 50341 (every wind direction, each span at the tension of the wind on it). The results and reports name the standard used
- Pole Load: a stayed angle pole whose conductors terminate on both sides is no longer loaded with the tension difference an oblique wind makes between its two sides, unless EN 50341 is chosen. Since 1.4.127 every wind direction was worked with each span at the tension of the wind it sees, which is the EN 50341 approach and neither that of AS/NZS 7000 nor of the SECV design manual; one such pole read 18.8 kN with its stay, and reads 6.3 kN under AS/NZS 7000
- Pole Load: a stay is rated at the largest load it takes over the wind directions checked, and its tooltip names the direction. It was rated at its share in the direction worst for the pole, which on an angle pole can be far below its load with the wind in line with it - one stay that showed 28.6 kN now shows 45.2 kN
- Pole Load: a stay's load is found by moments about the point of contraflexure in both directions, as the SECV design manual does, so a load below the stay gives it less than its own force. The stay took the whole of any load under it, overstating its load and leaving the pole bending the wrong way at the ground
- Pole Load: the wind on a conductor acts at right angles to it (AS/NZS 7000 B5.4), and a span at an angle to the wind is tensioned by the wind across it. The force was applied along the wind, and the span's tension was worked for more wind than reaches it
- Pole Load: the utilisation of a stayed pole includes the bending at right angles to its stay. It was left out, so a pole could read well within its capacity while the load left in it was over its rating
- Pole Load: a stayed pole with no length or no match in the pole database gets its with-stays result. It read 0.000 kN however heavily the pole was loaded
- Pole Load: a stayed pole's utilisation is worked against the pole's capacity as the B.M. Plot draws it - the manufacturer's capacity figures down the pole for a concrete or TITAN pole, the section for timber, with the strength reduction factor (Design Stress) or capacity factor (Limit State) applied - and a long-duration (LDL) condition against the pole's LDL capacity. The check used a capacity of its own: no reduction factor on the pole database's ultimate values, a concrete pole's capacity near its tip placed below the ground line, and the short-duration capacity for an LDL condition. One concrete pole read 339 % where the plot's capacity gives 82 %, and a timber pole's LDL condition 5.4 % where it is 45 %
- Pole Load: a stayed pole's utilisation without its stays - its tip load against its rating - is kept beside its utilisation with them. The one with stays was written over it, so the summary reports' Without Stays table gave the with-stays figure - one pole showed 4.6 % where, without its stay, it stands at 151.7 % - and the With Stays table gave none. The With Stays table now has its own Utilisation column, and a stayed pole is judged by it
- Pole Load: the B.M. Plot's utilisation on a stayed pole is the results' - the full bending moment against the capacity, its part across the stay included. It read only the part in the stay's plane, the line the plot draws, so with the wind across a stay the plot could give less than half the utilisation the results did (4.7 % on the plot, 10.5 % in the results); where the two differ the plot now also gives the moment in the stay's plane
- Pole Load: the bending moment a transformer puts on a stayed pole - its weight off the pole's axis - is included in the pole's utilisation. The B.M. Plot drew it and the utilisation left it out: a stayed pole given a 300 kVA transformer read 10.5 % where the moment drawn gives 17.0 %
- Pole Load: on the B.M. Plot of a pole without stays, the moment line carries the pole's own wind as the tip load does, so in a wind condition it reaches the tip load's moment at the ground, and the plot's utilisation and the moments marked at the attachments include the wind. The line was drawn from the conductors alone - one pole's reached 149.1 kN.m at the ground where its tip load gives 166.2 - and a pole carrying no conductors drew no line at all
- Pole Load: a stayed pole's moment at the ground line on the B.M. Plot - the Net GL moment, the figure labelled at the ground and M@GL - is the moment line's value there. It was the tip load's moment less each stay's worked as if the stay were at the tip, which could be several times the line's (106.2 kN.m where the line gives 34.4), and on a concrete pole the label gave the moment below the ground
- Pole Load: the detailed report's bending moment pages show the moments the B.M. Plot shows. Saving the report worked them out again with a copy of its own, which still took a conductor pulling against the others off the ground line a second time and treated a stay as acting at the tip: one pole's page gave -16.5 kN.m at the ground where the plot gives 2.5
- Pole Load: the tooltip on a condition's tip load gives the utilisation by bending moment only where there is one to give, on a stayed pole. On any other pole it began "Moment: 0.0 kN.m is 17.2% of 0.0 kN.m capacity" - a percentage of nothing, worked out from the load; the tip load against the pole's rating, which the percentage is, is now the line it gives
- Pole Load: on the B.M. Plot of a pole without stays, each circuit is now marked on the moment line with the moment there. Every mark sat on the pole's axis labelled 0.0 kN.m, however much moment the circuits above it had put into the line
- Pole Load: for a pole with a backup point (B1) that has no loads recorded, the reports and the B.M. Plot now give the pole's own figures. Drawing the backup in the stick diagram's existing panel - the last thing Calculate does, and done again when a stay is changed or the window is resized - left the backup's footing demand, wind and failure directions and conductor shares in place of the pole's, with a Missing Pole Data error where the backup has no length. A saved report could then disagree with the results on screen, the B.M. Plot turned to a condition gave moments at the attachments that did not add up to its moment at the ground line, and a wind direction set by hand was dropped
- Pole Load: the moment at the ground line on the B.M. Plot counts each circuit once. A circuit pulling against the others was taken off it a second time, as if it were a stay, so the ground-line figure the plot shows and scales to could come out far too small or the wrong way round
- Pole Load: the bending moment sheet of the detailed spreadsheet report gives a pole's length and embedment as not recorded when the pole has no length recorded, such as a pole brought in from a LiDAR scan; it printed a length of 0 and a negative embedment
- Pole Load: Calculate now works out the pole's own wind load and its SDL and LDL limits, as the Wind Load button does. Until that button was pressed a pole had no limit - no utilisation, and no red however overloaded - and the wind conditions took a stand-in 1400 N for the pole's own wind. A wind load typed in by hand is kept
- Pole Load: an overloaded pole's tip load without stays is now shown red, as the load with stays is; it never was
- Pole Load: a height typed into circuit row 19 now changes circuit 19 - it changed circuit 18 - and heights typed into rows 21 to 24 are now kept; they went nowhere
- Pole Load: a height typed into the row of a tee-off's circuit now goes to that circuit on the tee-off point. It went to whatever the tee-off point had in the slot the circuit takes on the combined pole
- Pole Load: tip loads in the conditions without wind now follow a pole top or circuit height typed into the dialog. They kept the values the pole was opened with until it was opened again
- Pole Load: the bending moment diagram of a pole without stays is now drawn for the conditions without wind; it showed zeros, or the previous pole's figures
- Pole Load: a pole length given in feet (40') is now read in feet for a stayed pole, in the reports and in the stick diagram. It was read as nought there, so a stayed pole entered in feet was worked with no embedment
- Pole Load: a stay recorded at an angle the calculation cannot take (over 85 degrees) is worked at 45 degrees throughout; the tension shown was still converted with the recorded angle
- Pole Load: the line tension in each stay in the detailed spreadsheet report now matches the dialog and the other reports. It divided the horizontal tension by the sine of the stay angle where the cosine is right, overstating a shallow stay's tension and understating a steep one's - by 42 % at 60 degrees
- Pole Load: the PDF and spreadsheet summaries now give the with-stays results their own direction, and the spreadsheet their own wind direction; both gave the directions without stays
- Pole Load: saving a report keeps the pole's footing method. It re-rated the footing by the SECV method, replacing a Brinch Hansen rating on screen and in the report
- Pole Load: Copy (formatted), Copy (plain text) and Print on the Detailed Report tab now act on the detailed report; they acted on the summary
- Pole Load: a timber pole's deflection on screen no longer changes once a detailed report has been saved, and the detailed report works each condition's deflection with that condition's modulus; every condition took the one on screen
- Pole Load: the deflection diagram now reads a pole's ground-line diameter in inches where the pole database gives it in inches, as the pole's limit always has. It took 15 inches for 15 mm - a section a 32nd as stiff - so a 45' pole bent about 5 m at the top instead of about 160 mm, and on an LDL condition it showed far over its allowed deflection
- Pole Load: Edit Conditions keeps changed load factors when it is opened again - pressing OK a second time put the profile's back - and a condition switched between SDL and LDL now changes the footing demand, the deflection and the stick diagram as well as the results
- Pole Load: one pole's work no longer carries into the next. A pole matching nothing in the pole database took the previous pole's entry, a pivot ratio worked out by the footing rating - Brinch Hansen's, or the SECV method's - went on setting the next pole's footing demand and the wind on its extra weight or transformer, and the governing moment in the tooltips was the last stayed pole's. A pivot ratio typed in by hand still carries from pole to pole
- Pole Load: the worst SDL and LDL tip loads a calculation records for the pole, and a wind load worked out with the Wind Load button, are now kept in the job; they were lost when the dialog closed
- Pole Load: Resultant forces at TOP with stays now has a heading row naming the condition of each column, as the stay tensions above it do
SURVEYING CALCULATOR
- The Surveying Calculator opens as it did before. In 1.4.190 its contents were put inside a scrolling panel so the window would fit a small screen, and inside one the points list stops growing with the window - so it showed a handful of rows where it should show the job. The panel is gone: the survey points sit to the left of the total station and GNSS, the computation functions beside those, and the points list takes whatever height the window has. The window can again be larger than a small screen, which is the right trade for this one
LIDAR SCANS
- Importing a LiDAR scan into a new job now brings in the poles and the conductors as well as the ground, so what arrives is a job rather than a set of measurements. Each pole comes in as a survey point with the profile's own pole code, the ground beneath it as its level and its measured tip height and lean; each conductor is followed between the poles and written onto them as a circuit, so a run carries one string number along its length with the height it attaches at on every pole. Nothing has to be typed in for the poles: every class is searched and a pole is recognised by its shape and by carrying the conductors. The classification numbers that mean conductors are typed into the import, because suppliers differ - one uses the standard number, another uses two numbers of its own for the same runs - and where the numbers asked for are not in the file at all, the import now says so and lists the classes the file does carry, with counts, instead of leaving an empty result to be explained. The import says what it found and what it rejected, names any pole whose conductors cannot be reconciled between the spans either side, and where a scan is too thinly flown to be sure it says the count is a floor rather than an answer. A job that already has spans is untouched by this: it already has its poles, and the scan brings only the ground and the objects
- The conductors found in a LiDAR scan are written onto the poles as circuits, which is what makes the result a job rather than a set of measurements. The conductor arriving at a pole is matched to the one leaving it, so a run carries one string number along its whole length and each pole records the height that conductor attaches at. Matching is only accepted when the two heights agree closely: on a real scan the conductors either side of a pole agreed within 70 millimetres, so anything further apart is not the same conductor and is left unmatched rather than forced. A conductor that begins or ends part way along - a service - is reported as such, and where the two spans meeting at a pole cannot be reconciled the import says so, because that means one of them has missed conductors rather than that the line changes there. An attachment height taken from a conductor the scan did not follow all the way to its pole is worked forward from the curve, and where the span on the other side measured it that measurement is used instead
- The conductors in a LiDAR scan are found between each pair of poles, with the height each one hangs at either end and its sag. They are followed along the span rather than grouped by proximity, because grouping cannot tell apart conductors that pass close to one another in the middle of a span - and a distribution pole's conductors do exactly that. Each one reports how much of the span it was actually seen over, and where it was not seen all the way to a pole the height there is worked forward from the curve and said to be, rather than quoted as though it were measured. A thin scan says so outright: on a scan carrying only a few returns to each metre of span the number of conductors found is a floor, not an answer, because there may be others it cannot show
- The poles in a LiDAR scan can be found and brought into a job, without being told which classification number that supplier uses for a pole. The classification field is left empty by default and every class in the file is searched; filling it in only narrows the search. What makes something a pole is what a pole physically is. It has a single narrow member running its whole height, which is tested band by band from the ground up rather than by how wide the thing is overall: a pole carrying a transformer, a switch or a crossarm measures two metres and more across at those heights and is still a pole, while a tree's trunk stops where its canopy starts. And its top is at or above the conductors it carries, because a pole holds the line up - where the line passes above something, that thing is not the pole carrying it. Each pole arrives as an ordinary survey point carrying what the scan actually measured: its position at the butt, the ground beneath it as the reduced level, the tip height above ground, and the tip's own position, which is the pole's lean. It does not arrive with a length, a buried depth, a material, a strength or an asset number, because none of those can be seen in a scan and nothing guesses at them. What stood where a pole might have and is not one is not discarded either: it comes into the job as an object under the profile's own code, since a tree beside a line is exactly what a clearance check is looking for. Anything rejected is counted and the reason given
- The LiDAR import's scan report is readable again. The box showing what is in the scan had been squeezed until only its headings were visible, and the cause was the status line beneath it: an ordinary label that grows to fit whatever it is given, and what it is given has grown with every question the import now answers - the survey properties, the road edge, the crossings, the datum to confirm, and anything wrong with the file ahead of all of them. The status is now a bounded, scrolling, read-only box, so a long message scrolls in place instead of pushing the report out of the window, and it can still be selected and copied. The heading above has been cut to a sentence and brought up to date, and the scan report and the plan table are now what take up the slack when the window is made larger, with a floor below which neither is squeezed
- A LiDAR scan that starts a job can now set the job's datum and zone, from the import itself. This is what a job needs before any map data layer or survey mark will work, and the datum a new job is given by default is a local one, which has no position on the earth at all - so a job begun from a scan had its map layers unavailable and nothing said why. The import now offers the datum and the zone as fields for a job with no points, filled in from the scan where it declares a coordinate system nPoles carries, and otherwise from the current national datum and the company's own default zone. It says which it will set, and where the scan does not declare one it says plainly to check it before adding, because the two Australian datums are about 1.8 metres apart. A job that already has points is left alone and the fields are disabled, since a job with points was set up under a datum on purpose
- The conductor strings a LiDAR scan finds are now created in the job, so a designer can go straight to assigning conductors and charts. Each string arrives numbered as the circuits written onto the poles, with the number of conductors on it and, where the spacing says so, its voltage class - and it is marked as running between poles, which is what puts it in Chart Finder's own list. The conductor and the stringing chart are deliberately left empty: they are the designer's to choose and the one thing a scan cannot know. A string number the job already carries is left exactly as it is
- Kerb lines from a LiDAR scan no longer double back or lie on top of one another. Two faults did it. Fragments of one kerb were joined if a fragment agreed with any single piece already in the line, so a run of them could wander right across the road; each fragment is now tested against the line as a whole, refitted as it grows. And where two fragments were found alongside each other over the same stretch - the same kerb picked up twice - both were being kept as separate lines through the one kerb; the better supported of the two is now kept and the other dropped, while two kerbs genuinely on opposite sides of a road are still reported separately. A line may also no longer turn back on itself between one point and the next
- The import now says what the road edge will bring in before it is agreed to, and the code a vehicle crossing comes in under is the surveyor's to choose. The kerb lines take the company's own road-edge code, the field every profile already carries for one and the same code the plan view draws a road edge from - so they arrive as a drawn line rather than as loose points. A crossing takes that code as well by default, with its own field in the import to change it: putting a different code there separates the crossings from the kerb itself, or separates them by the kind of road and the clearance that applies over it, and emptying the field leaves them out of the job while still reporting how many were found. Everything the road edge would add - the lines, their length and step, the crossings and their number - is now stated in the import's plan and its status before anything is added, because nothing should arrive in a job as a side effect of an import nobody read
- A kerb found in a LiDAR scan is now followed through the breaks in it, and the breaks themselves are reported as vehicle crossings - which is where a driveway meets the road, and where the clearance over a trafficable surface has to be read. The detection drops out at a rough patch, a joint, a shadow or a crossing, so a continuous kerb arrives in pieces; the pieces of one kerb are recognised by lying along the same line with the same side high, and are followed as one. On a real scan that took the kerb found from 35 metres to 132, and the gaps in it then stand out as what they are. A gap the width of a vehicle crossing is reported as one, and only where the kerb resumes beyond it, because a break at the end of a run says nothing about what is there; anything wider is a side road or the end of the kerb, and anything narrower is the detection itself dropping out. A kerb that curves is followed round rather than straightened, and its points carry the road-side level at each of them rather than one level for the whole run. Note that the minimum ground clearance in nPoles belongs to the conductor string rather than to the surface beneath it, so a crossing does not change what is required - it says where to look. Crossings are only recorded where the company profile defines a description code for one; no profile does yet, so they are counted and reported rather than added, and adding a code through the Database Editor is all that is needed
- A LiDAR scan's kerb and road-edge lines are found and brought into a job, each as its own point string under the company's own code for the edge of the road - which is how a surveyor records a line, and what every plan and CAD export wants. A kerb is recognised by its shape across itself rather than by a height difference alone: flat, then a sharp rise of 60 to 250 millimetres within a few centimetres, then flat again, with the cells that pass joined into a line only where their step faces the same way, since a kerb's high side is the verge along its whole run. Anything that fails is said: a smooth slope has no step, a batter spreads its rise over metres, and rough ground comes out as wide as it is long rather than as a line. What is found is reported as what it is - where the step measures well under the 125 millimetres a barrier kerb stands, it is the edge of the seal and the import says so rather than claiming a kerb face. Scan density decides whether this can work at all, and where a scan is too thinly flown for a 100 millimetre step to be told from scatter, nothing is looked for and the reason is given instead of lines nobody should trust
- Importing a LiDAR scan into an empty job now sets up the job's own survey properties from what the scan says about itself: its survey centre, taken from the middle of the scan so the plan view, the basemap and the survey marks have somewhere to sit before a single point exists; its date of survey, where the scan carries a time of observation; and its datum and zone, where the scan declares a coordinate system nPoles carries. Nothing is guessed. A scan that declares no coordinate system leaves the datum alone and says so, and a scan declaring a grid nPoles does not carry - a Lambert grid such as VicGrid, where the datum is familiar but the coordinates are not the datum's usual ones - leaves it alone and says explicitly that those coordinates must not be read as MGA. Where a file is silent, the size of its coordinates is still reported as a family, because an MGA coordinate and a Lambert one cannot be mistaken for each other, but no zone is invented from them. Everything the scan would set is spelled out in the import before it is agreed to, and a job that already has points is left untouched - a job with points was set up under a datum on purpose
- The poles from a LiDAR scan now go on a point string, and take the description code for what the scan found they carry. Both matter more than they sound. A clearance check groups poles into runs by their point string and passes over any pole that has none, so until now a scan's poles were invisible to it - they now take the same default pole string every other new point takes. And rather than arriving under a plain pole code, a pole is given the code its own company profile defines for what it carries: the code for a pole with both a high and a low voltage circuit where the scan found both, for a high voltage pole where it found one circuit at high voltage spacing, and for a low voltage pole where it found only low. The spacing between a circuit's conductors is what says which, because phase separation is set by voltage. The codes are looked up in the profile's own description-code database by their English meaning, never assumed, so a company whose codes differ gets its own and a company that defines no such code keeps the plain pole code rather than being given one it does not use. A pole whose circuits say nothing either way - a single conductor, which may be a SWER circuit or may be communications - is left alone
- The conductors found in a LiDAR scan now come in as CIRCUITS rather than as one string each. Three conductors on a crossarm are one circuit, which is how nPoles carries a circuit everywhere else - one string number, one attachment height, and the Left, Centre and Right positions on it - so a pole that carries two circuits now arrives with two, not seven. Each position records the offset the scan measured and the conductor's own position in the grid, which is the same place a reflectorless shot is recorded, so a scan and a total station put a conductor in the same field. Where a phase is carried above the crossarm, as a pole-top pin or a delta does, the circuit's height is the arm and the rise is recorded as that position's insulator height, which is what the rest of nPoles adds back: the circuit is not split in two and its height is not averaged to a level no conductor is at. The measured spacing between conductors is reported with each circuit, along with what that spacing means - bundled, low voltage or high voltage - because phase separation is set by voltage; it is said, never written into the job as fact. A group with more conductors than the three positions hold, a four-wire low voltage, puts the fourth on a row of its own, as a surveyor records a neutral
- A LiDAR scan's colour is read and reported. A LAS file can never hold the photographs themselves - the format has no image record - so where a survey was flown with a camera the only trace it leaves is a colour on each point, and that is now read and said: how many points carry one, the range of each channel, and whether the near infrared some formats add is there. Three answers are kept apart, because they are three different situations for a surveyor: the record format has no colour field at all and nothing is wrong; the format has one and every value is zero, which means the colourisation was left out of the export and is the supplier's to put back; or the colour is there and usable. A scan whose colour is written as 0 to 255 in a field that holds 0 to 65535 is called out as well, since anything scaling it the usual way renders the whole cloud almost black
- A LiDAR scan's report gives the scanner setup position where the file records one, and says where a date was looked for when the file holds none. A scan with no time of observation cannot have its conductors used for sag, so it matters that the message distinguishes a file that does not say from a reading that was not taken: the three places a date can live - the time on each point, the header's own creation day and year, and a variable length record - are now named, so the same file need not be taken apart twice
- A LiDAR scan can now be brought into a NEW job. Until now the import placed a scan along the spans of a job that already existed, which is no use when the scan IS the survey - a new job has no spans and never will until something puts points in it. Where the job has no spans, the whole scan is read on a grid instead of along a line: the lowest ground return in each cell, which is the surface there, and the tallest tree or building in each object cell. That is the terrain model a surveyor would otherwise walk in spot level by spot level. The grid spacing decides how many points arrive - a 115 by 43 metre job scan comes to about 120 points at 5 metres - and the import says how many before any of them is added. What it does NOT bring in is the poles and the conductors, and it says so rather than leaving it to be worked out from the point count: a job filled this way has its ground and its obstacles, and the line still has to be added before a second import can follow the spans
- A LiDAR scan report now says WHEN the scan was taken, read from the points themselves. The observation time decides whether the conductors in a scan can be used at all: a conductor hangs where its temperature puts it, so without the moment of observation there is no weather to look up and no way to bring the conductor geometry to a design temperature. A file's other dates are not the observation - on one supplier's tile the file name said 17:24 and the header said nine days later, while the points said 13:40 - so the points are what nPoles reads, and the import says plainly when a scan records no time at all, when the field is there and was never filled in, and when the times cannot be dated. The ground under a span is unaffected either way, because the ground does not move
- Bringing in a LiDAR scan against a job with no spans now says what is actually missing instead of explaining what a span is. It gives the job's point count, how many are numbered, how many have coordinates and how many carry a conductor string, and names the step that is absent - no job open, no circuits entered, or points on a string without coordinates. Where the marks could not be looked up because the job is on a local datum, the message now says so and, when the scan's coordinates plainly are a real grid, which zone they look like and what to set
- A LiDAR scan is checked against the published survey marks inside it, as soon as the scan is chosen and before anything is imported. The check that matters is the height datum: a scan delivered on ellipsoidal heights instead of AHD is wrong by several metres - about 4.7 m at Melbourne, 9.4 m in the north east, 72 m at Cape York - and every level in it agrees with every other, so nothing in the numbers gives it away. Where a mark falls inside the scan, nPoles compares the scan's ground at the mark against the level the register publishes for it, and says whether the two agree, differ, or differ by exactly the geoid separation, which is the ellipsoidal-height mistake named outright. Marks whose own published level cannot settle the question are listed with the reason rather than passed over - a level given to the whole metre, or worked out from the geoid model rather than levelled, or a mark the register says is gone - because a scan with no usable mark must not look like a scan with no mark. Where the ground around a mark is a slope or a kerb rather than a surface, that is said too, and no agreement is claimed from it
- A LiDAR scan report now says what grid and what height datum the file declares, in the first three lines rather than buried in a thousand characters of coordinate system text. The report showed only the first 200 characters of that text, and in a real supplier's file the height datum is the very last thing in it - so the one line telling a surveyor whether the levels are AHD or ellipsoidal was exactly the part cut off. The whole of it is now printed as well. A file that carries a coordinate system saying only "metres" is reported as declaring nothing, because that is what it does, and a file whose header holds an impossible creation date says so rather than printing it deadpan
- Where a LiDAR scan turns out to cover none of the job's spans, the message now gives the scan's own extent beside the job's and says outright when the two do not overlap. Suppliers deliver on different grids - one Victorian utility ships its scans on VicGrid, another ships them with no coordinate system recorded at all - and a scan on the wrong grid lands kilometres away, which read as a scan that had simply missed the line
- A LiDAR scan can be brought into a job, from File > Import > LiDAR scan. Choose a scan and nPoles shows what the file holds - its extent, the coordinate system it declares and how much of it is classified as ground, conductor, pole and insulator - and then, span by span, what would be added and what it is worth: how much of the span the scan reaches, how many ground points would come from it, how far the kept profile departs from the full scan, and the tallest tree or building beside it. How wide a corridor to take, how closely the profile must follow the scan and how small a thing still counts as an obstacle are all yours to set, and the list is worked out again as you change them. Nothing is added until Add these points is pressed, and what is added goes in as one undo step, each point carrying the name of the scan and the date it came from - a level taken off a scan is not the same evidence as one a surveyor stood on, and six months later nobody remembers which is which
- What a LiDAR scan would add to a job is worked out before anything is added: the job's own spans - two consecutive points carrying the same conductor string, a pole pair with three circuits counting once - numbered from the number the job would give a new point, and coded with the profile's own spot level and object codes. Where the scan reaches only part of a span its ground is left out and the span says how little was covered, because a profile taken from one end of a span is read as covering all of it by anything that interpolates, which is everything; an object that was seen is still reported, since it is there whether or not the rest of the span was flown. Nothing is written: this is the list to be looked at before any of it is accepted
- Trees and buildings beside a span can be taken out of a LiDAR scan. The tallest thing in each length of corridor either side of the line comes back with the level of the ground beneath it and its height above that, which is how nPoles already carries an object a conductor has to clear. Anything shorter than two metres is not treated as an obstacle, so grass and stubble do not flood a job. Where the scan has no ground return beneath a canopy the point carries the measured top of the object and says so on the point, rather than guessing at a base it cannot see - the clearance is unaffected either way, because what a clearance is measured to is the top of the thing. Nothing uses it yet: like the ground profile, it is the foundation for offering these to a job as the objects the clearance check already reads along a span
- A LiDAR scan can be read and reported on. `nPoles.exe --scan-report <file.las>` writes a report beside the scanned file: how many points it holds, the extent and density of them, the coordinate system the file declares, and how many points carry each classification code, ending with whether the four classes nPoles needs are present - ground, phase conductor, pole and insulator. It is the first question to ask of a scan before any work is planned around it, and it answers without loading the file, so the size of the scan does not matter. A compressed LAZ file is named as such and refused rather than read as nonsense, and a file that is not a scan at all is refused on its signature. Nothing is imported: this reads and reports only
- The ground under a span can be taken out of a LiDAR scan. The ground points in the corridor either side of a span are reduced to the few that decide a clearance: the highest ground across each short length of the span, because a clearance is measured to the highest thing under the conductor, and then the breaks of grade, with the points along a straight run discarded. A hundred and sixty lengths of a typical span come back as fewer than twenty-five points, and each span reports how far the kept profile departs from the full scan - measured against it, not assumed from the setting that produced it - so what the profile is worth is stated rather than implied. A span the scan does not reach says so, instead of coming back empty and reading as flat ground. Nothing uses it yet: it is the foundation for offering those points to a job as spot levels, which is what the clearance check already reads along a span
STRINGING CHARTS
- User Settings > Solver/MES: a new setting, ISD on a Chart Drawn for Another Conductor (FSCC), chooses how the ISD method - in Pole Load, Clearances and Individual Span - takes a conductor strung on a stringing chart drawn for another conductor to that chart's sag. ISD Final Sag, the default, is the ISD method's own: in still air the conductor strung hangs at the sag the chart's own conductor has in the condition worked out, and with wind it is matched to that conductor's sag at the chart's first limit. As the stringing charts follows the Stringing Chart Solver Routine instead, and differs only where that routine is Match FSCC Initial Sag - the SECV, AusNet and UED profiles' - which matches every condition at the chart's first limit: Grape 30/7/2.5 on SECV's VX18/22 over 45 m hangs at 1.20 m at 50 °C by the default and 1.15 m following the charts. With the default, Pole Load's and Clearances' results are as before
- JEN and SECV: the stringing charts SP18/37 (6/x,7/x) (JEN) and VX18/42 (6/1/x) (SECV) name 6/1/2.5 ACSR/AZ as the conductor they are drawn for, as every other 6/1 chart of both companies does, so a conductor strung on them is taken to the chart's sag. They named 6/1/2.50 ACSR/AZ and 6/1/2.6 ACSR/AZ, which the conductor databases do not have, so each chart's limits went on the conductor strung itself: a conductor on SP18/37 (6/x,7/x) now sags up to 6 % more when cold, and on VX18/42 (6/1/x) a 6/1 conductor up to 2 % less and 6/.186 7/.062 up to 8 % more
- TasNetworks: the LimitedTension, MediumTension and FullTension stringing charts for AAC name the conductor they are drawn for, 7/3.0 AAC, so another AAC conductor strung on them is taken to the chart's sag. They named it material first ("AAC - 7/3.0"), which was never found, so each chart's limits went on the conductor strung itself: on LimitedTension and MediumTension another AAC conductor's sag moves by up to 4 %. FullTension is for 7/3.0 alone, which is unchanged
IMPORT AND EXPORT
- File > Export > Topcon MAXML (.mxl): points for stakeout on a Topcon controller, with their codes and pole attributes - String, Status, Pole Length, Strength and Type - written as the surveyors' own code library defines them. With the controller's job chosen (its .mjf or .mxl), the file states that job's own coordinate system and geoid, so the controller has nothing to transform, and each point carries both its RL and its height above the ellipsoid. A value the code library has no attribute for is named in the summary rather than dropped
- Export LandXML points and Export Topcon MAXML ask which points to send: all of them, a list such as 1-13, 124, or only the points the controller's job does not have or has somewhere else - so a design goes back to the controller without the points it already holds, and nothing measured in the field is overwritten by a keyed-in copy of itself
- File > Import > Topcon job also reads the controller's MAXML export (.mxl), with its codes, code attributes and heights
- File > Import > Topcon job (.mjf): the survey points of a Topcon Field job come straight from the controller's job file, with their codes and the code attributes a LandXML export leaves out - the String a pole is on, and ID, Pole Length, Strength, Type and Status into the pole's own fields. GNSS points, which the job holds as latitude, longitude and height above the ellipsoid, are put on the job's grid and their heights reduced with AUSGeoid2020: on a customer's job every point landed within a millimetre of where the controller's own export put it. The job file is only read, never changed, and nothing is left beside it; points deleted on the controller stay out, and a job with a site calibration is refused rather than have its GNSS points put on the grid without it
- Import LandXML: the time each point was taken is recorded in local time. The controller writes it in UTC, and it was recorded as written, so a point taken at 8:54 in the morning in Victoria was dated 22:54 the day before
- Import LandXML: when no text or CSV export of the job sits beside the file, the import now asks for it, so the point string numbers can come across whatever the export is called or wherever it was saved. A controller's LandXML export carries no string numbers - only its text or CSV export does - and until now the points came in on string 0 with a line in the summary to say so. A CSV that puts every field in quotes, or gives the northing before the easting, is now read too: with quotes, not one point matched, so every string was lost even when the export was right beside the file
POINT EDIT
- Point Edit: renumbering a point onto a number another point already has, then answering Cancel to "Replace Point?", no longer loses the point. The point was taken out of the job before the question was asked, so after Cancel, OK closed the dialog without it, Save saved the job without it and Go to point moved on without it. Cancel now leaves the job as it was, with the dialog still open on the point
- Point Edit: Increment Others keeps every backup's own number. A point's tenth backup was given its first backup's number - 12B10 became 13B1 - past 99999 a backup lost its backup number altogether and became a point, and a point numbered in the millions came back as a number such as 2B317e+06. A point renumbered with Increment Others also came away with the neighbouring point's backup in place of its own
- Point Edit: after a point is renumbered and saved, OK no longer asks whether to replace the point that was just saved, and Next goes on to the point after it instead of back to the first point in the job
- Adding a point no longer renames other points that have a B in their number without being backups, such as a benchmark numbered BM1: the new point's number was written in front of it
- Point Edit no longer replaces the weather a circuit's height was measured in. The weather is recorded when a height arrives - typed, or read from the total station - but since 1.4.188 it was also recorded when a point was opened, so pressing OK in the office could put that moment's weather over the conditions the conductor was measured in, which the chart finder reads as its temperature. The weather recorded for one point was also written onto the next point opened, and sorting the circuits or adjusting heights for an RL change recorded new weather for heights that had only moved
- Point Edit: sorting the circuits by height moves each circuit's recorded weather with it. The weather stayed with the old circuit number, so a sorted circuit carried another circuit's conditions. The sort also stopped the list of joint use assets affected by works from following the owners ticked, until the point was next opened
- Point Edit keeps a circuit's conductor string when the job's list of conductor strings does not hold it - a string taken out of the list, or a job put together without its strings. The circuit showed Not Active and OK saved it that way, taking the string off the point. The string is now listed as not in this job's conductor strings, and kept
- Point Edit: with the copy Left to Right settings switched on in User Settings, a Left insulator height or offset is copied to the same circuit's Right. From circuit 10 on it went to the wrong circuit - circuit 12's to circuit 2, circuit 21's to circuit 1 - and circuits 10 and 20 copied nothing. The settings are off unless switched on; where they were on, a Right value on circuits 1 to 9 may have come from another circuit, and Clearances Check measures the crossarm with it
- Point Edit keeps a stay type its list does not hold, such as another program's word or an older profile's. Opening the point blanked it and OK saved the stay with no type; Copy From did the same
- Point Edit: the stay Angle button set the angle to 0 when it had neither an anchor point nor a footpath strut to work from. It now says what it needs and leaves the angle as it is
- Point Edit: Circ.Remarks on the Description tab brings in the remarks of all 24 circuits; circuits 17 to 24 were left out
- Photos and Files: Remove takes a file off the point in one go. A disc or whole-pole photo that was also attached as a file came straight back as a file and had to be removed a second time
- The Points List's Stay 3 Bearing and Angle columns show the right values. Each showed the other's, and each was switched on by the other's column setting; stays 1 and 2 were right
TOTAL STATION AND GNSS
- A receiver that sends no GGA now shows a position. Some receivers stream only the simpler position sentences and nPoles read a position from GGA alone, so the receiver connected, sent data steadily, and the screen stayed empty with nothing to say why. The position is now read from those sentences too and clearly marked: they carry no height, no accuracy and no way to tell a precise fix from a rough one, so it is shown as a position only and cannot be recorded as a survey point
- Leica receivers are recognised by name. A Leica sends its own sentences alongside the standard ones, naming the maker, the model and the firmware, and nPoles was discarding them; it now names the receiver on connecting. Two of those sentences were also being read as another maker's, which chose a receiver profile that sends configuration commands - a Leica could have had commands fired at it without anyone choosing that. nPoles sends a Leica no commands at all
- When a linked device archives or unarchives the open job, only the job file's archived flag now changes. The update also blanked the coordinate basis statements, ground origin and ground scale factor saved in the file, and the version of nPoles that saved it - which nPolesPPE reads rather than working out again
FILES
- File dialogs: with the nPoles keyboard on, Open, Save As and the folder choosers open at once in the field and no longer freeze nPoles. Checking the starting folder in 1.4.187 was not enough: the dialog still waited on unreachable mapped drives through the shortcuts saved in its side panel, the last folder any dialog had been in, and the list of every drive it drew up as it opened - about 20 seconds for each, long enough for Windows to report nPoles as not responding - and the folder then showed empty for as long again. None of these now reach a drive that is not answering. A dialog waits no more than a quarter of a second on a network folder before opening locally, and moves to it if it answers a moment later; closing a dialog no longer freezes for several seconds either
- File dialogs: with the nPoles keyboard on, the side panel lists the places nPoles knows instead of mapped network drives - the Survey Files folder from User Settings first, then the open job's folder, the DXF, Quick Backup and Base Data Files folders, Desktop, Documents, Downloads, the home folder, each local disk and memory card or USB stick, and My Computer. A folder on the network is listed only while it can be reached
- Cancelling Save in nPoles 1.4 Format no longer exports anyway. The cancelled export was written to a file named .pxml in nPoles' own folder and reported as done, or, where that folder cannot be written to, reported as a failed export
REGISTRATION
- Registration: a registration is no longer lost at the next start when nPoles cannot write to its data folder - it came back in demo mode, with nothing said. The licence is saved in the shared nPoles folder under ProgramData instead, and where no folder will take it a message lists each place tried and why, with a Retry
nPoles v1.4.190 - What’s New
Release Date: 28 September 2026
MAP LAYERS
- An installed map data download is found again. Every map data component - survey marks, the interstate cadastre, the ACT, New Zealand, Switzerland - unpacks into a folder of its own, and nPoles had never looked there, so on a machine that had downloaded them the packs were invisible. Since 1.4.189 that had a second effect: with no pack found the layer quietly came over the internet instead, which looks right at a desk and draws nothing in the field where there is no signal. nPoles now looks in every folder a component can unpack to, and reads the most recently published catalogue of the ones installed
POINTS
- Adding a point no longer loses a backup of another point. A point's tenth backup was filed under the same number as its first, so a pole with ten or more backups lost one every time a point was added, and its later backups were listed out of order
- Undo no longer reaches into the previous job. The history was kept when another job was opened or a new one started, so undoing an earlier job's change could alter the point with the same number in the job now open. Opening, starting or closing a job now begins a fresh history
- A new job no longer inherits the previous job's conductor string backups and saves them as its own
POLE LOAD
- Pole Load shows the right footing strength required for the fourth and fifth load conditions. After Calculate both showed the third condition's figure
FILES
- Exporting to DOS POLES no longer renames the open job. The next Save wrote a separate file ending .pts.pxml and the job itself never received the changes
STRINGING CHARTS
- The stringing chart messages that offer to work a chart's strength out for its base conductor name the chosen conductor in full; its material was missing
PLAN VIEW
- Every dialog now opens whole on a small screen. On a 1280x800 tablet the bottom of User Settings and of Insert Points From File fell below the screen edge, taking the OK and Cancel buttons with them, so the dialog could be escaped but not used. Nothing capped a dialog's height: the setting that moves windows to the centre top moved them to the top of the screen without asking whether they fitted below it. Dialogs are now kept within the screen they open on, and User Settings, Insert Points From File, Clearances, Stringing Charts and the Surveying Calculator scroll within themselves rather than growing past it
- Every dialog is measured against a 1280x800 tablet before each release, so one that will not open fully on a small screen is caught before it ships rather than reported from the field
nPoles v1.4.189 - What’s New
Release Date: 27 September 2026
MAP LAYERS
- Fourteen map layers that no government publishes as a live service are now served by nPoles itself, so they draw without the download pack installed: Victoria's cadastral points, New South Wales' easements and road centrelines, Queensland's, Tasmania's and South Australia's survey marks, the ACT's road reserves, Switzerland's fixed points, and the whole of New Zealand - parcels, road parcels, roads, geodetic marks and survey boundary marks. New Zealand's own service requires a personal key from LINZ, which nPoles cannot ask for on a surveyor's behalf and no longer needs to
- A map layer served live can now be added to the survey. Add as survey point, Add boundary as survey points and the lasso all worked only from an installed data pack, so on a machine without one the cadastre could be looked at and nothing taken from it - which is the one thing a surveyor turns the layer on for
- Survey marks drawn from a live service now use their register's own symbols, struck through where the register records the mark destroyed, removed, not found or disturbed, with the mark's meaning on hover. They were drawn as plain dots
- Show Street Names now shows the names, and contours their heights. Neither carried any text at all unless the data pack was installed; the 10 m index contours are drawn heavier and carry the label, as they always have from a pack
- Show Coastline and Show Contours work outside an installed pack for the first time. They were the only two Layers-menu items with no live path behind them at all
- Tapping a feature drawn from a live service now reads like the record it is: the register's own field names, the mark's symbol and its meaning, and - importantly - the same fitness statement an installed layer gives, so mapping-grade cadastre says it is indicative only and survey control says its coordinates are the register's official values. It used to show the publisher's raw column names in alphabetical order with no statement of accuracy at all
- The record a tapped feature opens now scrolls. A Victorian survey mark carries about forty published fields, and the box grew taller than the window, taking the accuracy statement off the bottom of the screen with it
- A job on a state border now draws both sides from a live service. The publishers were chosen once from where the job sits and never revisited, so a job at Albury, Tweed Heads, Mildura or anywhere along the Murray drew one side and nothing on the other, and panning across a border kept asking the first state for the second state's ground - an empty map until the layer was switched off and on
- A live map layer that cannot be read now says so on the map, and one that has more to show than it is allowed to draw says that too. A publisher being unavailable, a layer that has been renamed and "there is genuinely nothing here" all looked identical: an empty map with the menu item still ticked
- Tasmanian cadastral points drew nothing from a live service - every point was discarded before it reached the map
- Visiting Layers > Map Data no longer switches off every layer being drawn from a live service
- A survey on GDA94 drawing from a live service was about 1.8 m out: the conversion from the published GDA2020 coordinates was skipped whenever no data pack was installed
- Two layers from the same publisher no longer stack the same credit twice down the corner of the map
- A map layer with no data pack installed drew nothing at all, silently. It reported that it was serving the job from the publisher and then never asked for anything: the conversion that turns the viewport into a latitude and longitude took the survey's zone from a value that is only filled in when a packaged dataset opens, so on a machine with no pack there was no zone, and the layer gave up before fetching - with no message, because nothing had failed. It affected every layer and every state. The same fault skipped the GDA94 conversion on that path, putting anything that did draw about 1.8 m out on a GDA94 survey
- Victorian survey marks are drawn without the SMES download installed. Show Survey Marks used to ask for the SMES_FULL file from DataShare and draw nothing until it was found, which is a long detour for somebody who only wants to see what control is near the job. The register is published by Victoria in full, so the marks are read from there when the download is not installed - in SMES's own symbols, struck through where the register records the mark removed, destroyed, not found or disturbed. The installed download is still what nPoles uses when it is there: it needs no signal, and it carries the per-mark detail
- A map layer with no data pack installed is now fetched through npoles.com rather than from each state's own service. It means one address instead of nine, a layer that a state renumbers is corrected on the server rather than in every installed copy, and the same area asked for twice is fetched once. The installed data packs are untouched and are still what nPoles uses in the field - this is only the path for a state whose pack has not been downloaded. If npoles.com cannot answer, the publisher is asked directly as before
- The Layers menu no longer reports that a map layer has no data for a survey it cannot place. "Show Property Boundaries - none here", and the same on every other layer, was written whenever nPoles could not work out WHERE THE JOB IS, which says nothing at all about what data exists. The commonest cause is a GDA94 or GDA2020 survey with no zone recorded - eastings and northings cannot be turned into a position without one - and any local or zoneless grid does it too. It sent people asking for data they already had. Each layer now keeps its plain name, and hovering says to set the survey's datum and zone
PLAN VIEW
- Tapping where several things sit on top of one another now lists all of them, whichever one took the tap, and a survey point is found by its number as well as by its symbol - a point drawn only as a number, because its description code is not one that is plotted, could not be reached at all once a map layer was drawn over it: the survey's own points, the strings running past, and every map layer drawn there. A cadastral point beside an existing job point could not be reached at all - the point's menu opened and that was that - and in the other direction a lone parcel opened its own menu without offering the survey point underneath it
- The floating tool box in the plan view no longer travels with the map. Dragging the plan carried the box along with it, a little further with every drag, until it sat half off the edge of the window - it could be put right by zooming, which is why it seemed to correct itself at random. It can still be dragged wherever it suits, and double-clicking its grip sends it back to the corner
FILES
- A recent job that will not open is removed from the Recent list rather than left there to fail every time it is clicked
- A job that will not open now records why. The reason and the file name were written only to the debug log, so a fault reported from another machine arrived as four words with nothing to act on
CIRCUITS
- The Circuits view has its grid and full row height back. Since 1.4.185, when it began showing the phases of a circuit nested under it, its rows were packed tighter than the Points view beside it and the grid lines were gone, which read as smaller text. It now matches the Points view again, nested phases included
nPoles v1.4.188 - What’s New
Release Date: 22 September 2026
CLEARANCES
- Phase separation is now worked out for every company, not only the two that had a method switched on. Thirteen of the seventeen Australian profiles had neither the Victorian curve nor the AS/NZS 7000 equation turned on, and the Phase column showed "999.00m" on every span - the starting value of a comparison that never happened. A profile with AS/NZS 7000 switched on but no k factor recorded showed "0.00m" instead, which reads as a span that needs nothing at all. Where a company has set no method of its own, AS/NZS 7000 clause 3.7.3 now answers, and the column names the method that gave the figure. The Victorian minimum separations are deliberately NOT applied outside Victoria - AusNet's own drawing labels them a SECV requirement and the national standard publishes none, so imposing them interstate would condemn spans the standard passes - but the figure is named beside the answer so a designer has it
- The Phase column now shows what a span actually has between its phases, not only what it needs. It has always printed the required separation, worked out from the sag and the voltage; it never read the conductor offsets recorded at either support, so a 1.2 m crossarm and a 0.3 m one reported the same figure and neither was compared with anything. Every pair of conductors on a circuit's crossarm - left to centre, centre to right, left to right - is now measured at mid span by the standard's own rule, which takes the mean of the spacing at one support and the other, and the worst pair reads under the requirement as "arm 1.20m", red where it does not meet it. Every pair is listed in What's This. A conductor recorded at only one support is left out rather than averaged against a guess, and a circuit with no offsets surveyed shows nothing rather than a confident zero
- Circuit to circuit clearance is now checked where a company's table has no entry for the pair of voltages. It reported "Inter-Circuit relationship not found" and checked nothing at all, and outside Victoria that is most pairs, so most of the country had no circuit to circuit check. AS/NZS 7000 clause 3.7.3 answers instead, with both circuits at their maximum operating temperature - a hot upper circuit over a cool lower one is the Victorian method and belongs to the table, not to the standard. Where the closest point of the two circuits is not at mid span, the sag at that point is used
- The VESI phase separation table in What's This gave the wrong horizontal distance. Against a nominated vertical separation it worked the horizontal out as the square root of the separation less the vertical - a length subtracted from a length - where the drawing's own hand-written check makes that separation a radial one. On a 6 m sag it reported 0.89 m of horizontal where 22 kV needs 1.04 m and 66 kV needs 1.20 m, understating it in the unsafe direction. The AS/NZS 7000 table three lines below it was always right
- A phase set member whose conductor string has no usable stringing chart reads "set -" with the reason on hover - the string has no chart, or names a chart that is not among the loaded charts, or a conductor not in the database - where it read "set 1000000000.00m". That figure was the starting value of a measurement the missing chart made impossible, left in place because a sag that cannot be worked out compares less than nothing. The Ground and Circuit rows already said "No Chart defined" for such a string; the phase set row now says so too, in the cell and in the report
- The AS/NZS 7000 conductor separation equations are in, checked against the handbook's own worked examples. One equation answers both phase-to-phase and circuit-to-circuit, as the standard intends, and a second works out the voltage difference between two circuits from their voltages and phase relationship. Nothing uses them yet: they are the foundation for using the national method where a company has no table of its own
POLE LOAD
- TasNetworks was using AusNet's poles. The file with TasNetworks' name on it held two hundred and fifty-nine poles, and every one of them came from AusNet's - so a Tasmanian pole load was answered with Victorian pole types. Tasmania's own nine, from its Distribution Overhead Line standard, are in now, alongside the Rocla and Dulhunty poles sold across the country
- Every company profile now has pole types of its own. Ten of them were reading the same generic file, so no pole ever matched a real one and a pole load came back with no wind on it. The Rocla spun concrete and Dulhunty Titan poles are manufactured products sold across Australia rather than any one company's design, so all eighty-nine of them are now in every profile, alongside Ausgrid's own thirty-five wood poles from NS220. What each profile still wants is its own timber range, which only that company publishes
- Ausgrid has its own pole types, from NS220. Thirty-five wood poles, 8 to 23 metres, with the tip, ground line and butt diameters a wind load needs and the sinking depths and auger sizes the manual gives. Until now Ausgrid was reading the same generic pole file as ten other companies, so nothing matched a real pole and a pole load came back with no wind on it. Concrete and steel are still to come: the manual's own sections for them are marked under development
- Pole Load no longer closes when a profile has crossarms but no insulator database. Calculating the wind load with insulator wind switched on would end the program outright if nothing in the insulator database carried a wind area, which is what a profile without one looks like. The wind load now adds up the parts it has and the breakdown names the insulator it actually used rather than a representative
COMPANY PROFILES
- Western Power carries only Western Power's charts now. One hundred and ninety-seven Victorian charts had been copied into it, and a hundred and thirty-seven of them named a conductor, so a surveyor in Perth could pick AusNet's tensions out of the list with nothing saying where they came from. What is left is the forty-one built from Western Power's own handbook and checked against that handbook's published sags, and the national CATV charts. The same leftovers are out of Energex, Ergon Energy, the Northern Territory and TasNetworks
- The Aurora profile is gone and jobs saved on it now open on TasNetworks. Aurora Energy sold the Tasmanian network to TasNetworks in 2014 and sells electricity now rather than carrying it; the two profiles held the same data under the two names
- Every Australian state and territory now finds its own network from an address. Western Australia and the Northern Territory were missing from the table altogether, so an address in Perth, Broome or Darwin produced nothing at all; they are in now, split between Western Power and Horizon Power along the edge of the South West Interconnected System, and Power and Water across the Territory. Canberra named a profile that was not there, so the Australian Capital Territory has one: Evoenergy, carrying the Australian Standard conductors and the national CATV charts, with its own design charts to follow. Jobs saved under ActewAGL find it by the new name
- The New South Wales conductor lists no longer repeat themselves. One aluminium alloy conductor appeared 256 times in Endeavour's list and 16 times in Ausgrid's and Essential's, so it filled the picker with copies of itself; one of each is kept. Five charts left over from the data Essential was copied from are gone as well - they named no conductor at all, so they could never have been chosen
- Ausgrid has conductors and charts of its own. The eight conductors approved for new high voltage construction come from Network Standard NS126 - Mercury, Pluto, Raisin, Apple and Cherry bare, and the three covered CCT sizes - and eight charts from NS220, at the tension its own standard sets: for bare conductor the base case of the AS/NZS 7000 table it refers to, and for covered conductor 10% of breaking load with spans to 120 m. All are referenced at 5 degC in still air, which is what NS220 gives as the reference temperature for stringing
- Endeavour has its own conductors and stringing charts. Twenty-six conductors come from MDI0031's approved list - all aluminium, aluminium alloy, steel reinforced, both bundled cable types and covered conductor - and forty-three charts from its design tension tables, each one carrying the tension Endeavour specifies for that conductor in that application, at 5 degC in still air, with its ruling span and the span range it is drawn for named in the remark alongside the matching stringing table number. Each also carries the wind-loaded limit the standard sets, half the breaking load at 15 degC in a 500 Pa wind. Eight conductors were missing entirely and eighteen were brought onto Endeavour's own figures
- The three New South Wales profiles are now Ausgrid, Endeavour and Essential, the names those distributors have had since 1 March 2011, and each remark gives the old name and where its tensions come from. They also hold their own data again: all three carried the same fifty stringing charts, every one of them Essential Energy's CEOM7108 set, because the files had been copied between profiles - Ausgrid's chart and conductor databases were byte-for-byte Essential's. Essential keeps them; Ausgrid and Endeavour no longer show another company's charts as though they were their own. Jobs saved under any of the old three names still open on the renamed profiles
- Horizon Power has the catenary charts for coaxial bundles, which it was missing. Those charts are national - the same twelve CATV conductors and the same chart set are in every other profile - but Horizon's chart file was written fresh for its own tensioning work and they were never carried across. The 133 charts come from Western Power, its sibling network, and solve identically in both
- SAPN has stringing charts. The profile had 133 and every one of them was a cable-television catenary chart, so there was nothing to string a powerline with; there are now 198 more, one for every conductor South Australia's own standard names, in each of its three climate zones. Each carries both conditions the standard sets: the everyday tension, as the percentage of breaking load the ENA guidelines give for that conductor, at 13 degC in the South East, 16 degC in the central and metropolitan area or 20 degC in the north; and the short duration limit of half the breaking load at 15 degC in the maximum wind. The one conductor Western Power's handbook also tabulates at the same percentage agrees with its published sags to within 35 mm over all 170 of them
- A new job now starts in the map zone the company's own network is in. Every profile began in zone 55, the Victorian one, because each was copied from a Victorian profile, so a surveyor in Adelaide or Perth started every new job in the wrong zone and had to change it by hand. SAPN starts in zone 54, Western Power in 50, and Energex, Energy Australia and Integral Energy in 56. Powercor, NT-P&W, Ergon Energy and Country Energy keep 55 on purpose, because those networks really do cross two or three zones. Only new jobs are affected; nothing already surveyed moves
- The South Australian profile is titled SAPN, and its remark gives the company's full name and the names before it - Electricity Trust of South Australia (ETSA) from September 1946, ETSA Utilities from the 1999 privatisation, SA Power Networks since 3 September 2012 - so a job drawn under any of them is recognisably the same network. Jobs saved under all four names open on it
- SA Power Networks jobs draw South Australia's own plan symbols: the Stobie pole in its I-section, existing, proposed, to be removed or to be replaced in its footing, wooden and tubular poles, pole numbers, and pole-mounted transformers, load switches, capacitor banks and reclosers at 11 kV, 19 kV SWER and 33 kV. Forty-five in all, following SA Power Networks' own drafting standard, where shape says what the asset is, colour says the voltage and the fill says whether it is existing, proposed, to be removed or to be upgraded. They come with a description code list, so each has a name in the Point Edit code picker
- The South Australian profile is now called SA Power Networks, which is the company's name since September 2012, and carries South Australia's own conductor data. Fifty-two conductors were added from Appendix A of Technical Standard TS-107, the overhead line design standard - the imperial copper and steel the SA network is still full of, its ACSR range in both galvanised and aluminised steel, its larger AAC and both AAAC alloys - and six that were already there were brought onto TS-107's figures. Jobs saved under the old ETSA name still open on the renamed profile
COMPANY DATA
- nPoles carries one profile inside itself, so a machine with no company data still opens a job. It is SECV's conductors, circuits, pole types and plan symbols, written out on the first start that finds nothing. It carries NO stringing charts - a chart is a distributor's own design and nPoles will not guess one - so sags and tensions still wait for the real data, and nPoles keeps asking for it
- Help > Install company data asks which country and opens the Maintenance Tool at the component list, with the steps written down beside it. Australia is published; New Zealand and South Africa are listed so you can see what is coming. The same button appears on the start-up notice when data is missing
- A data pack download that stalls now recovers instead of hanging. On a poor connection a transfer can stop without the phone being told, and the pack downloader was the one place in either product with nothing watching for it: the screen sat on "Downloading" for ever, and closing the app and starting again did the same thing. A minute with no data is now treated as a stall, the transfer is retried from exactly where it stopped, and there are six attempts rather than three. Pausing it yourself still says "Paused", and still carries on from the same place. The desktop's update check and its map tiles gained the same guard
- The installer checks that the company data actually arrived. A component that extracts only part way used to report success, and the first sign of it was a calculation with no answer. It now names the missing files and says to run the Maintenance Tool again
- nPoles now says so when it starts and finds no company data, or data from a release old enough to be missing the pole, crossarm and insulator databases. Until now it started quietly on whatever it found, and the first sign of it was a structural calculation answering zero - a pole load with no wind on it, because there was no pole database to match the pole against. The notice names the folder it looked in, explains what is missing, and opens the Maintenance Tool for you. It appears once per version, so a machine that cannot be updated today is not asked at every start
CONDUCTORS
- The conductor editor shows all three stiffness values. Elasticity is still the practical Australian Standard figure that every calculation uses, and the initial and final ones sit beside it on the same line, each reading "not given" until something is entered. A blank means not known, which is not the same as zero, and is saved as a blank
- The conductor corrections now reach every profile, not only the Victorian ones. The same impossible records sat in eleven other companies' data, having been copied from the same source: a 336.4 AAC whose breaking load worked out at a fifth of what aluminium can carry, a 61/2.75 copper missing a digit, and a steel conductor whose weight implied a metal heavier than lead. Two more records carried a weight and a mass that disagreed with each other, which matters because nPoles works one out from the other when one of them is blank. Every conductor is now checked against its own description whenever the tests run - a stranded conductor's name states its own size, weight and strength - so a record that cannot be what it says it is can no longer be shipped
- Conductors can carry all three stiffness values. nPoles has always stored one - the practical Australian Standard value, which is what every calculation uses - and there are now places beside it for the initial and the final one, so a future calculation can ask for whichever suits. Both are optional and are empty everywhere today, because the manuals have never published them
- Six wrong conductor records in the Victorian profiles are corrected, and hard-drawn copper now has the right stiffness for its size. The 336.4 AAC record was impossible in every profile - its breaking load worked out at a fifth of what aluminium can carry - and 61/2.75 copper was missing a digit, so it read as a tenth of its real strength. A 3/2.75 steel conductor's diameter, an aluminium alloy record carrying a plain aluminium one's numbers, and a steel conductor whose weight implied a metal heavier than lead are all fixed. Copper's stiffness now varies with the number of strands, as it does in reality, instead of one value for every size
- Conductor moduli across the Western Australian, South Australian and New South Wales profiles are the Australian Standard values the Victorian profiles carry, not the ones each distributor's own standard publishes. nPoles works in the practical modulus - the settled value a design calculation uses - where those standards print a different kind, and for aluminium alloy conductors the two differ by about a tenth. Thirty records were corrected. Breaking loads and sizes are untouched: those are each distributor's own to state
STRINGING CHARTS
- The AusNet chart STND-0352209 has been removed from the ACSR/AC set. It was a false start in the original data entry: it was created twenty seconds before STND-0352210, which is the drawing for the same conductors at the same sag, and it never had a drawing title of its own - it carried STND-0352208's, so two charts printed that number on a conductor schedule. AusNet's drawing list does not include it and no drawing was ever issued for it. No job referenced it
- AusNet stringing charts: the SC/AC and ACSR/AC charts AusNet has since formalised as standard drawings now carry the STND number as their drawing title, the title the conductor schedule prints. All five SC/AC charts move - EVX18/25 as STND-0352224, EVX18/29 as STND-0352225, EVX18/22 as STND-0352226, EVX18/26 as STND-0352227 and EVX18/33 as STND-0352228 - and seven ACSR/AC charts, where the drawings are issued per conductor ratio and so is the chart: the 3/4 charts EVX18/25 and EVX18/29 as STND-0352207 and STND-0352208, and the 6/1 charts EVX18/25, EVX18/29, EVX18/22, EVX18/26 and EVX18/33 as STND-0352213 through STND-0352217. Every chart keeps its own name, so a job that uses one opens unchanged, and a job keeps the drawing title already recorded on its strings until the chart is chosen again in String Properties or applied from Chart Finder. The ACSR/AC charts on the 30/7 ratio keep their names throughout, AusNet having issued no drawing for that ratio
CONDUCTOR STRINGS
- Conductor String Properties shows a temperature of three digits in full. 100 °C read "100.0°(": each temperature box was a few pixels too narrow for the widest value it can hold
- Phase of conductor string is on the Conductor tab now, left of Owner. It was on the Cnd. Schedule, Phase tab, away from the rest of the string's set-up. On the circuit's own string of a phase set it names the phases - "(none - circuit with phases 13 and 14)" - where it used to say standalone circuit
APPEARANCE
- Every window now uses the font chosen in User Settings. Each dialog's design carried a font of its own - Noto Serif at 11 point - which overrode the setting, so the dialogs did not match the main window and, in fifteen of them, that pinned font was the only one they ever used: Install company data, Local grid, the GNSS localisation, base setup and stakeout dialogs, Circuit structure, Crossarm drawing, Insulator positions, Linked devices, the point photo viewer, Send feedback, Survey plans, the sync conflict report, the pole calculator and the Add point tool row. The font is now set on the program itself, so every window follows it - including any window already open when the font is changed, and any dialog added later, which no longer has to ask for it. Deliberate sizes and weights inside a dialog are unchanged: the large distance readout on the stakeout screen, bold headings and the italics in the line-security table are all still there
SURVEYING
- Looking up the temperature works away from a place already asked about. The first look-up at a new site had to wait on the weather service going and fetching it, which takes about ten seconds, and the app gave up at eight - so it read "No temperature available offline" wherever the answer was not already to hand, which is every new site. It now waits long enough. When a look-up does fail, the reason is written to the log, so a report sent from the app carries it
nPoles v1.4.187 - What’s New
Release Date: 20 September 2026
COMPANY PROFILES
- Horizon Power, regional Western Australia, is now a company profile of its own, with twenty-eight stringing charts. Horizon publishes tensions rather than tables - 10% of breaking load for AAC and 7% for AAAC in built-up areas, 18% for AAC over 60 to 105 m and for AAAC over 60 to 135 m, 25% for the steel conductors on spans to 250 m, and a 17% everyday base case for ACSR - all at 15 degC in still air, so each chart is exactly that. Fourteen of the twenty-eight cover a conductor the Western Power handbook also tabulates at the same percentage, and every one of those 2892 published sag readings agrees to within 20 mm. The profile carries Horizon's own conductor, pole, circuit and symbol data and defaults to MGA zone 50
- Western Power: the profile's conductor, stringing chart and DXF symbol files are found at last. Their paths were written differently from every other profile's, so nPoles looked for them in a folder that does not exist and the profile had no charts and no conductors at all - 330 charts and 141 conductors that have never once been read. Eleven conductors are added for the Distribution Construction Standards Handbook Part 10 tensioning tables: AAAC/1120 Diamond, Iodine and Krypton, the seven HDBC coppers, and AACSR/AC Archery
- Plan-view symbols and DXF symbol blocks appear for every company profile again. Eleven of the sixteen profiles named a symbol folder the application could not find, and five named a symbol file that was not shipped at all, so those profiles drew no symbol and exported no block - Western Power, Energex, Ergon Energy, Country Energy, Integral Energy, ETSA, Energy Australia, Aurora, Jemena, TasNetworks and NT-P&W. A release check now fails if any profile names a file that is not there
STRINGING CHARTS
- Western Power: twenty-seven more stringing charts from the Distribution Construction Standards Handbook Part 10, bringing the profile to forty-one - the rural AAAC charts for every span band up to 295 m, all six copper ones, and the steel earthwire and steel conductor charts. Every chart, the earlier fourteen included, is now checked against the handbook at every span and every temperature it publishes: 9644 readings, all agreeing to within 50 mm and 9112 of them to within 20 mm. Three conductor properties were corrected in the process - the 7/2.50 AAAC/1120 breaking load, which the twelve other company profiles already had right, and the elastic moduli of the three AAAC conductors
- Western Power: fourteen stringing charts from the Distribution Construction Standards Handbook Part 10 tensioning tables - the urban and outer-urban AAC charts, the rural ACSR ones and one AAAC - each set to the everyday tension the handbook itself publishes. Every one was checked against the handbook's own sag figures at every span and every temperature it lists, and agrees to within 35 mm. The remaining tables wait on readings that could not be confirmed, rather than being added unchecked
- Stringing charts and conductors are now checked at every release. Each chart and each conductor in each company's databases is fingerprinted, and the release test fails if one that already existed has been changed or removed, naming it. Adding a chart is not a failure. Much of Victoria is still designed and maintained on the SEC charts of the 1970s and 80s - a conductor strung in 1978 is checked today against the chart it was strung to - and until now nothing would have reported a chart quietly changing or disappearing between releases
- The EVX18/503, EVX18/504 and EVX18/505 charts are spelled correctly everywhere. They had been carried as EXV18/50x - the V and the X transposed - in the AusNet, SECV, Powercor and Western Power databases, which made them hard to find in the chart list and put two spellings of the same drawing side by side. A job designed on the old spelling still finds its chart and its numbers do not move
- Individual Span Design: starting from a stringing chart drawn for a base conductor now works the way the stringing chart does. The chart's tension limit is written for its own conductor, so it is applied to that one, and the conductor the surveyor picked is then taken to the sag that produced. Before this the dialog put the chart's limit straight onto whichever conductor was picked: on SECV's VX18/22, drawn for 7/3.0 AAC, Grape 30/7/2.5 was hung at 1.281 m where the stringing chart gives 0.952 m. A limit written as a stress is also turned into a tension on the chart's own conductor now, rather than on the picked one. A chart with no base conductor is unaffected, and so is starting from a tension typed in by hand - that figure belongs to the conductor the surveyor chose, not to any chart's
- Individual span, lifting load and clearances: on a stringing chart drawn for a base conductor, these now answer for the conductor actually strung instead of for the chart's base conductor. Grape 30/7/2.5 on SECV's VX18/22 - a chart drawn for 7/3.0 AAC - was being worked out as though the 7/3.0 were in the air: 1.32 N/m of conductor where Grape weighs 6.64. The chart's tension limit belongs to its base conductor, so it is still applied to that, and the conductor strung is then taken to the sag that produced - which is what the stringing chart has always done and what Match FSCC Initial Sag and Match FSCC Final Sag mean. A chart with no base conductor is unaffected, which is most of them. Clearance and pole load figures will move on SECV and AusNet charts that carry a base conductor
CLEARANCES & POLE LOAD
- Clearances, stringing charts and individual spans: a conductor carrying ice is no longer reported higher than it hangs. The catenary was worked out with the ice on it, but the sag was then split into how far the conductor hangs below its supports and how far it blows out sideways using the bare conductor's weight, with the ice left out of that one step - which tilts the swung plane too far over. On a 450 m span with 10 mm of ice in a 500 Pa wind the conductor was shown 5.1 m below its supports where it hangs 10.9 m below them, and blowing out 11.1 m where it blows out 5.5 m. Reported high is the unsafe direction for a ground clearance. Ice now carries through to both numbers wherever they are worked out
- Clearances and Pole Load: a conductor string's First Support and Last Support are now honoured for its aerial markers. The markers hang between those two points - a crossing is marked, the rest of the line is not - and the 3D route view has always drawn them that way, but every clearance and every pole load applied them to every span of the string. Mark two spans of a twenty span line and all twenty were weighed, sagged and cleared as though they carried marker balls. A blank range still means the whole string carries them, so a job that never set one is unchanged. Chart Finder still weighs its scans as though the whole string were marked; it works from a sag observation rather than a span, and it suggests a chart to review rather than producing a clearance
- Phase Set separation: the separation between separately-strung phases is now measured in three dimensions along the span, with each conductor at its recorded offset across the line and at its insulator's height above the attachment, as the Circuit check takes it. A circuit that is horizontal on a crossarm at one pole and a vertical stack at the next is measured as the conductors actually run - side by side at one end, one above the other at the far end, closest somewhere between - where the vertical measure alone read zero at the crossarm end. A pair with no offsets recorded is measured as before
- A conductor string that is on only one of a span's two supports - a run that starts or ends at that pole, a phase split's strain pole - now reads "String not on both supports" instead of "Cross arm data incomplete"
- Clicking a cell that shows "-" now says why there is nothing to show - the same words as its tooltip - instead of opening an empty box; every row, both supports
PLAN VIEW
- Layers > Survey Notes Nearby: lists the survey marks around the centre of the plan view - or, from a right-click on empty map space, around that spot - nearest first, with the distance and bearing to each, its status and published height, and the notes its register publishes: the SMES sketch plan and mark report for a Victorian mark; the sketch plan for a New South Wales mark; the locality plan preview and the free SAILIS plan order for a South Australian mark; the SurCoM site summary, with its location diagram, for a Tasmanian mark; Landgate's mark report and station summary for a Western Australian mark from the surveyor's own Landgate data; the point protocol for a Swiss fixed point; the Geodetic Database page for a New Zealand mark; and the survey control report link Queensland's register carries, whose service is not answering at present - the list says so when it is asked. The ACT publishes no document for a mark. Double-click a mark to open its first note; Show on plan rings the mark on the plan with the survey marks switched on, and Details and Add as survey point work as they do from the mark's own menu. A note fetched once is kept on the computer, so a sketch plan looked at in the office opens in the field without a connection, and the list says which notes are already kept
- A property boundary's menu offers Survey plans and field records... - the plans the parcel is made by, and the abstracts of field records behind them. The window names what is at the tap (Lot 1 on LP92714, and its SPI), lists the plans annotated nearby with how far away each one is, and fetches any of them from LASSI as a PDF, keeping a copy on the computer so a plan looked at in the office opens in the field without a connection. Victoria only: the other registers publish a parcel's lot and plan number but not the plan itself
- Tapping the line of a point string opens the string's menu - String 3 - Road casement, how many points it has and from which to which, its length along them (on the ground too when the job presents ground), and the codes on it - with Change points on this string, Change string number, Name this string, Order string along the ground and Copy summary. An area the plan fills, such as a house, opens the menu from its outline and gives its perimeter and the area inside; a tap inside it is still open ground for Add Point Here. A power line span's menu, and the menu of a map-layer feature drawn along a string, offer the string's menu as well. Change points lists the string's points in the order the plan joins them, each ticked, and gives the ticked ones a description code, another string (one of the job's, a new one, or none), words added to their remarks, and a reduced level where they have none - one Undo step for the lot. The string picker lists the job's strings by name, and clicking String names the one chosen. Moving a whole string to an unused number takes its name with it
- Tool box: Point > Add point adds a point exactly where the map is clicked, however close it is to a point already there. A click on or beside a point opened that point's menu instead, so a point could not be put down next to one. While the mode is on the pointer is a cross-hair and the tool box shows the easting and northing under it - with the ground coordinates beneath when the job presents ground - and each click opens the same Add Point box as right-click > Add Point Here. An easting and northing can also be typed into the tool box and added with Add or Return: the spot is marked on the plan as the numbers are typed, and the view moves to it when it is off screen. A drag still pans, and Esc leaves the mode
- Tool box Draw > Generate: each run of the shape - the arc and each offset - has its own String picker beside its description code. The picker lists the job's point strings with their names (3 - William St) and starts on a new string of the run's own, and clicking String beside it names the string chosen; the naming box lists every string already in the job, as in the Add Point box
- Tool box Draw > Generate: an arc generated with an offset no longer has a line drawn from the end of the arc to the start of the offset. The whole shape went on one string number, so the offset's points continued the arc's string; each run now goes on a string of its own
- The menu of a survey mark, a property, a street or a cadastral point, opened on its own, now shows what it is for as its first line - Survey mark 317602870, Property 123456. The title was drawn as a section header, which Windows 11 shows as a plain line with no words
- Map data: switching on a layer whose data the surveyor obtains themselves - the Swiss cantonal cadastre from geodienste.ch, Landgate's Western Australian registers - said it was an optional download component to add from the maintenance tool, which has no such component. The notice now gives the publisher's download instructions, the exact file nPoles will look for, and the Layers > Map Data > Add data file route. A file that is on the computer but would not open says so, with the reason, instead of being reported as not installed. Map Data lists such a dataset as one you download yourself, with the instructions in its tooltip, rather than as supplied with nPoles
- Layers menu on a Swiss job: the layers with no data there read "none for France". France's map area reaches round Bern, Zurich, Basel and Geneva, and a Swiss job was taken to be in France; outside the Canton of Bern, Show Property Boundaries was also listed as available on the strength of France's live cadastre service, then said it was not available for France. The job's datum now decides the country: a CH1903+/LV95 job reads "none for Switzerland", and a job near the border on ETRS89 stays in France. On the desktop, the notice for the Bern cadastre no longer says to install it in nPoles Field mini: it gives the geodienste.ch download link and the file to unpack
- Layers menu on a New Zealand or Swiss job: Show Survey Marks, Show Property Boundaries, Show Road Casements, Show Street Names and Show Cadastral Points unticked themselves at once and drew nothing, with no message, even where the data was on the computer - the New Zealand map data, the Swiss survey marks, or a canton's cadastre obtained from geodienste.ch. The menu item now stays on and the layer draws. Parcels from a GeoPackage that describes its geometry only generically, as geodienste.ch's cadastral survey does, are now also added to a survey as closed boundaries, without a second point on top of each first corner
POINT EDIT
- Every point has a Photos and Files window - the photos taken in the field and any existing photos, documents or other files attached to it, in any mix of formats. Attach Files... copies what is picked into the job's photo folder beside the job file, the same folder nPoles Field mini keeps its photos in, so the files travel with the job; a picture is shown in the window, any file opens in the program Windows uses for it, Show in Folder finds it on disk, and Remove from Point takes a file off the point and leaves it in the folder. It opens from the Photos && Files button beside Next and Previous in Point Edit - which counts what the point carries - and from the point's own menu in the plan view. Before this the desktop could only look at the two named pole shots, and never saw the other photos a phone had taken
- Saving a point no longer drops the fields the dialog has no box for. A point edited on the desktop lost its photos and the files attached to it, the record of how its GNSS corrections stood, a sag shot's weather, a measured object's outline, the footing method and the bolt holes - the saved point was built from the boxes on screen alone. Every box still wins over the stored value, so nothing typed or unticked is kept against the surveyor's wishes
- Circuits: each circuit row has a Structure button that opens a small window for the circuit's Type (INT, ST, TERM, ANCH, T/O...), Arm (the crossarm code, from the crossarm database) and Insulator (from the insulator database, shown as the field book writes it; Per position... sets Left, Centre and Right apart when an arm carries more than one). The button shows the arm and its tooltip the whole identity, so the row keeps its width for the remark. Generate on the Pole Formatted Description now writes the whole description from the point - the pole, its stays and one line per circuit from those columns, highest first - and a second press replaces only the block it wrote, leaving anything typed around it. The scratch table of voltage, type, crossarm and insulator lists is gone with the Insert and Clear buttons beside it; the sub-station and miscellaneous lists stay. A crossarm or insulator a database does not carry can still be typed and is kept as written
- Circuits: the Structure window records how the insulator is mounted - Orientation, V vertical or H horizontal - for the whole arm, or beside each position in Per position.... Picking an insulator that the insulator database allows to be mounted only one way fills it in; one that may go either way is left to be chosen. The orientation shows on the Structure button's tooltip, is kept in the job file, and is the same record nPoles Field mini reads and writes.
- Circuits: in the Structure window a click anywhere on a box opens its list, and each box shows the start of its entry rather than the end. The crossarm's length sits above the Arm box and the insulator's above the Insulator box - each position's when they differ - and Per position... shows each position's length above its box. Fill Ins heights and Fill offsets fill the circuit's row on OK from the databases by the same rules as nPoles Field mini's Ins and Off buttons: a vertical post or pin its length above the arm, a horizontal insulator 0; the crossarm's conductor spacing either side plus a horizontal insulator's length, since it holds its conductor at its far end, and Centre 0.000, on the pole. A value from a measured 3D shot is kept, and the window says what OK will fill.
- Structure window: Fill offsets no longer adds a horizontal insulator's length on a terminated circuit. A termination, strain, anchor or tee-off holds its insulators in line with the conductor rather than across the arm, so the conductor stays at the crossarm's own conductor spacing - 1.200 either side of a 2.4 m arm, not 1.950 - and a horizontal insulator at Centre then sits on the pole centreline instead of being left. An intermediate still carries the conductor out past the end of the insulator. With no structure type recorded the insulator is taken to lie across the arm, and the note says so
- Copy point data now brings the pole description across, and the Sub Station and Miscellaneous rows no longer double up after a change of settings profile. The description is kept as plain text; one with bold or italic applied keeps its formatting
- Pole description: the timber species, its form and whether it is treated are written only for a timber pole. A pole entered as wood and then corrected to concrete keeps those values - the surveyor may set the type back - but Generate wrote them into the description of a concrete pole. With no pole type recorded the species is still written, as the only word on what the pole is
- A company profile that carries no word for a footpath strut no longer crashes Point Edit as it opens
- A right click on a circuit's conductor string box offers Edit string 27 - Main St..., which opens String Properties straight on that string, and Conductor strings... under it for the whole list. The box under the pointer is the one edited, whichever circuit tab is open; a circuit holding Not Active or 0 - Non String has no string to edit and the menu says so
CIRCUITS
- Circuits view: a right click on a conductor string offers Edit string 27 - Main St..., which opens String Properties straight on that string. The row under the pointer is the one edited, whatever was selected before
- Ins and Off: a circuit whose conductor string carries ONE conductor - a phase strung on its own, an aerial earth, a single-wire earth return - is filled on the Left, where the field book starts, instead of in the Centre. A position that already holds a value is still the one filled, since that is where the surveyor put the conductor
CONDUCTOR STRINGS
- Additional Weight: aircraft and line markers can be given a shape and a drag coefficient. The shape - a marker ball, a sleeve, a flat plate or flag, a spiral or damper - fills in a starting coefficient which can be typed over; the figure to use is whatever the distributor's own standard gives, and the ones offered are the ordinary published values rather than anything from a line design standard. It changes only how much wind the marker catches. Its mass is untouched, and so is the ice it gathers, because ice forms on the marker's real size whatever shape it is. A coefficient of 1.00 applies the wind exactly as the stringing chart's pressure gives it, which is the documented method and what nPoles has always done: a conductor string nobody touches is unchanged, and the coefficient is written to the job file only when it is something else. It carries through to the stringing chart, the individual span, the clearance checks, Chart Finder and Pole Load
- Line markers: turning a string's aerial markers on no longer switches its stringing chart's bundled conductor back on with them. A string set to carry the catenary only - a CATV catenary without its coax, say - was given the coax back the moment it carried markers, because the markers and the chart's bundle shared one switch. Going the other way, several checks cleared the whole list to get the markers in and threw away a bundled conductor the string did want. The chart's bundle, the conductors listed on the string's own Additional Conductors tab and the markers are now counted independently of one another, so each is there when it should be and absent when it should not
- Additional Weight: the tab now says how many spans of the string actually carry the markers, and Show Points lists them - both worked out the same way the clearance does, so the tab and the calculation cannot disagree. The count was always there but never filled in, and the button never did anything. Only include supports stays ticked and greyed because markers are carried on the spans between supports and it can only ever be true; it now says so when pointed at
- Phase sets: a circuit strung per phase - split into one conductor string per phase by Chart Finder, or linked by hand - is now shown as one thing. The Circuits view is a tree: the circuit's own string with each phase nested under it, and the same order in String Properties' string box with a branch mark on each phase. In String Properties the Phase Set group now says the whole relationship in words for every member - the circuit's string names its phases, a phase names its circuit and the other phases - and follows the Phase of choice before it is saved. The HTML copy of the Circuits view keeps the nesting. Chart Finder's split by phase now leaves every string in the set, the kept one included, with one conductor, where each copy used to carry the whole circuit's count
- The window no longer opens at almost full screen and then shrinks. It was put on screen empty at its designed size, then filled and resized, which read as a flash - most visible opening a conductor string from Pole Load. It is now filled, sized and placed before it appears, so it arrives once; and where it is not set to open at the top of the screen it is centred on the window that opened it
- Deleting a conductor string no longer doubles the Asset owner, Conductor material, Circuit voltage and String reference lists. Those boxes were refilled without being emptied first, so a second delete listed every entry three times
3D VIEWS & EXPORTS
- 3D views, Pole Load and the exports: a circuit's crossarm, structure type and insulator, as recorded on its row in Point Edit, now drive the drawing - the crossarm's length and shape from the crossarm database, the insulator's length from the insulator database, terminal or intermediate from the structure type - in the pole sketch, the route view, the clearance view, the pole schematic, the DXF and STEP exports and the pole load wind calculation alike. The pole description text is read only for a circuit whose row records nothing, as before. The STEP export and the clearance view, which read a string number as a crossarm code and so always drew the default arm, now draw the recorded arm; Pole Load's insulator wind load uses each circuit's recorded insulator instead of one representative
- Route 3D, Export to DXF, STEP and 3D Web: every conductor of every span is now written, as the view draws them - a crossarm's three conductors, and each phase of a circuit strung per phase, so a circuit turning from horizontal to vertical along the line arrives in CAD as it runs. The first conductor of each span was written before, and the DXF copy stopped 25 m from the pole; it now runs the full span
CROSSARM & INSULATOR DATABASES
- Every insulator record now carries the code the field book writes for it (9S.I., 9 SH, GLS DISC, PIN INS...) in the company's own spelling, and the types the field books use that the databases lacked are records - the 5-shed 11kV post, the 7-, 10- and 11-shed posts, the clamp-top type 2, the cycloaliphatic LV pin, the composite (POLY) line post and the glass, white and fog-type discs - each marked Unverified with its estimated dimensions stated in its notes, for review. The crossarm databases gain the LV L-series arms (L11, L13, L15, L51, L53, L55, L61) and AusNet's steel arms S(INT)2.0/75, S(INT)2.6/75, S(ST)2.6/100 and S(ST)2.6/125. Point Edit's Ins. type column and Field mini's insulator picker show the field-book code; the pole description prints it. The 3D views, the pole schematic, the exports and Pole Load's wind calculation now also find a record from the field book's word - a pole description line written as "22kV INT (SL2,9SI)", or a type typed rather than picked - whatever the spelling (9S.I., 9SI, 9 SH, 9SH), where only the database code matched before. doc/STRUCTURE_DATABASES.md describes the databases and lists what still needs a standard's confirmation
GNSS
- User Settings, GNSS corrections: Choose now lands on a station rather than on the top of the list. The mount point already set is selected when the caster still carries it, so nothing moves underneath you; when none is set, the nearest station to the job is picked out and named in the heading, and OK takes it. When the mount point set is materially farther than the nearest - a band worse for fixing, or more than twice as far - the heading says which station is nearer and by how much, and leaves the choice alone. When the nearest station is not close enough to work from, the heading lists what can be done about it: a base of your own over a known mark, a network or VRS mount point if the caster offers one, another provider, long observations and post-processing once RTK is out of reach, or carrying on knowing that every point records the station it was measured against and how far away it was. The station table can now be copied out of with Ctrl+C
- GNSS stake out: the window opens on the job point nearest the rover. The pegs a stake out recorded, in nPoles or in nPoles Field mini, are never picked.
SURVEYING CALCULATOR
- The Instr. Hgt caption beside the instrument height is now a button that reads the height from a Leica total station on GeoCOM. A Leica TS07 or TS10 measures its own height with AutoHeight in the instrument's Setup, and one click brings that height into nPoles instead of it being read off the instrument and typed in. A station set up without a height, a busy instrument and makes that cannot be asked say so in the status line
LINKED DEVICES
- Push to a linked device: every photo and file of every point goes with the job, not only the two named pole shots
SETTINGS
- Cross Arm Structure Settings: the window now opens in the same font as the other nPoles forms, can be resized from its corner down to a sensible minimum, and stays in front of the main window
HELP
- Send Bug or Idea: the email box starts with the address the licence is registered to when no other address has been kept, so an answer can come back without anything typed. An address typed here is remembered and used instead.
FILE DIALOGS
- With the nPoles keyboard on, Open and Save As no longer wait on a mapped network drive that cannot be reached - a job last opened from the office share made them take about a minute in the field. The folder a dialog starts in is checked first, a drive that does not answer within a moment is replaced by the last reachable folder with the file name kept, and the answer is remembered for the next dialog. Folder icons are no longer looked up one by one either
nPoles v1.4.186 - What's New
Release Date: 15 September 2026
POINT EDIT
- 3D conductor reads: the conductor offset derived from a reflectorless shot is now the shot's distance across the line from the crossarm, not the plan distance between the two. The beam lands wherever it first meets the conductor, and with the instrument standing near the line that is some way down the span: a centre conductor read as 1.03 m from the pole when it hung 0.04 m from it, and the outer offsets came out up to 0.3 m long. How far along the span the beam landed is now in the survey log. A conductor shot already stored is re-derived the next time its crossarm is read
GNSS
- Surveying Calculator: the receiver's antenna phase centre now comes off every height with the antenna height. A receiver reports where its antenna is, so GNSS heights stood high by the phase centre's height above the base of the unit - 58.3 mm on a SparkPNT FPM-T. The figure is a setting of the receiver, in User Settings under GNSS beside the receiver model: it starts from the maker's calibration and changes only when a different receiver is chosen. Each point's height basis names the figure, the survey log records it, and nothing comes off while Reports pole tip is ticked. The antenna height is measured from the pole tip to the base of the unit
- User Settings: the NTRIP station list now says how RTK from the nearest station is likely to go at the job - whether any receiver, only a multi-band one, or none will fix reliably there, the precision to expect, and when to take your own base. A job with no location yet says how to plan for a site: give it its address in Survey Properties and choose again
IMPORT & JOB FILES
- Insert File: the custom stringing charts the inserted conductor strings use now come with them. Only the charts those strings name are brought across; a chart the job already holds unchanged is used as it is, and a chart of the same name that differs from the job's comes in under a new name, the file's strings following it. The strings used to arrive naming charts the job did not have, so their circuits showed on the plan and opened with no chart
- Import LandXML: string numbers now also come from the controller's text export when the LandXML file's name ends in XML - "Survey 12 XML.xml" beside "Survey 12.txt". Only a text export named exactly like the LandXML file was looked for, so every point came in on string 0. When no text export matches, the import summary now says so and names the file it looked for
SURVEY MARKS
- Plan view: Victorian marks are drawn with the SMES symbols surveyors know from LASSI - the blue triangle for an SCN mark, the arrow for an approximate position, the plus for a PCM, with the green ring for spirit-levelled AHD, the dark green disc for an adjusted AHD, the purple square for an approximate AHD, and a red dot for a defective mark. Details and the mark's tooltip say what its symbol means
- Plan view: marks in New South Wales, the ACT, Tasmania and New Zealand, and in Landgate's Western Australian register once it has been added, are drawn with the symbols each register's own map uses, at its own sizes - by mark type in NSW, coloured for what is known of the position and the height; by mark type in the ACT; by horizontal order in Tasmania; by order in New Zealand, the number on the symbol; by circular error in Landgate's. A mark the register records destroyed, damaged or gone is struck through, and Details names what its symbol means. Queensland, South Australian and Swiss marks keep the coloured mark glyph
HELP
- Send Bug or Idea: a bug report or an idea goes straight to nPoles support from inside nPoles, with the logs of this session and the one before and the last crash report, unless their box is unticked. Nothing has to be typed - when support asks for a report, opening it and pressing Send is enough - and the report number it shows can be quoted. Without a connection, the report can be saved to a file to email instead
VIRTUAL KEYBOARD
- User Settings: the notice that turning the virtual keyboard on or off takes effect after a restart is kept clear of both keyboards. The nPoles keyboard stays down for as long as the notice is up, whatever else asks for it meanwhile, and the Windows touch keyboard is asked to go; should it stay, the notice sits at the top of the screen
- Tapping the field being typed in now brings the keyboard back when it has been minimised or closed. Only moving to a different field did, so after a tap in the same field the keyboard stayed away and the Windows touch keyboard could open in its place
CHART FINDER
- Messages about the shot taken on the conductor say conductor rather than wire - No conductor shot in this span, check the conductor shot at point 12 - and a point matched by its remark reads legacy conductor point
nPoles v1.4.185 - What's New
Release Date: 14 September 2026
IMPORT & JOB FILES
- Insert File: a conductor string in the file whose number the job already uses with a different definition is no longer skipped in silence - the inserted points drew on the job's string while the file's conductor and chart never arrived. A box lists each such string with what the job has, what the file has and how they differ, and asks: take the file's definition under a suggested new number (the inserted points move with it), replace the job's definition with the file's, or keep the job's. A number held with the same definition needs no question
STRINGING CHARTS
- AusNet stringing charts: the SC/GZ charts AusNet has since formalised as standard drawings now carry the STND number as their drawing title, the title the conductor schedule prints: EVX18/25 as STND-0352229, EVX18/29 as STND-0352230, EVX18/22 as STND-0352231, EVX18/26 as STND-0352232 and EVX18/33 as STND-0352233. The charts keep their names, so jobs that use them open unchanged; a job keeps the drawing title already recorded on its strings until the chart is chosen again in String Properties or applied from Chart Finder
nPoles v1.4.184 - What's New
Release Date: 14 September 2026
IMPORT & JOB FILES
- Insert File: the conductor strings brought in with the points are now only the ones those points carry, by default; Every string in the file remains an option beside it. The old job's whole string list used to come along, to be deleted one by one
CONDUCTOR STRINGS
- String Properties: Delete now says how many points carry the string before it goes, and a Delete Unused button removes every string no point carries in one go, after listing them. Deleting a string still carried by points left their circuits drawn on the plan while the string was gone from every list
nPoles v1.4.183 - What's New
Release Date: 13 September 2026
GENERAL
- Outdoors: radio buttons and tick boxes are now solid, high-contrast marks - a filled dark disc or square when on, a light one with a dark outline when off, and a little larger - instead of Windows 11's thin grey rings, which vanish on a screen in daylight. Everything else keeps the Windows look
POINT EDIT
- Circuits 17 to 24 now take total station readings exactly like 1 to 16 - the crossarm height, the three insulator boxes, the three offset boxes and the remark - for a reflectorless read and for a height from the vertical angle. They had been left out of the reading routing when the dialog grew past 16 circuits, so a read with one of their boxes selected did nothing
- Reflectorless reads on the conductor boxes: a full read taken with an offset box selected now goes where it should. Tapping the Left or Right offset box and reading sent the height to whichever box was tapped before it, and the centre offset box recorded nothing visible; an offset box now takes the read exactly as its insulator box does, filling both the insulator height and the offset from the one shot
- Reflectorless reads: the centre conductor offset now carries its side - negative when the wire is left of the line, positive to the right, facing along the string from the previous pole - as the plan, the 3D views and Clearances Check already read it. It was always written positive. Left and Right offsets are unchanged, their box names the side. A point whose string gives no direction (a lone point, or a string on no other point) keeps the unsigned distance and the read log says so
- The height, insulator and stay boxes that turn green for a stored reflectorless observation now show the User Settings font like every other box. They had dropped to the system default, so text sizes on the Circuits tabs differed. The font chosen in User Settings also reaches the dialog on every open, not only the first
- Point strings can be named. The word String beside the string number in Point Edit is now a link: click it and a small box takes a name for that string - William St, kerb, road edge, the pole line. The name belongs to the string, not the point, so every point on it shares it; it shows in the string box itself in Point Edit and in the main window's Add Point box, as 1 - road, in the Surveying Calculator's String box beside the description code and in its points table, in Clearances Check's pole string list, in the plan view's point description, and when hovering the string's line on the plan view above the length and bearing; and Design > Point String Names lists every string in the job with its name and how many points sit on it, editable in place. Saved in the job file; nPoles Field mini shows and edits the same name in its point form
- Point strings: the string boxes in Point Edit, the Surveying Calculator and the Add Point dialogs keep the start of the label in view - 3 - William St - after a fill or a rename. A box narrower than the label had scrolled to the end and showed only the name, with the string number out of sight
- Conductor strings: every job's list now starts with Not Active and 0 - Non String, and every circuit's string box in Point Edit offers both however the other circuits are assigned. A job from an older build, or one edited by hand, that lacked them or held them elsewhere in its list gains or moves them as it opens; String Properties no longer lets either be deleted
SURVEYING CALCULATOR
- Station Readings: a String box beside the description code shows and sets the string the accepted point joins, with its name as 3 - William St. The latest point with the same description code still lends its string, as before, but the box now shows which, and another can be picked or a new number typed before Accept. The word String beside it is a link that names the string, as in Point Edit, and the naming box's underlined word pops up the job's strings with their names. The point number box moves down to the accept row, left of Accept with Pt No above it, and Edit After Accept is now a tick box under an Edit Accept(F8) label
- A Connect Station button beside Disconnect Station. It closes and re-opens the station port, which makes Windows connect the Bluetooth link to the station again - for a laptop whose remembered link stops answering after the station is power-cycled. A port that will not open is now named in the status line with the reason and what to do (another program holding it, the pairing gone, the licence), where before the line only said the reading had failed
SURVEY MARKS
- The mark record now says what the AHD order means under the order itself - third order is the AHD network's own levelling tier, a forward-and-reverse misclosure within 12√K mm (K the run in km, 12 mm over 1 km), typically within about ±0.1 m of the national levelling network; fourth and fifth order name their looser tiers, and 99 reads as no order assigned
IMPORT & JOB FILES
- Import LandXML: a controller's LandXML carries no string numbers, so every point arrived on string 0 (reported on v1.4.182). When the controller's text export sits beside the .xml under the same name, the string numbers in it are now put on the matching points. And when the file's strings are numbers the job already uses - a pole line on string 2 arriving in a job whose string 2 is a parcel boundary - the import offers to renumber the file's strings to the next free numbers so the lines stay apart, or to keep the numbers; the import summary says what was done
- Job files: a recorded air temperature of zero or below on a point (a frosty-morning sag shot) now reaches the job file; it was dropped on save
- Import Poles and Create job from log file no longer carry the previously open job's special stringing charts into the new job; they were saved into it and doubled on a re-import
USER SETTINGS
- The notice that a virtual keyboard change takes effect after a restart now appears above the keyboard and its text can be copied. The keyboard stayed on top of it, so after unticking the keyboard the notice to close was out of sight (reported on v1.4.182)
SURVEY PROPERTIES & DATUMS
- An address looked up names the electricity distributor whose area its postcode is in and the settings profile that is, and a survey with no points yet is switched to that profile on OK (AusNet, Powercor and CitiPower, Jemena, United Energy, and the interstate distributors); a postcode on a border between two distributors is pointed out instead, and a survey with points keeps its profile. The table behind it, data/australia/distributors.json, comes from the Australian Energy Regulator's plan data
- Addresses in Czechia, Estonia, the United Kingdom, Poland, Portugal, Belgium, Luxembourg and Sweden now choose ETRS89 on UTM, as the other European countries do
- An address on a grid without zones - CH1903+ for Switzerland, NZGD2000, the Irish grid - now clears the zone field when the datum is switched for it, instead of leaving the previous zone showing
- Accepting the datum an address suggests now also sets the scale factor to follow the grid, as choosing the datum by hand does; it was left fixed at 1
PLAN VIEW
- The String number in the Add Point dialog - Add Point Here, a survey mark, a cadastral point - and in the boundary dialogs is a link, as in Point Edit: click it to name the string being chosen, and the box reads the name at once, 3 - Kerb
- The Add Property Boundary Points and Add Road Boundary Points dialogs now show their Description code, String number, First point number and Remark boxes. They were never placed in the dialog, so a fragment of the remark's hint sat over the first line and the code, string and number could not be set; the points always took the defaults. The Remark is written into every point added, ahead of the source note, and says so. This dialog and Add Lasso Selection to Survey now use the application font and style like every other dialog
- A job with no points now frames on its looked-up address every time. The view was being put back where it had been, so the map opened 20 to 25 km from the address
- The Layers menu says what is actually published where the job is. A layer with no data for that area now reads "none for the Northern Territory" beside its name, and hovering gives the reason - a commercial licence, a gap that could be filled, or simply not published. Coastline and contours are covered too; being Victorian layers with no interstate counterpart, they previously said nothing at all outside Victoria. The entries stay clickable, because turning one on is still how a surveyor asks for the data to be included
BASEMAPS & MAP DATA
- National maps and aerial imagery for Austria, the Netherlands, France, Spain, Germany, Norway, Czechia, Estonia, the United States, Japan, Argentina and Singapore, each measured against the publisher's live service; Finland and Great Britain against the surveyor's own free key. The map source list offers the ones that cover the job, and a job moving country is handed its own country's map
- Property boundaries served live for the Netherlands (Kadaster), France (IGN) and Estonia (Maa-amet), and the Dutch RD survey marks, with the publisher's credit shown; a job there names its country in the Layers menu instead of "none here"
- New Zealand aerial imagery (LINZ) now serves only against your own API key, free from basemaps.linz.govt.nz. The map source menu offers to enter it; until then the layer is not listed rather than drawing nothing
COMPANY DATA & UPDATES
- A file the start-up update could not bring into the working data (held open by a virus scanner, or in a folder it could not write) is now retried at the next start, on its own. It was noted once in the log and never attempted again until the following data release
- AusNet profile: the Description Codes list in the Database Editor, and the code names in the point editor's description list, could be empty after updating from v1.4.179 or earlier. The AusNet data folder was renamed in v1.4.180; the profile kept pointing at the old folder and the update left that old copy in place, so the profile was reading stale conductor, chart and pole databases with no description-code registry. A profile naming the old folder is now pointed at the new one as it loads, and the correction is kept on the next save
nPoles v1.4.182 - What's New
Release Date: 4 September 2026
GENERAL
- The splash screen now comes up at once and says what nPoles is doing: after a company data update the first start brings the whole data tree up to date, and it shows the count of files as it goes, so a slow disk no longer looks like nothing is happening
- New jobs no longer start with a default point inserted, in every settings profile. The job opens empty and the first point is the one you add or read in
PLAN VIEW
- Plan view can now shade an area feature. A description code can carry a fill colour, and where its points are put on a conductor string the plan view draws the string as one shaded closed shape - the footprint of a house, shed or dam - with a thin outline, instead of a symbol at every corner. The house code G9 fills a light translucent grey-brown by default; the survey underneath stays visible. Points not on a string, or on string 0, are unchanged
- The view now stays where you were whenever the job on screen is redrawn - adding a point from the map, generating points with a drawing tool or the lasso, editing, cloning, deleting or swapping a point, and switching back from the points list. The zoom and the ground under the middle of the window are kept; only opening a different job frames the view on its survey. Previously only a single Add Point Here kept the view, and everything else recentred on the survey
- A job now frames on its survey the moment it is opened, so it never lands somewhere the points cannot be seen, and the tool box gains a Zoom to survey button that fits the view to the whole survey at any time. This pairs with the view otherwise staying put across edits and additions: opening a job frames it, and everything after keeps your place until you ask to see the whole survey again
- A Snap to points tick beside Draw. Untick it to place a shape's corners exactly where you click, for drawing a building off the aerial image beside existing points, where every corner was being pulled to the nearest one. On by default and remembered; measuring is not affected
- The generate dialog now shows the conductor string number the shape's points will be put on. It defaults to a new string, so a shape draws as its own line; set it to 0 to leave the points loose with no line, or to an existing string number to add the shape to it
- A spacing of 0 now generates only the clicked corners - the four corners of a building taken off the aerial image, say - and an arc its two ends. The tool was quietly replacing a 0 with 5 m, so the corners always came with points every 5 m along the sides. A circle, which has no corners, keeps the 5 m default
- Add Point Here from a point number's menu now adds the point where the number was clicked. Previously it came in at easting 0 with a nonsense northing, because only the symbol's menu recorded the click position
- The Add Point dialog no longer changes size, and the OK button no longer moves, as the reduced level is looked up and filled in. Space for the note under the coordinates is reserved from the start
BASEMAPS & AERIAL IMAGERY
- The aerial or map image no longer sits slightly off the survey, and no longer shifts a little after the view is rebuilt. Each map tile is now laid over exactly where its four corners fall on the survey grid, so the image is turned by the grid convergence just as the ground is - about 1.2 degrees in central Victoria. Previously the image was placed square to the grid and only agreed with the survey at the centre of the view: a building 65 metres from the centre sat about 1.4 metres off its points, and because the centre is taken afresh after every rebuild - generating points with the square tool, for instance - the offset changed each time
- Show Map on a job outside the coverage of the map source last chosen now switches to a source that covers the job - a Swiss job opened after a Victorian aerial had been used drew nothing under a Victorian credit line. The Australian sources' credit lines no longer start with a stray character before the copyright sign
DESCRIPTION CODES
- The rendering panel gains Fill Colour and Fill Pattern for area codes like G9 House, and a Line Width for the outline. A code with a fill colour draws its string as a shaded shape in the plan view; the width widens a boundary or a house outline from the default thin line
- The Fill Pattern list shows a sample of each pattern beside its name, drawn in the chosen fill colour
- A change saved in the editor now shows in nPoles at once - the code list is reloaded and the plan view redrawn where it stands - instead of waiting for a restart. The editor also gains Fill Opacity, 0 to 100 percent, for area codes; 25 is the default so the survey shows through a house. Note a white fill on the white plan is invisible at any opacity, as is a white pattern; the swatch beside Fill Colour shows what will be drawn
SURVEY PROPERTIES & DATUMS
- A job anywhere in the world can now be set up from its address alone. Looking up an address works out the country and offers that country's national datum and zone; the datum box itself stays the Australia and New Zealand list, and a datum chosen this way - ETRS89 for Italy, Germany, the Netherlands, Denmark, Finland, Norway, France, Spain and Austria; CH1903+ for Switzerland; the Irish and South African grids - appears in the box only while the job is on it, so the list never becomes the sprawling catalogue other surveying products show. The country comes from the address itself rather than from a map box, which is what tells Munich from Austria and Bern from France. ETRS89 jobs project on plain UTM, import and export with their EPSG codes, and are named properly in Point Edit. AHD is no longer offered as a height datum on another country's grid
MAP DATA LAYERS
- Map data (published 04.09.2026, available to every installed version through the maintenance tool): the New Zealand survey marks, boundary marks, parcels, road parcels and roads are refreshed to LINZ's late-August publication, and three components that were defined but had never been published are now downloadable - Victoria spot heights, Victoria statewide contours, and the Swiss survey fixed points
COMPANY DATA & UPDATES
- No longer overwrite anything. The maintenance tool now only replaces the shipped copy under the install folder; on its next start nPoles brings that into the shared data folder file by file: new files arrive, files never edited are brought up to date (the old copy kept in the backup folder), and a database or settings profile you edited is kept exactly as it is, with the new shipped version placed beside it (ending in .shipped) so the two can be compared. nPoles also says, once, when the company data installed is older than the program, with a button that opens the maintenance tool. Map packs installed after this change are found under the install folder without being copied
- Now merge an edited database instead of setting it aside. For the pole, crossarm, insulator, transformer, description-code, timber-species and abbreviation databases, a file edited in the Database Editor is merged record by record when new company data arrives: records you changed are kept, records you never touched take the new shipped version, new shipped records are added, and nothing of yours is removed. The file as it was is kept in the backup folder. Other edited files are still kept whole with the shipped version placed beside them
- Now bring shipped changes to the settings profiles through to established installs. The profiles file is merged profile by profile and field by field when new company data arrives: a setting you changed is kept, one you never changed takes the new shipped value, a profile new to nPoles is added, and a profile you removed stays removed. Previously an established install kept its profiles file whole, so no shipped profile change ever reached it
- Now keep the data they replace. Before the Australian Company Data component copies the shipped databases and settings profiles over the shared data folder, the folder is moved to a backup beside it (two generations kept, map packs skipped), so a database edited in the Database Editor or a customised profile can never be silently lost. This is live for every installed version through the maintenance tool. On its next start nPoles says, once, where the previous data was kept
nPoles v1.4.181 - What's New
Release Date: 4 September 2026
GENERAL
- New Undo button, beside Save and Quick Backup on the toolbar, covers point-mutating actions across the app - editing, cloning, deleting or backing up a point, swapping point numbers, importing points from a file, adding points from the lasso tool or a tapped map feature, and whole-survey coordinate changes from Transform Datum, Tie to Control and Re-base Survey. Click it for a history of recent actions, most recent first; picking one shows exactly what undoing it will change - every field that differs for a single point, or a plain list of what's affected for anything touching more than one point - before anything is undone. History is in memory only: not saved with the job, and gone once it's closed
- nPoles now notices when it crashed. A crash writes a capture file with the failure's technical details, and the next start asks - once, with OK / Don't send - whether to send a report to nPoles so the bug can be fixed. The report holds the crash details, the registration name and key so the fix can be confirmed back, and the recent nPoles log; nothing is sent without OK, and if npoles.com is unreachable the report can be saved to a file for emailing instead. Endings a crash handler cannot see - power loss, a forced kill - are noticed too, from a run marker each start leaves behind and a clean exit removes
- The crash-report prompt no longer reappears on every start. A report was offered whenever the previous run did not close cleanly - but an unclean close is not always a crash (it also covers a forced close, a power loss, or the app being ended by hand), and the prompt could repeat because each start left its own marker for the next start to notice. The prompt now appears only when the app actually captured a crash, and the run markers are always cleaned up quietly
- Every message box in nPoles can now have its text selected and copied, and uses the application's own font instead of the system one. Previously none of them could be copied at all - an error had to be retyped or photographed to pass it on
- Fixed nPoles failing to start. The floating imagery-year box was being attached to the plan view before the plan view existed, which crashed the application during start-up before it drew anything
- The main window, too, always comes back onto a screen that is connected. Its remembered position was restored as saved, so a tablet undocked from an office monitor could start with nPoles on the taskbar but nowhere to be seen. A window closed maximised now also comes back maximised, rather than as a normal window the size of the old monitor, and un-maximising it later lands on the screen in use
- Shipped settings files no longer carry the paths of whoever built them. Running nPoles from a development tree writes its own last-opened job, last DXF and quick backup folder back into the settings files that ship to customers, and three customer job paths had been going out in the Victorian profile that way. All of them are blanked, the installer now scrubs the whole shipped data folder rather than two files named by hand, and the check that guards this looks at every settings file in the tree instead of the four it used to be told about
- The remembered last survey file and last DXF export - used only to start file dialogs in a sensible folder - now live in the machine's own user settings rather than inside the settings profile file. Nothing changes day to day: dialogs still open where you last worked, the Survey Files Path in User Settings still works, and a machine updating from an older version keeps its remembered paths. What changes is what can never happen again: those paths can no longer be written into a settings file that travels - the profile file now carries the fields empty
- Quick Backup with no backup folder set now says so instead of misbehaving. The shipped defaults deliberately carry no folder, so this is what a fresh install does the first time the button is pressed
POINT EDIT
- Point Edit always opens on a screen that is connected. The dialog remembers where it was last shown, and a tablet that had it on a second or third office monitor put it at the same place in the field - where there is no screen - so it opened out of sight and, being a dialog that must be answered before anything else, left nPoles apparently frozen every time a height was read. Its remembered position is now checked against the screens actually connected each time it opens, wherever it opens from - the points list, the Surveying Calculator, Pole Load or Clearances - and it is placed on the screen it was opened from when its own is gone. It is also never left larger than that screen or hanging off its edge with the buttons out of reach. A dialog kept on a second monitor that is still connected stays there
- Point Edit's Point Backup tab now leads with the point as it stands - a bold first row showing today's values with no buttons - and every row carries circuit heights 1 to 8 and stay heights 1 and 2 after the Diff/Restore/Delete buttons, with the table scrolling sideways to reach them, so a backup's heights read against the current ones at a glance. Editing a backup's Notes cell also works again: it has been blocked since the tab was built by a table-wide no-edit setting
- Defining conductor strings from inside Edit Point no longer scrambles the circuit string lists. Accepting Conductor String Properties re-added the whole string list to every circuit's dropdown without clearing it first, so each visit duplicated the entries; the lists are now rebuilt cleanly and each circuit keeps its assigned string - matched by string number, so a renamed string keeps its circuit too. String backups now also travel the whole Surveying Calculator route: editing a point from the calculator and opening Conductor String Properties previously showed stale backups from an earlier context and dropped any backup made there when the calculator closed
- The centre insulator of a delta construction can now have its own pole attachment surveyed. On these poles the centre phase's insulator mounts on the pole above the crossarm, so its base is not where the arm meets the pole - a reflectorless read with the centre conductor offset field selected stores that base with the job, and the 3D views and pole schematic draw the centre insulator from its true mount (the reflectorless read also now lands in the right place with a centre offset field selected, instead of wherever the previous reading went). Insulator heights and offsets keep their existing meanings; jobs without the extra shot are unchanged
- A reflectorless read can no longer land in the wrong box. Tapping a box tells the next read where to go; the centre conductor offset boxes did not register the tap under v1.4.180, so a read taken after tapping one went to whichever box was tapped before it - overwriting that box's value and its stored 3D observation, commonly a left or right insulator just surveyed. The centre boxes now route correctly (they store the centre insulator base), and the same guard covers circuits 17 to 24, whose boxes have never had reflectorless routing: a read taken with one of those selected now does nothing at all rather than changing an unrelated box
- A height field's stored 3D observation now shows in its tooltip - hover any attachment, insulator, stay or pole-tip field and the coordinates appear on the line below the field's usual hint, or "No 3D observation recorded" when there is none. The long-press popup is retired: dragging across a height to copy it read as a press-and-hold and fired the popup mid-drag
- Spatial Data: the derived coordinates box is wider and the Position box narrower, so the numbers fit. Position had three fields in half the tab and room to spare while the derived row beside it was clipping - Point SF read "996123" with the "0.9999" cut off the front, and Height SF the same. "Ground Easting" and "Ground Northing" are now "Gnd Easting" and "Gnd Northing": every column in that row is as wide as its own caption, so those two were taking width straight off the scale factors beside them
- Spatial tab: a Look Up RL button above Adjust Heights finds the ground level at the point's own coordinates and offers it as the reduced level. It shows what it found, which source answered and how far away it was measured before anything is changed - a contour is the height of a line some distance away and a terrain model is a model, neither being a level surveyed at the point. It works wherever Point Edit is opened from: the plan view, the Surveying Calculator and Pole Load
- The Look Up RL button in Point Edit, Spatial tab, is now actually there. It was built but never shown: whether to show it was decided while the dialog was being constructed, which is before the application hands it the means to look a level up, and because the dialog is kept and reused that answer was never revisited. It is now decided every time the dialog opens
- Point Edit opened from Clearances now offers Look Up RL as well. That is the one place the dialog is opened from that was passing nothing through to it
- Spatial tab: the Position box no longer says "datum not set" on a job whose datum is perfectly well set. Only the Australian and New Zealand grids were named; CH1903+/LV95, the Irish Transverse Mercator, the South African Lo belts and WGS84 UTM all fell through to the same message as a job with no datum at all, which on a Swiss job read as a fault in the job. Each now names its own grid
CLEARANCES & POLE LOAD
- Clearances Check and Pole Load now see every circuit on a pole. nPoles has offered 24 circuits per pole for some time, but the routines that look up a conductor string on its supports still stopped at circuit 16 in Clearances Check and at 20 in Pole Load, so a string recorded on a higher circuit came back with no heights: Clearances Check quietly skipped its ground, circuit, phase, object and uplift checks with no row and no warning, and Pole Load found no span for it. All of these now cover the full range. The same lookups also now fall back to the centre insulator height when a circuit has no left or right insulator - a single wire on a pole-top pin - as every other part of nPoles already did, so such a circuit is checked at its true conductor height rather than at the attachment. In the Clearances Check dialog itself, the height boxes for circuits 17 to 24 now show the point's heights and save edits made in them; they showed 0 and dropped edits before
- Every remaining place that looks a conductor string up on its supports now covers all 24 circuits. After the Clearances Check and Pole Load fix, a sweep of the whole program found the same pattern in Chart Finder, Individual Span, Setting MES, Standards Parameters, the conductor and joint-use schedules, the assistant's conductor summary, the Surveying Calculator's temporary points, String Properties and Pole Load's circuit titles - most stopping at circuit 16, several at 15. A string on a higher circuit found no chart, no span, was missing from the schedules and was dropped from a temporary point, all without a word. These now cover circuits 1 to 24, and the ones that read an insulator height fall back to the right, then centre, insulator like the rest of nPoles. Temporary points also now carry each circuit's description, remark and centre columns, which were never copied, and removing a string from a point with "delete all circuit info" now clears the centre columns too
3D VIEWS
- Insulators surveyed at both ends now draw exactly as shot. Where a reflectorless read captured both the insulator's attachment to the pole or crossarm and the conductor's position on it, the 3D views and Pole Load's schematic draw the insulator along the measured line - a horizontal post on a vertical construction, an angled delta centre, a longer-than-standard unit - instead of assuming a vertical or standard orientation. Fields without both shots keep the existing drawing, so jobs without 3D observations are untouched
CHART FINDER & CONDUCTOR STRINGS
- Chart Finder now shows every phase recorded on a conductor string, and can split them apart. A vertical or delta construction recorded as one string keeps its phases in the INS Left/Right/Centre columns; Chart Finder previously collapsed them to a single figure, hiding that each phase is strung at its own tension. A span with two or more phases recorded across its supports now grows a compact "Phases in this span" strip: Left, Centre and Right across one line with each phase's closest chart underneath, a Phase selector beside the Next/Previous span buttons that switches the whole span display - sag, tension and chart ranking - to the chosen phase, bringing in that phase's own sag point, plus the tension spread across the phases - in red with a plain statement when the phases' closest charts are not even the same chart. A sag point records several wires from one standing spot: its base height is the outer wires' reading (a level pair shares it), and a value in a phase's INS column is that phase's wire on top - so one midspan shot with a centre value gives Left, Right AND Centre their sags, each measured against its own attachment. From there, "Split into phase strings" turns each extra phase into its own conductor string after showing exactly what will move: supports keep one shared attachment height with each phase's columns and 3D observations travelling to the new string, wire points go to their matched phase (changeable before confirming), and the new strings are linked to the original as a phase set - so clearance checking keeps measuring phase to phase and the 3D views keep grouping the circuit. A phase recorded at only one support is listed honestly with its gap rather than hidden. The "Insulator heights differ" pop-up is gone entirely - multiple recorded columns are phases, not a conflict, and the rare genuinely-suspect case stays as a WARNING line in the calculation report, where it can be copied. The split is undoable, and single-phase spans look exactly as before
- Conductor strings gain a Phase Set - for a circuit strung one conductor string per phase, the vertical and delta constructions where each phase carries its own tension. Choose "Phase of conductor string" in Conductor String Properties (Phase Set, on the phase tab) to link the strings; on every span the linked strings share, Clearances Check measures the conductor-to-conductor separation between the phases from each string's own tension and sag, compares it against the required phase separation (VESI or AS/NZS 7000, the same methods behind the Phase column), shows it under the Phase figure - red when it does not fit - and adds a Phase Set Separation row to the printed report. The link is stored in the field the 3D route view has always read for phase grouping, so existing jobs and older nPoles versions are untouched
- The Points Tools that reorder circuits on a point (split, join, add with sort) now carry every per-circuit value with its circuit. The reorder previously moved eight of the ten columns - the centre insulator and centre offset stayed at their old row numbers, as did every stored 3D reflectorless observation, silently re-attaching them to whichever circuit landed on that row. Renaming a string on a point now also reaches circuit 16, which was previously left behind
- AusNet stringing charts: the ACSR/AC chart STND-0352209 (for 3/4/1.75 and 3/4/2.5 conductors) is restored. It was present in an earlier AusNet chart set and dropped at some point before v1.4.180; its neighbours in the same numbered series were unaffected, so it left a single gap. Existing jobs are unchanged; the chart is simply available again in Chart Finder and the conductor schedule
DESCRIPTION CODES
- Description codes C7, C8 and C9 are now in the description code lists for every SECV-lineage profile, and typing one over an existing code updates the symbol shown beside it. Their symbols have always shipped, but the code registry introduced in v1.4.179 carried only codes a source document names - these three appear in the SECV chart with no published meaning, so they are listed with the bare code until a naming source is sighted
- Description code lists no longer offer the bare single letters ("A - Pole", "C - Pole", "F - Pole", "H - Pole", "P - Pole", "S - Pole", "T - Pole" and the rest). Those letters are how the software recognises that a code marks a pole - the first letter of P1, P2, P3 and P4 - and they still do that job everywhere it matters. They were never codes to choose: offered in the list a bare "P" says only "some kind of pole" and sits one row from the code actually wanted. A code a job ALREADY uses is still offered, and any code can still be typed in
- Database Editor, a description code can now record WHAT IT NAMES - a pole, a pit, a pad or a tree - on the Description Codes tab. This does not change what clearance checking and pole load count as a pole: the profile's pole codes still decide that, so a family can still be included or excluded quickly for one run. It records what the object is, which no scenario alters (new feature)
- The Powercor code list has been given those classifications where the code's own name settles it - 46 poles, three pits, the kiosk substation and the tree. Codes the name does not settle are left blank rather than guessed at
- New description code G6, Tree Canopy, in every shipped profile. It draws as a dashed dark green line, so the points walked round a canopy join up on the plan and export to CAD the same way a boundary or a fence does. G6 sits beside G8 Tree in the list on purpose (new feature)
PLAN VIEW
- Right-click anywhere on the plan view where there is no point and a menu offers Add Point Here. The easting and northing are exactly where you clicked, and where a height is available it is filled in as the reduced level
- The Add Point dialog is now a designed form, so it uses the nPoles font and style like every other dialog instead of the system one, and its text can be selected
- Add Point Here works over a map again. The menu stood down whenever anything at all sat under the cursor - and the basemap tiles count, so with a map displayed there was no empty space anywhere on the plan view and the menu could not be reached. It was noticed first on a Swiss job, where the map is switched on and there are no points yet, but any job with a basemap displayed was affected the same way. A plain left tap on empty map space now opens the same menu as well, because a field tablet has no right button at all; a tap on a feature still belongs to that feature, and dragging the map or rotating it no longer finishes by popping a menu
- Adding a point from the plan view no longer changes the zoom. Every point added rebuilds the view, and the rebuild reset the scale to whatever the box on the plan view toolbar said - which a wheel or pinch zoom never writes to - so adding a point threw the view back out to that scale and lost the spot being worked on. The zoom and the centre are now kept across the rebuild, for points added from the map, from the lasso and from a tapped map feature alike
- A survey point's own tap menu now offers Add Point Here, at the place tapped rather than at the point. Once a point had been added its symbol covered the ground it stands on, so a second point beside it could not be started at all - the tap belonged to the symbol and only its menu appeared. Right-clicking a point, a survey mark or a cadastral feature now goes straight to the map's own Add Point menu as well, instead of opening the feature's menu and the map's one after the other: feature menus are a left-click, deliberately, and the right button belongs to the map
- The Add Point box remembers what it was last set to - the string number and the description code - so a run of points along a fence is not retyped point by point. The string is only offered again when the job actually has it, since string 4 in one job is not string 4 in another
- Swap Points can be reached from a point on the plan view: its menu offers Swap pt. N with..., and the dialog opens with that point already chosen. It was only in the Point menu and the Surveying Calculator, which meant finding both numbers in a list of the whole job while looking straight at one of them on the plan
- New tool: Order Points on a String, on the Point menu and on a point's own plan view menu. A pole line or fence surveyed out of order - walked once for what was visible, then doubled back - reads wrong everywhere consecutive numbers are taken to be neighbours on the ground, which is spans, profiles, stringing charts and clearance runs. The tool fits a line through the string, sorts the points along it and deals their own numbers back out in that order, so the job keeps the numbers it had and nothing outside the string is touched. It works on whatever bearing the run happens to take, not just north-south or east-west. Before anything changes it shows the run's bearing and length, every point's chainage along it, and how far the worst point sits off the fitted line - because a line fitted through points that are not in a line still produces a confident order, and points around a substation have no order along a line at all. A point's backups follow it to its new number, the direction can be reversed, and the whole thing is undoable
- Adding a point from the plan view no longer waits for the ground level before the box opens. The level was looked up first, so where that means asking a state elevation service - Queensland answers in about a second and a half, longer where the terrain model has no cover and the contour service is asked after it - nothing appeared on screen and the tap looked as though it had missed. The box now opens straight away, says it is looking the level up, and fills it in when the answer arrives. Everything else can be filled in meanwhile, and a reduced level typed while waiting is kept - the level that came back is reported in the note instead of replacing it. Answering the box before the lookup returns is fine and changes nothing
- Accepting a new point before its ground level came back no longer loses the level. The answer arriving after OK was discarded, and the point was created with no reduced level at all - which the points list draws as 0.000, so it read as a surveyed height of zero. The level is now used whether OK was pressed before or after it arrived, and a reduced level typed by hand is still never overwritten. Where OK is pressed while the look-up is still out, the status bar says so for the second or so it takes to finish
- The floating imagery box on the plan view is now a tool box, and the first tool in it draws a curve. Click one end, click the other, then move the pointer and the curve bends to follow it - or type a radius, which is how a design drawing states it. Everything that will be created is drawn as you move: the curve, every point along it at the chosen spacing, and the parallel curves either side. Radius, arc length, chord, mid-ordinate and the point count read out as they change. Both ends snap to survey points, marks and boundary corners, the same snapping the measure tool uses, so a curve starts exactly on the corner that was surveyed. Generate adds each run as its own conductor string, so it draws as a line rather than a row of loose points, with its own description code, numbering that skips numbers already used, and one Undo step for the lot. The offset is what makes it a road reserve: set the width, choose left, right or both, and the boundary curves are concentric with the centreline - exactly the same distance from it the whole way round. Esc leaves the tool, Backspace steps back a click, right-click abandons the curve
- The plan view tool box now holds a set of drawing tools, grouped the way the work goes: Measure first, then Create points. The shapes are the ones any CAD package offers - Line, Arc, Circle, Rectangle and Square - and each generates survey points along itself at a chosen spacing, previewed live as it is drawn. A Line takes a corner per click and finishes on a double-click or Enter; an Arc takes two ends and then bends to the pointer or to a typed radius; a Circle takes a centre and a radius; a Rectangle and a Square take two opposite corners. Every clicked corner is always kept, so a boundary is never rounded off because the spacing did not land there. The offset makes the parallel - a road reserve either side of a centreline, or inside and outside a closed shape - and it is not offered for a Line, whose corners would need mitring to be honest. Each run lands as its own conductor string with its own description code and one Undo step
- The measure tool now reports the AREA enclosed once three or more points have been tapped, in square metres and hectares, treating the run as closed back to the first point. It is the one common CAD measurement nPoles had no answer for, and it is the reason a surveyor walks a paddock at all. Distances, bearings and the ground-distance line are unchanged
- The plan view tool box no longer disappears when a job is opened. Its visibility was only ever set where the basemap year list is refreshed - which happens when the map source changes and at start-up, and nowhere else - so opening a job rebuilt the plan view without it, and the only way back was to toggle Show Map off and on. The plan view now puts its own tool box up whenever it is built or switched to
- One Tools button on the plan view toolbar now shows and hides the whole tool box, and Measure and Lasso have moved into it beside the drawing tools - they are all things done on the map, so they belong together. The button is also the way back if the box goes missing: turning it off and on again returns it to its corner. That matters because the box floats on the view rather than sitting in the map, so no amount of zooming or panning will bring a stray one back into sight. Zooming now also puts the box back where it should be, which is where it was being lost
- The plan view tool box now looks like a box. It drew no background of its own, so on an aerial photograph its buttons appeared to be lying loose on the map and the Measure and Create points labels disappeared into the imagery - which made a panel that has always been fixed to the screen read as though it were pinned to the ground and moving with it. It now has a proper frame and background, and double-clicking its grip sends it back to the top-left corner
- The plan view tool box can be shown and hidden from the map itself: click blank map space and the menu offers Show or Hide Tool Box, alongside Add Point Here. The Tools button on the plan view toolbar does the same, but sits at the right-hand end of the bar, and on a narrow window the end of the bar is cut off - so on a small field screen the one control that recovers a lost tool box could not be reached. Blank map space always can
- The scale and filter boxes on the plan view toolbar no longer claim spare width that belongs to the Layers and Tools buttons beside them
- Rectangles and squares can be drawn on a bearing. They were square to grid north, which a rectangle on the ground almost never is - a shed pad, a substation compound, an easement and a lot all sit on a boundary. They are now drawn the way a survey package builds one: click the two ends of ONE SIDE and that side sets its length and its bearing together, then take the width off it perpendicular and click a third time to settle it. Clicking the side against points already surveyed is how a shape gets squared to a fence or a boundary with no bearing read off and typed back in, and two of the four corners stay exactly on the points picked - which is what drawing square to the grid and rotating afterwards loses. Where the bearing is a stated one, as on a plan of subdivision, type it into the new brg box as DDD.MMSS and the side is held on it while the pointer sets the length; drag back past the first corner and the side runs on the back bearing. The readout gives the side, its bearing, the width, the perimeter and the area as it is drawn. A rectangle square to the grid is still had by typing a bearing of 90
- The offset of a rectangle or square now follows the shape rather than the grid. It grew by moving eastings and northings, which is right only while the shape is square to grid north - on any other bearing the offset came back a different shape, still four-cornered and still plausible. On a 50 m by 20 m rectangle turned onto 30 degrees, a 3 m offset was out by 14 per cent of its area
- The aerial imagery year box can now be dragged out of the way. It floats on the map and holds its place on screen while the map pans and zooms underneath, as before, but it was fixed in the top-left corner and sat over whatever happened to be there. Drag it by the grip on its left - the box itself still opens the year list - and it stays where it is put, between sessions as well. A window made smaller brings it back inside rather than stranding it off the edge
- The imagery year box now floats on the image at the top left rather than sitting in the toolbar. It belongs to what is on screen, it is only there while such a map is drawn, and a control that comes and goes in a toolbar shuffles everything beside it
- The plan view can now be dragged and zoomed out over 50 km of ground, instead of being trapped inside the survey's own extent. The scrollable area was the points and a quarter each side, which on a job with a single point came to a 60 by 70 metre box: the map could not be dragged anywhere and would not zoom out. It is now the points plus at least 25 km in every direction, and a job with no points yet - one framed on a looked-up address - gets the same, so there is a neighbourhood to look around before surveying starts. Printing a plan is unaffected: it still scales to the survey's own extent, not to the scrollable area
- Adding the first point to a job no longer shifts the map under it. The plan view's internal north-to-screen origin is worked out from whatever the points span, so adding the first point to a job framed on a looked-up address moved every position in the view - the basemap included - by the difference. The view is now held on the ground it was over, not on a screen position, so the map stays exactly where it was and the new point appears where it was clicked
- The basemap now sits exactly on the ground it belongs to, however far the plan view is panned or zoomed out. Every tile used to be placed through a simplified model of the map projection worked out at the middle of the view, which is faithful for a couple of kilometres and then drifts - about 7 m out at 10 km, 28 m at 20 km and 110 m at 40 km. It went unnoticed while the view could not be moved far; once it could, the map visibly failed to line up with the survey at a district-wide zoom. Tiles are now placed by the real projection, so they are right anywhere. Panning also no longer throws the whole basemap away and refetches it every couple of kilometres
- Opening a job now looks at the survey. Giving the plan view room to be panned over made its scrollable area far larger than the survey, and a view whose scene is larger than its window opens at the top-left corner of that area - which put a freshly opened job 25 km north-west of its own points, showing map and no survey. The view now centres on the points. Adding a point is unaffected: it still keeps you where you were
- Tapping a point's NUMBER on the plan view now opens that point's menu, the same one its symbol offers. It matters most for the points that get no symbol at all - a point with no description code, and the t-off, boundary and fence codes that are deliberately not plotted: for those the number was the only thing on screen and it carried no menu, so the point could be seen, and dragged, and not edited. The number can still be dragged to reposition the label; the menu opens only when it is tapped rather than moved
- Fixed the plan view centring on the wrong place after an address look-up outside Australia. The survey centre was projected with the Australian grid routine whatever the job's datum was, so a Swiss address became an easting and northing in UTM zone 55; the basemap then drew that position faithfully, out in the Atlantic
- The plan view now frames on the address you looked up when the job is on a grid that has no zones - Swiss LV95, New Zealand's NZTM, the Irish grid. It was skipped for want of a zone number those grids do not have, so the view stayed at its origin and the basemap drew the empty Atlantic
- Accepting an edit from Edit Point no longer makes the lines connected to that pole disappear. The redraw after OK was removing every line ending on the edited point along with its old symbol - they only came back when the view was next rebuilt, such as switching to the points list and back. The redraw now replaces exactly the edited point's own symbol and touches nothing else, which also means a t-off point sharing the same position keeps its symbol through its partner's edit
REDUCED LEVELS
- The reduced level comes from the nearest Vicmap contour on a Victorian job, or from swisstopo's terrain model on a Swiss one. The dialog says which, and how far away the contour was - a contour is the height of a line, not a level surveyed at the point
- Better reduced levels in Victoria: the level is now interpolated between the contours either side of the point rather than taken from whichever contour happens to be nearest. On 10 m contours the old answer could be out by the whole interval; this is usually within a metre
- Queensland jobs get a reduced level too, from the state's own contour service. It names the survey behind the line - 25 cm LiDAR in the south-east, 10 m SRTM elsewhere - so you can judge what the number is worth
- Victorian jobs get a reduced level without the contour data installed. Where the Vicmap contour download is not present, the level now comes from the state's own public contour service instead, interpolated between the contours either side of the point and reported with the distance to the nearest one, so it is clear what the number is worth. Victoria's 1 m LiDAR elevation model is far better at 0.1 m, but it is licensed rather than published as a service, so contours remain what can be had freely
- New South Wales jobs now get a reduced level, from the state's 5 m elevation model read at the point itself. This is a terrain model rather than an interpolation between contour lines, so it is a better number than a contour can give, and it covers the whole state
- Queensland jobs now take their reduced level from the state's elevation model rather than its contours, again read at the point and at the best resolution published for that ground. The contour service remains the fallback where the model has no cover
- Victorian reduced levels now work outside Melbourne. The contour data nPoles asked for - the 1:5m product, offline and online alike - covers greater Melbourne only, so every regional job silently got no level at all. nPoles now asks for the fine metropolitan contours first and falls back to the statewide 10 m contours, which do cover the whole state, and the dialog names which product answered and at what interval so the number can be judged. The search box also widened from 250 m to about 700 m, because consecutive 10 m contours on gentle ground can be a kilometre apart and a box that catches only one of them cannot interpolate at all
- A job in southern New South Wales is no longer told its ground levels came off Victorian contours. Which state a point is in was decided from rectangular state boxes, and those overlap by degrees - Victoria's reaches four degrees north of the Murray - so points around Albury and Moama were treated as Victorian and sent to Victoria's contour service. The elevation sources are now tried in a better order: every state the point might be in is considered, terrain models are asked first because they answer at the point itself, and a state's model answers inside that state and nowhere else - so the publishers settle the border far better than any box. Victorian jobs away from the border are unaffected, and none of them makes a request it did not make before
- The Victorian elevation data on the machine is now only used for Victorian jobs. It was consulted wherever the job was, and its last resort had no distance limit at all, so a job outside Victoria with the Victorian pack installed could be handed a level measured hundreds of kilometres away
- Points generated by the drawing tools can be given a reduced level as they are created. Tick "Look up a reduced level for each point" in the Generate dialog and every point along the shape gets the ground level at its own position, from the same sources the Add Point dialog uses, with a note saying which one answered. It is off by default because where the level comes from an online elevation service it is one request per point, so a long run takes a while - it runs with a progress bar and a Stop button, and stopping keeps the levels found so far. A point the data cannot answer for is left with no level rather than a zero, which would be read as a real height
- The Add Point box gains a Look up tick for the reduced level, on by default. Ticking it looks the level up there and then and shows which source answered and how far away it was measured, so it can be judged before the point is created; unticking it uses the level set in User Settings under Reduced Level for Generated Points, or 0 where none is set, and asks nothing of the network. The choice is remembered
GNSS & SURVEYING CALCULATOR
- The GNSS corrections line now says where the corrections are coming from, how far away that base is, and how old they are - for example "NTRIP: Streaming - base 1234, 78.4 km - age 2 s". Distance to the base is the number that decides whether a fix can be trusted: accuracy falls off with it, and more importantly a receiver simply stops being able to resolve a reliable fix past a certain range - roughly 10 km for a single-band receiver, perhaps 30 to 50 km for a multi-band one on a single base. None of this was visible before, so a survey that would not fix gave no clue whether the base was too far away or something else was wrong. All three are also stored on every point accepted, so a point surveyed 80 km from its base can be told apart from one surveyed 300 m away long after the day it was recorded
- Corrections can now come from your own base receiver instead of an NTRIP caster. User Settings, GNSS gains a "Corrections from my own base" box beside the NTRIP one: set the receiver to base mode in its own app, point its correction output at nPoles over the network or Bluetooth, and nPoles relays it to the rover. This is for working where there is no mobile coverage, or too far from the nearest CORS for a reliable fix. The two boxes are alternatives and ticking one unticks the other - two correction streams at once would corrupt each other. Leaving both unticked is also a valid choice, and now means what it says: the base and rover link themselves over a radio or the receiver maker's own service, and nPoles stays out of the correction path. The corrections line reads "Own base" with the distance to it while you work
- The base station a GNSS survey is measured from is now recorded in the job, with the one check that catches the classic RTK blunder. A new Base button beside Localise in the Surveying Calculator shows what the base is actually transmitting - read straight from the correction stream - beside the position it ought to be on, taken from a job point or keyed in. When the two differ, nPoles says so with the difference in eastings, northings and RL, because a base left running on yesterday's averaged coordinate shifts every point in the job by exactly the same amount and looks perfect the whole time: the fix quality, the precision figures and the plan view all read normally. Recording the true position does not move live positions - the rover is still working relative to what the base transmits - and the warning says so. The setup is saved in the job file and written to the survey log, and every point records which base it was taken from
- Spatial menu, Re-base Survey: a base set up on the wrong coordinate no longer ruins a job. Give the position the base was surveyed on and the position it should have been on - taken from a job point or keyed in - and nPoles shifts the points that base corrected by the difference. Only those points move: a job worked off two bases is corrected one base at a time, and total-station points are left alone. This is a shift and nothing else, no rotation and no scale, because a wrong base coordinate is exactly three numbers - fitting more would let survey noise turn into a scale factor the job never had. Tie Job to Control remains the tool for fitting a job onto supplied coordinates, and the dialog says so. What moved and by how much is written to the survey log
- Tie Job to Control now writes what it did to the survey log. The fit was previously applied and then discarded, leaving no record anywhere of why every coordinate in the job had changed
- GNSS receivers that report the pole tip no longer have their antenna height taken off twice. Some receivers with tilt compensation correct their own output to the tip of the pole; nPoles subtracted the antenna height from that as well, putting every point a pole-length low - silently, and by a constant that looks entirely reasonable on a contour. A Reports pole tip box beside Float OK in the Surveying Calculator says which the receiver is doing, and nPoles warns if it is ticked while the receiver is sending no tilt at all. nPoles Field mini has always handled this correctly; only the desktop was affected
- User Settings, the GNSS receiver model is remembered again. The choice was read from the list and then discarded - never saved, never passed to the Surveying Calculator - so on the desktop it had no effect at all
- NTRIP station lists now name a refused login as a login problem. A wrong username or password produced no station rows, which was reported the same way as a caster that genuinely carries nothing - two faults needing entirely different things done about them. A wrong address or port is also named as such
- User Settings, GNSS: the four boxes now stack their contents down the page instead of across it. Sitting four abreast left each box a quarter of the width, so labels and their fields fought each other for it and lost - the Scan button was printing over the receiver's own name. Captions now sit above what they label, every field and button gets the full width of its box, and the receiver model is wide enough to read which unit is selected. The tab is slightly narrower than before, not wider
SURVEY PROPERTIES & DATUMS
- Survey Properties gains a Height Datum, so a job can say what its RLs actually mean. Choose Assumed for a job hung off a local benchmark and nPoles stops calling its GNSS heights AHD - it makes no claim at all, which is the honest answer for the many jobs run off an assumed RL. In New Zealand the thirteen local vertical datums still in council use - Auckland 1946, Wellington 1953, Lyttelton 1937 and the rest - are offered beside NZVD2016, and heights are converted through LINZ's own relationship grids. Existing jobs are untouched: a job that has never been given a height datum behaves exactly as before, AHD on an Australian datum
- GNSS heights in New Zealand are now real NZVD2016 levels. nPoles carries LINZ's NZGeoid2016 and applies it per point, the same way AUSGeoid2020 gives AHD in Australia. Before this a New Zealand job fell back to whatever geoid the receiver itself carried - commonly EGM96, one to two metres out, and on some receivers a coarse world model that is worse - with nothing on screen to say so. The separation runs from about 2 m at Stewart Island to 39 m at Cape Reinga, so this was never a rounding matter. Every point records which model produced its level, and the point editor's Spatial Data tab now shows the separation on a New Zealand job as well as an Australian one
- Where a geoid grid is not installed, the height basis now names the datum it could not reach - "receiver geoid, not NZVD2016-verified" rather than just "receiver geoid" - so it is clear which grid to install
- Switzerland: jobs can now be on CH1903+/LV95, the Swiss national grid. This is the first projection in nPoles that is not a transverse Mercator - LV95 is an oblique Mercator through the old observatory in Bern, on the Bessel 1841 ellipsoid - so it is computed by its own routine rather than by the usual zone parameters. The datum is offered in Survey Properties and in the default-datum list, and needs no zone
- Switzerland: GNSS heights are reduced through swisstopo's CHGeo2004 geoid to a real Swiss height datum. Two are offered, because Switzerland uses both - LN02, still the official height frame and the datum published fixed-point heights are on, and LHN95, the modern rigorous one. They differ by up to half a metre depending on elevation, so the job says which it is on. The grids follow swisstopo's own prescribed interpolation
- Address look-up now works anywhere, not only in Australia. Typing a Swiss or New Zealand address and pressing Look Up used to answer that it "needs an Australian grid datum" - on the very datum that job would be surveyed on. The service behind it was always worldwide; it was being asked for Australian results only
- Choosing a datum now fills in the UTM zone the job is in, worked out from the address look-up or from the survey's own points. A zone already set is left alone unless it belongs somewhere else entirely, so a job deliberately run in the neighbouring zone stays as it was. Datums with no zones at all - Swiss LV95, New Zealand's NZTM, the Irish grid - blank the zone box and disable it, instead of leaving the last job's zone number showing beside a grid that has none
- An address that is nowhere near the datum selected now says so. Choosing GDA2020 for a job in Switzerland projects perfectly happily and puts it on the wrong side of the world, and nothing used to mention it
- Looking up an address in Survey Properties now offers the datum that address asks for. Where the address is not in the country the job's datum belongs to, a prompt names the place and the datum used there - New Zealand and NZGD2000, South Africa and HART94, Switzerland and CH1903+/LV95, Ireland and IRENET95 - and switching sets the zone too, which is the part worth having: NZTM and LV95 take no zone at all, and South Africa takes the LO belt's central meridian rather than a zone number, so Johannesburg is Lo29 and Cape Town Lo19. An address outside every country nPoles carries a national grid for is offered WGS84 UTM in the right hemisphere and zone. It is only ever an offer - answer no and the job keeps the datum it had, with the note that used to appear on its own - and it sets the job's datum and zone only, converting nothing already surveyed
- A job on AGD66 or AGD84 is now told when its address is overseas, the same as a current datum. Only GDA94, GDA2020 and the overseas datums were checked, so the two legacy Australian datums were silent
- Looking up an address on a job that is still on a LOCAL grid now offers the datum for wherever that address is, instead of refusing. A new job starts on LOCAL, so typing an address into one - the first thing done on a new job - was met with "a LOCAL grid has no map position, choose the datum the job is surveyed on", which is the question the address had just answered. It now looks the address up and offers the datum and the zone for it. Answering no leaves the job on LOCAL and says so
- Point scale factor and grid convergence are now reported for a Swiss job, measured off the LV95 projection itself
- The UTM zone box no longer offers the profile's default zone on a grid that has no zones. Opening Survey Properties on a CH1903+/LV95 job filled in the Australian default of 55 and left it showing beside a Swiss datum
- Reverse geocoding the first point of a survey works on those grids too, for the same reason
- The Height Datum list is wider and the ground origin point box narrower. A point number needs very little room and was taking a third of the row; the datum list now shows the longest entry in full
MAP DATA LAYERS
- Map data you obtained yourself can now be added to nPoles: Layers > Map Data > Add data file. Some registers are licensed to the surveyor rather than to nPoles - Landgate's Western Australian cadastre and geodetic marks, and the Swiss cantons that require a login - so nPoles may neither supply them nor fetch them for you. Download the GeoPackage under your own licence, point nPoles at it, and it draws like any other layer. The file stays where you keep it and is never copied or sent anywhere
- Layers > Map Data also shows every dataset nPoles can draw, where each came from, and whether its file is actually on the machine
- A map layer that has data for the job's area but has not been downloaded yet now says so, and says where to get it, rather than reporting that no data exists for the area
- A GeoPackage holding several layers opens the one the layer list names. Previously whichever layer the file happened to list first was used, which was harmless for nPoles' own single-layer files and wrong for anyone else's
- A downloaded GeoPackage with no spatial index is now offered one rather than refused. Building it is a one-time wait; without it the file could not be drawn at all
- Western Australian survey marks read properly when added: the mark name, what is stamped on it, and its status - Landgate records a great many as destroyed, which is worth knowing before driving out to one
- A published mark height is now only offered as a reduced level when the register says it is on the Australian Height Datum. Landgate publishes heights on Cocos, Christmas Island, mean sea level and mean high water springs datums as well, and those are not reduced levels
- Switzerland: 22,533 Swiss survey fixed points are available as a map layer, so a surveyor can see nearby control on the plan view and read its published coordinates and height, the same way Victorian SMES marks work. These are the cantonal LFP2 and HFP2 points from all 26 cantons and Liechtenstein; 94% carry a height, on LN02. Each one also links to its point protocol and, in most cantons, a site photograph
- Switzerland: the federal survey marks are included as well as the cantonal ones - 32,125 fixed points in all. The 634 LFP1 and 8,958 HFP1 are swisstopo's own national network and the highest order in the country; 96% of all Swiss marks now carry a height
- The plan view can now draw Swiss data. Show Survey Marks finds the 32,125 published Swiss fixed points - LFP1, LFP2, HFP1 and HFP2, from swisstopo and all 26 cantons, with heights on 96 per cent of them - as a 13 MB download in the maintenance tool. Where a canton's own cadastral survey has been obtained from geodienste.ch, Show Property Boundaries, Show Survey Marks, Show Addresses and Show Localities read it directly, including the communal LFP3 and HFP3 marks that are the ones actually found in a street
- Map data published on a projected grid rather than in latitude and longitude is now read as it stands. Switzerland's cadastral survey is the first: it is published on LV95 and is far too large to convert on the way in, so nPoles converts each feature as it draws it instead
- New Zealand map layers - geodetic marks, boundary marks, parcels, roads - now load. They were being refused as soon as they were opened, because the reader accepted only Australian coordinates, so none of the New Zealand data ever drew
- Survey marks, property boundaries and the other map layers now load outside Australia wherever the data exists. Turning on Show Survey Marks for a Swiss job answered that it "needs a GDA94 or GDA2020 survey datum" - from the Victorian layer, which had nothing to do with the job, and which spoke last and so had the final word over the layer that could actually serve it
- Map layers now work before their download pack is installed. Where nPoles has no packaged data for the area, it reads the same layer live from the publisher's own service instead of leaving the map empty: property boundaries, road casements, street names, addresses, localities, contours and the coastline in Victoria; cadastre and survey marks in New South Wales; cadastre, addresses, easements and localities in Queensland; cadastre and cadastral plan points in Tasmania; blocks and road centrelines in the ACT. The publisher's credit is shown exactly as it is for packaged data. A pack remains the better answer for field work - it is faster and needs no signal - and where one is installed nothing changes at all: the packaged data is still used, with its fuller feature details and its Add as survey point options, which the live layers do not offer. Live layers draw a few hundred features at a time, so a closer zoom shows more
BASEMAPS & AERIAL IMAGERY
- The plan view's basemap can now be chosen: Layers > Map Source. Besides OpenStreetMap there are swisstopo's maps for a Swiss job - the national map in colour or grey, the topographic map, 10 cm aerial imagery, and the 1946 national photograph, which shows a line route as the ground was before most of what stands on it now. A map that only covers one country is offered only where the job actually is, so the list stays short. The source was previously a hidden setting with no way to change it from inside nPoles
- Australian basemaps join the Swiss ones under Layers > Map Source, from the authorities' own map services. Victoria has two: the Vicmap cartographic basemap, and Victorian aerial imagery covering the whole state and going a zoom level closer than the map, so a pole, its stays and an easement are all visible on the photograph. Geoscience Australia's national base map covers the entire country, though only as an overview - it stops well short of survey detail. New South Wales adds its base map, its aerial imagery and its topographic map. The list only ever offers the maps that serve the job's own area, so a Victorian job sees the Victorian and national ones and not the Swiss, and each publisher's credit is shown while their map is drawn
- Queensland and Tasmanian aerial photography join the basemap list. Queensland's is the state's latest aerial program, covering the state to a close zoom; Tasmania's is the LIST orthophoto mosaic. With Victoria, New South Wales and Switzerland that is five sets of aerial photography, each offered only where the job actually is. South Australia, Western Australia, the Northern Territory and the ACT publish nothing equivalent that can be used without a licence or a key - Western Australia's imagery is licensed, as its cadastral data is
- New Zealand aerial imagery joins the basemap list, from LINZ's own mosaic - verified at Auckland, Wellington, Christchurch and Queenstown. That makes six sets of aerial photography: Victoria, New South Wales, Queensland, Tasmania, New Zealand and Switzerland, each offered only over the ground it covers. South Africa has none that can be used without a licence or a key: the national mapping authority's service does not answer, and the largest municipal publisher serves no tiles at all. nPoles already projects onto the South African Lo belts, so the grid is ready whenever a basemap appears
- Aerial photography with more than one date can now be flicked through by year. Choosing swisstopo's SWISSIMAGE by-year map puts a year box on the plan view toolbar carrying every flight from the latest back to 1926 - the same ground a decade or three apart, which is how you see when a stand of trees grew into a line or a shed appeared under it. The box is hidden for maps that publish a single date, which is all the others
- A year with no photography over the job now says so. The service answers a year it never flew with a blank image rather than an error, so the map simply went white with nothing to explain it
- One Swiss aerial imagery entry instead of three. The plain current mosaic and the fixed 1946 sheet were already in the by-year list as "Latest" and 1946, so they were three menu entries for two clicks. A map source chosen before this change carries over to the year that replaces it
- The map credit now says when what you are looking at was made. Swiss aerial photography reads "flown 2024, 25 cm" - the year that flight was actually taken and how fine its pixels are, which is not always the year you picked, since coverage is flown region by region. The national map sheets read their own sheet name and currency year, "Adelboden, 1980". swisstopo publish a year and nothing finer, so no exact date or time is claimed
- The plan view's basemap now draws on a Swiss job. CH1903+/LV95 coordinates were being read as if they were UTM, which put the job nowhere and left the map blank. The same conversion feeds the LatLong Export, the point editor's derived latitude and longitude and the assistant, so those were wrong on a Swiss job too
- The Victorian copyright no longer appears over a job outside Victoria. The credit followed which layers were switched on rather than what was actually drawn, so a Swiss job with Show Survey Marks left on was told its map came from the State of Victoria
INSTALLER & UPDATES
- Victorian reduced levels now work offline anywhere in the state, from a 44 MB download. A new Victoria spot heights component in the maintenance tool carries the 354,380 surveyed ground heights Victoria publishes for the whole state; where one is within 100 m of the point being added it is used in preference to the contours, because it is a level surveyed at a place rather than the height of a line some distance away, and the dialog says which was used and how far away it was. The contour data nPoles has shipped until now is the 1-to-5 m product, which covers greater Melbourne only, so a regional job had no offline level at all
- A second new component, Victoria contours - statewide, carries the 565,896 contour lines at a 10 m interval that cover the rest of the state, for the plan view's Show Contours layer outside greater Melbourne. It is 1.9 GB, so it is kept separate from the spot heights: if all you want is a reduced level, the 44 MB component above does that job
nPoles v1.4.180 - What's New
Release Date: 27 August 2026
- Registration now works from behind company firewalls and proxies. nPoles first registers over an ordinary secure web connection - the same kind a browser makes, routed through the system proxy where one is configured - and only falls back to its classic direct connection if that fails, so networks that silently block the direct method no longer stop registration with no explanation. When nothing gets through, a clear message says so instead of the attempt just appearing to do nothing, and offers the new Manual Activation: nPoles shows a request code and a QR code, the activation page at portal.npoles.com/activate - opened from any phone or browser, this computer needs no internet at all - issues a short activation code on screen and by email, and typing that code into nPoles completes the registration. The Registration tab carries a Manual Activation button for using it directly
POINT EDIT
- Reflectorless NP reads in Point Edit now keep the full 3D position of what was shot, not just its height. Cross-arm attachment heights, stay attachment heights and each conductor position store the shot's easting, northing and RL with the job; a height that came from a reflectorless read shows with a light green background (a height from a vertical angle or a height stick keeps the normal look), and holding a long press on the field pops up the stored coordinates - the pole top height and tip coordinate fields included, which covers the tip positions jobs have been storing for years. Shooting a conductor with its insulator field selected now fills in both the insulator height and the horizontal conductor offset automatically, worked out from the wire's shot against the cross-arm's own shot on the pole face - and the wires can be shot before the pole face; the offsets fill in the moment the cross-arm intercept is read. Typing over a green field clears its stored shot, so the colour always tells the truth. The per-circuit cross-arm coordinate window now shows stored coordinates for every circuit (previously only the first two), and merely opening it no longer records its displayed defaults as if they were measurements
- Circuit rows gain a Centre position, alongside the existing Left and Right - for the middle phase of a three-wire crossarm, or any conductor mounted on the pole's own centreline, matching nPoles Field mini. A centre conductor now carries through everywhere Left and Right already do: Pole Load's structural calculation, the height difference it works out across each span, its co-located tee-off merge and its Pole Schematic (on screen and exported to CAD), Clearances Check's obstacle-clearance geometry, and all three 3D views, where a surveyed centre position is shown exactly as recorded rather than estimated. Where a circuit carries only a centre-mounted conductor, its insulator drop is now read the same way everywhere - Pole Load, its Pole Schematic, Chart Finder and Clearances Check all locate the conductor at the same height, so the drawing agrees with the numbers and a sag measured off a centre-mounted wire is no longer taken from the crossarm. Chart Finder's INS columns work the same way for Centre as they already did for Left and Right: whichever column is filled in is used, and if more than one is filled in with different values the calculation report says so and names the one it used. Jobs with no centre conductor data are completely unaffected
- Cycling through points with Edit Point's Next and Previous buttons no longer removes conductor strings. Each circuit's string list withholds strings already assigned to other circuits of the point being shown - but Next and Previous populated the incoming point against the outgoing point's reduced lists, so a string that sat on a different circuit there could not be selected, showed as Not Active, and was silently removed if OK was clicked. The full list is now restored before every point loads, however the dialog is reached. On jobs already affected the circuit's height and remarks survive, so the string can simply be re-selected on its circuit row
- Total-station reading now lands in the right field in three cases it previously didn't: a mouse click on the pole-top height box routed the next reading into circuit 16's attachment height (and skipped the pole-tip coordinate capture); tabbing into a circuit remark from circuit 12 onward wrote the reading's height into the following circuit's remark; and a reading with stay remark 1 selected landed in stay 4's height. The new Centre insulator fields are also read-reachable now, like Left and Right
- Sorting circuit heights in Point Edit now moves the Centre insulator and Centre conductor columns with their circuits - they previously stayed put while every other column sorted
- Point Backup tab gains a Backup Notes column - a short note on why the backup was made, asked for in a pop-up the moment Backup is clicked and freely editable afterwards by typing directly into the cell. A new Diff button beside each backup opens a summary of exactly what differs between that backup and the point as it currently stands - remark, description, position, pole length/strength/type on one line, and any circuit or stay that actually changed, including a stay whose status moved to Remove. Fields left blank or at zero on both sides, and circuits or stays not present on either, are left out entirely. Both this and the new whole-job report below can now be saved as a PDF or an OpenDocument spreadsheet, alongside viewing on screen
- The description code box now drops down the full height of the screen instead of a fixed twenty rows, and offers every code the company profile knows rather than only the common ones - for a Victorian profile that is ninety-odd codes instead of about twenty. The common descriptions set in User Settings stay at the top, in the order they are listed there; everything else follows alphabetically; and no code is listed twice. Each code shows its meaning and its plan-view symbol beside it, and the drop-down is wide enough to read the meaning rather than cutting it off. The same picker is now used everywhere a description code is asked for - Point Edit, the Surveying Calculator, Quick Span, and the plan-view prompts for adding a point or a lassoed batch - so the list never differs depending on which screen is open. Quick Span gains the most: it used to offer eight fixed pole types with the code itself hidden ("HV & LV"), and now shows "H2 - HV & LV Pole" taken from the company's own description code database, with the full list behind it. Typing a code that is not in the list still works exactly as before
REPORTS
- New Report menu entry, Job Change Report: every point in the job that has a backup, showing everything that has changed since the earliest backup of that point - a whole-job version of Point Edit's own backup Diff, for reviewing or filing a record of what moved before a job goes out. Points with backups but no actual change are left out
- Job Change Report improvements: a changed pole always states its length/strength/material, written the same compact way as everywhere else in nPoles - for example 12.5/8/W for a 12.5 m, 8 kN wood pole - even when only something else about it changed, so the report stays clear about which pole it means; each point's heading now also carries its Asset ID and Pole Number; and the report opens with a block naming the job file, its location, who prepared the report, and the dates of the survey and of the report itself. Prepared by is filled in automatically from the licence (initials if set, otherwise the registered name; a trial licence says so plainly) rather than asked for every time, and if Survey Properties has no address on a real coordinated survey, the location is looked up automatically from the job's own first point. A circuit's conductor string is now labelled C.S. rather than the bare word "string", which is a different, existing point-grouping field
CONDUCTOR STRINGS
- Conductor Strings gain their own Backup tab in Conductor String Properties, alongside Point Backup: a string's own design and rating data - conductor material, stringing chart, design load assumptions, AS7000 clearance factors - can be backed up with a note and diffed against the string as it now stands, the same way a point can. This closes a real gap in the Job Change Report: a conductor re-specified or a design assumption changed showed nothing before, because no point's own fields change when only the string's design data does. The whole-job Job Change Report now covers both points and conductor strings together in one report
JOB FILES
- An interrupted save can no longer destroy the job file. Saving previously overwrote the file in place, so a crash, power loss or full disk part-way through left a truncated, unopenable job - and the screen still said "Survey saved" even when nothing had been written. The new file is now written completely and only then swapped over the old one, a failed save says so plainly and leaves the previous save untouched on disk, and the unsaved-changes state is kept so the work is not silently declared safe.
- Job files now accept the full character set: symbols outside the old Latin alphabet - the em dash, Greek letters, arrows - were silently replaced with "?" on save. Job files are written as UTF-8; older nPoles versions open the new files without complaint
- Job files now state their format version and the EPSG code of the survey's map grid (for example 7855 for GDA2020 zone 55), so other software - and future nPoles versions - can identify the coordinate system from one standard number instead of parsing datum names. Opening a job saved by a newer nPoles now warns that anything this version does not understand would be dropped on re-save. The .pxml format is also properly documented for the first time, with a machine-generated tag reference and a sample file for building an Excel XML Map that covers every current field
- Stringing chart %MBL limits are no longer lost between sessions. A misspelt tag inside the job file meant the percentage-of-breaking-load limits on any chart stored in a job were written under one name and read back under another, so they silently vanished every time the job was reopened - jobs saved by older versions read correctly too
POLE DATABASE
- Wood pole database, every Victorian profile: the whole-metre lengths that fall between the standard sizes - 10, 12, 13, 15, 16, 18 and 19 metres - now carry the published SECV dimensions for each strength rating, instead of falling back to a generic estimate. These lengths were thought to have never been catalogued, and were first filled by interpolating from the sizes either side; revision J of the wood pole standard (VX9/7020, 1977) in fact tabulates every length from 10 to 25 metres in one-metre steps, and the later revisions simply dropped most of them as the range was rationalised onto 1.5 metre steps. Every wood pole record that a drawing covers now takes its ground-line girth, its footing depth and its long-duration strength limit from the newest revision that lists it. The 15 metre / 8 kN pole, which had no record at all, is added. Corrections found along the way: the 16 metre / 12 kN long-duration limit was about three per cent high and the 21 metre one had no real figure at all; ten of the plain wood entries had ground-line girths 10 to 30 millimetres off the published ones; and the footing depth was wrong on the 13, 21 and 23 metre entries
- Every wood pole record now says where its dimensions came from. A new Source line in the Database Editor names the drawing - for example "SECV VX9/7020 rev L" - and the Notes beneath it give the full trail: the drawing's title, its revision and date, and the exact table, column and row the figure was read from, along with the figure itself. Where a record's dimensions cannot be traced to any drawing, the note says so plainly and lists what the drawings do publish for that size, rather than leaving it a mystery. This covers the metric records, the older imperial (feet and inches) records - all of which were re-checked against SECV drawing VX9/5013 and agree with it exactly - and the pressure-treated entries, which come from a different standard again and are now labelled as such so the two are not mixed up
- A small number of older wood pole records rendered with a noticeably oversized trunk in the 3D View - their tip and butt diameters were recorded in inches but were being read as though they were already in metres. Those poles now render at their correct thickness
POLE LOAD
- 3D View no longer overstates a pole's lean. A pole's lean is worked out from the horizontal offset between its own position and its recorded pole-top position, but a shot at the top is aimed at the pole's visible surface, not its centre, so the raw offset always includes a small artefact from the pole's own thickness. Where the actual tip diameter has not been measured, nPoles now corrects using a typical assumed diameter instead of the full raw offset - the figure is marked as approximate rather than shown as a precise reading, and it is never hidden or shown as upright just because the diameter is unknown. Point Edit's own Support Lean field is corrected the same way
- Pole Load now works out the conductor height for every circuit on the pole, not just the first twenty. The dialog has always shown twenty-four attachment rows, but circuits twenty-one to twenty-four were missing their insulator drop, so their conductors were taken to sit at the crossarm rather than an insulator length below it - and typing a new attachment height into one of those four rows did nothing at all: the value never reached the pole. Both now behave like every other circuit. Poles with twenty or fewer circuits are completely unaffected
LINKED DEVICES
- New File → Linked Devices pairs this computer with another nPoles install - a second desktop, or a phone running nPoles Field mini - by typing a short code or scanning the QR code the other one shows. Once paired, the job that's open can be pushed straight to a linked desktop with no USB cable and no emailing files back and forth, and before anything is overwritten nPoles states plainly whether the incoming copy is newer or older, and bigger or smaller, rather than just a generic warning. Give this computer a name that's easy to recognise - a sensible default is filled in - so a list of several linked devices stays clear, each one removable from the list if it's no longer wanted (pairing again afterwards just needs a fresh code). File → Send gains a menu with Email and one entry per linked device. Pushing a job to a phone, and Field mini's own side of sending and receiving, is still being built
SURVEYING CALCULATOR
- Swap Points takes the live record as the source of a coordinate swap. It previously used whichever record appeared first in the job file, which was a backup whenever one had been written before its parent - so the survey moved onto a historical position rather than the current one. A point's backups still travel with it, to the same position: a swap corrects which position belongs to which number, and a pole that genuinely moves is recorded as a new point with the old one marked for removal. The job is also no longer marked as modified when the points to swap were not found
MAP DATA LAYERS
- Opening a job on a local datum with a map data layer remembered on (Cadastral Points, road casements and the like) no longer offers to "ask nPoles to include this data" - that question is for areas whose data genuinely is not published, and on a local-datum job the real remedy is different: nPoles has no map position to look anything up with. The message now says to set the survey's zone and datum in Survey Properties, and the request offer is kept for the case it was written for
USER SETTINGS
- The Default Datum list under the spatial settings now offers every datum Survey Properties does - HART94, IRENET95 and the WGS84 UTM zones join the Australian and New Zealand entries - and the default zone box is wide enough to read, capped at zone 60, with a tooltip explaining the South African belt convention. The zone greys out for datums that have no zone, and the LOCAL special-behaviour no longer depends on the entry's position in the list
INSTALLER & UPDATES
- Adding a new nPoles version through the Maintenance Tool now also brings the shared company and regional data - pole types, crossarms, description codes, local site grids - fully up to date. A release process gap meant that data had not actually been updated on an existing installation since the one-root installer began, no matter how many app versions were added since; only a completely fresh install ever saw the current data. Customers who reported a fix as "not actually fixed" after updating were seeing this - the fix was real, it simply never reached them
- The Database Editor opens again. Opening it crashed nPoles outright - its internal library had been assembled from a mixed build after the Qt update, and the mismatch brought the application down before the window could appear. The library now builds each part consistently, the editor is exercised against every bundled utility profile in the automatic test suite, and the corrected build was re-issued to the v1.4.179 installer
nPoles v1.4.179 - What's New
Release Date: 20 August 2026
- The Database Editor opens again: a mixed internal-library build after the Qt update crashed nPoles the moment it was opened; the corrected build is in this re-issued installer
SPATIAL TOOLS & DATUMS
- Transform Datum is now purely for the documented datum conversions - AGD66/84 to GDA94 through the grid files and GDA94 to GDA2020 through the ICSM distortion grid. Its old two-point local routine is removed: it fixed the scale from a dropdown assumption rather than the marks, and Tie Job to Control does the same job properly. Choosing a Local conversion in Transform Datum now simply offers to open Tie Job to Control
- New Spatial menu tool, Tie Job to Control: the classic hand-over problem solved properly. An older job - typically a powerline survey on a local datum made up on the first site visit - gets tied onto supplied coordinates by picking the job points the control belongs to, typing the supplied values beside them, and applying the best-fit transformation: rotation, scale and shift fitted by least squares over every pair, any number of marks, with per-mark residuals shown live so a wrong control value stands out before anything moves. Unlike the two-point Transform Datum routine the scale comes from the pairs themselves, so a ground-scale taped survey and a grid-scale local frame both land correctly with no assumption chosen from a list. Two pairs give an exact fit; three or more give real redundancy
- Point Edit, on a Local-datum job with an MGA Reference the Spatial tab's derived panel now works fully: a new MGA Easting / MGA Northing pair shows the point's position on the referenced MGA frame, and the latitude/longitude, geoid separation, ellipsoidal height and scale factors are all derived through the reference - the combined factor shown is exactly the one the Surveying Calculator applies. Without a reference a local job's derived panel stays blank as before. Transforming a job to a new datum clears a now-stale reference automatically
- Survey Properties gains an MGA Reference for local grids that are really a rotated and shifted copy of an MGA frame - the SEC Latrobe Valley mine grids. Pick the site (Hazelwood and Loy Yang ship as presets) on a Local-datum job and Scale from Station Position computes at the true MGA position instead of the local easting, which sits about 47 km west of the MGA one in the valley and made the naive factor ~85 parts per million high. The reference is saved with the job, the presets live in an editable data file so more grids can be added without a new build, and the Loy Yang entry is anchored exactly to the mine's published LY0513 control values. An Add button lets the surveyor define any other site grid from control pairs - the same mark's coordinates on the local grid and on MGA, two pairs minimum, with the fitted rotation, scale and residuals shown before saving - and the new grid joins the registry for every future job. With a grid selected the button reads Edit instead: it opens on the grid's stored rotation, scale, shifts and the control pairs it was built from, so what the software is doing is plainly visible, a mistake can be corrected by re-entering pairs, and an obsolete grid can be deleted - jobs already saved with a deleted grid keep their own copy of its parameters and are unaffected. The pairs need not be typed either: the local side of a pair can be picked from the loaded job's points, and if the job carries a GNSS localisation its measured pairs - which are exactly these control pairs - fill the table in one press, so a fit measured in the field with the Surveying Calculator becomes a saved, reusable site grid. Grids held at ground scale fit too: the factor folds in the grid's own scale, so on such a site it correctly comes out at one - taped equals plan
- Survey Properties no longer locks a Local-datum job to a fixed scale factor: Scale from Station Position can now be chosen on a local grid too - for surveys done on GNSS grid coordinates and rotated onto a site or mine grid (such as the SECV Latrobe Valley Grid), where distances still carry grid scale. On a local datum the factor is computed with the standard UTM convention against the local coordinates, which suits local grids that keep UTM-sized eastings; plain local jobs keep their fixed factor of 1 by default
LANDXML
- Importing LandXML into a brand-new job now gives the job over to the file completely: the default point 1 that File - New plants is replaced rather than blocking the file's own point 1, and the file's datum and zone are adopted instead of raising a mismatch warning against the new job's Local placeholder. When the datum is adopted, the scale factor is switched to nPoles' own station-based calculation - the same Survey Properties option a datum-carrying job starts with - so later total-station shots reduce to grid correctly without anyone typing a factor in; an open Surveying Calculator picks the new settings up immediately. A job with real work in it keeps the existing checks. The datum-mismatch and import-error boxes also have selectable text now, like the import summary
- LandXML import verified against real Topcon Field controller exports (LandXML 2.0): the datum zone is now recognised in Topcon's "MGA2020-Zone_55" spelling, and the controller's habit of quoting the geographic datum EPSG code rather than the projection's is handled - the file's stated datum and zone win. Two of the real exports are kept as permanent regression fixtures
- File → Export → LandXML points: the survey's points as a LandXML file any controller or design package opens directly — numbers, codes, remarks, observation times and the coordinate system stated inside the file as both plain words and its EPSG code. Design pole positions in nPoles, export, and stake them out with any brand of field kit; backup points are left out automatically
- File → Import → LandXML points: bring a survey straight in from any controller's LandXML export — Topcon MAGNET Field, Trimble Access, Leica Captivate, 12d — with no export template or column mapping. Point numbers, codes, remarks and observation times all carry across, and because LandXML states its coordinate system, nPoles checks it: an empty job adopts the file's datum and zone, a file that disagrees with the job's datum warns before importing, and a file whose coordinate system mentions ground scaling is flagged — grid coordinates only, now enforced by the file's own metadata. Points whose numbers already exist in the job are skipped, never overwritten. A survey done in ground coordinates with a defined origin point can be converted on import: pick the origin from the file, accept the computed scale factor or type the controller's own, and the points land as grid — with the ground presentation switched on about the same origin, so what you see stays what you surveyed. The same conversion is offered on Insert File text imports — tick "File is in GROUND coordinates", and only the freshly imported points are converted, never the job's existing data
POINT EDIT
- The description code list now shows each code with its plan-view symbol and its meaning — "G7 - Gate" with the gate symbol beside it — exactly as the plan view will draw the point. Meanings come from the profile's Description Codes registry, falling back to the codes named in User Settings, and any code classed as a pole reads "Pole". The same list appears wherever a point is added or edited — the plan view, Add Point, the Surveying Calculator and Pole Load. The stored description stays the bare code, and typing a code by hand works as before
- The description code registry now names every code family the old SECV symbol chart left unlabelled: the HV/LV pole combinations (H1-H7, L1), the 66kV sub-transmission poles (P1-P9), cable terminations (C1-C6), LV and HV open points (D1-D4), future sub-transmission (F1-F6), the substation types (isolator, two pole, ground, kiosk, indoor, metering structure) and the storm water pit - about forty meanings per profile, taken from the Victorian distributors' own drafting standards rather than guessed. The subscripted pole-substation symbols are decoded too: the number is the SECV substation construction drawing series, so S1 reads "Pole Substation 25-300 kVA" (series VX10/4) and S2 "Pole Substation 10-50 kVA" (series VX10/16), confirmed against the SECV construction manual drawings and the successor utilities' own standards. The United Energy profile also carries that utility's own extra codes (stays, strain poles, easement and continuation marks). The point editor's description list and the plan-view chooser now show a meaning beside nearly every code
- Points imported from CSV now record when they entered the job — their created and modified dates were blank in the point history; dates never recorded by older versions show "not recorded" instead of an empty box. A fresh backup lists the point's own last-changed time rather than the moment the backup was made
- The point editor's Point Backup tab is a plain list now: every backup of the point on one line with its remark, when the data was last changed and when the backup was made, with Restore and Delete beside each and a single button to create a new backup of the active point. The old per-height display and per-circuit copy buttons are gone — a backup restores the whole point
PLAN VIEW
- Hovering an entry in the tap chooser now highlights the point it refers to out in the plan - a ring around a survey point, cadastral corner or survey mark, a glow over a property or road casement, the span itself for a Clearances entry. With several points of the same description code under one tap the menu text alone could not say which was which; on a touch screen the highlight appears as soon as an entry's submenu opens. The chooser also opens to the side of the tap instead of on top of it, so the very symbols being told apart stay visible
- When several survey points sit under one tap, the chooser that lists them now also shows the point's English meaning in brackets after its description code, wherever User Settings defines one for that exact code (e.g. "9 - G7(Gate)") - alongside the point's remark when it has one
- Conduit points (Conduit, Conduit from Pit) now draw as a dashed line between points instead of the generic connecting-line colour, matching how boundary, fence and road-edge lines already work
POLE LOAD
- The complete AusNet-approved Dulhunty Titan range is now present in every profile, taken from the manufacturer's standard drawings and the AusNet Titan standard: 11 m and 12.5 m single-piece and 14 m two-piece poles in 8 kN and 12 kN working strengths, with external diameters, taper, burial depths and masses as published. Every Titan size now computes its wind load and strength instead of finding no database entry, and the calculated wind loads are verified against the wind loads AusNet itself publishes for these poles - the single-piece sizes agree within four per cent, within one per cent for the 12.5 m; the 14 m two-piece sizes read about six per cent under the published figures because the calculation models a straight taper past the joint sleeve, noted on the records
- When a wood pole's variant is unknown - no timber species recorded and no measured tip diameter - the wind calculation now uses the typical (median-section) catalogue record, matching the published VESI wind-load tables, instead of always assuming the largest variant. A new User Settings choice on the Pole Load tab (Unknown pole variant) can restore the worst-case assumption per profile. A measured tip diameter now always selects the closest catalogue record outright, and the wind-load breakdown notes which policy chose the record and from how many variants
- Two silent zero wind loads traced to the pole database and corrected: the 12 m / 5 kN concrete pole was filed under the wrong material so no concrete point could ever match it, and the treated 12.5 m / 12 kN wood entries carried the 8 kN family's strength, letting them shadow genuine 12.5/8 poles with oversized sections. The wind-load breakdown now names the exact database record that supplied the pole's dimensions, and when no record matches it says so plainly instead of presenting 0 N as an answer
- Titan composite poles now produce their wind load - previously every Titan pole reported zero because the strength matcher treated them like wood, halving their rated strength so no database entry ever matched. Titan and concrete records carry the marked working load directly (50% of ultimate); wood records carry the ultimate with the marked strength at 40% of it, and the matcher now respects each material's convention
DATABASE EDITOR
- New per-profile standard-abbreviations registry: each distributor's official plan abbreviations and their meanings - the (E)/(N)/(R)/(F) status prefixes, pole types, stay and tee-off shorthand, conductor treatments - seeded for AusNet and United Energy from their drafting standards, and editable in the database editor's new Abbreviations tab (searchable list with meaning and where-used context per entry)
- The database editor entry under the Settings menu is now simply "Database Editor" - it long ago outgrew its pole-structures name, covering poles, crossarms, insulators, timber species, transformers, description codes and now abbreviations
- The database editor gains a Description Codes tab: every profile now carries a registry of its two-character point description codes with their English meanings, editable alongside the poles, crossarms and insulators, with a preview of the exact plan-view symbol each code draws - light and dark-mode versions shown side by side, since a dark-mode symbol is rarely seen by anyone working in the field. A Symbol Legend view reproduces the classic printed symbol chart directly from the current symbol set, with a PNG/PDF export for printing or filing. Powercor and AusNet profiles also carry CAD layer information ready for a future AutoCAD/FreeCAD export tool
SURVEY PROPERTIES
- The Survey Date and Job Stage labels now sit beside their fields instead of drifting apart - leftovers from the old full-size calendar layout
- Survey Properties now fits an 800-pixel-high screen - the field tablets' height. The always-open calendar is replaced by a compact date field whose calendar pops up on demand (Set to Today stays), and the dialog is capped so its buttons can never sit below the bottom of the screen
CONDUCTOR STRINGS
- A mistaken street in Street / Reference is now easy to get out of: the field has a clear button that unselects everything in one tap, and unticking an entry in the drop-down no longer gets silently undone when the field loses focus
DIALOGS
- The Add/Edit Local Grid form and the GNSS Localisation window are now proper designed forms: they carry the same font and styling as the rest of nPoles and open at a sensible width instead of needing to be dragged wider
HELP
- Help → What's New presents the highlights of the last year of nPoles in plain language — the headline changes of the last 12 months by default, with buttons for a more detailed 6-month view and the full story of the last 3 months. The same page is offered on the unregistered welcome screen and published on the customer portal at portal.npoles.com/whatsnew, from the same source as the in-app view; the complete technical change log remains alongside it
GENERAL
- nPoles is now built on Qt 6.11.2, with the charting library rebuilt to match
- The spreadsheet library behind the Pole Load ODS reports is updated to the latest upstream release, picking up its memory-leak and stability fixes
- Every exported DXF drawing now states its coordinate basis: "GRID - GDA2020 (ZONE 55)", "GROUND - GDA2020 about PT 1 (CSF 0.999893)", or "LOCAL COORDINATES" — and a job exported without a datum says "GRID - DATUM NOT SET" rather than staying silent, so drawings passed between parties always carry the statement that third-party plans so often lack
nPoles v1.4.178 - What's New
Release Date: 15 August 2026
POINT EDIT
- The tabs now say what they hold: Spatial Data is purely the survey point — the editable grid coordinates labelled with the survey's datum and zone, a read-only "expressed as" panel deriving the latitude/longitude, ellipsoidal height and geoid separation, ground coordinates, the point/height/combined scale factors and grid convergence live from the coordinates, and the observation record; the measured pole geometry (diameters, girth, tip, lean) moved to the Pole H/W + Footing tab; and a new Plant / Equipment tab — placed ahead of Pole H/W + Footing — gathers the sub-station, raiser bracket (which gains the mounting-height field it never had), a new switchgear group (type, mounting height, side), and the extra weight / wind load entries. The Position and Observation areas sit in their own group boxes matching the derived and GNSS panels, and the read-only fields are width-capped so the dialog stays a sensible size.
- GNSS-surveyed points now carry their observation quality — fix type, satellites, HRMS/VRMS, antenna height, height basis and time — recorded automatically at Accept in the Surveying Calculator's GNSS mode, shown read-only on the Spatial tab, and saved with the job. The same six values can be mapped as optional columns in the Insert File import, so points surveyed on a GNSS controller and brought in by CSV keep their quality too. GNSS receivers measure no air temperature — essential for sag observations — so the GNSS box gains a temperature entry recorded on every accepted point exactly like the total-station flow, and Temperature is also available as an optional import column.
SURVEYING CALCULATOR
- Live GNSS input has arrived: with GNSS enabled in User Settings, the Station box gains a Station/GNSS slider. Sliding to GNSS connects to the receiver's NMEA stream over the network on the first slide, the instrument height becomes the antenna height, live positions fill the station read-outs projected onto the survey's own grid, with the receiver's latitude, longitude and ellipsoidal height shown beside them in place of the instrument's distance and angles, and compact status lines with the fix quality, satellite count, HRMS/VRMS precision and the height basis appear at the bottom of the box while the total-station controls step aside. The Accept (F5) button records the point through the normal flow, honouring Edit After Accept — gated on an RTK fixed solution (float only when explicitly allowed), with the antenna height subtracted and every accepted point written to the survey log with its quality, precision and height basis. The receiver connection follows the calculator: closing the calculator releases it and reopening reconnects automatically — receivers that allow a single client are never held by a window that isn't on screen. Bluetooth receivers are supported alongside TCP: pair the receiver with the computer, scan and pick it on the GNSS settings' BT tab, set its position output to NMEA over Bluetooth, and the calculator connects to it directly — no virtual COM ports to configure.
- GNSS heights are real AHD: nPoles reads the official AUSGeoid2020 model, reconstructs the ellipsoidal height from the receiver's stream and applies the proper separation — the receiver's own geoid height is never silently treated as AHD, and when the model isn't installed the recorded point says plainly that its level is on the receiver's geoid.
- GNSS RTK corrections over NTRIP: enter the caster, mount point and login on the GNSS settings tab and nPoles feeds the receiver its RTK corrections over the same connection the positions arrive on, reporting the rover position back to the caster as network mount points require — RTK fixed in the field needs only the receiver, this computer and a phone hotspot. The caster box comes preset with the free networks — AUSCORS (Australia), PositioNZ (New Zealand), TrigNet (South Africa) and Emlid Caster — each with its registration link and a button straight to the account page, a Choose button lists the caster's stations nearest the current job first — distances from the survey itself or the job's address — and picking one fills the mount point. The connection status shows in the calculator, all status text can be selected and copied, and a wrong password or mount point is reported in plain words instead of silently never fixing.
- GNSS localisation (site calibration) has arrived: fit GNSS onto a job's local or adopted coordinates — old surveys, title re-establishment, plant grids. Add the control marks in the calculator's Localise dialog, stand on each and Measure (RTK fixed only), Compute, and read the per-mark residuals so one disturbed mark shows itself instead of bending the whole fit. Applied, every accepted GNSS position lands in the local frame — scale, rotation, shifts and a height shift — the fit is saved with the job, and every localised point and log entry says so.
- GNSS stake out has arrived: the Stake Out button in the Surveying Calculator serves both worlds — in GNSS mode it opens a window with live walk-in guidance to any job point — distance in large type, north/south and east/west paces, the bearing for a compass, and cut or fill against the design level — turning green when inside tolerance on an RTK fixed solution. Stake records the as-staked point through the normal accept, with the design-versus-staked differences written on the point and in the survey log as the setting-out evidence. The total station stake out is unchanged.
- GNSS points can be averaged over a short occupation: Accept holds for a configurable number of epochs (User Settings → GNSS, five by default — about five seconds), stores the mean position and records how still the pole was held as the point's horizontal and vertical precision. Every epoch must hold RTK fixed (or float when allowed) or the occupation stops and says so; pressing Accept again cancels. Setting one epoch keeps the instant single-shot behaviour.
- Hand-entered distances now respect the job's scale factor the same way measured ones do: typed radiations, traverses, chainage and offset, the distance intersections and the peg bisect reduce the entered ground distance to the map grid, so a typed 500 m lands exactly where a shot 500 m would — previously the two could disagree by up to 0.2 m in parts of Victoria. The Read Line shots, the offset and extra-distance legs and the bearing-shift reading carry the same reduction, and the Scale Factor readout shows the factor each calculation applied. Jobs on a LOCAL datum or a fixed scale factor of 1 are unchanged.
- Opening User Settings while the Surveying Calculator existed quietly leaked the calculator window; with live GNSS this also left an invisible copy holding the receiver connection, so the reopened calculator could show "Connected" yet never receive a position.
SURVEY PROPERTIES
- New Zealand surveys now work properly: choosing NZGD2000 means the NZTM2000 national grid, so the automatic scale factor, the street map underlay, Street View, the assistant's location tools and the Lat/Long export all use the correct projection — previously every one of them treated the coordinates as an Australian UTM zone. No UTM zone is needed for a NZGD2000 job. The Victorian map layers explain they need a GDA datum, and the datum transform tool says transformations between NZGD2000 and the Australian datums are not available.
- Jobs on plain WGS84 UTM zones are supported, north and south of the equator — the modern grids of India, Pakistan, Indonesia and much of Asia and Africa. Pick "WGS84 UTM N" or "WGS84 UTM S" in Survey Properties with the UTM zone number, and surveying, GNSS input and the grid mathematics all follow; heights state the receiver's geoid as their basis. The free correction networks of India (Survey of India CORS) and Indonesia (InaCORS) join the caster presets with their registration links.
- Irish surveys are now supported: choosing IRENET95 means the Irish Transverse Mercator national grid, with its 8° west central meridian, 0.999820 central scale and false origin at 53°30' north all handled correctly — the automatic scale factor, the street map underlay, Street View and the Lat/Long export follow, and no zone is needed. This is the first northern-hemisphere grid nPoles supports.
- South African surveys are now supported: choosing HART94 (Hartebeesthoek94) means the LO survey system — Gauss Conformal belts on the odd central meridians with a central scale of one and no false origins. The zone field carries the belt's central meridian (29 for Lo29), and the automatic scale factor, the street map underlay, Street View and the Lat/Long export all use the correct projection. Coordinates are entered in the east/north sense: the LO system's westing and southing values have their signs reversed — both negative in South Africa — the usual convention for east/north-based software.
- Plan view and Transform Datum, a job whose datum entry is unrecognised is now told so plainly — the map layers explain the datum is not supported and the transform tool names the value — instead of the layers silently drawing everything as though the job were GDA2020, roughly 200 m out.
- The datum list now says AGD84 — the old AMG84 entry named the map grid rather than the datum, and a job saved with it could not be datum-transformed and was shown against the map layers as though it were GDA2020, about 200 m out. Jobs saved with AMG84 correct themselves the next time they are opened.
ON-SCREEN KEYBOARD
- The F5 and F8 keys now work immediately after a dialog closes over the Surveying Calculator — previously, tapping Accept (F5) before touching any field could do nothing at all, because the key was only delivered once the keyboard had a field to type into.
PLAN VIEW
- A ground-coordinate presentation for title work: Survey Properties can nominate an origin point — typically the survey mark the licensed surveyor started from — and nPoles then shows ground coordinates scaled about it (one combined scale factor, computed at that mark, the same way a controller's grid-to-ground switch works) in the points list, the point dialog, the Measure tool read-out and the AutoCAD/DXF export. Every ground surface is labelled with the origin point and scale factor, the job file stays grid throughout, and ground equals grid exactly at the nominated mark.
- Tapping a map-layer feature that sits on top of a survey point — a cadastral corner dot over the point just added from it, a survey mark beside a pole, a boundary or street line running through one — now offers the survey points first and the feature beneath them, the same chooser the overlapping-points and span taps use. Previously the feature swallowed the tap and only its own menu appeared, so the survey point could not be edited from the plan view.
- The map layers now cover New Zealand: on an NZGD2000 job the Survey Marks, Cadastral Points, Property Boundaries, Road Casements and Street Names layers draw the LINZ geodetic marks (condition-coloured), survey boundary marks, primary parcels, road parcels and named road centrelines, projected onto the NZTM2000 grid. The data is a New Zealand download option in the maintenance tool, sourced from the LINZ Data Service and licensed for reuse under CC BY 4.0. A geodetic mark's published height is ellipsoidal and is shown as such — it is never offered as a reduced level.
- A Lasso button on the toolbar adds map-layer features to the survey in bulk: drag a loop around an area and everything inside it from the layers switched on is offered — survey marks (Victorian and interstate, with their published heights as reduced levels), cadastral corners, and property and road casement boundaries clipped to the loop, shared edges included once. An overview lists each kind with its point count and description code before anything is added; untick a row to leave it out. Marks and corners land unstrung, every boundary line gets its own new string, and street names, contours and the coastline are shown on the map but never added.
- The interstate map layers now offer the same add-to-survey actions as the Victorian ones: survey marks and cadastral points add as survey points (published register heights prefilled as the reduced level, mark status kept in the remark), and property boundaries and road casements offer the tapped side, the complete boundary, or every boundary along the survey points — each line on its own string, exactly as the Vicmap layers do.
- Road casement boundary points added to the survey now default to the boundary description code (B1) instead of the road edge / kerb code (K1) — a casement is a title boundary, not the kerb line, and the kerb code would have fed the clearance checks a false road edge.
- New South Wales property boundary, road casement and street details now read like a record instead of a database dump — plain field names (Lot / plan, Plan number, Lot area) in place of the register's column names, areas in square metres and widths in metres spelt the Australian way, the urbanity flag written out (U — urban, R — rural) and plan labels expanded (DP — Deposited Plan, SP — Strata Plan). Register codes with no published meaning keep their raw value under a readable label rather than a guessed one.
- Choosing Edit, Clone, T-Off Clone or Delete from the chooser shown when several points sit under one tap now acts on the point whose entry was chosen — previously it acted on the topmost point symbol under the tap, so with overlapping points the wrong point opened most of the time.
- Tapping a conductor span now offers everything under the tap, not only the span: Clearances stays the top entry, and any survey point sitting under the line — a midspan observation shot, a point beside the corridor — and any survey mark or property feature beneath it are listed as submenus, the same way overlapping points are chosen. Previously the span swallowed the tap and only Clearances was offered, leaving a survey mark under a midspan unreachable.
- When several survey points sit under one tap, the chooser that lists them now shows each point's remark after its number and description code — coincident points (a clone on its pole, a T-off, a backup shot) can be told apart before opening one.
TRANSFORM DATUM
- Converting a job between AGD66 or AGD84 and GDA94 now transforms every point and applies the correct grid shifts — previously only the first point was altered, the shift itself could be badly wrong, and a single conversion could run at full processor load for minutes. A point outside the transformation grid's coverage now stops the conversion with the point named and the job left untouched, rather than converting part of the job.
EXPORT LAT/LONG
- Coordinates and bearings shown in degrees, minutes and seconds no longer lose up to a full second — a value with fifty-nine whole seconds was shown rounded up to the next whole minute, which for a latitude or longitude amounts to as much as thirty metres on the ground. The same correction applies to bearing readouts throughout the program.
MANUAL
- A new Survey-chapter section and a formula appendix cover datums, MGA zones, heights and ground-versus-grid from the field side: why a datum change is a per-point transformation and never a block shift, how to work out the MGA zone from the longitude, why geoid–ellipsoid separations and scale factors belong to each point rather than the job, the point / height / combined scale factor formulas with worked Victorian examples, what the field controllers' Ground/Grid switch and origin point actually do, and plain statements of what nPoles computes — grid coordinates throughout, the combined scale factor applied at each instrument setup, span lengths and every export in grid.
nPoles v1.4.177 - What's New
Release Date: 10 August 2026
START MENU
- Every installed version now makes sure its own Start Menu entry exists each time it runs - machines where earlier maintenance tools left no entries for new versions heal themselves at first start.
nPoles v1.4.176 - What's New
Release Date: 10 August 2026
PLAN VIEW
- A Measure button on the toolbar measures distances between anything on the plan: successive taps chain into a run with every leg labelled, and a readout shows the last leg's length and grid bearing, the height difference when both ends are surveyed points, and the running total. Taps snap to survey points, survey marks, conductor spans, property boundaries, road lines and cadastral corners - or measure to any spot on the street map. Dragging still pans and the wheel still zooms while measuring.
CHART FINDER
- The insulator height on a pole is taken from whichever insulator column is recorded - a pole with only its Right insulator height entered previously had no insulator counted when the observed sag was calculated, so the derived tension on such spans came out far too tight. Conflicting Left/Right heights raise a warning naming the pole, and the calculation report notes which column supplied each height.
INSTALLER AND MAINTENANCE TOOL
- The nPoles Maintenance Tool is code-signed - its administrator prompt shows nPoles Pty Ltd instead of Unknown publisher. Existing installations receive the signed tool automatically as an update.
- Component selection no longer pre-ticks everything: the newest version and the default survey-marks data are ticked; older versions and the large dataset downloads are not; installed components are never touched.
- Existing maintenance tools learn the Interstate Map Data repository automatically at their next update check, component descriptions no longer show garbled punctuation, and the version list can no longer offer an update that would remove a pre-1.4.174 installation.
- The finish page offers to launch the new version straight away - then right-click its taskbar icon and choose Pin to taskbar. Start Menu entries are named with their version.
nPoles v1.4.175 - What's New
Release Date: 9 August 2026
FIXES FOR v1.4.174 INSTALLS
- Running the setup on a machine that already has nPoles offers to open the Maintenance Tool (versions side by side, newest ticked) instead of offering to remove the existing installation; the in-app update notice opens the Maintenance Tool on the new install layout.
- Plan view point symbols were missing after installing v1.4.174. The new install layout keeps the program and its data in separate folders, and symbol images were only looked for beside the program - they are now found in the data folder. The same fix covers Pole Load plan symbols and DXF export symbol blocks.
- Installations whose registration and settings live under C:\ProgramData\nPoles reported "not registered" on v1.4.174. That location is again checked first, so existing registrations, settings profiles and data are found as before.
- Start-up no longer resets the remembered settings profile file.
MAP LAYERS ACROSS AUSTRALIA
- The plan-view map layers now work outside Victoria. Survey Marks, Property Boundaries, Road Casements, Street Names and Cadastral Points keep the same names in the Layers menu, and nPoles chooses the right state's data from where the survey is - New South Wales, Queensland, Tasmania, South Australia and the ACT as well as Victoria. A survey near a border shows both sides at once.
- Survey marks draw as the proper permanent-mark symbol - the broad arrow with a bar across the apex, sitting exactly on the mark - coloured by the state recorded condition: green good, amber unknown, red damaged or destroyed.
- The interstate layers copyright notices stack against each other as well as the Victorian ones, so no credit hides another.
- When several map features sit under one tap - a survey mark under a street-name line - a chooser lists every feature there, like the survey point menus: pick the feature, its options open as a submenu.
- The ACT is now fully covered: current blocks for Property Boundaries, road reserves for Road Casements and road centrelines for Street Names, as a new ACT cadastre download option (about 60 MB). ACT survey mark details carry the full register record - monument construction, positional uncertainties, survey plan and field book references - with degree symbols displayed correctly.
- Survey marks are available for New South Wales (281,176 marks), Queensland (181,839), South Australia (193,501), Tasmania (12,464) and the ACT (27,686), alongside the Victorian marks. Property boundaries are available for New South Wales, Queensland, Tasmania and the ACT as well as Victoria. New South Wales survey mark details spell out the SCIMS codes.
- The interstate data is downloaded from the nPoles server as installer options, so the setup download stays the same size. The survey-marks set for all states (about 45 MB) is ticked by default; the larger per-state property sets are separate options with their sizes shown. Each carries its government licence and attribution alongside the data.
- Turning on a layer nPoles holds no data for at the survey's location now explains why - a commercial cadastre, a personal-use licence, or not yet prepared - and offers to send nPoles a request to include it.
- The Victorian map layers now switch on instantly. The data comes in an indexed format that opens in milliseconds instead of re-reading whole files each session, and holds far less memory while in use. What is drawn is unchanged. Offered as two download options in the installer; the existing Vicmap downloads continue to work.
TRANSFORMATION TOOL
- Surveys can now be transformed between GDA94 and GDA2020 in both directions - data supplied in one datum can be delivered in the other. Uses the official ICSM GDA94-GDA2020 grid (conformal and distortion, centimetre-level, Australia-wide) when the optional Datum Transformation Grid component is installed, or the standard national 7-parameter transformation otherwise. AGD66/AGD84 surveys transform to GDA2020 via GDA94.
PLAN VIEW
- Street map tiles no longer arrive out of alignment after zooming a little and dragging - tiles now always land exactly against their neighbours.
- Tapping a property or road casement offers "Open in VicPlan (browser)" - in the tap menu and the details window - opening the Victorian government's VicPlan planning map centred on that property, with its record and planning zones one tap away. The details window also explains the Vicmap property codes instead of showing bare letters.
- The map data copyright notices share the corner tidily and no longer overlap.
SURVEY PROPERTIES
- The dialog opens at its designed height with the address Look Up row in place.
nPoles v1.4.174 - What's New
Release Date: 6 August 2026
INSTALLER - VERSIONS SIDE BY SIDE
- One nPoles folder now holds every installed version side by side, each version in its own subfolder, ticked on and off in a single maintenance tool. Install a new version while keeping the old one for existing jobs, or remove versions no longer needed.
- The profile data, the Victorian map datasets, the registration and the settings are shared by all versions - updating nPoles no longer re-downloads datasets and no longer loses registration or settings.
- Each version gets its own Start Menu entry; the desktop shortcut and the .npoles file association follow the newest installed version.
PLAN VIEW MAP LAYERS
- Show Contours: Vicmap Elevation ground contours drawn topographic-style - every 10 m index contour heavier and labelled with its altitude when zoomed in close. The 1-to-5 metre contour product covers the greater Melbourne region; offered as a download component in the installer.
- Show Coastline: the LiDAR-derived Victorian coastline as marine-blue lines under the survey; also a download component in the installer.
VIRTUAL KEYBOARD
- The on-screen F1-F12 keys now press the matching button of the active window, the same as a hardware keyboard - in the surveying calculator F5 presses Accept and F8 toggles Edit After Accept; in the point edit window F5 presses OK.
- A keyboard whose remembered position ends up almost entirely off the screen - typically after a tablet rotation or a docking change - now returns to a visible position.
SURVEYING CALCULATOR
- The instrument height, back bearing and station readings no longer reset between height readings on a pole. The station now only resets when a different instrument point is actually selected.
nPoles v1.4.173 - What's New
Release Date: 6 August 2026
VICTORIAN MAP DATA ON THE PLAN VIEW
- A new Layers drop-down on the plan view toolbar gathers the map overlays: Show Map, Show Survey Marks, Show Property Boundaries, Show Road Casements, Show Street Names and Show Cadastral Points, with Street View at the bottom.
- Survey marks: the Victorian survey control network (SMES) drawn over the survey - triangles with the nine-figure number and RL when zoomed in close. Tapping a mark shows its full record (MGA2020 and MGA94 coordinates, AHD height and order, GNSS suitability and more), its scanned sketch plan and its full SMES mark report as PDFs - opened in a viewer inside nPoles that keeps each document on the machine, so marks looked at in the office can be read in the field with no internet connection.
- Property boundaries and road casements: Vicmap parcel outlines with council property numbers, and road reserves as dashed outlines. Tapping a boundary (or a point standing on it) shows the record, with the municipality shown by name (for example "377 - Yarra Ranges Shire").
- Street names: drawn along their roads like a street directory - heavier lettering for freeways and highways, italics for proposed ("paper") roads.
- Cadastral points: every property corner as a dot coloured by its published accuracy (green within +-0.30 m, amber within +-1.5 m, red beyond, hollow grey where never survey-adjusted), the +-value beside each dot when zoomed in, and a "Corner accuracy" summary in the property details window.
- On a GDA94 survey the Vicmap overlays are converted from GDA2020 to GDA94 before they are drawn (the standard national 7-parameter transformation, about 1.5 m in Victoria), so they land on the survey's own grid.
- The record windows now allow their text to be selected and copied.
STARTING A JOB FROM AN ADDRESS
- Survey Properties has a new Look Up button beside the Address field - it finds the address, sets the survey zone automatically and, on a survey with no points yet, centres the plan view there, so the street map, survey marks and boundaries can be checked in the office before any field work.
BRINGING MAP DATA INTO THE JOB
- A survey mark can be added to the open job as a survey point - published coordinates for the survey's own datum, the AHD height prefilled as the reduced level, the permanent mark code (GA) as the description, and the mark's identity kept in the point's remark alongside the surveyor's own note (for example "nail in kerb").
- A cadastral corner can be added the same way, with its published accuracy kept in the remark.
- A property boundary or road casement can be traced into the job as strung boundary points - the complete boundary, only the side that was tapped, or every boundary line running along the job's existing survey points in one pick. Description codes come from User Settings (boundary B1, road edge K1), each separate line goes on its own string number, and the lines just added are highlighted in orange until the next tap on the plan view.
INSTALLER
- The Victorian map data now installs with nPoles: the survey marks (SMES) as an optional component included in the installer (untick outside Victoria), and the larger datasets (property boundaries, road casements, street names, cadastral points) downloaded from the nPoles server during installation when ticked. Installed data is found automatically - no set-up prompts. (c) State of Victoria (Department of Transport and Planning), CC BY 4.0.
POLE SCHEMATIC
- Tee-off and two-way tee-off poles now identify their tee arms - "T/O" with the compass direction beside the arm and on the height row, so it is clear which heights tee off and to which side. Applies to the on-screen schematic and the DXF export.
CONDUCTOR STRINGS
- The Points Tools in Conductor String Properties now work on between-supports ranges (midspan points included even when their numbers fall outside the range) and their confirmation boxes can no longer sink behind the dialog.
FIXES
- Fixed a crash when deleting a point from its tap menu, most readily seen straight after an address look-up.
- A cadastral point sitting close to or underneath a survey point is now reachable through the point's tap menu, the same way overlapping points are offered.
nPoles v1.4.172 - What's New
Release Date: 3 August 2026
VIRTUAL KEYBOARD
- Fixed the keyboard vanishing for good after closing a dialog with OK (reported from Survey Properties on Windows 10) - with "Show the keyboard for every field" enabled it now reappears for every later dialog and input field as intended.
- The keyboard now returns to the dialog underneath when a message box or another window closes over it, instead of staying hidden until an input field is tapped.
- Fixed a possible crash when exiting nPoles while the virtual keyboard is enabled.
STRINGING CHARTS
- The sag / temperature and condition plots can now also be exported as a FreeCAD macro (*.FCMacro) from the plot window's Export button, alongside the existing AutoCAD script - running the macro rebuilds the chart as native FreeCAD objects (FreeCAD 0.19 or newer).
- The AutoCAD script export has been reworked so the drawing needs far less manual clean-up: curves on layers coloured to match the on-screen plot, every curve labelled with a leader arrow, labels that stagger to avoid overlapping, curves trimmed at the chart border, the chart title above the chart, and a colour legend on multi-conductor condition plots.
- Condition curves that lie on top of one another are drawn once with their labels combined.
- New "Additional Notes" boxes on the Sag / Temperature and Condition Chart tabs - saved with the chart and written onto the CAD exports.
- The Export dialog now suggests a file name built from the chart itself (title, chart type, conductor, span range and FSCC), and cancelling no longer forgets the last-used location.
- Fixed swapped axis-title orientations in the AutoCAD export, and extra conductors in rows 11 and 12 of the condition plot list not being plotted.
POLE LOAD
- The pole schematic has been restyled along the lines of utility pole schedule drawings: attachment names in a left-hand column with heights aligned in a right-hand column, a "PT" pole top row, a border around each panel, and the load summary under a "LOADS" heading with the pole load direction beside the SDL and LDL values (and the residual direction beside RSDL and RLDL on stayed poles).
- New schematic options under User Settings: attachment heights in millimetres, and a semi-3D style where crossarms are angled to their real bearings and stay wires run toward their anchors, captioned "LOOKING NORTH EAST" or "LOOKING NORTH WEST".
- The pole is now drawn as a solid tapered pole with shading, and the DXF export follows the same layout and now includes the stay tensions.
- An extra non-conductor attachment height is only drawn when marked as "Non String", and a "Non String" attachment with no remark text still shows its height.
- The schematic's "Flat DXF" export option is now explained on hover.
POLE STRUCTURE DATABASE EDITOR
- The timber species database's generic strength-group entries have been corrected in every profile that carries it (SECV, AusNet, Powercor, Jemena, JEN, United Energy): the entry miscoded as S4 is now S3, pressure-treated selections S2PT and S3PT have been added, S2 is labelled "Octagonally dressed, not pressure treated" with corrected design stresses, and the S6 durability rating is corrected. Utility-specific species data is unchanged.
- "Unlock for Editing" now unlocks the selected record on the first click, on every tab.
- Imperial poles are listed in their own units - a 30 ft pole shows as "30 ft" with its tip diameter in inches.
- The editor window now has its own taskbar entry, no longer sits permanently on top of the main window, and restores from minimised.
- The pole detail tabs scroll instead of squashing their fields, the pole list opens at half the window width with a wider Code column, and the material colour coding distinguishes imperial wood, metric wood, TITAN, steel and concrete poles.
PLAN VIEW AND EXPORT
- Zooming out with the mouse wheel now works consistently on every job - previously larger jobs could never be fully brought onto the screen.
- Export View to Image / PDF now works for the field view, saving the view as shown (including the map basemap) as a PNG or PDF, with confirmation of where the file was saved.
- Right-clicking a pole in the points list now offers Pole Load, matching the plan view.
POINT EDIT
- A new "Adjust Heights" button beside the Reduced Level field: when a pole's ground level changes, it offers to shift every recorded attachment height - and those of any T-offs sharing the pole - so each attachment keeps its absolute level, recalculating aerial stay angles, with a before/after summary table and an option to back up every pole first.
GENERAL
- Release builds no longer write developer diagnostic files into the nPoles folder. The per-job survey log used for job recovery is unaffected.
nPoles v1.4.171 - What's New
Release Date: 13 July 2026
ASSISTANT
- The in-app assistant can now answer questions about the job: "how many poles" (with tee-offs, stays and a breakdown by pole material), "how many substations / transformers", "how many telecom pits / gates / any point code", and questions about the conductor circuits ("how many LV circuits", "what is the highest voltage", "how many kilometres of conductor").
- Asking "where is point 72" now circles that point and centres it on the plan view, when the plan view is open.
- Asking "where is this job" reports the survey extent and centre, the datum and zone, and the latitude and longitude of the job's centre.
- The list of manual sources shown beside an answer is now clickable, opening that chapter of the built-in manual at the relevant section.
PLAN VIEW
- A new "Show map" button draws an OpenStreetMap basemap beneath the survey, so the job can be seen in its real-world setting; areas that have been viewed are cached and still show without an internet connection.
- A new "Street View" button opens the centre of the current view in Google Maps Street View in a web browser.
- Tapping a point offers "Describe Point" and, for poles, "Pole Load" (which opens with that pole already active); tapping a power line offers "Clearances" and jumps straight to that span. Where several points sit on top of each other, a list appears first so the intended one can be chosen.
POLE LOAD
- The pole schematic now shows non-string attachments - objects recorded on a "0 - Non String" circuit at a height, such as transformer connection points - as a labelled marker, and includes them in the image and DXF exports.
- A new "Explain this" button on the pole schematic opens the in-app assistant with the current pole's loading data filled into a question, ready for a plain-language explanation.
- The strength groups of several timber species have been corrected to match the reference overhead line design handbook. The strength group sets the permissible bending stress used to rate a timber pole, so the capacity for these species has changed: Grey Gum, White Mahogany, White Stringybark, Mountain Grey Gum, White Topped Box, Red Bloodwood and Radiata Pine.
POINT EDIT
- The timber species list is now taken directly from the timber species database instead of a separate list in User Settings, so every species in the database is offered and the two can no longer disagree. The Timber Species field has been removed from User Settings.
- The timber species dropdown now includes generic strength-group entries (S1, S2, S4 and S6) for classifying a pole by its strength group when the exact species is not known.
VIRTUAL KEYBOARD
- With "Show the keyboard for every field" turned on, the keyboard now appears on every dialog as it opens, including the Survey Properties dialog and other multi-field dialogs where it previously did not.
HELP
- The reference manual now opens in a window inside nPoles rather than launching a separate program, and its A+ / A- buttons resize the help text again.
nPoles v1.4.170 - What's New
Release Date: 7 July 2026
POINT EDIT
- The conductor-string tooltip now always matches the string's current stringing chart. Previously the cached edit dialog could keep showing a previous chart (after a string's chart was changed, or after opening a different job with the same number of strings) until nPoles was restarted.
- The Stay-anchor and pole-string dropdowns now always list the current job's point numbers, instead of sometimes showing a previous same-point-count job's numbers until a restart.
- Switching the User Settings profile and re-editing a point no longer doubles up the dropdown options (pole material, pole strength/length/status, stay, footing and others), which could previously allow selecting a value the active profile does not define. The Pole Formatted Description table no longer gains duplicate rows either.
POLE LOAD
- Corrected the imperial (feet) timber pole database: invalid S1 strength-group entries that are not part of the imperial pole standard have been removed, so imperial timber pole wind loads no longer vary inconsistently across timber strengths. The genuine S2 and S3 poles are unchanged.
- Footing strength: a surface log given a face depth but a length too short to rate no longer just returns a strength of 0 with no explanation. The two surface-log boxes are highlighted and a message explains that the dimensions do not make sense, and how to correct them.
CLEARANCES
- New User Settings > Clearances option "Include conductor strings marked as REMOVE". Off by default, conductor strings whose status is Remove are unticked and skipped in the clearance checks (still shown so a string can be re-ticked for a span) and left out of the clearance reports, the same way the Pole Load dialog already excludes them.
- The Previous button in the clearances run now steps back through the poles one at a time, instead of corrupting the three selected points (duplicating one and shrinking the span).
- Objects recorded with a below-surface (negative) height are now checked and reported — such as a finished surface level where the ground is to be cut down for a road or rail project. Previously an object had to sit above its surveyed point to be checked, so a planned cut was ignored.
- A point flagged as a finished surface level (remark "FSL" or "New RL") is now labelled "Finished Surface Level" in the clearance details and the report, showing both the current clearance to the surveyed surface and the future clearance to the new level.
SURVEY FILES
- New File > Import > "Create job from log file" rebuilds a survey from its log file when the project file is lost or corrupt, recovering the surveyed points (position, description and pole / cross-arm heights) as a new untitled job to review and save.
- New User Settings > Survey Files option "Log full job for recovery". When ticked, each save also writes a complete snapshot of the job to the survey log file, so "Create job from log file" can then rebuild the entire job. Off by default; the chronological backup remains the primary safeguard.
SPATIAL
- New Spatial > Describe Point tool (also on the point right-click menu) reports where the selected point sits in the network: its plan-view symbol and code meaning (e.g. G4 - telecom pit), whether it is a pole or a spot point, the two poles either side and their pole string, the span length and offset, and the conductors carried across the span. For a pole it shows a datasheet (material, length, strength, height out of ground, footing depth, timber species / strength group) and any tee-off. The readout can be copied to the clipboard or saved as a PDF.
VIRTUAL KEYBOARD
- The keyboard now opens again each time a data-entry window is reopened (Point edit, Surveying Calculator, Pole Load, Clearances and Conductor Calculator), not just the first time it was opened in a session.
nPoles v1.4.169 - What's New
Release Date: 19 June 2026
POINT EDIT
- The timber species dropdown now shows each species' strength group, e.g. "(GREY IRONBARK) GI - S1".
POLE LOAD
- The pole timber species now drives the pole shaft wind load. A timber pole's strength group (e.g. S1 for Ironbark) selects the correctly-sized pole from the database — a stronger species is a slimmer pole with less wind area — instead of always taking the largest variant for the class. Set the timber species on the point for this to apply.
- The report "Copy (plain text)" button now copies the report tab-separated, so the breakdown and attachment tables paste into LibreOffice Calc or Excel as columns.
- New "M-WL" button beside Wind Load opens a table to manually set or override the wind load components, and add custom items such as antennae. The total is forced and the reports flag it as manually entered, with no wind pressure recorded.
- When a timber species is set, the reports now show the pole's strength group after the material in the summary, e.g. "40'/B WOOD (S2)", and the detailed report names the species and strength group.
- A surveyed ground-line girth (circumference) is now used for the pole shaft wind load (converted to diameter) even without pressing the girth-to-diameter button.
- New User Settings > Pole Load option "VESI method: LDL footing moments about ground line". When on, the footing demand for Long Duration Load conditions is taken about the ground line (per the VESI / SECV manual) rather than the below-ground pivot point; Short Duration Load conditions keep the pivot. Off by default, so existing footing ratings are unchanged.
- Concrete, steel and Stobie poles now show only the short-duration (SDL) design conditions. The long-duration (LDL) conditions model timber creep and do not apply to these materials, so they are hidden in the results, the pole schematic and the reports. Timber and TITAN poles still show both.
- Under Design Stress, the reduced pole strength is now the pole's ultimate strength reduced by its strength reduction factor (not the working strength reduced by the same factor). The previous method understated the strength and so overstated the utilisation; Design Stress ratings and the percentages that depend on them are corrected.
- The utilisation tooltip on a condition's resultant force now shows two consistent lines: a moment basis (bending moment vs the pole's moment capacity) and a force basis (load vs the reduced kN rating).
USER SETTINGS
- Registration: an "Update" button next to the email address sends it to the registration server immediately (the same as Update Registration Settings) — an email typed in but not updated was previously lost when OK was clicked. If offline, a message explains that an internet connection is required to subscribe to the newsletter.
VIRTUAL KEYBOARD
- A minimised keyboard now re-opens automatically when you tap into a field. Minimising tucks it down to a slim title bar with no taskbar button, so tapping a field — which previously did not bring it back — could leave it hard to find. Tapping any input field, or the title-bar restore button, now brings it back.
- New button on the keyboard's title bar opens the right-click menu (cut, copy, paste, and Enable/Disable Virtual Keyboard) for the field you are editing — useful on touch tablets that have no right mouse button.
HELP
- Help > Reference (F1) now opens the nPoles manual in a built-in viewer window, instead of relying on a separate help program that most machines don't have installed (which left the Reference doing nothing when clicked).
nPoles v1.4.168 - What's New
Release Date: 16 June 2026
USER SETTINGS
- New "Keep the keyboard open" option makes the nPoles keyboard stay available like the Windows touch keyboard — it no longer hides as you move between fields, and a minimise button on its title bar tucks it down to a small bar you restore with a tap. With it on, the nPoles keyboard can replace the Windows touch keyboard while nPoles is running.
POINT EDIT
- The Sub Station box is now a tick box. Untick it to take a transformer off the pole, and out of the pole load, while keeping its details on record as a note of what is to be removed; tick it again to restore it.
POLE LOAD
- The transformer wind load can now be included in the pole load. New "Wind load on transformer" options in User Settings (Design Stress and Limit State, alongside the crossarm and insulator wind options). The transformer must be ticked on at the point and have a mounting height for its wind to be added.
- Fixed crossarms and insulators being mis-counted in the wind load. Attachments that have a height but carry no conductor (communications, streetlight or service brackets) were wrongly counted as crossarms and insulators. Crossarms are now counted once per conductor crossarm, and insulators one per conductor (a 3-phase HV circuit gives 3 insulators and a 4-wire LV circuit 4).
- Crossarms now use the flat-surface wind pressure (the same as the transformer) instead of the lower round-pole pressure; insulators stay on the round-pole pressure. The report shows both pressures, and the flat pressure is now also applied correctly under the Limit State method.
- The report "Copy to clip-board" button (now "Copy (formatted)") pastes into Word and LibreOffice as a formatted table instead of raw HTML, and a new "Copy (plain text)" button copies the report as plain text. Both are on the summary and detailed reports.
nPoles v1.4.167 - What's New
Release Date: 15 June 2026
USER SETTINGS
- The virtual keyboard options on the General tab are now grouped in a single "Enable Virtual Keyboard" box with the related options inside it; they grey out when the keyboard is switched off.
- The User Settings window sizes itself to the screen — it opens wider on roomy screens and can be dragged out to 1600, and clamps to the screen width on smaller tablets so it never runs off the edge.
- Reports tab: the Conductor Schedule report column settings are laid out vertically and the column boxes are sized to their content, so the column headers (Route Length, Max Design Temp, etc.) no longer clip and the columns are better balanced.
POINT EDIT
- The Sub Station transformer mounting-height field now has a "Height" label and a tooltip explaining it; the transformer selector has a tooltip too.
- The transformer selector now lists the transformers from the transformer database (the same as the Pole Structure Database Editor) instead of the profile's sub-stations setting. Profiles without a transformer database keep the old list, and you can still type a transformer in.
- New "Side" (Back / Forward) option next to the transformer height — records which side of the pole, along the line, the transformer is mounted.
- The Footing section now has a tooltip on every item, explaining the auger diameter, surface log length and face depth, and concrete depth in the manual's terms.
MENUS & TOOLS
- New "Pole Structure Database Editor" entry in the Settings menu (also the renamed toolbar / Design-menu button, formerly "Pole Calculator") opens the pole / cross-arm / insulator structure database editor.
- The unused "Cross Arm Structure Settings" option is greyed out for now.
- The Compare Conductor files button now has its own icon, and the Compare Conductors and Compare Chart Files windows show their own title-bar icon.
POLE LOAD
- Bug fix: footing dimensions no longer shrink 1000x when the footing type is changed. The surface log and concrete dimensions were being divided by 1000 (treated as millimetres when they are stored in metres), which could display and save tiny values and a wrong footing rating. Footing dimensions are now consistently in metres in both the Point edit and Pole Load dialogs.
- The footing dimension fields now show 3 decimals (mm precision), matching the Point edit footing fields.
nPoles v1.4.166 - What's New
Release Date: 12 June 2026
POLE SCHEMATIC
- Bug fix: the EXISTING panel could show far too little load after works renumbered the circuits — e.g. after raising a crossarm, an entire conductor's tension silently dropped out of the existing loading. Each circuit's loading now follows its conductor string regardless of numbering, and the existing pole also inherits the structure wind load when its backup carries none
- Loads stored on a backup point are now treated as the authoritative pre-works snapshot and are never overwritten; when no snapshot exists the existing loading is estimated from the current conductor data. Recommended workflow: Calculate, then Backup Points, then modify — the backup then carries the exact existing loading even if conductors are later re-strung to different tensions. The Backup Points confirmation includes this tip whenever a backed-up pole has no stored loads
- Bug fix: RSDL/RLDL now show the residual loading left in the pole after the stays take their share, and only appear when the pole actually has stays. Previously a spare-capacity figure was shown on every pole, mislabelled as residual loading
- New User Settings option (Pole Load tab): "Show SDL / LDL / RSDL / RLDL loads on the pole schematic" (default on, stored per settings profile). Untick to hide the load values on the stick diagram and its DXF export with one switch; stay tensions still show
POLE LOAD REPORTS
- Summary reports (PDF and spreadsheet) now state the wind load on the pole; manually entered values are flagged "(manually entered)"
- Every report format now records the nPoles version, date and "Prepared by" — the registered user name, or the User Settings initials when no name is registered
- The wind-load breakdown no longer lists components that contribute nothing: components disabled in User Settings, and zero extra-weight or transformer rows, are omitted from printed reports. The wind-load tooltip keeps every row as a diagnostic view, with disabled components labelled "(disabled in User Settings)"
VIRTUAL KEYBOARD
- Bug fix: fixed crashes on touch tablets after closing a dialog the keyboard had been shown in — reported as crashes when opening Survey Properties and when selecting the Spatial Data tab
- Bug fix: now works on spinboxes, bearing fields and editable dropdowns. Previously only plain text boxes could show the keyboard — even when a field had been right-click enabled — leaving numeric and bearing entry with no keyboard at all on touch-only tablets
- Bug fix: Windows touch-keyboard handling rebuilt for Windows 10 and 11. nPoles now stops Windows auto-opening its own keyboard for nPoles fields, and only closes the Windows keyboard while the nPoles keyboard is on screen — a keyboard opened deliberately from the taskbar is left alone. Previously the two keyboards could stack on top of each other, or the user could be left with no keyboard at all
- Settings changes now apply without a restart (only turning the keyboard on or off still needs one), and enabling the keyboard for the first time pre-ticks "show for all input fields"
- The Numeric layout gained Up/Down/Left/Right arrow keys — step a value up or down and move between bearing degree/minute/second sections from the compact pad
- Bug fix: no longer appears off-screen after rotating the tablet or undocking a monitor, no longer pops up for read-only display fields, and hides while a confirmation prompt is blocking input
CHANGE LOG VIEWER
- Bug fix: Help - About - Change Log entries are no longer displayed as empty bullets. Text containing angle-bracketed terms was being treated as hidden formatting by the viewer and swallowed
nPoles v1.4.165 - What's New
Release Date: 6 June 2026
NPOLES ASSISTANT (new feature, preview)
- Default chat model swapped to a smaller / faster variant (qwen2.5:3b) for the laptop preview. Cuts response time roughly in half on CPU-only machines with no meaningful quality drop on manual-lookup questions. Once nPoles Assistant moves to the server, a larger model will run there with GPU acceleration for full speed at higher quality.
- The assistant can now run actions for you, not just answer questions. Ask "show me points 10 to 20", "what pole runs are in this job", or "save points 10 to 20 to a CSV" and the assistant calls the matching nPoles operation directly. Read-only actions (listing points, listing pole runs) run immediately; write actions (saving files, modifying data) ask for confirmation before running. More tools — ODS export, pole load reports, clearance checks — will be added in following releases as wrappers around the existing dialogs.
- New in-app chat panel under Help → Ask nPoles Assistant… (Shift+F1). Ask anything about nPoles — the manual, menu paths, settings, conductors, charts, footings — and get a streaming Australian-English answer with cited sources from the manual. The Sources sidebar shows which sections the assistant drew on so you can verify each answer and click through to the manual. Conversation history is kept for the session. Currently runs against a local Ollama-based server on the same machine; future releases will move this to npoles.com so multiple users in an office can share the same assistant without each running a local server.
ADD POINT
- Bug fix: hitting Save followed by OK in the Add Point dialog no longer triggers a spurious "Point N Already Exists! Replace Point?" prompt. Customer-reported from a field tablet. Caused by Add-mode bookkeeping not flipping to Edit after the first Save, so the second click (Save or OK) saw the just-saved row as a duplicate. After Save in Add mode the dialog now transitions internally to editing the just-added point — subsequent Save / OK clicks update the row in place without prompting
TEST FRAMEWORK
- New headless test runner accessible via "nPoles.exe --test" from the command line. Runs the built-in regression suite and prints PASS / FAIL / SKIP per test plus a summary line. First case validates the FSCC catenary maths so subsequent code changes can't accidentally break the surveyor's default solver routine without the test catching it before release. Now also drives Qt dialogs headlessly with a global QMessageBox catcher — three new tests guard the Add Point Save-then-OK fix above plus the construction / tab-switch paths of Point Edit and Survey Properties (so future code changes can't quietly break the dialog open-and-navigate workflow without the test catching it before release). More tests will be added per release
CHART FINDER
- New "messenger chart" mode for creating CATV / Hendrix / spacer / lashed-services charts directly from the observed sag. Triggers automatically whenever the observation includes bundled-cable weight. The new chart's starting tension is calibrated against the same evaluator the candidate list uses, so the created chart's predicted sag at the observed conditions matches the surveyor's input to within 0.1mm. Existing "Create Chart" workflow for plain conductors is unchanged
- Debug log at chartfinder_create_debug.log in the project directory captures the full create-chart trace per session (inputs, observed-span calc, messenger-mode strip steps, calibration loop iterations, final chart fields). Appended on each Create Chart action so consecutive tests can be compared
- Bug fix: the Add-to-Average accumulator now clears when you pick a different conductor string. Previously the previous string's observations bled into the new string's average, and Create Chart From Average then produced a chart built from the wrong observations
POLE LOAD
- The detailed pole-load report can now be saved as a PDF. The new "PDF Document" option in the Save dialog produces the same three-part report as the spreadsheet — the full attachment / condition table on a landscape A4 page (no condition column cut off, however many conditions you have enabled), then the plan view followed by a bending-moment and a deflection diagram for each condition. The PDF and the spreadsheet always show the same diagrams
- Bug fix: removed the misleading DXF option from the detailed-report Save dialog. It saved the pole schematic stick diagram, not the report. The stick-diagram DXF is unchanged and still available from the "Export Stick Diagram DXF" button on the Pole Schematic tab
- Crossarm and insulator wind load can now be included or excluded separately for Design Stress and for Limit State, under User Settings (Clearances + P.L.). By default Limit State includes the crossarm and insulator wind and Design Stress does not, matching current Australian practice — tick the boxes to include them in a design-stress calculation
JOINT-USE SCHEDULE
- The third column heading is now "Asset" instead of "CAM No.", since the column holds each joint user's asset identifier, which is not always a CAM number across the utilities that use the schedule
- Bug fix: poles with the "Joint Use Pole" box switched off no longer appear in the schedule. Previously a company name left in a pole's joint-use fields — entered and then switched off, or copied from another pole — still produced a row, so the report could show extra lines for poles that aren't joint-use poles. The schedule now lists only the poles you have actually ticked as joint-use poles; existing jobs are corrected the next time the report is run, with no need to edit any pole
USER SETTINGS
- Bug fix: the User Settings dialog no longer opens wider than the screen. It now opens at a sensible width and can be dragged wider (up to 1024 px) when you want to see long database-path or party-member fields in full
nPoles v1.4.164 - What's New
Release Date: 25 May 2026
CATV STRINGING CHARTS
- Slacker CATV catenary charts added to every Australian utility profile, all the way to 5.00% messenger-cable sag. Previously the slackest available was 3.50% (Victorian profiles) or 2.50% (the others). Each profile's chart list now extends in 0.25% steps right up to 5.00%, with all seven bundle variants populated per percentage: 1MC / 2MC / 3MC / 1MC1SF / 1MC1LF / 2MC1SF / 2MC1LF. The starting tensions for the new percentages come from the in-app catenary solver run on the SECV profile via the "Find Start" button in the Stringing Charts dialog: 13.315 MPa at 3.75%, 12.474 MPa at 4.00%, 11.734 MPa at 4.25%, 11.079 MPa at 4.50%, 10.493 MPa at 4.75%, 9.967 MPa at 5.00%. The non-Victorian profiles (energex, etsa, ergonEnergy, energyAustralia, countryEnergy, integralEnergy, auroraEnergy, westernPower, NT-PW) also gain the 2.75 / 3.00 / 3.25 / 3.50% range with SECV's existing values for those percentages — the messenger catenary only depends on the messenger cable, which is the same across profiles, so a single MPa value per percentage applies everywhere (enhancement)
POINT EDIT
- Bug fix: opening a CSV-imported pole in Point Edit could show the previously-edited pole's Pole Top above ground (and other measured fields — pole ground diameter, mid diameter / height, pole tip diameter, tip easting / northing / RL, extra weight + drag area / height / Cd, sub-station height, pole-centre tick) pre-filled. Saving on top of that pre-fill silently persisted the wrong above-ground length onto the imported pole. Note for surveyors doing back-to-back Total Station readings: the previous behaviour where these spinboxes kept the prior pole's values across TS reads (an implicit shortcut) is removed in favour of always showing the point's true values. To copy a previous pole's data deliberately, use the existing "Copy Point Data" combobox at the top of the Point Edit dialog (bug fix)
CONDUCTOR STRING
- Bug fix: the Street / Reference field would not accept a second entry once one was in place. Typing a new street name and pressing Enter had no effect, and clicking on the text area opened the dropdown instead of letting you position the cursor to type. The dropdown-only behaviour added in v1.4.155 was over-aggressive — it routed every click and key press on the inner text field to the dropdown, swallowing the Enter that commits a typed entry. Clicks now position the cursor in the text area as expected; Enter commits the new entry; the dropdown still opens via a click on the combo body or the down arrow
nPoles v1.4.163 - What's New
Release Date: 25 May 2026
BUILD
- Built against Qt 6.11.1 (was 6.11.0). Patch update on the same LTS branch — bug fixes only
POLE LOAD - WIND LOAD
- Manually entered wind load is no longer silently overwritten when you click Calculate Wind Load. A prompt now appears showing the manual value, the calculated value and the full component breakdown — choose Replace or Keep manual. The manual flag is saved on the pole so reopening the job remembers the choice
- New HTML breakdown table on the wind-load spin box tooltip and in the detailed report: pole shaft, cross arms, insulators, extra weight (banners), transformer — with running total and the structure wind pressure, pole drag coefficient and pivot ratio at the foot. Replaces the previous single-number display so it's clear where each Newton came from
- Cross arms now contribute to pole wind load. Per-circuit lookup uses the new windArea_m2 and dragCoefficient fields in the crossarm database. Surveyors don't have to fill the crossarm code on every circuit — the calculator falls back to length-string match, then a representative Intermediate arm. Multiple circuits at the same height are grouped so a 3-phase HV crossarm counts as one physical arm (not three). 522 crossarm records populated across the 6 utility profile databases with windArea = length x height
- Insulators now contribute too, one per active circuit (= one per conductor). Uses the new windArea_m2 / dragCoefficient fields on insulator records; 156 records populated from length x max-cross-section
- Wind pressure: cross arms and insulators use the structure wind pressure (typical design-stress 750 Pa), the same as the pole shaft. Transformers and extra-weight banners still use the flat-structure pressure (typical 1000 Pa) — they're standalone bodies, not part of the pole structure
- Wind breakdown table now shows the count and dimensions of each component in the right-hand note column. Cross arms read e.g. "2 x 1.8m" when all the same length, or "3 cross arms (2 x 1.8m + 1 x 1.4m)" when mixed. Insulators read e.g. "6 x 11KV-9S-POST-TIE". Lengths are rounded to the nearest 100mm so 1797mm and 1800mm records collapse to the same bucket
- Crossarm grouping tolerance widened from 0.15m to 0.75m. Was over-counting on poles where the multi-phase HV crossarm has phase pairs 0.45-0.9m apart vertically — each phase was being treated as its own physical crossarm. 0.75m matches the fallback "minimum same-circuit phase separation" the 3D views already use when voltage type can't be parsed. Note: this is an intermediate fix — full voltage-aware merging that exactly mirrors PoleSketch3D / RouteView3D conflation is planned as a follow-up; until then the count may still differ from the 3D for unusual configurations (multiple distinct crossarms within 0.75m of each other, e.g. transformer drops below an LV crossarm)
POLE LOAD - FOOTING DETAILS
- Bug fix: the rated footing strength shown in the spin box and on the detailed/summary reports was carrying over from one pole to the next. Switching to a pole that hadn't had its strength calculated still showed the previous pole's kN and OK/INSUFFICIENT verdict. Capacity is now wiped on every pole switch — you have to click Calculate Strength on each pole to populate it
- Labels and tooltips on the footing tab now carry the SECV / Devereaux symbol next to each input (dc, a, b, Fc) and explain what each represents in plain words. The "Bottom concrete layer" is also called the "concrete block" or "collar" — both terms appear in tooltips so older terminology still resonates
- New "?" button next to Calculate Strength opens a popup with the SECV / Devereaux footing-formula diagram and a legend explaining every symbol (L, h, dp, dc, a, b, Fc, e, K0, P, H)
- New "Calculation method" dropdown at the top of the footing tab. Pick SECV / Devereaux (default, the long-standing Victorian DB method) or Brinch Hansen (ENA C(b)1). Per-pole selection, saved with the point
- New Brinch Hansen footing solver per ENA C(b)1-2006 Appendix B (Tables B1 and B2 — Kq and Kc bilinear interpolation). Soil properties default to ENA Tables B3-B5 typical values keyed off the existing footing combo entry — picks the appropriate phi, c and gamma for "Rammed earth only" vs "40-minus crushed rock" vs "Concrete + log" etc.
- New "Profile..." button opens a per-pole layered geo-report calculator. Editable layer table with soil type dropdown (15 types from Topsoil through Concrete fill), thickness, phi, c and gamma per row. Set the last layer's thickness to 0 for "to base of footing". Click Calculate inside the dialog to preview the rating, OK to commit — the method auto-switches to Brinch Hansen and the rating populates the parent dialog without a separate click
- "Apply template for footing type" button inside the Profile dialog pre-fills a sensible layer stack for whichever footing combo entry is selected (e.g. "Concrete + RE + log" gives Topsoil 0.3m / Compacted backfill 1.2m / Firm clay 0.3m / Concrete to base)
- Bug fix: the SECV / Devereaux solver was already iteratively solving the cubic for e (the pivot ratio) but the result was being discarded — the pivot spin box stayed at 0.7 (the default) regardless of pole geometry. The iterated value is now captured and echoed back to the spin box so the surveyor sees what the cubic actually landed on (typically 0.45 - 0.85 depending on load height, surface log, concrete block and soil)
- The Brinch Hansen footing solver now iterates the pivot too via bisection on the moment + horizontal force equilibrium residual. Surface log and concrete block geometry now affect the rating noticeably (they shift where the pivot lands, which shifts the F1 / F2 force balance) — previously the pivot was hardcoded to 0.55 / 0.667 and these geometry inputs had minimal effect on the BH result
- Pivot ratio is now shown next to structure wind pressure and pole Cd at the foot of the Wind Load breakdown popup tooltip, and in a new row in the Footing Re-Rating section of both summary PDF and summary ODS reports. Non-default values (anything not 0.7) are flagged in orange — useful when the soil method picked a value other than the historical SECV default
- Method name: the SECV pivot-point formula is now labelled "SECV / Devereaux" throughout the dialog, tooltips and reports. Devereaux was the SECV engineer who derived the original formula; "SECV / AusNet" was less accurate (AusNet inherited the method but didn't develop it)
ROUTE VIEW 3D
- New Print / DXF / STEP / 3D Web buttons on the Route View 3D toolbar — same set the single-pole PoleSketch3D view has had. Print captures the current view as-zoomed and offers Print, Save as PDF or Save as Image
- DXF export writes the whole route as 3D entities (pole shafts + conductor catenaries) at real-world easting / northing / RL coordinates. Open the resulting file in AutoCAD or any DXF-capable CAD tool for downstream drafting
- STEP export writes the route in ISO 10303 (STEP) format for engineering CAD tools — Inventor, SolidWorks, FreeCAD, etc. Per-pole shafts are placed at their surveyed positions; conductor catenaries are written as thin cylinders that follow the gentle wire droop
- 3D Web export writes GLB (or text glTF) — the standard format for browser-based 3D viewers (model-viewer, three.js, Blender) and for embedding the route in web reports / asset management portals
- Conductor sag in the exported catenaries currently uses a small default proportional to span length (~1.2%). Condition-specific sag from the stringing charts isn't yet plumbed into the route exporter — a follow-up release will pick that up so the exported geometry matches the conditions used for the load run
VIRTUAL KEYBOARD
- Fix for Windows 10 tablet-mode users: the Windows touch keyboard was still flashing visible before nPoles could close it, especially noticeable in the field on tablets. The dismissal is now event-driven instead of polled — Windows tells us the instant the touch keyboard becomes visible and we hide it before its first frame paints. Office (desktop-mode) behaviour is unchanged
- New User Settings option "Show virtual keyboard for all input fields" (off by default). With it on, the nPoles virtual keyboard pops up for every input field automatically — no more right-clicking to enable each field one at a time. Per-field enable/disable from the right-click menu still works and your existing per-field selections are preserved; turning the new option off restores the previous behaviour
nPoles v1.4.162 - What's New
Release Date: 14 May 2026
POINT EDIT
- The dialog now always opens on the first tab (Circuits 1-8). Previously it remembered whichever tab was last active, which could leave you looking at Circuits 17-24 on a point that has no high-circuit data
POLE LOAD SCHEMATIC (PNG and DXF)
- Negative insulator drops now show in the attachment-height label. Previously only positive drops appeared (e.g. "22kV - 10.15 + 0.45"); a negative drop on an upward-pointing bracket was silently dropped. The label now reads "22kV - 10.15 - 0.45" when the conductor sits above the crossarm
- Multiple fibre/CATV/PL MNT circuits at the same or similar heights are now each individually plotted, side by side. Previously two cables at the same height collapsed into one visible bracket — the second cable was effectively invisible
- Note: the same collapse behaviour may still affect the 3D views (PoleSketch3D, RouteView3D, Clearance3D) — to be addressed in a follow-up release
POLE LOAD REPORTS
- The detailed and summary Pole Load reports now document the footing re-rating for over- or under-sunk poles. The block lists the footing type, all four input dimensions (auger diameter, bottom layer thickness, surface log thickness and length — in metres at mm precision), the rated capacity, the maximum overturning demand both without and with stays, and an OK / INSUFFICIENT verdict against the finished structure with stays. Triggers as soon as any footing data is present on the pole — type-name from the dropdown OR just the dimensions
- Save Summary Report now offers Spreadsheet (.ods) alongside PDF and ODT. Pick from the file-type dropdown in the Save dialog
- Summary PDF: fixed text overlap. Rows had too little inter-line spacing and the Condition column was too narrow for labels like "SDL: 15°C 500Pa 0mm" which spilled into the next column — both fixed
- Summary PDF / ODS: fixed "Resultant Forces with Stays" reading 1000× too small (showed 0.001 kN where the dialog correctly showed 0.6 kN)
- Save Report (any format): if the destination file is open in LibreOffice or Excel, the save now shows a clear "file may be open in another program — please close it and try again" warning instead of silently failing
ROUTE VIEW 3D
- Ground reflection toned down — the bright sun reflection off the grass was caused by a Phong specular highlight that grass shouldn't have. The ground is now matte with a slightly lighter green
- New "Sun" picker in the toolbar — choose Morning, Noon, Afternoon (new default) or Late Afternoon. The lower-angle Afternoon default gives a directional highlight on the line and softer overall lighting than overhead Noon
- Mouse-wheel zoom is finer on large jobs — single-notch zooms no longer overshoot. 5% per notch (was 8%)
CLEARANCE 3D
- Strain crossarms at the middle pole now orient per-circuit instead of all sharing one averaged angle. A pole with two strain circuits going in different directions (e.g. one coming from A, one terminating going to C as a t-off) now draws each crossarm perpendicular to its own conductor — matching the existing RouteView3D behaviour. Through-running circuits are unchanged
CONDUCTOR STRING DIALOG (Conductor Strings → edit a string)
- The Owner field no longer silently defaults to the first joint-use owner on a new string. A blank entry is now always available at the top of the dropdown, so new strings start with no owner and an existing owner can be cleared by selecting blank. Customer report: opening a job created the day before, the Owner was already populated without the user having ever set it
USER SETTINGS DIALOG
- The dialog opens on the General tab again. A recent .ui file save had captured the Spatial tab as the default
VIRTUAL KEYBOARD
- Bug fix for Windows 10 and Windows 11 dual-keyboard issue — when the nPoles virtual keyboard is enabled, the Windows touch keyboard now stays out of the way instead of popping up alongside. A new checkbox in User Settings ("Suppress Windows keyboard whenever nPoles is active", on by default) controls how aggressive the suppression is. Confirmed problem with the previous behaviour by a user on a Win11 Panasonic Toughbook
nPoles v1.4.161 - What's New
Release Date: 7 May 2026
SPATIAL → EXPORT LAT/LONG (customer feedback from v1.4.160)
- Decimal-degree output now uses 9 decimal places (was 8). Excel was stripping trailing zeros from values like -38.13944760, leaving the column visually inconsistent. 9 decimals locks every cell to the same width and matches the customer reference example
- New Pole Number column in the points table and CSV export, distinct from the sequential survey Point ID. Useful for cross-referencing against utility asset records
nPoles v1.4.160 - What's New
Release Date: 6 May 2026
SPATIAL → EXPORT LAT/LONG (customer feedback from v1.4.159)
- Output Format dropdown — pick Decimal Degrees (default), Degrees Minutes Seconds, or Degrees Decimal Minutes. The whole table and the manual conversion section update to match
- New "Poles only (exclude T-off)" filter that drops T-off poles using the active settings profile's T-off description code (e.g. "J1" in Victoria SECV)
nPoles v1.4.159 - What's New
Release Date: 6 May 2026
SPATIAL TOOLS (Spatial → Export Lat/Long...)
- New dialog under the Spatial menu for converting project coordinates to Lat/Long. Output matches the format used by online GA conversion tools: PointID, Easting, Northing, Zone, Hemisphere, Latitude, Longitude, Point Scale Factor, Grid Convergence
- Pick the ellipsoid (GRS80, WGS84 or ANS), UTM zone and hemisphere; the dialog pre-selects defaults from your project's settings
- Filter by "Poles only" or "Non-pole" so survey/ground points can be deselected in one click; Select All / None / Invert buttons for fine-grained control
- Tick or untick individual rows then Copy to Clipboard or Save as CSV to feed straight into other tools
- Manual one-off conversion section at the bottom for ad-hoc Easting/Northing → Lat/Long without touching the project
- Save as CSV opens in the same directory as your project file with a sensible default filename, matching the other Save dialogs in nPoles
nPoles v1.4.158 - What's New
Release Date: 6 May 2026
LICENCE AGREEMENT (Help → About → Licence)
- Bug fix: the EULA was not being bundled in the installed package, so the Licence tab was empty. The agreement is now correctly visible under Help > About > Licence
UPDATE CHECKER (Help → Check for Updates)
- The "View changelog" link in the Update Available dialog is now clickable; the dialog text is also selectable so URLs can be copied out
- The changelog link now points at the correct page (https://www.npoles.com/changelog.html) — previously a typo'd URL returned a 404
- The web changelog page is now regenerated automatically on every release build, so it stays in step with the in-app release notes
QUICK SPAN DIALOG (Design → Quick Span)
- Add Span used to do nothing silently when the Distance was 0, the Rise/Object Location was beyond the span end, or the From Pole couldn't be found. It now shows a clear warning explaining which field needs attention
- After a T-off span, the From Pole dropdown could blank itself and disable Add Span when only one pole was in the list. Fixed
- The From Pole field used to recalculate the back bearing on every keystroke as you typed a pole number. It now updates only when you commit (Tab, Enter, or pick from the dropdown) — much smoother on slow machines
- Hardened against crashes when the per-circuit combobox lookup fails or when "Copy Point Data" is left as "None"
- Confirmation dialogs ("overwrite existing point?", "lose height data?") modernised to standard Qt 6 buttons; the default is now Cancel for safety
- Internal cleanup: removed log-spam debugging and a stale uninitialised array slot
LIST VIEW SETUP (Settings → List View Setup)
- Profile dropdown now correctly redraws the checkbox grid when a different profile is selected. Previously the dialog stayed stuck on whichever profile was active when it opened — caused by a Qt-5 signal overload that Qt 6 removed entirely, so the connection failed silently at runtime
AS/NZS 7000 WIND CALCULATOR (Settings → Standards Parameter Calculator)
- Audited against AS/NZS 7000:2016 (the current edition) and corrected several issues that affected the calculated wind speeds and pressures
- Downdraft mode now applies Eq B3 internally: Mt,downdraft = 0.5 + 0.5 × Mt,synoptic. Customers should re-run any downdraft calculations — the prior version over-applied the topographic effect
- Wind return period interpolation: when a working-life × security-level combination produces a return period not in the regional wind speed table, VR is now linearly interpolated between the two adjacent rows. Previously snapped to the nearest tabulated value with materially wrong results
- Mz,cat now linearly interpolates between the two adjacent tabulated heights instead of snapping to the closest row
- Table 6.1 in the dialog rebuilt to match the 2016 standard (5 rows × 3 columns). The non-standard "1.5" and "2.5" Security Level columns and the "75 Years" / "250 Years" extra working-life rows have been removed. Working-life and Security-Level dropdowns updated to match
- Internal cleanup: stale AS/NZS 7000:2010 comment references updated to AS/NZS 7000:2016, Qt6 deprecation warnings cleared
nPoles v1.4.157 - What's New
Release Date: 5 May 2026
BUILD
- nPoles is now built against Qt 6.11.0 (was 6.10.2). No customer-visible change expected; staying current on the Qt release train avoids accumulating a bigger jump later
POLE LOAD
- Pole schematic now shows the insulator drop alongside the conductor attachment height — e.g. "22kV - 10.15 + 0.45" for a circuit with a 0.45 m insulator. Suffix appears only when an insulator drop is present
- Pole schematic widened so the longer voltage + height + insulator labels no longer get truncated at the left edge
- Fix Next/Previous buttons looking dead in Pole Load — most reliably reproduced after switching jobs while Pole Load was open. The same fix unblocks Edit, Calculate Pole Load, the points combo, attachment-enable checkboxes, attachment-height edits, stay groupbox toggles, and wind-direction spinboxes
- Fix Next/Previous appearing inert in single-pole jobs — clicking them now refreshes the active pole even when there is only one to navigate to
POINT EDIT
- Fix points imported from GPS appearing to have a stay attached — the dialog had been leaking the prior edited point's stay-checkbox state onto the next point. Walking through a freshly imported set of GPS points using Next/Previous would silently flip every visited point's stayExists1 to TRUE if the first edit had a stay. Same shape leak fixed for poleTopCentre and polePressureTreated checkboxes. New points opened via Add Point also now start with these checkboxes cleared
AUSNET DATA
- New AusNet timber species file aligned with EVX9-7020 (Wood Poles, Desapped & Preservative Treated). Previously the AusNet profile fell back to the SECV data which had four strength groups misaligned with the AusNet drawing in the bending-moment-diagram heading: Red Ironbark RI (was S1, now S2), White Mahogany WM (was S3, now S2), Red Bloodwood RW (was S2, now S3), White Stringybark WS (was S4, now S3). Radiata Pine PR also corrected from S5 to S6. Pole bending-moment capacity is recalculated from the corrected strength groups, so customers running on AusNet should expect updated SDL/LDL numbers for those species
SETTINGS — COMPARE STRINGING CHART / CONDUCTOR DATABASES
- Customer reported the two compare tools "weren't working" — file picker opened at the filesystem root, the material filter dropdown did nothing, and the Copy ">"/"<" buttons silently aborted on conflicts. All fixed:
- File picker now opens at the active profile's database folder
- Material filter dropdown actually filters the lists now
- Copy reports any items that already exist on the destination side and offers to copy the remaining non-conflicting ones
- Open / Save buttons now have tooltips so the icons are clear
- New "Select All" and "Clear" buttons per side
- New "Save As..." button per side — saves the ticked items (or all if none ticked) to a new file location of your choice. Supports the "copy entire database to a brand new database" workflow without having to load a target file first
- New active-profile label below each side's file path showing which settings profiles currently use that file (e.g. "Active in: AusNet, SECV")
nPoles v1.4.156 - What's New
Release Date: 4 May 2026
CONDUCTOR STRING TOOLS
- Fix Split Conductor String dropping the existing string at the split point — when the new and existing strings shared the same attachment height (which is the default behaviour for a split), only the new string survived the height-sort step and the original was silently lost. The middle point now correctly carries BOTH strings at the same height after a Split operation
nPoles v1.4.155 - What's New
Release Date: 1 May 2026
REGISTRATION
- Auto-recover from the "stuck registered" state some customers hit after upgrading from the pre-TLS legacy nPoles via a v1.4.151–.153 build. Affected users could neither Register, Check, nor Deregister because the client thought it was already registered while the TLS server had no record. nPoles now detects this exact state at startup (file's status, key and hidden key all match the legacy Windows registry verbatim) and resets to demo mode with the licence key pre-filled, so opening Settings → Registration → Register completes the activation. Customers who registered correctly on .153 or .154 are not affected — any successful TLS register would have broken the fingerprint
POINT EDIT — POLE TIP DIAMETER READ
- Fix loop after a successful diameter read — the routine was being triggered multiple times per click, so after the first read transferred the value, a second invocation opened a fresh Read Diameter dialog and (with no readings) produced the "No diameter was calculated" warning. The duplicate-invocation regression that surfaced after the v1.4.153 sender() fix is now blocked at the connection level so a single click fires the routine exactly once
CHARTFINDER
- Fix Create Chart ignoring a non-default selection in the Tight/Slack dropdown — after switching those widgets to comboboxes in v1.4.153, Create Chart continued to use the closest chart rather than the one the user picked
- New Show Avg Calculations button inside the Average group box — opens a read-only report listing every span added to the running average, each with its closest slack and closest tight chart, plus candidate charts around the average tension and the currently-selected slack/tight titles. Copy to Clipboard supported
POINT EDIT — JOINT USE OWNER DROPDOWN
- Fix Qt6 regression where the joint-use owner dropdown showed no checkboxes and didn't respond to clicks
- Dropdown now opens on clicks anywhere across the combo (not just the arrow)
- Combo stretches horizontally so multi-select text (e.g. "OPTUS;TELSTRA") no longer truncates
- Width preserved across successive point opens
- Blank entry at the top of the list removed; duplicate UNKNOWN entries kept for multi-unknown selections
- Joint Use group box toggle now reliably enables/disables the combos — when unticked, the dropdown will not open and items cannot be selected
nPoles v1.4.154 - What's New
Release Date: 22 April 2026
LICENCE
- Unified installer — one nPoles build for all licence products (Field, Desktop, PPE, Tiny)
- Desktop licences retain the full app but disable total-station serial comms
- All other features (design, pole load, 3D views, schematics, clearances, DXF export) identical across products
- Demo/trial runs with full Field functionality
REGISTRATION
- Fix Desktop-licence registration being rejected because the binary always identified as nPolesField
- Fix Settings → Registration labels staying stale after a successful Check/Register/Deregister
- Preserve legacy Windows-registry licence settings — upgrading from the old pre-TLS nPoles no longer breaks the old binary
- Prompt to re-register when a licence key is on file but not yet TLS-verified (covers the legacy upgrade path)
- New optional Email field in Settings → Registration for release notifications and newsletters
- Connection log auto-scrolls to the newest line, and closes each round trip with a coloured summary capstone ("Details updated" / "Registered" / "Registration rejected" etc.)
- Connection log widened to use the available space in the registration tab
nPoles v1.4.153 - What's New
Release Date: 20 April 2026
POINT EDIT
- Fix pole tip diameter readline dialog losing the calculated value after Pole Centre + Left + Right Edge shots
- Sort button on Circuits 17-24 tab now works (previously did nothing); extended to capture, sort and restore all 24 circuits
CHARTFINDER
- New "Show Calculations" button opens a report window with inputs, iterative observed-span solve, every candidate chart evaluated, and the selected slacker/tighter charts; Copy to Clipboard for bug reports
- Span + average slacker/tighter chart title widgets converted to comboboxes — lists every qualifying chart sorted closest-first with the sag (or tension) difference shown in brackets, so users can pick a non-closest chart and click Use to apply it
POLE SCHEMATIC
- Fix duplicate circuits at the same height; a centre phase on its own string now renders alongside the outer-phase crossarm entry
- More vertical breathing room between the pole title and the topmost crossarm on short poles — labels no longer collide with the subtitle
3D VIEWS — MEASUREMENT & INSPECT TOOLS
- Distance measurement: click two points on any object for distance, vertical and horizontal components
- Inspect tool: click any object to see full properties with real-world E/N/RL coordinates
- Data source tagging: every property shows (survey), (database), (estimated), or (calculated)
- OCCT ray intersection for accurate surface picking (replaces Qt3D ray caster)
- Available in PoleSketch 3D, RouteView 3D, and Clearance 3D
3D VIEWS — RENDERING IMPROVEMENTS
- Raiser bracket rendering on poles with raiser bracket data
- Inline insulator added to eyebolt stay wires
- ABC intermediate renders clamp block only (no J-bolt/crossarm beam)
- LV strain terminals render with strain insulators in RouteView 3D
- Crossarm height matches surveyed attachment height in RouteView 3D
3D VIEWS — BUG FIXES
- Fix profile crossarm database not loading (all crossarms defaulted to 2m)
- Fix crossarm on wrong side of pole (intermediate and strain)
- Fix aerial stay direction in RouteView 3D
- Fix ABC treated as fibre (voltage 0) instead of LV (400V)
- Fix measurement overlay staying on screen after dialog closes
- Fix PNG save not overwriting existing file
REGISTRATION
- Server error messages now displayed directly to user (replaces generic "Error Number 156")
- Clear messages for: wrong product, key already registered, key not found, expired, server error
- Connection errors now suggest checking internet instead of registration key
- Suppress expected SSL certificate warnings from user-visible messages
- Fix "maintainence" typo in startup licence check
- Support URLs updated to portal.npoles.com
nPoles v1.4.152 - What's New
Release Date: 1 April 2026
BUG FIXES
- Fix Height Order sort losing crossarm codes when moving circuits between groups 9-16 and 1-8
- Fix missing OCCT DLLs in installer (libTKBRep.dll, libTKernel.dll, etc.)
nPoles v1.4.151 - What's New
Release Date: 31 March 2026
VIRTUAL KEYBOARD
- Suppress Windows touch keyboard on fields using nPoles virtual keyboard
- Keyboard can now be squashed flat — reduced minimum height for compact use
- Add "Start centre bottom of screen" option in Settings
POLE SCHEMATIC
- Parse crossarm/insulator codes from surveyor pole descriptions — "(SL2)+9SI" and "(SL2,9SH)" formats
- Crossarm codes matched to circuits by voltage type so FOC/service wires don't cause misalignment
- DXF export now uses B1 backup point for existing panel — matches PNG two-panel output
- Improved insulator symbols — circle with dot (pin) or vertical line (disc), sized by voltage
- SDL/LDL/RSDL/RLDL load summary above ground line with EXISTING/NEW headings
- Flat DXF export option (no layers) for easy copy/paste into AutoCAD
- Fix REPLACE status not triggering two-panel layout
POLE LOAD
- Store SDL/LDL tip loads in Point data (.pxml persistence)
- Headless calculation for any point including B1 backup points
- Auto-calculate B1 SDL/LDL when displaying schematic
3D VIEWS
- Parse crossarm/insulator codes from surveyor descriptions for 3D rendering
- Recognise ST (strain terminal) and T/O (take-off) as terminal circuit types
- Description-based INT/ST override — surveyor description overrides terminal status when next pole not yet surveyed
- Profile-specific crossarm databases loaded (e.g. crossarms-JEN.json) across all 3D views
- Fibre/FOC circuits render band clamp with D-ring bracket, no insulator
- LV ABC intermediate renders suspension clamp block instead of insulator
- LV strain terminals render with strain insulators in RouteView 3D
- Crossarm height matches surveyed attachment height in RouteView 3D
- Fix "LV ABC" treated as zero voltage (fibre) instead of 400V LV
- Fix crossarm code matching swapping circuits due to substring matching
- Fix HV interrupter code extraction matching (E) prefix instead of crossarm code
- PoleSketch 3D DXF export synced with 3D view rendering features
nPoles v1.4.150 - What's New
Release Date: 20 March 2026
SETTINGS
- Add virtual keyboard — enable in General tab, right-click input fields to configure per-field
- Three layouts: Numeric, Compact QWERTY, Full (F-keys, numpad, °⌀φ symbols)
- DEL ROW, UNDO, COPY, PASTE utility buttons on Full layout numpad
- Draggable, resizable, remembers position; auto-hides when dialog closes
POLE SCHEMATIC
- Attachment labels now interleaved by height (circuits, stays, lights sorted together)
- Fix crossarm code text overlapping the pole shaft
ROUTE VIEW 3D
- Fix phantom lines at poles — kingbolt using world position as length
- Fix V-brace start position and orientation (flat against pole, 45° default)
- Skip T-off junction markers with no spans
POLESKETCH 3D
- DXF export now uses real survey coordinates (easting/northing/RL)
nPoles v1.4.149 - What's New
Release Date: 19 March 2026
POLE LOAD
- Fix Find Ideal giving same bearing for all stays — each stay now gets its own result
- Find Ideal detects inline stays and proposes directly opposite the worst load direction
- Fix wind arrows accumulating on plan view on each calculate
3D VIEWS
- Fix stay loop cable sitting inside concrete poles
- Fix spiral vibration dampeners offset from conductors — now uses actual wire positions and visual sag
- Spiral dampener helix tighter for snug fit around conductor
nPoles v1.4.148 - What's New
Release Date: 18 March 2026
POLE LOAD
- Add Save Image button to bending moment diagram (PNG/PDF export)
- Fix attachment labels (C1, C2, S1) too far from pole on bending moment diagram
- Fix first circuit label overlapping "Tip (0m)" text
- Fix wind arrows disappearing from plan view when stay bearing is changed
- Wind arrows colour-coded: blue (without stays), orange (with stays), both at 30% transparency
- Wind direction heading labels background-coloured to match arrows
POLE SCHEMATIC
- Fix label spacing for circuits/stays close together — minimum gap based on font height
- Circuit labels bottom-aligned with height, stay labels top-aligned
- DXF export: (E) panel orange, (N) panel red on separate layers
- DXF export: fix degree symbol encoding, label overlap direction, crossarm label position
CROSSARM DATABASE
- New fields: canMountPoleTop and canMountBelowTop
- Crossarm selection respects mounting constraints — e.g. SL2 (pole-top only) automatically substituted with SL12 when circuit is below pole top
- Database editor: mounting position checkboxes on Physical tab
POLE SCHEMATIC DXF
- Fix AutoCAD compatibility (bad color index error)
- Larger text, custom viewport for centred view in CAD viewers
- Labels positioned relative to longest crossarm, crossarm codes clear of pole
FIXES
- Fix Save Image overwrite not working on pole schematic PNG
- Add transparent background option for PNG export (checkbox, enabled by default)
- Fix total station survey buttons missing when adding point from surveying calculator
- Fix stay anchor point comboboxes too narrow to show point numbers
- Remove up/down arrows on spinboxes for cleaner layout
- Cap pole load dialog height to screen so buttons are not hidden behind taskbar
- Fix database editor showing blank data after deleting a record
nPoles v1.4.147 - What's New
Release Date: 17 March 2026
POLE LOAD
- Fix wind arrow not displaying on plan view — file path was broken
- Fix wind arrow rotation to match actual wind direction
- Wind direction now shows bearing wind blows toward (was: direction wind comes from)
- Plan view shows separate wind arrows for with/without stays when stays are active
- Wind direction tooltips now show condition parameters and clarify bearing convention
- Changed circuit tab titles to CS 1-11 / CS 12-24
3D VIEWS
- RouteView: fix split crossarm for tension change with mismatched conductor counts (two crossarms matching PoleSketch)
- RouteView: fix LV circuits incorrectly shown with strain insulators at tension change poles
- RouteView: fix vibration dampeners placed beside conductors — now aligned on actual wire path
- PoleSketch: fix vibration dampeners on wrong side of pole and centre dampener at wrong height
- RouteView: smoother scroll-wheel zoom — proportional to distance, consistent on large and small jobs
POINT EDIT DIALOG
- Constrain widget widths for Status, Number, Length, Strength, Type, Top and Copy Point — adapts to actual contents
CLEARANCES
- Fix ground clearance regression since v1.4.127 — bundled weight was incorrectly applied when disabled on conductor string
- Fix spacer cable clearance when bundling disabled — now correctly uses support catenary only
- Remove up/down arrows from circuit height spinboxes for cleaner layout
nPoles v1.4.146 - What's New
Release Date: 15 March 2026
POINT EDIT DIALOG
- Fix ID field taking excessive width — now capped at 200px with matching label
- Fix Copy from Point combobox too narrow to display point numbers — sized to fit widest item
nPoles v1.4.144 - What's New
Release Date: 15 March 2026
POLE LOAD
- Fix stays making pole load worse than without stays — propped cantilever moment now capped at no-guy moment
- Add "Find Ideal" button to calculate optimal stay bearing using full engine analysis across all wind directions
- Ideal stay bearing displayed in readonly box next to each active stay bearing
nPoles v1.4.143 - What's New
Release Date: 11 March 2026
POLE LOAD
- Pole schematic: default crossarm codes by voltage, fibre cable brackets, disc/pin insulator symbols
- Pole schematic: street light drawing from bracket remarks, stay angle display
- Pole schematic: distinct colours for existing (orange) vs new (red-orange) panels
- Pole schematic: larger fonts, labels without remark text, duplicate label suppression
- Pole schematic: DXF export synced with screen rendering
- Pole schematic: buttons moved to bottom row, image fills full width
---
nPoles v1.4.142 - What's New
Release Date: 11 March 2026
POLE LOAD
- Fix inline stays (two stays at nearly the same bearing) producing worse results than no stays
- Add pole stick diagram schematic tab with Save Image (PNG/PDF) and Export DXF
- Existing pole panel now uses backup point B1 data when available
POINT EDIT DIALOG
- Fix circuit comboboxes showing "Not Active" on cached dialog reopen
3D VIEWS
- Crossarm V-braces now render on all crossarms (intermediate and strain), changed to flat steel straps
- Add fibre/cable bracket rendering to Route 3D and Clearance 3D views
- Add vibration dampeners on HV conductors near pole
---
nPoles v1.4.141 - What's New
Release Date: 9 March 2026
POINT EDIT DIALOG
- Replaced 24 individual circuit combobox rebuilds with single batch operation — reduces setup time by up to 14x
- Deferred heavy tab population until after dialog is visible — user sees dialog instantly, background work completes in milliseconds
- Pole Load caller now caches dialog instance instead of recreating from scratch each time
---
nPoles v1.4.140 - What's New
Release Date: 7 March 2026
PLAN VIEW
- Fixed fence and boundary point labels not appearing in plan view — regression since v1.4.129
POINT EDIT DIALOG
- Fixed slow dialog open (~7.5s) when reusing cached dialog — font change was triggering full relayout of all populated comboboxes on every open
---
nPoles v1.4.139 - What's New
Release Date: 7 March 2026
POLE SKETCH 3D
- Fixed transformer rotation — body, brackets and fins now correctly oriented along conductor direction
- Fixed zero-voltage circuits (CATV, Fibre, FOC) incorrectly merging as multi-phase groups — nearby CATV strings now render as separate single-conductor circuits
ROUTE 3D VIEW
- Fixed duplicate crossarms at co-located T-off poles — secondary pole's crossarm beam suppressed when same voltage and height already rendered by co-located pole
SURVEYING CALCULATOR
- Fixed Inst.Stn, Backstn and Point A/B dropdown lists not showing newly added points after Edit After Accept
- Point Edit dialog now cached and reused — second and subsequent opens skip the expensive UI construction (~3 seconds faster)
---
nPoles v1.4.138 - What's New
Release Date: 6 March 2026
TRANSFORMER DATABASE & POLE LOAD INTEGRATION
- New Transformer tab in Database Editor for managing transformer properties — kVA, mass, bending moment, wind area, drag coefficient per AS/NZS 7000
- Transformer wind load integrated into pole load calculation — wind force computed as Cd × Az × qz, applied as tip-equivalent at mounting height
- Transformer load displayed as separate line item in pole load report showing code, mass, height, wind contribution and BM
- Drag coefficient (Cd) only applied for limit state (ISD) design; default design stress uses Cd=1.0
POLE LEAN / DIAMETER ROUTINE
- DIAMETER routine now computes pole top centre as geometric midpoint of adjusted edge points instead of raw surface shot — eliminates one-radius offset error in lean calculation
SETTINGS FILE PROTECTION
- User profiles file now uses atomic write with backup — prevents data loss if process is killed mid-save (e.g. Windows update restart)
- Automatic restore from backup when user profiles file is empty or corrupt on startup
POINT EDIT DIALOG - PERFORMANCE
- Settings-driven comboboxes (pole types, crossarms, insulators, stay options, etc.) now initialised once and reused across subsequent opens
- Point-dependent comboboxes only refreshed when underlying data has changed
- Pole string number list built using efficient set lookup instead of linear search on large surveys
BUG FIXES
- Fixed transformer wind load units mismatch — was summing kN with Newtons, making transformer contribution 1000x too small
- Pole wind load now recalculated automatically when Calculate is pressed, ensuring transformer contribution is included
- Fixed circuit string comboboxes accumulating duplicate items on every dialog open and next/previous navigation
---
nPoles v1.4.137 - What's New
Release Date: 4 March 2026
ROUTE 3D VIEW
- Stays and eyebolts now follow tilted/leaning poles instead of remaining at vertical position
POLE SKETCH 3D - POLE TILT
- Tilted/leaning poles now rendered with surveyed lean and grey vertical reference line, matching Route 3D and Clearance 3D views
- Pole Tilt toggle button to switch between surveyed lean and vertical display
- Crossarms, insulators, conductors, stays and height markers follow the pole lean
3D VIEWS - INSULATOR TYPE
- Terminal/strain insulator type now determined per-circuit from span data and calculated tensions instead of blanket pole description flag
- Complementary span pairs verified against post insulator cantilever strength (4.4kN) before applying strain construction
BUG FIXES
- List View: point list now defaults to ascending order instead of reverse order on initial display
- Conductor Schedule: fixed multiple non-kV voltage types (LV, LV ABC, HV, FOC, AE) being lost from schedule due to key collision in voltage sort
---
nPoles v1.4.136 - What's New
Release Date: 2 March 2026
POLE LOAD - WOOD POLE BENDING MOMENT
- Wood pole capacity envelope now uses surveyed pole dimensions (tip diameter, ground-line diameter/girth, mid-height diameter) when available — blends with database taper rate for partial measurements
- Wood pole bending moment diagram now shows a dimension subtitle with tip, GL and butt diameters and their source (DB or Surveyed)
3D VIEWS - HV INSULATOR RENDERING
- HV strain disc insulator assemblies now rendered for terminal/strain crossarms and tension change poles, per SECV V89/7021/1 T insulator schedule (disc count based on voltage and pole material)
- Tension change poles automatically detected via MES/tension mismatch or span length ratio >2:1, rendered with dual disc assemblies (one per span direction)
- Slack chart status no longer overrides insulator hardware type — terminal/strain poles use disc assemblies regardless of chart tension, matching PoleSketch3D
- Slack chart detection now data-driven from chart_tensions.json (charts with max horizontal tension below 4.4kN classified as slack), with fallback to hardcoded list
ROUTE 3D VIEW - SURVEYED OBJECTS & T-OFF POLES
- Surveyed objects (trees, buildings, fences, boundaries, road edges, telecom pits, public lights, ground points) now displayed in the route view
- T-off clone poles (J1) no longer rendered as separate pole structures — co-located T-offs hidden, non-co-located T-offs togglable via "T-Off Poles" button (off by default)
BUG FIXES
- 3D Views: fixed surveyed insulator heights not triggering vertical post insulator rendering — unit mismatch (metres vs millimetres) caused Rule 13 comparison to always fail
- 3D Views: fixed LV terminal insulators rendering horizontal when surveyed heights confirm vertical post insulators
- 3D Views: fixed insulator height offsets incorrectly divided by 1000 in PoleSketch3D and ClearanceSketch3D
- 3D Views: fixed centre conductor of 3-phase HV terminal circuit appearing with shorter insulator — crossarm reversal caused insulator to clip through pole body, now pole-side mounted with disc assembly matching outer conductors
- Route 3D View: fixed centre conductor insulator hidden inside pole body at co-located T-off poles — vertical POST at offset=0 was enclosed by parent pole cylinder, now uses disc assembly extending outward
- Pole Sketch 3D: fixed single-conductor pole-side insulator rendered as vertical post without crossarm — now horizontal with gentle upward tilt (max 25°), conductor attaches at insulator tip
- Plan View: clone point labels no longer appear far from the actual point — collision avoidance step reduced for co-located points
- Clearance 3D View: fixed pole lean rendering in wrong direction (e.g. leaning toward road instead of boundary)
---
nPoles v1.4.135 - What's New
Release Date: 25 February 2026
SETTINGS
- "SP-AusNet" profile renamed to "AusNet" — existing job files saved with the old name will continue to load correctly
POLE LOAD - STAYS
- Fixed propped cantilever stay scaling using wrong reference direction - now computes per-guy using each guy's own horizontal direction (could cause tip load to increase after adding a stay)
- Stay tension now reports true computed value when exceeding capacity instead of capping at 100%
- Stay capacity now uses cos(angle) interpolation from line tension capacity instead of step-function table lookup — gives smooth capacity at any stay angle, capped at published design stress limits
- Footpath stay capacity now uses AusNet lookup tables based on pole length, stay angle (45°/60°) and strut length (1800/2400/3000mm) — No.5 wire (EVX9/7020/11) and No.8 wire (EVX9/7020/11/1)
- Stay tension values now show detailed breakdown on click, including footpath stay indicator and utilisation percentage
- No.5 stay wire capacity updated to EVX9/7020/5 values: aerial 46kN, 45° 34kN, 60° 24kN
- Fixed stay horizontal tension display using legacy formula instead of engine-computed value
- Load direction now displays degrees and minutes (DDD°MM′) instead of degrees only
- Fixed aerial stay angle calculation not accounting for ground level (RL) difference between pole and anchor points
POLE LOAD - WOOD POLE
- Crossarm bolt hole diameter updated from 24mm to 27mm in bending moment calculation
- Stay eyebolt hole diameter updated to 27mm default, 38mm for No.8 stay on wood poles
POLE LOAD - REPORTS
- Detailed report spreadsheet now includes "Report created with nPoles vX.X.XXX on DD/MM/YYYY" footer
NEW FEATURE
- Route 3D View: New route-wide 3D visualisation of all poles and conductors, accessible from Spatial menu
- Route 3D View: Aerial marker balls (bird diverters, aircraft markers) rendered as orange spheres along conductor catenaries
BUG FIXES
- Route 3D View window now properly parented to main window to prevent orphan process on application close
------------------------------------------------------------
nPoles v1.4.134 - What's New
Release Date: 18 February 2026
POLE LOAD - STAYS
- Fixed stay capacity colouring not appearing on Windows 11 (QPalette ignored by Windows 11 style for read-only fields)
- Fixed stay overload comparison using line tension instead of horizontal tension against horizontal capacity
- Stay capacity now uses design stress allowable horizontal loading table (replaces UTS limit state values)
- Stay capacity now checks anchor type (e.g. No4 GND ROD) as potential weak link - uses minimum of wire and anchor capacity
- Stay wire capacity now supports all wire numbers 3-8 (previously only 5 and 8)
CLEARANCES
- Mid-span conductor horizontal swing now displayed in object clearances when objects are present in the span
BENDING MOMENT & POLE DATABASE
- Bending moment diagram now uses dynamic capacity table with any number of capacity points for more accurate envelopes (replaces fixed 3-point system)
- Alternate pole capacity envelopes also use dynamic capacity table interpolation
- Pole Database Editor: Strength tab redesigned with editable capacity table (distance/moment/shear rows)
- Pole Database Editor: Strength diagram rewritten with smooth interpolated curves from capacity table
- Pole Database Editor: Added specification field, wood pole girth info label
- Legacy pole data automatically builds capacity table from fixed fields on import
BUG FIXES
- 3D Pole View: Fixed crossarm height for phase groups - crossarm now placed at the correct height when circuits have different conductor counts
- 3D Pole View: Fixed height interpretation for strain/terminal construction - horizontal strain insulators no longer cause incorrect vertical offset
- 3D Pole View: Strain centre phase insulator now correctly oriented inline with conductor direction
- 3D Pole View: Additional conductors of different materials (e.g. neutral) now included in rendering
- 3D Clearance View: Additional conductors of different materials now included in rendering
IMPROVEMENTS
- 3D Pole View: Multiple single-conductor circuits at similar heights are now grouped onto a single crossarm using inter-circuit separation data
- 3D Pole View: Tension change pairs detected as strain construction with horizontal insulators
- 3D Pole View: Centre phase on strain poles mounts on pole (top or side) when at a distinct surveyed height
------------------------------------------------------------
nPoles v1.4.133 - What's New
Release Date: 13 February 2026
BUG FIXES
- Surveying Calculator: Fixed reflectorless height/tip diameter reading off by instrument height - instrument height was double-counted in calculation
- AngleSpinBox: Fixed crash when backspacing to edit bearing - regex capture group access was out-of-bounds for optional groups
- AngleSpinBox: Fixed Enter key activating dialog default button instead of confirming the angle change
IMPROVEMENTS
- Help Menu: Added Check for Updates and Maintenance Tool menu items for online update notification
- AngleSpinBox: Regex patterns now compiled once for better performance during editing
------------------------------------------------------------
nPoles v1.4.132 - What's New
Release Date: 11 February 2026
BUG FIXES
- Pole Load: Fixed summary and detailed reports underreporting total horizontal tension for multi-conductor circuits
- Pole Load: Fixed detailed report lower span wind tension showing 0kN due to inline stay cancellation
- Pole Load: Fixed lower span wind force calculation using upper span conductor diameter
IMPROVEMENTS
- Pole Load: Report circuit titles now show stringing chart name and additional conductor descriptions
- Pole Load: Removed always-zero Residual and Cancelled rows from detailed and ODS reports
- Pole Load: Report tensions now displayed to 3 decimal places consistently
------------------------------------------------------------
nPoles v1.4.131 - What's New
Release Date: 10 February 2026
BUG FIXES
- Pole Load: Fixed stay wind direction spinbox resetting to 0 when user changes direction
- Pole Load: Fixed wood pole utilisation shading not appearing in bending moment diagram
- Pole Load: Fixed upper span conductor string load incorrectly showing 0.00kN for some circuits
- Pole Load: Fixed conductor string spans not found when tee-off points with empty point numbers corrupt matching
- Pole Load 3D View: Fixed 2-conductor insulators placed too close together instead of at crossarm ends
- Pole Load 3D View: Fixed crossarm drawn too short when measured conductor offsets exceed database crossarm length
- Pole Load 3D View: Fixed compass N/E/S/W labels appearing mirrored
IMPROVEMENTS
- Pole Load: Terminated circuit spans now show "-" with "Circuit terminates" tooltip
------------------------------------------------------------
nPoles v1.4.130 - What's New
Release Date: 9 February 2026
BUG FIXES
- Surveying Calculator: Fixed upload bearing to total station doing nothing
- Pole Load: Stay results and AngleSpinBox now preserve application font when background colour changes
- PoleCrossArmInsulator Dialog: Fixed intermittent crash from uninitialized pointers
- Pole Load: Wood pole bending moment capacity curve now stops at ground line
IMPROVEMENTS
- Pole Load: Expanded circuit support from 20 to 24 circuits with two-tab layout
- Pole Load: Wind direction for each condition is now editable with separate stay wind direction
- Pole Load: Residual force direction displayed in with-stays results and reports
- Pole Load: Reports indicate user-overridden wind directions with asterisk and footnote
- Pole Load: Stay bearing spinboxes now use AngleSpinBox with DMS display
- Pole Load: Stay tension line edits show utilisation percentage and colour-coded capacity
- Pole Load: Wood pole bolt hole capacity reductions automatically applied - kingbolt 27mm at 300mm from tip, crossarm bolts 24mm at circuit heights, stay eyebolts 24mm at stay heights
- Pole Load: Wood pole capacity above kingbolt tapers linearly to zero at tip
- Pole Load: Bending moment diagram shows bolt hole markers and info panel
- AngleSpinBox: Text now horizontally centred for consistent alignment
- PoleCrossArmInsulator Dialog: List view now takes half the dialog width
---
nPoles v1.4.129 - What's New
Release Date: 5 February 2026
BUG FIXES
- Chart Solver: Fixed additional weight in conductor string not being applied to sag calculations
- Clearances: Fixed aerial markers not affecting sag - setExtraWeight now correctly enables bundling
- Clearances: Fixed copy-paste bug where lower circuit was checking upper circuit's additional weight flag
- AngleSpinBox: Fixed regex patterns using broken hex escape for degree symbol - fixes crash when typing "180"
- AngleSpinBox: Fixed font reverting to system default when switching tabs
- Chart Finder: Fixed circuit temperature not being read from remark
- 3D Viewer: Fixed merged T-off circuit bearings - now correctly sourced from partner circuit
- 3D Viewer: Handles cases where both merged circuits have only upper or only lower spans
- Registration: Certificate loading now uses application directory path with proper error handling
- Settings: Fixed settings save using wrong variable for file path when resolving relative paths
- PointAddEdit: Fixed stay 1 bearing spinbox never enabling when stay 1 checkbox checked
- Surveying Calculator: Fixed comps output bearing spinbox too narrow
IMPROVEMENTS
- Fonts: Bundled Noto Sans font for cross-platform consistency
- Plan View: Simplified point number positioning with smoother zoom scaling
- Pole Load Solver: Expanded conductor string handling from 20 to 24 circuits
- Registration: Upgraded to TLS 1.2 or later with increased connection timeout
- Registration: Added progress messages and better error recovery allowing retry
- Registration: Improved licence key format validation with descriptive error message
- Installer: Updated build script with release checklist and automatic version updating
---
nPoles v1.4.128 - What's New
Release Date: 2 February 2026
BUG FIXES
- 3D Viewer: Fixed AE circuit bearing display for merged T-off circuits - conductors now draw in correct direction
- Settings: Fixed user settings not saving in installed version - now correctly uses ProgramData path
---
nPoles v1.4.127 - What's New
Release Date: 1 February 2026
PLATFORM UPDATE
- Qt 6.10.2 upgrade
POLE LOAD ANALYSIS
- Added deflection diagram widget showing pole deflection under load
- Added bending moment diagram widget with capacity envelope display
- Bending moment diagram now displays correctly for imperial poles (bug fix)
- Deflection diagram now displays correctly for imperial poles (bug fix)
- Deflection diagram clears when changing to a new point (bug fix)
- Imperial pole strength rating (A/B) now correctly matched from database (bug fix)
- Bending moment utilization calculation with stays fixed - was showing ~115% instead of ~57% (bug fix)
- Integrated new pole load engine for improved stay calculations
- Integrated 3D viewer for single pole visualization
POLE DATABASE EDITOR
- Fixed crash when opening editor after pole load operations (bug fix)
- Imperial poles now have correct design stress limit and ultimate strength values (bug fix)
- Imperial pole diameters now correctly converted from inches to mm (bug fix)
CLEARANCES
- Expanded dialog to support 24 circuits
- Integrated 3D viewer for multi-pole clearance visualization
- Fixed circuit pushbutton showing duplicated text (bug fix)
- O(1) hash lookup for clearance colours (performance)
3D VIEWER
- Added ABC bracket enhancements for pole visualization
- Fixed insulator positioning - now correctly aligns with crossarms (bug fix)
- Fixed north/south orientation - north now at top, east on right (bug fix)
USER INTERFACE
- ListView Settings: added circuits 17-24 configuration with XML read/write support
- PointAddEdit: fixed circuit title duplication showing "FibreFibre" instead of "Fibre" (bug fix)
- AngleSpinBox: fixed crash when typing angle values like 180 (bug fix)
REGISTRATION
- Improved error handling with detailed SSL/connection failure messages
- Changed port from 30002 to 443 via HAProxy
- Added popup messages for registration/de-registration success/failure
- Added "Copy to Clipboard" button for connection log
PERFORMANCE IMPROVEMENTS
- Replaced QList with fixed arrays in hot loops - eliminates ~64,800 heap allocations per calculation
- Added QHash cache for point lookups - O(1) vs O(n)
- Changed Point parameters to const references to avoid deep copying
OTHER
- SECV Profile: added poles, crossarms and insulators database
- Added file logging support with fixed application paths