any2orca API reference
    Preparing search index...

    Class ProfileCatalog

    A validated catalog. Get one with loadCatalog; it caches loaded profiles, so one instance can serve many conversions.

    Index
    • Parameters

      • index: {
            dataVersion: string;
            defaultProfileId: string;
            filamentNames?: {
                lines: {
                    generic: string | null;
                    id: string;
                    keywords: string[];
                    label: string;
                    materials: string[];
                    snapmaker: string | null;
                }[];
                materialAliases: Record<string, string>;
                printers: Record<
                    string,
                    {
                        nozzleDiameter: string;
                        presets: Record<string, { family: string; id: string; vendor: string }>;
                    },
                >;
                profileSet: { commit: string; repository: string; version: string };
            };
            printers: {
                displayName: string;
                highFlowSupported: boolean;
                id: string;
                nozzleDiameter: string;
            }[];
            profiles: {
                autoSelectable: boolean;
                displayName: string;
                highFlowSpeeds: boolean;
                id: string;
                layerHeight: number;
                nozzleDiameter: string;
                printerId: string;
            }[];
            releases?: { application: string; path: string; version: string }[];
            retired: { displayName: string; id: string; successorId: string }[];
            schema: 1;
            slicer: { application: string; name: string; version: string };
            source?: { commit: string; repository: string; tag: string };
        }
        • dataVersion: string
        • defaultProfileId: string
        • OptionalfilamentNames?: {
              lines: {
                  generic: string | null;
                  id: string;
                  keywords: string[];
                  label: string;
                  materials: string[];
                  snapmaker: string | null;
              }[];
              materialAliases: Record<string, string>;
              printers: Record<
                  string,
                  {
                      nozzleDiameter: string;
                      presets: Record<string, { family: string; id: string; vendor: string }>;
                  },
              >;
              profileSet: { commit: string; repository: string; version: string };
          }

          Filament preset names for the Snapmaker/Generic naming options, per printer.

        • printers: {
              displayName: string;
              highFlowSupported: boolean;
              id: string;
              nozzleDiameter: string;
          }[]
        • profiles: {
              autoSelectable: boolean;
              displayName: string;
              highFlowSpeeds: boolean;
              id: string;
              layerHeight: number;
              nozzleDiameter: string;
              printerId: string;
          }[]
        • Optionalreleases?: { application: string; path: string; version: string }[]

          Every Snapmaker Orca release this catalog holds, newest first: this index's own (path ".") and each older one's folder. Absent in a catalog with one release.

        • retired: { displayName: string; id: string; successorId: string }[]
        • schema: 1
        • slicer: { application: string; name: string; version: string }
        • Optionalsource?: { commit: string; repository: string; tag: string }

          Where the profiles come from: the target slicer's repository and the release tag and commit they were generated at.

      • source: ProfileSource

      Returns ProfileCatalog

    index: {
        dataVersion: string;
        defaultProfileId: string;
        filamentNames?: {
            lines: {
                generic: string | null;
                id: string;
                keywords: string[];
                label: string;
                materials: string[];
                snapmaker: string | null;
            }[];
            materialAliases: Record<string, string>;
            printers: Record<
                string,
                {
                    nozzleDiameter: string;
                    presets: Record<string, { family: string; id: string; vendor: string }>;
                },
            >;
            profileSet: { commit: string; repository: string; version: string };
        };
        printers: {
            displayName: string;
            highFlowSupported: boolean;
            id: string;
            nozzleDiameter: string;
        }[];
        profiles: {
            autoSelectable: boolean;
            displayName: string;
            highFlowSpeeds: boolean;
            id: string;
            layerHeight: number;
            nozzleDiameter: string;
            printerId: string;
        }[];
        releases?: { application: string; path: string; version: string }[];
        retired: { displayName: string; id: string; successorId: string }[];
        schema: 1;
        slicer: { application: string; name: string; version: string };
        source?: { commit: string; repository: string; tag: string };
    }

    Type Declaration

    • dataVersion: string
    • defaultProfileId: string
    • OptionalfilamentNames?: {
          lines: {
              generic: string | null;
              id: string;
              keywords: string[];
              label: string;
              materials: string[];
              snapmaker: string | null;
          }[];
          materialAliases: Record<string, string>;
          printers: Record<
              string,
              {
                  nozzleDiameter: string;
                  presets: Record<string, { family: string; id: string; vendor: string }>;
              },
          >;
          profileSet: { commit: string; repository: string; version: string };
      }

      Filament preset names for the Snapmaker/Generic naming options, per printer.

    • printers: {
          displayName: string;
          highFlowSupported: boolean;
          id: string;
          nozzleDiameter: string;
      }[]
    • profiles: {
          autoSelectable: boolean;
          displayName: string;
          highFlowSpeeds: boolean;
          id: string;
          layerHeight: number;
          nozzleDiameter: string;
          printerId: string;
      }[]
    • Optionalreleases?: { application: string; path: string; version: string }[]

      Every Snapmaker Orca release this catalog holds, newest first: this index's own (path ".") and each older one's folder. Absent in a catalog with one release.

    • retired: { displayName: string; id: string; successorId: string }[]
    • schema: 1
    • slicer: { application: string; name: string; version: string }
    • Optionalsource?: { commit: string; repository: string; tag: string }

      Where the profiles come from: the target slicer's repository and the release tag and commit they were generated at.

    • The catalog for one Snapmaker Orca release this catalog holds: itself for its own release, or the older release's catalog, loaded once and checked to be that release. Throws Any2orcaError release_not_found for a release it doesn't hold.

      Parameters

      • version: string

      Returns Promise<ProfileCatalog>

    • Every profile, or only one nozzle size's, sorted by nozzle size and then layer height (finest first).

      Parameters

      • filter: { nozzleDiameter?: string } = {}

      Returns ProfileSummary[]

    • Loads and validates one profile. Throws for an id the catalog doesn't list.

      Parameters

      • id: string

      Returns Promise<LoadedProfile>

    • The Snapmaker Orca releases this catalog holds, newest first. The first is the default.

      Returns SlicerRelease[]

    • The live profile that replaced a retired id, if id was retired.

      Parameters

      • id: string

      Returns RetiredProfile | undefined