Skip to content

Smart Color Matching #172

@JS-Cannon

Description

@JS-Cannon

Is there an existing issue for this feature request?

  • I have searched the existing issues

Is your feature request related to a problem?

Currently, when importing 3D models with color metadata (such as .obj or .3mf files), the slicer attempts to match the model's RGB values against the existing filaments in the project. If the values are not an exact match, the slicer automatically appends a new filament to the list.

This often leads to a cluttered filament sidebar with nearly identical colors (e.g., a model's "Off-White" creating a new slot even if the user already has "White" loaded).

Which printers will be beneficial to this feature?

All

Describe the solution you'd like

Implement a color approximation algorithm that does something similar to a threshold matching, that is, instead of requiring a 100% RGB match, map the model color to an existing filament if it falls within a certain "closeness" (e.g., a 90% match)? If the color does not satisfy such threshold, then prompt the user as usual.

Describe alternatives you've considered

My current workflow requires:

  1. Bulk Import: Importing all models.
  2. Let the slicer automatically append new filament slots for every unique RGB value, even if they differ by negligible increments.
  3. Manually identifying "close enough" colors and merge the new slots into existing project filaments to maintain AMS compatibility.

Additional context

Image

As illustrated in the attached image, the current import logic generates redundant filament entries for RGB values that are nearly identical. Rather than mapping to existing project filaments, the slicer appends multiple new slots for colors that fall within a negligible range of variation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions