Skip to content

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.

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.

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:

FieldMeaning
formatVersionAlways 1. The app rejects versions it doesn’t know.
manufacturerDisplay name; groups files into one catalog.
connectorsHousings you can place on the schematic.
componentsThe 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.

The built-in catalog is baked into LoomFlow — you don’t edit it. Your own files come in through the Parts library panel:

  1. Click Load manufacturer JSON… at the bottom of the panel.
  2. Pick your .json file.
  3. 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.

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 contacts entry that nothing in the manufacturer’s catalog defines (your file or a built-in one),
  • a contact whose type doesn’t match the housing’s gender — a socket listed by a "male" housing,
  • duplicate part numbers within one file,
  • matesWith pairs 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.

Writing part entries from datasheets is tedious, and the format is regular enough that an AI assistant can do most of the work:

  1. Give the model the field-by-field format description from the Library File Format reference — pasting the page in works.
  2. 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.
  3. Save the output as a .json file and load it with Load manufacturer JSON…. If validation fails, the error messages are precise enough to paste straight back to the model.
  4. Before ordering parts, spot-check the part numbers against a real datasheet — models occasionally invent plausible-looking ones.