Adding Your Own Parts
The parts library is built from manufacturer JSON files. Each file describes parts from one manufacturer — housings plus the contacts, wedgelocks, seals, and other loose pieces they reference. LoomFlow ships with a built-in catalog, and you can add your own parts by writing a file in the same format — by hand or with an AI assistant — and loading it into the app.
If you just want to use the built-in library, see Using the Parts Library. The complete field-by-field schema lives in the Library File Format reference — this page covers the practical authoring workflow.
Understand how files are grouped
Section titled “Understand how files are grouped”File names don’t matter — the manufacturer field does. Every file whose manufacturer matches (case-insensitively) is merged into one catalog, and that includes the files built into the app. So you extend a manufacturer rather than replace it: load a file with "manufacturer": "Deutsch" and its housings join the built-in Deutsch catalog — and a housing in your file can reference a contact the built-in library already defines. The complete merge rules (cross-reference resolution, overriding a built-in part by repeating its pn) are in the Library File Format reference.
Write a minimal file
Section titled “Write a minimal file”Each file is one object with four required keys. Here is a complete, loadable file with a single housing and its contact:
{ "formatVersion": 1, "manufacturer": "Deutsch", "connectors": [ { "pn": "DTM06-2S", "series": "DTM", "description": "Plug, 2-position. Takes size 20 sockets.", "gender": "female", "cavities": 2, "designation": { "type": "sequential" }, "contacts": ["0462-201-20141"] } ], "components": [ { "pn": "0462-201-20141", "type": "socket", "description": "Solid socket, size 20, nickel-plated, 7.5 A", "gaugeRange": "16-22 AWG" } ]}The essentials:
| Field | Meaning |
|---|---|
formatVersion | Always 1. The app rejects versions it doesn’t know. |
manufacturer | Display name; groups files into one catalog. |
connectors | Housings you can place on the schematic. |
components | The loose parts housings reference: pin, socket, wedgelock, backshell, seal, plug. |
Optional fields add accessories (wedgelock, backshells, seals, plugs), mating pairs (matesWith — opposite gender, same cavity count, listed in both directions), cavity labelling (designation), and the physical face drawing (face). See the Library File Format reference for all of them.
Load the file into the app
Section titled “Load the file into the app”The built-in catalog is baked into LoomFlow — you don’t edit it. Your own files come in through the Parts library panel:
- Click Load manufacturer JSON… at the bottom of the panel.
- Pick your
.jsonfile. - On success, a confirmation shows the manufacturer name and how many connectors were loaded, and the parts appear in the panel immediately — grouped under their manufacturer and series like any built-in part.
Loaded files last for the current session only. Closing or reloading LoomFlow clears them, and the panel goes back to showing just the built-in catalog — so keep your .json file somewhere handy and load it again next session.
That is less painful than it sounds, because assigning a part copies it into your document. Once a connector on the canvas has your part, all of the part data lives inside the .loomflow project file itself — the design opens complete on any machine, with or without your library file. See Collaboration.
Fix validation errors
Section titled “Fix validation errors”Loading a file is also how you validate it. The app checks the file’s structure, merges it into its manufacturer’s catalog, and verifies every cross-reference — and it reports every problem in one pass, with messages that name the exact part and field at fault, such as:
connector "DTM06-2S": contacts[0] references unknown component "0462-201-2014"Typical catches:
- a
contactsentry that nothing in the manufacturer’s catalog defines (your file or a built-in one), - a contact whose
typedoesn’t match the housing’sgender— asocketlisted by a"male"housing, - duplicate part numbers within one file,
matesWithpairs whose genders or cavity counts don’t line up.
Nothing is kept from a failed load, so fix the listed problems in your file and load it again.
Generate a file with an AI assistant
Section titled “Generate a file with an AI assistant”Writing part entries from datasheets is tedious, and the format is regular enough that an AI assistant can do most of the work:
- Give the model the field-by-field format description from the Library File Format reference — pasting the page in works.
- Tell it the manufacturer and series you want (for example, “Deutsch — DTM series, 2/3/4-position housings with contacts and wedgelocks”) and ask for exactly one JSON object as output, nothing else. A model with web search can verify part numbers against datasheets and distributor listings — ask it to flag any part number it could not confirm.
- Save the output as a
.jsonfile and load it with Load manufacturer JSON…. If validation fails, the error messages are precise enough to paste straight back to the model. - Before ordering parts, spot-check the part numbers against a real datasheet — models occasionally invent plausible-looking ones.