Skip to content

Inconsistent material classification for CF/GF filament variants #309

Description

@Icezaza2543

Hi, I noticed something while checking some older filament entries.

Some products have a very specific material name, but the structured "material" field only keeps the base polymer.

For example:

  • "Fiberon™ PA12-CF10" → "material: "PA""
  • "Fiberon™ PA6-CF20" → "material: "PA""
  • "Fiberon™ PA6-GF25" → "material: "PA""

There are similar cases with PETG-CF, PLA-CF, TPU hardness variants, and probably others.

The problem is that this removes useful information from the structured data.

For example, these are all quite different products:

  • "PA6-CF5"
  • "PA6-CF10"
  • "PA6-CF20"
  • "PA6-GF25"

But if they are stored as:

{
"material": "PA6",
"fill": "carbon fiber"
}

then "CF5", "CF10", and "CF20" all become indistinguishable from each other.

The same applies to glass-fiber percentages.

Because of that, I think the full formulation probably needs to stay in the "material" field, for example:

{
"material": "PA6-CF20",
"fill": "carbon fiber"
}

or:

{
"material": "PA6-GF25",
"fill": "glass fiber"
}

That way the exact material is preserved, while "fill" can still be useful as a broader category.

This also matters for filtering. A user looking specifically for "PETG-CF", "PA6-CF20", or "TPU-95A" should ideally not get the same classification as ordinary PETG, generic PA, or generic TPU.

The schema already seems to allow more specific material names such as "ABS-CF" and "PC+ABS-CF10", so I wanted to check whether keeping the full formulation in "material" is the intended convention before correcting older records.

I ran into this while cleaning up older entries in my community-maintained SpoolmanDB fork, and there seem to be enough affected records that having one consistent rule would help a lot.

Related to #32, but this is mainly about preserving the actual material variant in existing data rather than changing the overall schema.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions