---
title: "Import a new CAD from file"
method: POST
path: "/projects/{projectId}/cadimports"
tags: ["CAD Imports"]
---

# Import a new CAD from file

`POST /projects/{projectId}/cadimports`

CAD import requires the following steps:
1. Request a temporary storage location via `POST /storage`.
2. Upload your CAD file using the HTTP `PUT` method to the `url` provided in the temporary storage location response object.
3. Start the import via `POST /projects/{projectId}/cadimports` and include the `storageId` provided in the temporary storage location response object.
4. Check for the import status via `GET /projects/{projectId}/cadimports/{cadId}`.

## Request body

- CadImportRequest
  - `name` string, required — The name of the imported CAD.
  - `location` CadImportRequestLocation, required
    - `storageId` string, required — The storage ID of the temporary storage location where the CAD file has been uploaded.
  - `format` 'ACIS' | 'CATIA' | 'CREO' | 'IGES' | 'INVENTOR' | 'NX' | 'PARASOLID' | 'REVIT' | 'RHINOCEROS' | 'SOLIDEDGE' | 'SOLIDWORKS' | 'STEP' | 'STL' | 'NTOP', required — The CAD format.
  - `inputUnit` 'm' | 'cm' | 'mm' | 'ft' | 'in' | 'yd', required
  - `options` CadImportRequestOptions, required — CAD import options. Please refer to https://www.simscale.com/docs/cad-preparation/#cad-upload-options for a detailed description of the options.
    - `facetSplit` boolean, required — _Facet Split_ tries to split the faceted parts of a CAD model. This means it can create new faces from original faces. In this case it's not possible to use the original faces to make assignments.
    - `sewing` boolean, required — _Automatic Sewing_ is sewing faces or sheet bodies together. This means that it can create one new face from two (or more) original faces, as well as one solid body from two (or more) original sheet bodies. In this case, if the entities have the same ID, it will be inherited by the newly created entity. However if the original entities do not share the same ID, only one of these will be mapped to the new entity. This might not be desirable if one would like to make assignments on the original entities and not on the new (sewn) entities.
    - `improve` boolean, required — This option tries to improve the topology (e.g. edges, vertices) and geometry of the model by adjusting tolerances, simplifying entities, etc. As this option should improve CAD operations and data handling for all downstream applications it is recommended to use it on import. For very complex models it can take a considerable amount of time though, therefore you can also opt-out and reconsider in case you face issues in geometry handling or meshing.
    - `optimizeForLBMSolver` boolean, required — This option allows you to import a *.stl file that is optimized for the Incompressible LBM and Wind Comfort analysis types. It leaves out complex import steps like sewing and cleanup that are not required by the LBM solver and therefore also allows to import big and complex models fast.

## Response `201`

Successful start of the import.

- CadImportResponse
  - `cadId` string, uuid, required — The ID of the CAD.
  - `status` 'READY' | 'QUEUED' | 'RUNNING' | 'FINISHED' | 'CANCELED' | 'FAILED', required — Status of the operation.
  - `cadStateId` string, uuid, required — The ID of the current CAD state. It can point to an empty CAD state in case the import is running or failed.
  - `failureReason` LogEntry
    - `severity` 'INFO' | 'SUCCESS' | 'WARNING' | 'ERROR', required
    - `code` string, required — Code for e.g. programmatic handling of error conditions.
    - `message` string, required — Human-readable description of the entry.
    - `details` object — Additional data to interpret and handle the entry.

## Other responses

- `400` — Bad request.
- `403` — Insufficient Permissions
- `404` — Not found.

---

[API](https://skmtc.net/simscale/apis/simscale-api.md) · [All operations](https://skmtc.net/simscale/apis/simscale-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/simscale/simscale-api/revisions/53223abaceb7/schema)
