---
title: "Modifying Models"
description: "Endpoints that take actions on models within a scene."
url: https://developer.formlabs.com/api-reference/modifying-models/
---

# Modifying Models

Endpoints that take actions on models within a scene.

## Endpoints

Each endpoint's Markdown copy has its parameters, request body, responses, error codes, and Python and cURL samples.

- [Scale models](https://developer.formlabs.com/api-reference/modifying-models/scale-models.md): `POST /v1/scene/model/scale/`, `preform.scale_models()`. Set a uniform scale factor on one or more models.
- [Orient models](https://developer.formlabs.com/api-reference/modifying-models/orient-models.md): `POST /v1/scene/model/orient/`, `preform.orient_models()`. Set the absolute orientation of one or more models, replacing their current orientation (not a relative rotation).
- [Translate models](https://developer.formlabs.com/api-reference/modifying-models/translate-models.md): `POST /v1/scene/model/translate/`, `preform.translate_models()`. Move one or more models to a new position, either absolutely (place the model origin at the given coordinates) or relatively (offset each model from where it currently is).
- [Automatically orient models](https://developer.formlabs.com/api-reference/modifying-models/auto-orient-models.md): `POST /v1/scene/model/auto-orient/`, `preform.auto_orient_models()`. Reorients one or more models to the orientation PreForm estimates will produce the best print quality on the scene's printer.
- [Generate supports for models](https://developer.formlabs.com/api-reference/modifying-models/auto-support-models.md): `POST /v1/scene/model/auto-support/`, `preform.auto_support_models()`. Computes and attaches print supports to one or more models, using the scene's current support settings as defaults for any field omitted from the request.
- [Rebuild existing supports in place](https://developer.formlabs.com/api-reference/modifying-models/regenerate-supports.md): `POST /v1/scene/model/regenerate-supports/`, `preform.regenerate_supports()`. Rebuilds the support structure of models that already have supports, keeping their touchpoints and the support settings they were generated with.
- [Automatically arrange models on the build platform](https://developer.formlabs.com/api-reference/modifying-models/auto-layout-models.md): `POST /v1/scene/model/auto-layout/`, `preform.auto_layout_models()`. Repositions and rotates one or more models to fit them on the build platform.
- [Automatically pack models within the build volume](https://developer.formlabs.com/api-reference/modifying-models/auto-pack-models.md): `POST /v1/scene/model/auto-pack/`, `preform.auto_pack_models()`. Packs the selected models within the build volume without duplicating them, using 3D nesting rather than 2D placement.
- [Fill the build platform with duplicates](https://developer.formlabs.com/api-reference/modifying-models/fill-build-platform.md): `POST /v1/scene/model/fill-build-platform/`, `preform.fill_build_platform()`. Duplicates the selected models and lays out the copies (using the same algorithm as `/v1/scene/model/auto-layout/`), adding as many as fit on the build platform.
- [Fill the build chamber with duplicates](https://developer.formlabs.com/api-reference/modifying-models/fill-build-chamber.md): `POST /v1/scene/model/fill-build-chamber/`, `preform.fill_build_chamber()`. Duplicates the selected models and packs them (the same algorithm as `/v1/scene/model/auto-pack/`) up to `fill_to_height_mm`, in mm above the build platform.
- [Import a model](https://developer.formlabs.com/api-reference/modifying-models/import-models.md): `POST /v1/scene/model/import/`, `preform.import_models()`. Loads a 3D model file into the scene as a new model.
- [List models in a scene](https://developer.formlabs.com/api-reference/modifying-models/list-models.md): `POST /v1/scene/model/list/`, `preform.list_models()`. Returns the current properties of the models in a scene.
- [Update model metadata](https://developer.formlabs.com/api-reference/modifying-models/update-models.md): `POST /v1/scene/model/update/`, `preform.update_models()`. Edits the metadata for one or more models.
- [Delete models](https://developer.formlabs.com/api-reference/modifying-models/delete-models.md): `DELETE /v1/scene/model/delete/`, `preform.delete_models()`. Removes one or more models from a scene.
- [Replace a model with another model already in the scene](https://developer.formlabs.com/api-reference/modifying-models/replace-model.md): `POST /v1/scene/model/replace/`, `preform.replace_model()`. Swaps one model in the scene for another.
- [Duplicate models](https://developer.formlabs.com/api-reference/modifying-models/duplicate-models.md): `POST /v1/scene/model/duplicate/`, `preform.duplicate_models()`. Creates `count` copies of each selected model, placed alongside the originals.
- [Cage models](https://developer.formlabs.com/api-reference/modifying-models/cage-models.md): `POST /v1/scene/model/cage/`, `preform.cage_models()`. Generates a support cage around the selected models: a bar-lattice frame that encloses them so they can be handled and depowdered as one rigid unit, protecting small or fragile parts from being lost or damaged.
- [Label models](https://developer.formlabs.com/api-reference/modifying-models/label-models.md): `POST /v1/scene/model/label/`, `preform.label_models()`. Embosses or engraves a text label onto the surface of one or more models, at the given position and orientation.
- [Drill holes](https://developer.formlabs.com/api-reference/modifying-models/drill-holes.md): `POST /v1/scene/model/drill/`, `preform.drill_holes()`. Drills one or more drain/vent holes into the selected models at the given positions and orientations, so trapped resin can escape during printing.
- [Hollow models](https://developer.formlabs.com/api-reference/modifying-models/hollow-models.md): `POST /v1/scene/model/hollow/`, `preform.hollow_models()`. Hollows the selected models, replacing each one's interior with a cavity that leaves a shell of `wall_thickness_mm` behind.
- [Dental-hollow models](https://developer.formlabs.com/api-reference/modifying-models/dental-hollow-models.md): `POST /v1/scene/model/dental-hollow/`, `preform.dental_hollow_models()`. Cuts each selected model at a plane, extrudes a solid base of `extrude_distance_mm` downward from the cut to make it printable, and replaces the original model in the scene with the result.
- [Repair models](https://developer.formlabs.com/api-reference/modifying-models/repair-models.md): `POST /v1/scene/model/repair/`, `preform.repair_models()`. Attempt to repair the selected models' meshes: stitch open boundaries, split non-manifold vertices, remove degenerate faces, and fill holes.
- [Split models into separate bodies](https://developer.formlabs.com/api-reference/modifying-models/split-model-bodies.md): `POST /v1/scene/model/split-bodies/`, `preform.split_model_bodies()`. Splits each selected model into one new model per disconnected body in its mesh, removing the original.
- [Get model body counts](https://developer.formlabs.com/api-reference/modifying-models/get-model-body-counts.md): `POST /v1/scene/model/body-count/`, `preform.get_model_body_counts()`. Returns the number of disconnected bodies in each selected model's mesh.
