LDS Index Structure — the drawing-list workbook and what a fleet-wide read of it shows

How the per-project LDS drawing list is actually structured (the 100-slot serial block, the decade-to-assembly rule), where the files live, and what a read of every completed drawing list on the K: drive says about how consistent PSI machines really are. Companion to LDS Methodology (the method) and PRODUCT BOM Structure (the AFTEC side).


Where the files are

WhatPath
Per-project drawing listK:\PROJECT\<project>\lds\<project>lds.xlsm
Sales proposal (SPN) folderI:\QUOTES\S<nnnn>\ — reachable from a .lnk shortcut in the project folder
Approved quote paragraph corpusI:\MASTER\F facility, A assembly, M module, P product/concept, S summary, R retrofit

The workbook is macro-enabled and has five sheets: Index, DrawingList, Gantt, Project Release, Project Info. (The seven-worksheet .wk4 layout described in older LDS documentation is historical — see the note on LDS Methodology.)

Each project folder normally contains a shortcut named S<nnnn>.lnk pointing at its quote folder, which is the only machine-readable link between a built machine and the proposal that sold it.


The 100-slot serial block

The facility takes the machine serial plus 00; every assembly, module, product and document gets a number in that serial’s hundred-block. Serial 3624 owns 362400362499.

362400   Facility                     slot 00
362401   Blast Cabinet Assembly       slot 01
362410     Blast Cabinet Module       slot 10   <- decade 1 belongs to assembly 01
362411     Part Manipulation Module   slot 11
362402   Reclaim/Blast Assembly       slot 02
362420     Reclaim Module             slot 20   <- decade 2 belongs to assembly 02
362450   Cabinet Weldment (product)   slot 50   } product / drawing pairs
362451   Cabinet Weldment (drawing)   slot 51   } even = product, odd = drawing
362490   Floor Layout                 slot 90   <- documents under assembly 09

The decade rule — the one thing to get right. Slots N0N9 belong to assembly 0N. A machine with a second process assembly at slot 04 carries that assembly’s modules at 40–49, not in the product band. 53 of the completed builds do exactly this, holding 156 module entries — the plasma stack on thermal-spray machines and the water pump on some waterjets. Reading 10–39 as “the module band” and 40–89 as “products” silently drops all of them.

BandBelongs toContents
00Facility
0109Assemblies. 01 cabinet, 02 reclaim/air, 03 controls, 04 second process, 08 spare parts, 09 documentation
N0N9assembly 0NThat assembly’s modules
4089Product / drawing pairs, when no assembly 04 exists. 25 pairs, and capacity-limited
9099assembly 09Reference documents

The part number is serial-local. Two machines’ Blast Cabinet Modules will always have different numbers, and that is the numbering working as designed — not a finding. Across the completed builds only one module in 2,931 points at another machine’s block, so cross-serial module reuse is effectively nil. At assembly and module level the name is the only cross-machine identifier.

Product band capacity

The 4089 band gives 25 product/drawing pairs. Median use is 12, but 61 builds use 20 or more, 22 use 23–24, and 8 are full at 25 of 25. Builds that run out spill into the 3039 decade (the Controls Assembly’s, which almost nobody populates) — 21 builds do this, and 18 of them had a product band at 21 pairs or more. That is a capacity workaround, not misfiling.


Fleet-wide read, September 2026

Every *lds.xlsm under K:\PROJECT\*\lds\ was parsed directly from the file (no Excel, no macros run).

Count
Workbooks found672 — of 2,257 project lds folders; the rest predate the 2019 template
Unreadable2
New builds (4-digit, real serial and name)329
Retrofits (5-digit)268 — each has a one-off project name, so they form no comparable families
Skeleton / work-in-progress40 of the 329 (under 15 part lines, often slot 00 still “XXX Facility”)
Completed new builds analysed289 — projects 2141–2464, releases May 2019 to Sept 2026

What the Index contains, by level

24,889 rows across the 289 builds. Assemblies and modules are 12.6% of it:

LevelRowsShareMedian per build
Facility2871.2%1
Assembly headers1,2525.0%4
Module headers1,8867.6%7
Library product / PHYS. (reused)13,49554.2%46
Job-specific product / PHYS.3,06112.3%12
Documents2,2108.9%8
Text-only lines, no number2,3219.3%6

Of the 16,556 product and PHYS. rows, 82% carry a reusable library number — independently reproducing the ~82% PHYS.-level reuse rate the methodology page claims.

Sub-level nesting is recorded only by hand: 74 of 289 builds indent child rows with a leading space, 50 of them heavily. The other 215 record no depth at all, so below the module the tree is not machine-readable except through the numbering convention.


Consistency findings

Assemblies are effectively standardised

Of 1,103 assembly-slot entries, 62% match an approved paragraph title in that machine’s own quote and 28% are LDS-only constructs with no quote counterpart (Documentation Print, Spare Parts). Genuine naming drift is 18 entries — ten distinct strings, almost all a machine type the paragraph corpus never named (GASP Cabinet, Slurry Pump & Reclaim, Paint Spray Booth, Aluminide Cabinet).

Controls Assembly sits at slot 03 and Documentation Print at 09 in 329 of 329 builds.

Module names drift, and the corpus is the cause

72% of module entries match the approved title in their own quote; 79% match one approved anywhere. The residue is mostly explainable:

  • 8.7% are Blast Module where the approved title is BLAST MODULE, PRESSURE — one systematic shortening, not 154 mistakes
  • 6.2% are products or PHYS. items in a module slot, which is the capacity spill described above
  • 1.5% are Blast Module – Lances/Nozzles/Hoses in seven spellings (including the typo Lnaces) because no approved paragraph exists for that module at all

The root cause is upstream: the 250 resolvable quotes draw on 81 module paragraphs carrying only 41 distinct names. Thirteen names are held by more than one paragraph number:

Approved nameParagraph numbers
PART MANIPULATION MODULE10 — m1023, m1034, m1091, m1095, m1127, m1153, m1184, m1252, m1255, m1274
BLAST CABINET MODULE6 — m1000, m1015, m1156, m1163, m1171, m1235
TOOLING MODULE6 — m1006, m1017, m1024, m1128, m1174, m1282
GUN MANIPULATION MODULE5
BLAST MODULE, PRESSURE5
RECLAIM MODULE / MATERIAL HANDLING MODULE4 each

Assemblies have it more mildly: 15 paragraphs, 13 names. BLAST CABINET ASSEMBLY is a1000, a1043 and a1044. The corpus also carries qualifiers the drawing list never reproduces — a1023 is THERMAL SPRAY ASSEMBLY, CLOSED LOOP (CITS) where the Index says Thermal Spray Assembly.

Deduplicating the corpus has to precede enforcing any name in the workbook.

Machine types

Six platforms cover the fleet, matching the four types named in the LDS Training deck plus specialty:

PlatformBuildsModule-set overlapPHYS. reuse
Blast (shot peen / grit blast)1930.7682%
Waterjet430.8175%
Thermal Spray290.4980%
CITS skid110.8194%
Specialty / other90.2964%
Laser41.0062%

Comparison only means something inside a family. Mean module-set overlap is 0.86 within a family, 0.76 within a platform, 0.25 across platforms — a thermal spray machine and a shot peener genuinely share almost nothing, as they should.

At part level the same two same-family machines share only 10–17% of their content. That is why flat BOM comparison has historically found no commonality here: the signal lives at module level, not part level.


Template content: what is standard versus optional

Fifteen families have four or more completed builds (131 machines). Scoring their modules two ways — is the module always present, and does it have standard contents — gives four groups, and the two questions turn out to be nearly independent:

Real standard kit insideNothing standard inside
Core module (90%+ of builds)2549
Option module (20–85%)516

93 of 123 modules cannot have their contents fixed in advance. Tooling is in all 37 Robotic Shot Peen builds; 40 different parts have appeared inside it and none recurs more than twice. It is a container for per-customer work, not a kit.

Options are three different things

  • Add-on — nothing replaces it. Material Handling is in 26 of 37 Robotic Shot Peen builds, and none of the 11 without it lists a hoist anywhere.
  • Either / or — Part Manipulation on Robotic Grit Blast: all four builds without it carry a Blowoff module instead.
  • Not actually optionalBlast Module – Lances/Nozzles/Hoses is absent in 15 builds, but the nozzles and hoses are still there, listed as parts under the Blast module. Same content, one level down.

Only 6 of 24 options have enough builds on both sides to classify honestly.

Variations: four real, four only spelling

RoleFormsVerdict
Cabinet7 — Blast 212, Waterjet 30, Spray 23, GASP 3, Aluminide 2, Wet Blast, Robotic Blastreal — one per platform, never two at once
Blast5 — bare, Pressure Pots, Minipots, Pressure, Suctionreal — pot type
Blowoff2 — Blowoff 82, Rinse & Blowoff 1real but one build only
ControlsIndex vs Productstwo different modules, not two names
Blast – Lances/Nozzles/Hoses8spelling
Spray Hose/Cable5 — Thermal, PlasmaThermal, Plasma Thermalspelling
Feeder2 — Plasma Feeder, Feederspelling
Classification3 — Stand-Alone / Stand Alonespelling (hyphen)

Below the module the same test is more productive. Pick-one items (never two in one build): Cyclone (7 numbers, by diameter), Rubber Lining (7), Work Door (9, by opening), Pressure Control (6), Pressure Pot Base (10). Fit-several items: Hose Support (12 numbers, 22 builds use more than one), Sweco Screens (16, a five-deck unit takes several meshes), Blast Wear Plate.

Module or assembly?

Nearly every block has settled on a level by itself: Water Pump & Reclaim always its own assembly (43/43), Tooling always nested (273/273), likewise Blowoff, Cooling and Lances/Nozzles/Hoses. Material Handling nests in 95% of builds.

Ventilation is the one open case: 45 own assembly against 36 nested. Thermal spray and the 80″ waterjets promote it; robotic waterjets nest it under the cabinet. Promoted builds are larger (52 against 40 part lines) and that correlation is the only pattern in the data. The rationale is not recorded anywhere in the drawing lists.

Note that most apparent promotion is just the convention of an assembly wrapping a same-named module — Blast Cabinet Assembly contains Blast Cabinet Module in 270 of the 271 builds that have either.


Part-level behaviour

15,698 part lines sit under modules. Three things only visible at this depth:

Identity is three-way. A core item may be a catalog part (one number recurs), configured (a family of numbers by size or make), or job-drawn (a new number every build). On Robotic Shot Peen: Cabinet Weldment, Air Plumbing and Wireway are in 37 of 37 builds and are project-numbered in 25–31 of them.

Reuse is thin at the top. 2,577 distinct library part numbers appear in the module band; 1,246 (48%) appear exactly once, 242 in ten or more builds, and 8 in a hundred or more933288 pressure switch (248), 706290 manual blowoff (239), 704310 barrel dolly (172), 843986 sweco trash tube (154), 794848 emergency stop (126), 708675 ground rod (125), 885874 sweco media pan (123), 697516 trash barrel (102). All commodity items.

Parts get superseded. 264 date-verified handoffs where one number stops and its replacement starts — Light 980652 (2019–2024) → 299786 (2025–), Sweco Screens 958468953248, Air Inlet 890254/805844989452. The most common part is not always the current part, so a template built on raw frequency can specify an obsolete one.

The discriminating detail lives inside the brackets. On 2187 and 2175 the water pump modules differ chiefly by pump make — Hypertherm against NLB and Aquamiser — and that is recorded nowhere except in a part description: Waterjet Pump (Hypertherm 150D) = 303452, against NLB under four different numbers (317254, 914670, 355228, 367054). Only 8% of part lines name a make, but where they do it is decisive. Warning: the qualifier text is itself inconsistent — HYPERTHERM, HYPRTHRM and Hypertherm are one make — so naive tokenisation of it makes clustering worse, not better. It needs a controlled vocabulary of makes and capacities first.


The quote side (SLDS)

The quote spreadsheet is the sales-level equivalent of the Index, built from the same four-level vocabulary drawn from I:\MASTER. Its columns are:

IDNumber | AssemblyNum | ModuleNum | LineType | Paragraph #'s | Qty | Opt | Inv |
Title | Description | Material | Labor | MEP | MEI | CEP | CEI | CSS | Test | SPEC | Std | EAS | Cost | Price

LineType codes: 5 facility, 4 assembly, 3 module, 6 product, 15 engineering, 14 comment. Paragraph prefixes match the corpus folders (f, a, m, p/c, e).

Two things worth knowing:

  • AssemblyNum and ModuleNum are blank in every one of 37 quote files checked. These are the fields that would carry the LDS slot forward at handoff, and nobody fills them.
  • The requirement narrative — part envelope, weight, media, sound limit, utilities — sits as LineType 14 comment text above the priced lines, in the same file as the module list it produced. That is the available tie-back from customer requirement to module choice.

Revisions are lettered (Q9558, Q9558AQ9558F) and the one handed to engineering carries the suffix ho, e.g. Q9558Fho.XLS. 250 of the 289 completed builds have a quote that resolves and parses.

Machine against quote

Matching on the module rather than the wording (and setting aside the commercial paragraphs, plus controls, whose electrical set lives outside the Index), 78 of 250 machines match their quote exactly on module content. The rest differ on real things — Gun Blowoff quoted but never built, Vacuum built but not quoted. But all 250 carry at least one naming mismatch: not one machine uses the same wording on both documents.


Known data quirks

  • One project folder is named 2272 GOOD, so anything parsing project numbers as integers must tolerate a suffix.
  • Slot 00 still reads XXX Facility in 26 completed workbooks — the template placeholder was never renamed, so machine type must be read from the Project Info sheet, falling back to the DrawingList header.
  • Order Date (FRI) exists on only 171 of 329 new-build workbooks; the field was added to Project Info in Sept 2023. Use the earliest ACT RELEASE date in the Index as the timestamp instead (present on 227).
  • Quantity at module level is unreliable — 2412’s Material Handling Module carries qty 0 with a qty-1 hoist beneath it.
  • Around 290 ~$*lds.xlsm lock files exist on K:, meaning that many workbooks are open or were left open. Any glob on *lds.xlsm must exclude them.

The handoff and requirements documents

Each SPN folder also holds two Word documents that carry things the drawing list does not:

\ad.ptihome.com\DFS\SalesQuotes\QUOTES\S<spn>    PO-Contract\S<spn>ho.docx                   the handoff document
    Requirements and Concepts\S<spn>req.docx    the 81-row PROPOSAL REQUEST/SUMMARY REPORT

The handoff document’s header states project, serial and SPN together, so the project-to-quote join needs no .lnk resolution. It also carries a field that states machine genealogy outright:

Machine-Same-As-Except: This machine is a copy of project #2189 except this
                        machine uses 600 series MagnaValves.

Measured across the 250 built projects with a resolvable SPN: the handoff document is present for 244, Machine-Same-As-Except is filled in on 210 (86%), and 204 name a specific job number. Utilities Requirements — the voltage/phase/frequency that is absent from 148 of 193 blast drawing lists — is filled in on 238.

Caution: S<spn>ho.docx exists in nearly every SPN folder, but in most it is the blank template; a handoff document is written only when a quote becomes an order. 57 of the 60 newest SPN folders hold the template, recognisable by the placeholder “Add note for ENGR to make Reference Photo Print”.

SPN numbering has rolled past 9999. 130 five-digit folders (S10001 onward) now exist alongside 8,615 four-digit ones, and folder case varies (s10001, S10003). Match case-insensitively and do not assume four digits.



Last updated: September 2026. Figures from a full read of the 289 completed new-build drawing lists.