A centralized place to store information about 3D printing filaments and their manufacturers.
The database is hosted using GitHub Pages, you can browse it at: https://donkie.github.io/SpoolmanDB/
You can contribute to this database by adding/editing files and submitting pull requests in this repository. Please read CONTRIBUTING.md first.
The source files are in the filaments folder. When this database is deployed, they will be expanded/compiled into a single JSON file called filaments.json.
To limit the amount of duplication needed in the source files, each combination of weight, color and diameter will be represented in the compiled JSON. For example, if you specify two diameters, two weights, and two colors, you will get eight combinations in the JSON. There isn't currently any way to exclude specific combinations; either you will have to live with the database having invalid entries or you can split up the filament object into multiple ones.
- country_of_origin (optional, filaments only) - Manufacturing country as an uppercase ISO 3166-1 alpha-2 code, e.g.
DE,US, orCN. Only assigned codes are accepted; country names, lowercase codes and unassigned values such asZZare invalid. Omit this field when unknown; do not infer it from the brand's location. The compiler preserves it on each variant and emitsnullwhen omitted. It does not affect public IDs. - name - The product name. Use
{color_name}to automatically insert the color name. It is required whencolorscontains multiple entries; with exactly one color entry, a fixed name such aseMarbleis also allowed. - material - The material name, e.g. PLA.
- density - The density of the material in g/cm3.
- weights - An array of objects with
weight,spool_weightandspool_typefields. Specify multiple here if the manufacturer sells the filament in e.g. 1 kg and 5 kg spools.spool_weightis optional but recommended.spool_typeis optional and can be any of "plastic", "cardboard" or "metal". - diameters - An array of diameters in mm. Specify multiple here if the manufacturer sells the filament in both e.g. 1.75 and 2.85 mm diameters.
- extruder_temp (optional) - Manufacturer recommended extruder temperature in °C.
- bed_temp (optional) - Manufacturer recommended bed temperature in °C.
- finish (optional) - The finish of the filament, e.g. "matte" or "glossy". Only set this if the filament is designed with this in mind.
- multi_color_direction (optional) - The direction of the multi-color filament, e.g. "coaxial" for a split/dual color filament, or "longitudinal" for a filament that changes color along its length.
- pattern (optional) - Textured pattern, either "marble" or "sparkle" is currently supported. Feel free to add additional ones in the schema if necessary.
- translucent (optional) - Boolean true/false if this filament is at least partially see-through.
- glow (optional) - Boolean true/false if this filament has a glow-in-the-dark effect.
- colors - An array of objects with
nameandhexfields. Name should be what the manufacturer calls it. Hex should be the hex code of the color, can include an alpha channel if it's a transparent color. If it's a multi-color filament, specifyhexesinstead ofhexand provide a list of hex codes. You can also set thefinish,multi_color_direction,pattern,translucentandglowfields here if the specific color is different from the others.
Colors also support an optional transmission_distance: a positive number in mm describing light penetration through the printed material (TD, as used by HueForge). Set it on each color, for example {"name": "Black", "hex": "1A1A1A", "transmission_distance": 0.5}. Use a measured or manufacturer-published value; leave it out if unknown. The compiled entry has transmission_distance: null when omitted.
TD describes the printed material, rather than the diameter of the unprinted filament. A color's value applies to every listed weight and diameter. If different diameters have different measured TD values, split them into separate filament objects with their own colors and TD values.
All materials are found in the materials.json file.
- material - The material name, e.g. PLA.
- density - The density of the material in g/cm3.
- extruder_temp - General extruder temperature for this material.
- bed_temp - General bed temperature for this material.