# How to use SDAI API with ODA STEP SDK?

 1. [FAQ](/ja/faq)
2. »
3.

### Here is an example of C++ SDAI API usage that shows how to obtain collection of entities with "cartesian\_point" type and iterate through them:

```

 
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">// Common ODA IFC SDK initialization part</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">OdStaticRxObject<MyServices> svcs;</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">odrxInitialize(&svcs);</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">odStepInitialize(false /* No CDA */, false /* No geometry calculation needed */);</span>
```

```

 
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">// SDAI calls can be performed just after common initialization procedure</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">SdaiSession session = sdaiOpenSession();</span>
```

```

 
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">// Preload schema which is used within c:\\file.step</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">SdaiString schemaFileName = "c:\\AP214E3_2010.exp";</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">sdaiGetSchema(schemaFileName);</span>
```

```

 
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">SdaiRep repo = _sdaiCreateRepositoryFromFile(session, "c:\\file.step", "");</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">SdaiRep repoOpened = sdaiOpenRepositoryBN(session, "c:\\file.step ");</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">SdaiModel modelRO = sdaiAccessModelBN(repoOpened, "default", sdaiRO);</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">SdaiSet cartesianPoints = sdaiGetEntityExtentBN(modelRO, "cartesian_point");</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">SdaiIterator it = sdaiCreateIterator(cartesianPoints);</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">for (sdaiBeginning(it); sdaiNext(it);)</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">{</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">  SdaiAppInstance inst = nullptr;</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">  sdaiGetAggrByIterator(it, sdaiINSTANCE, &inst);</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">  ...</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">}</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">sdaiDeleteIterator(it);</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">sdaiCloseSession(session);</span>
```

```

 
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">// Common ODA IFC SDK uninitialization part</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">odStepUninitialize();</span>
```

```
<span lang="EN-US" style="background-color:white;color:#212529;font-family:Consolas;font-size:10pt;">odrxUninitialize();</span>
```

exSDAISAS example which uses SDAI calls may be investigated additionally to get information of how to create modules which use SDAI.
