Profile Parameters Reference

These parameters are supported in JSON profiles sent through the Meshmatic API (/convert).
Each field directly affects how the conversion engine executes and how output files are generated.

tools

  • Defines the exact sequence of optimization steps the Meshmatic engine will execute.

  • Tools are applied in order, from the first item to the last.

  • Each tool’s output becomes the input for the next, so changing order affects results.

  • Example:
    ["AT_OPTIMIZE_FACES", "AT_OPTIMIZE_VERTICES", "AT_GEN_SMOOTH_NORMALS", "AT_CLEANING_UP_SCENE"]

  • Must include at least one tool.

  • See All Meshmatic Tools for the full list.


params

  • Controls tessellation precision and angular accuracy during CAD-to-mesh conversion.

  • Key fields:

    • tessLinearTolerance: numeric value defining edge-length tolerance (smaller = finer detail).

    • tessAngularTolerance: numeric value defining maximum deviation between adjacent faces.

  • Typical presets:

    • 100 / 40 → balanced speed and quality

    • 10 / 5 → high-fidelity rendering

  • Used in almost all profiles.


lods

  • Configures generation of Level of Detail (LOD) meshes.

  • Fields:

    • numOfSelectedLODs: number of LODs to create (0 disables).

    • saveInSingleFile: whether all LODs are saved into one file.

    • values: percentage list defining reduction per LOD, e.g. [50,25,10,5].

  • Recommended use:

    • 0 for single-output conversions (e.g., rendering or printing).

    • 3–4 for VR/Web profiles requiring performance optimization.


license

  • Your valid Champion/Meshmatic license key.

  • Required for authentication in every API request.

  • Example:
    -F "license=YOUR_LICENSE_KEY"


export_format

  • Output format of the converted mesh.

  • Accepted values: glb, glb2, gltf, gltf, fbx, and obj.

  • Must be sent as form field fmt (not export_format).

  • Example:
    -F "export_format=glb"


profile_text / profile

  • The main profile definition passed to the API.

  • You must provide exactly one:

    • profile_text → raw JSON sent inline.

    • profile → uploaded .json file.

  • Both contain the same structure (tools, params, lods).

  • Example (raw JSON via PowerShell):

    $profileJson = '{"tools":["AT_OPTIMIZE_FACES"],"params":{"tessLinearTolerance":100,"tessAngularTolerance":40},"lods":{"numOfSelectedLODs":0,"saveInSingleFile":false,"values":[]}}' $profileJson | curl.exe -X POST "https://api.champion3d.io/convert" ` -F "file=@E:\test.stp" ` -F "license=Your-License-Key" ` -F "export_format=glb" ` --form "profile_text=@-;type=application/json"
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

API Request Examples (ready to paste)

PowerShell — send raw JSON via profile_text The examples below show how to correctly call the...

Understanding Tool Order and Priority in Meshmatic Profiles

Each Meshmatic profile contains a “tools” array — a list of processing operations applied by the...