---
title: "import"
excerpt: "Import a CAD file."
layout: manual
---

**WARNING:** This function is deprecated.

Import a CAD file.

**DEPRECATED** Prefer to use import statements.

For formats lacking unit data (such as STL, OBJ, or PLY files), the default unit of measurement is millimeters. Alternatively you may specify the unit by passing your desired measurement unit in the options parameter. When importing a GLTF file, the bin file will be imported as well. Import paths are relative to the current project directory.

Note: The import command currently only works when using the native Modeling App.

```js
import(file_path: String, options?: ImportFormat) -> ImportedGeometry
```


### Arguments

| Name | Type | Description | Required |
|----------|------|-------------|----------|
| `file_path` | `String` |  | Yes |
| `options` | [`ImportFormat`](/docs/kcl/types/ImportFormat) | Import format specifier | No |

### Returns

[`ImportedGeometry`](/docs/kcl/types/ImportedGeometry) - Data for an imported geometry.


### Examples

```js
model = import("tests/inputs/cube.obj")
```

![Rendered example of import 0](data:image/png;base64,[encoded data, 85984 characters])

```js
model = import("tests/inputs/cube.obj", { format = "obj", units = "m" })
```

![Rendered example of import 1](data:image/png;base64,[encoded data, 85988 characters])

```js
model = import("tests/inputs/cube.gltf")
```

![Rendered example of import 2](data:image/png;base64,[encoded data, 85984 characters])

```js
model = import("tests/inputs/cube.sldprt")
```

![Rendered example of import 3](data:image/png;base64,[encoded data, 101252 characters])

```js
model = import("tests/inputs/cube.step")
```

![Rendered example of import 4](data:image/png;base64,[encoded data, 101960 characters])

```js
import height, buildSketch from "common.kcl"

plane = 'XZ'
margin = 2
s1 = buildSketch(plane, [0, 0])
s2 = buildSketch(plane, [0, height() + margin])
```

![Rendered example of import 5](data:image/png;base64,[encoded data, 34028 characters])


