DDCE-100 Plus checker guideGuide 1.1 (matches app v9) · updated 2026-11-10 · owner: Bachtiar, Engineering · internal
Open the checker
ContentsDDCE-100 Plus protection checker: internal guidePart A: Use the checker1. What it checks, and what it does not2. Check a layout3. Protection levels4. Screen reference5. Read a result6. Before a result leaves the company7. How the check works8. Limits: not assessed9. The reportPart B: Maintain the checker10. Architecture11. Project file (JSON)12. Add a building preset13. Regression tests14. Update the guide page15. Deploy16. Backlog (not built)17. Change logConfirm with engineeringSources

DDCE-100 Plus protection checker: internal guide

The checker tests whether DDCE-100 Plus rods keep a rolling sphere off buildings and towers. You place rods and structures in 3D, and it tells you, structure by structure, whether the sphere can touch a roof, edge or corner. It runs in the browser as one HTML file.

What a result means. "Covered" means the app's sampled search found no sphere contact. It is not proof of continuous coverage, and it is not a compliance statement. The app checks air-termination geometry only.

Go to:

You want to Read
Check a layout for the first time 2. Check a layout
Understand a red or amber result 5. Read a result
Send a result or report to a customer 6. Before a result leaves the company
Explain why the supplier table gives a different answer 7.2 Radius modes and 7.5 Worked example: 3 m rod on a 60 m tower
Change or deploy the app Part B: Maintain the checker

Part A: Use the checker

1. What it checks, and what it does not

It checks It does not check
Air-termination positioning by the rolling sphere method (IEC 62305-3) Whether an installation complies, or is safe
Sphere-free area, contact points and a result per structure Down conductors, earthing, bonding, separation distance, materials, wind load
Optionally, the supplier radius table (manufacturer data, not IEC) NF C 17-102, or any early-streamer-emission method
Saves projects as JSON and prints a 4-page report A risk assessment or a design review

2. Check a layout

You finish with a verdict for every structure and a report you can file. You need the protection level from the risk assessment, the structure sizes, and the rod heights.

  1. Choose the protection level. In Setup (tab 1), press Level I to Level IV. The level comes from the risk assessment (IEC 62305-2). The app does not choose it. Check: the level button is highlighted and shows the ball radius you expect (see 3).
  2. Add the structures. In Buildings (tab 3), pick a preset, press + Add, then edit its size and position. Sizes are in metres. Check: each structure appears in 3D and in the verdict list at the top of the panel.
  3. Place the rods. In Rods (tab 2), press + Add a rod on the ground, or press + Rod on top on a structure in Buildings. Set Rod height above where it stands. Check: the label in 3D shows the tip height you intended. For a roof rod, the tip height is the host height plus the rod height.
  4. Read the verdict. The header turns green, amber or red. Click a row to jump to that item. Check: every structure has a result word: Covered, Marginal, Not covered, or Assumed terminal.
  5. Keep the work. Press Save project for a .json file you can reopen anywhere, or Save report for the report. Check: the downloaded project opens with Open project and shows the same verdict.

What can go wrong

  • Rod height entered as tip height. "Rod height above where it stands" is measured from the mounting surface. A 5 m rod on a 30 m roof is entered as 5, not 35. Entering 35 puts the tip at 65 m and hides real exposure.
  • Work lost between machines. Autosave keeps the project in the current browser on the current device only. Use Save project to share or move work.
  • Supplier mode left on. The radius mode is under Setup > Advanced settings. A project saved in supplier mode reopens in supplier mode.
  • Blank 3D view. The page loads Three.js from the internet (jsDelivr). Without internet access it does not start.

3. Protection levels

Level Sphere radius R App label
I 20 m Strictest
II 30 m High
III 45 m Normal
IV 60 m Basic

A smaller R is stricter. The sphere reaches into smaller gaps, so rods must be closer together or taller.

4. Screen reference

4.1 Top bar

Button What it does
Save project Downloads the project as a .json file
Open project Loads a project file. A file that is not a valid project is rejected with a message
Print Opens the print dialog for the report
Save report Downloads the report as HTML, to print or save as PDF
Reset Restores the example scene
Guide Opens this guide in a new tab

4.2 Verdict

Colour Meaning
Green No sphere contact found on any checked structure
Amber At least one structure is Marginal
Red At least one structure is Not covered

4.3 Setup tab

  • How strict must the protection be? The four level buttons.
  • Advanced settings:
Setting Options Default
Which radius is used? IEC rolling sphere (standard) · Supplier radius table (manufacturer data, not IEC) IEC rolling sphere
What is checked on each structure? Roof, edges and corners · Also the upper 20 % of bare walls (structures above 60 m) Roof, edges and corners
Rod on a roof or tower top: how are roof edges checked? Standard (IEC): sphere rolls from the ground, over walls and onto the rim · Supplier-style: the host's rim is the starting plane (simplified, not IEC) Standard (IEC)
  • Other requirements (not checked by this app): 13 items, from the risk assessment to inspection and maintenance. A tick records your declaration only. The report lists every item as not verified.
  • How the check works: short method notes.

4.4 Rods tab

Field Meaning
Name Label in 3D and in the report
Installed on The ground, or the top of a building or tower
Rod height above where it stands (m) 2 to 200 m, measured from the mounting surface
Position Ground rod: east-west and north-south. Roof rod: offset from the top centre

Technical details shows the tip height above ground, the supplier radius from the table, the IEC radius from the formula, and any adjustment made in the 3D model.

4.5 Buildings tab

Presets: House 10×8×6 m, Warehouse 40×25×9 m, Office 30×20×30 m, High-rise 40×40×100 m, Lattice tower 60 m, Lattice tower 100 m, Monopole 30 m.

Each structure has editable size and position, + Rod on top, Copy, Delete, and the checkbox Assume it acts as a natural air terminal (not verified, not checked). Tick it only for a structure that is metal, electrically continuous and meets the natural-component conditions of IEC 62305-3 (5.2.5). The report lists every such assumption.

4.6 View tab

Camera: Perspective, From above, From the side. Show in 3D: Sphere-free area (outline), Sphere-free ground (filled), Sphere contact points, Test ball (selected rod), Move the test ball around, Grid (10 m squares), Name labels.

Labels in 3D carry names only. Every number is in the side panel and the report.

Mouse: drag an object to move it, double-click to edit, drag empty space to rotate, right-drag to pan, wheel to zoom.

5. Read a result

Result Meaning What to do
Covered The sampled search found no sphere contact Nothing for the geometry. Every requirement in 1 still applies
Marginal The answer changes when R changes by 2 % Treat it as Not covered unless the design has margin elsewhere
Not covered The sphere can touch a roof, edge or corner Add or raise a rod, add edge terminals, or change the layout
Assumed terminal You ticked the natural air terminal box Verify the 5.2.5 conditions outside the app

Red points in 3D are the contact points. Each structure's outline takes the colour of its result.

5.1 Why a structure with a rod on it can be Not covered

The sphere can roll up the side of the host and touch its rim before it reaches the rod. The panel says so in words. Typical causes:

  • The rod is short for the host, such as a 3 m rod on a 60 m tower.
  • The host's top is at or above R, so a sphere resting on the ground meets the wall before the tip.

Fixes: a taller rod, edge or corner terminals, or a verified natural terminal.

6. Before a result leaves the company

These rules apply to every screenshot, project file and report sent outside the company.

  • A result shall not be described as compliance with IEC 62305 or any other standard. Say "rolling-sphere check of air-termination positioning".
  • A result described as IEC-based shall use IEC rolling sphere and Standard (IEC) rim mode. The report states both settings.
  • Every Assumed terminal shall be verified against 5.2.5 before the report is sent, or the report shall say it is unverified.
  • A supplier-mode result should go out only beside the IEC-mode result for the same layout, so the reader sees both.
  • Marginal should be reported as Not covered.

What wrong looks like

WRONG - EMAIL TO A CUSTOMER

"Attached is the DDCE-100 Plus check for your 60 m tower.
Result: Covered. The design complies with IEC 62305."

Report settings: Supplier radius table; Supplier-style rim.

Why it fails: both settings are non-IEC, and supplier-style
rim mode makes the rod cover its own host by definition.
In IEC mode the same tower is Not covered at every level
(see 7.5). And no app result is a compliance statement.

Checklist

  • ☐ Protection level matches the risk assessment.
  • ☐ Radius mode and rim mode are the ones the email or report claims.
  • ☐ No Marginal result is described as Covered.
  • ☐ Every Assumed terminal is verified, or labelled unverified.
  • ☐ The report's "not verified" requirements list is included, not cut.
  • ☐ The project .json is saved with the report, so the result can be reproduced.

7. How the check works

7.1 Method

  • Rolling sphere. A sphere of radius R is tried against each structure from every direction the search covers. It may rest only on the ground and on air terminals. Any point of the structure it can touch is exposed.
  • Rod ground boundary. For a rod of height h < R: a = sqrt(2·R·h − h²).
  • Between two rods. Penetration depth: p = R − sqrt(R² − (d/2)²).
  • Rod taller than R (continuous metal shaft): protected distance at elevation z: a(z) = R − sqrt(2·R·z − z²).
  • Walls. Side strikes on walls are not assessed up to 60 m (5.2.3). The optional setting checks the top 20 % of bare walls on structures above 60 m. Façade protrusions are not modelled.
  • Search. Two passes: coarse, then half the spacing. Surface points on roofs, arcs on edges, a spherical patch on corners. Exact ground, tip and shaft contact positions are solved, so small objects are not missed between samples.
  • Marginal test. The check repeats at R − 2 % and R + 2 %.
  • Contact tolerance. 1 mm.
  • 3D coverage field. A distance field on a voxel grid, for display only. Results come from the contact search, not the field.

7.2 Radius modes

Mode Basis Status
IEC rolling sphere The formulas above. A rod is a zero-diameter metal line Standard-based
Supplier radius table Radius by rod height and level, from the DDCE-100 Plus datasheet (Figure 3), linearly interpolated Manufacturer data. IEC 62305-3 does not recognise it

Supplier table heights (m): 2, 4, 6, 8, 10, 20, 30, 45, 50, 60. In supplier mode the radius is applied by moving the effective tip or adding a reach ball. IEC mode uses no ball.

7.3 Rim modes for a rod on a structure

Mode Effect
Standard (IEC) The sphere rolls from the ground, over the walls, onto the rim. Roof edges and corners are assessed
Supplier-style The host's top is the starting plane, so the rod covers its own host's rim by definition. Other structures are still checked. Simplified, not IEC

7.4 Worked example: one ground rod

Evidence: formula, hand calculation, app v9.

R = 30 m (Level II), rod h = 10 m: a = sqrt(2·30·10 − 10²) = sqrt(500) = 22.36 m. The app shows "ground r 22.4 m". A point at 22.3 m from the rod is covered, at 22.4 m exposed.

7.5 Worked example: 3 m rod on a 60 m tower

Evidence: formula and supplier table, hand calculation; contact heights from app v9.

  • Tower: 60 m high, tapering from 5 m wide at the base to 1.5 m at the top. Rod tip at 63 m. Level IV (R = 60 m).
  • Rod radius at the tower top: IEC formula sqrt(2·60·3 − 3²) = 18.7 m. Supplier table, interpolated between 2 m (15 m) and 4 m (21 m): 18.0 m. At 3 m the device adds almost nothing over a plain rod.
  • A sphere resting on the ground meets the tower wall first, at 19.4, 29.1, 43.7 and 58.3 m for R = 20, 30, 45 and 60 m. It never reaches the tip.
  • Standard (IEC) rim mode: the tower rim is Not covered at all four levels. At R = 60 m no rod height fixes this, because the tower top is at R.
  • Assume it acts as a natural air terminal ticked: Assumed terminal.
  • Supplier-style rim mode: Covered, because the rim is the starting plane.

7.6 Worked example: rod in the middle of a roof

Evidence: app v9.

Roof 20 × 20 m at 10 m, one 10 m rod at its centre, R = 30 m. Standard (IEC) mode: all four corners are exposed. Supplier-style mode: Covered. The difference is the rim mode alone.

8. Limits: not assessed

  • Protection-angle method, mesh method, catenary wires.
  • Façade protrusions, parapets, overhangs, ridges, roof equipment.
  • Accessible or flammable roofs, hazardous areas.
  • Separation distance, bonding, down conductors, earthing, component qualification.
  • Mast strength and wind load. Use a structural tool.
  • Continuous coverage. The second search pass reduces sampling risk. It is not a proof.

9. The report

Four A4 landscape pages:

  1. Summary and result tables
  2. Plan view
  3. Elevation
  4. Model, numerical settings, features not modelled, and "not verified" requirements

The report names the radius mode, the rim mode and every assumed terminal. Use Save report, then print to PDF from the browser.

Part B: Maintain the checker

10. Architecture

  • One HTML file, no build step. Three.js r160 from jsDelivr through an import map; OrbitControls from the same package.
  • Autosave: localStorage, key ddce-sim-v1. Downloads use the artifact downloads capability when present, with an anchor fallback.
  • Constants: MAXH = 200 (rod height, m), MAXS = 300 (structure size, m), EPS = 0.001 (contact tolerance, m), MARGIN = 0.02 (marginal band).
  • Data: TABLE_H and TABLE (supplier radii per level), PRESETS (building presets), DECL (the 13 declaration items).
  • The ABO Madalex logo in the app and the guide loads from abo.co.id. To use a local copy, save it as assets/abo-logo.png and run build_guide.py again.
  • This guide is a separate page, guide/index.html, generated from ddce-checker-guide.md. The app links to it. Edit the Markdown, then rebuild the page (see 14).

11. Project file (JSON)

Field Content
app ddce-100-plus-sim
version File format version, currently 1
saved ISO timestamp
level 20, 30, 45 or 60
source pure (IEC) or supplier
scope roof or lateral
refMode sphere (Standard) or roof (Supplier-style)
decl Declared requirement ticks
ddces[] id, name, host, x, z, ox, oz, m (m = rod height)
objs[] id, type (box/tower/pole), name, x, z, h, term, plus w, d or wb, wt
nextId Next free id

Files from another app are rejected. Out-of-range values are clamped. A file without refMode opens in Standard mode.

12. Add a building preset

  1. Add an entry to PRESETS: js shed: { type: 'box', name: 'Shed', w: 12, d: 6, h: 4, term: false } Types: box (w, d, h), tower (wb, wt, h), pole (wb, wt, h).
  2. Add <option value="shed">Shed 12×6×4 m</option> to #preset.
  3. Update the preset list in 4.5.

Check: pick the preset, press + Add, and the structure appears with the sizes you entered.

13. Regression tests

window.__ddce exposes state, rebuild, results, isFree and W. Run these after any change to the contact search, with Playwright and a local copy of Three.js.

Case Setup Expected
H1 R = 30, h = 10 22.3 m covered, 22.4 m exposed
H3 Four rods, 2 m fixture mid-square 2 m exposed, 1 m not exposed, 0.5 m covered
H4 20×20×10 roof, 10 m rod, R = 30 Standard: 4 corners exposed. Supplier-style: covered
H5 45 m shaft, R = 30, object top at 5 m x = 13.0 m covered, 13.9 m exposed
H10 IEC mode, R = 30 No supplier ball; same boundary as H1

All pass on v9.

14. Update the guide page

  1. Edit ddce-checker-guide.md.
  2. Run python3 build_guide.py next to index.html (needs the markdown package). It writes guide/index.html and checks that the app's Guide links point to it.
  3. Bump version and updated in the front matter and add a line to 17.

Check: open /guide/ and the change is there. A section opens directly by its anchor, for example /guide/#5-read-a-result.

15. Deploy

  • Preview: zip a folder that contains index.html and the guide folder, and drop it on Netlify Drop. The app is at /, the guide at /guide/.
  • Production: simulation.abo.co.id. [Deployment steps and owner.]
  • The page needs internet access for the Three.js CDN. For an offline copy, vendor the Three.js files and change the import map.

16. Backlog (not built)

  • DXF export of the 3D layout.
  • Mast wind-strength screening (a structural tool is the proper route).
  • Surface roles other than "assumed terminal"; façade protrusions, parapets, ridges.
  • Protection-angle and mesh methods, separation calculator.
  • Evidence record (JSON) and company and project fields in the report.
  • A check that every rolling position is reachable from the ground or a terminal.

17. Change log

App version Guide Change
v7 IEC review fixes: full-sphere default, marginal and two-pass results, declarations list, 4-page report
v8 Rim-as-start mode introduced as default
v9 1.0 Standard (IEC) mode is the default again; exact tapered-wall distance; plain explanation when a rod does not cover its host's rim
v9 1.1 Guide restructured (routing, steps with checks, release rules); guide published as its own page at /guide/, linked from the app

Confirm with engineering

  1. The clause numbers here (5.2.2.2 rolling sphere, 5.2.3 side flashes, 5.2.5 natural components) match the edition we work to: IEC 62305-3 [edition, year]. Correct me.
  2. The supplier table matches the current DDCE-100 Plus datasheet, Figure 3, revision [ ]. Yes / no / correct me.
  3. Company rule: Marginal is reported as Not covered. Yes / no / correct me.
  4. Company rule: a supplier-mode result goes to a customer only beside the IEC-mode result. Yes / no / correct me.
  5. The production deploy to simulation.abo.co.id is done by [name / process]. Correct me.

Sources

  • IEC 62305-3, Protection against lightning, Part 3: Physical damage to structures and life hazard. Rolling sphere radii per level; air-termination positioning; natural components.
  • IEC 62305-2, Risk management. Choice of protection level.
  • DDCE-100 Plus datasheet, Figure 3: supplier radius table.
  • Checker source, app v9 (index.html): labels, constants, presets, report layout.