# How create i3dm/b3dm file from scratch?

**URL:** <https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007>\
**Category:** CesiumJS\
**Created:** [August 31, 2017, 12:50pm UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007 "2017-08-31T12:50:54Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![arcade92](https://avatars.discourse-cdn.com/v4/letter/a/da6949/32.png) [@arcade92](https://community.cesium.com/u/arcade92)\
**Post date:** [August 31, 2017, 12:50pm UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007/1 "2017-08-31T12:50:54Z")

</div>

I don't understand what exacly i3dm/b3dm format is.

I looked at this docs:  
[https://github.com/AnalyticalGraphicsInc/3d-tiles/blob/master/TileFormats/Instanced3DModel/README.md](https://github.com/AnalyticalGraphicsInc/3d-tiles/blob/master/TileFormats/Instanced3DModel/README.md)

How define Feature Table, Batch Table and glTF and then convert it to .i3dm?  
I need prepare JSON with this elements?

If yes, how I can make .i3dm file from that JSON?

Is there any tool or method to do it??

---

<div class="post-metadata">

**Author:** ![sean\_lilley](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/sean_lilley/32/2083_2.png) [@sean\_lilley](https://community.cesium.com/u/sean_lilley)\
**Post date:** [August 31, 2017, 11:44pm UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007/2 "2017-08-31T23:44:18Z")

</div>

What type of data do you wish to display as 3D Tiles?

If you want to look at how the sample tilesets in Cesium are created, check out this repo: [https://github.com/AnalyticalGraphicsInc/3d-tiles-tools/tree/master/samples-generator](https://github.com/AnalyticalGraphicsInc/3d-tiles-tools/tree/master/samples-generator). However the approaches used there are not meant to be general-purpose solutions.

---

<div class="post-metadata">

**Author:** ![arcade92](https://avatars.discourse-cdn.com/v4/letter/a/da6949/32.png) [@arcade92](https://community.cesium.com/u/arcade92)\
**Post date:** [September 1, 2017, 11:36am UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007/3 "2017-09-01T11:36:50Z")

</div>

I want display massive amount of trees with i3dm format.  
I think "samples generator" will be helpful but I still need make own tool for whole process especially for creating feature and batch table.

---

<div class="post-metadata">

**Author:** ![sean\_lilley](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/sean_lilley/32/2083_2.png) [@sean\_lilley](https://community.cesium.com/u/sean_lilley)\
**Post date:** [September 5, 2017, 9:47pm UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007/4 "2017-09-05T21:47:11Z")

</div>

Yes you will still need your own tool, the samples-generator only serves as a reference.

---

<div class="post-metadata">

**Author:** ![Gabby\_Getz](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/gabby_getz/32/7838_2.png) [@Gabby\_Getz](https://community.cesium.com/u/Gabby_Getz)\
**Post date:** [September 8, 2017, 3:36pm UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007/5 "2017-09-08T15:36:21Z")

</div>

Hi,

You could also take a look at our [3D Tiles Pioneers](https://cesium.com/3d-tiles-pioneers/) program as an option for converting your data.

Thanks!

Gabby

---

<div class="post-metadata">

**Author:** ![Brian\_Behling](https://avatars.discourse-cdn.com/v4/letter/b/a88e57/32.png) [@Brian\_Behling](https://community.cesium.com/u/Brian_Behling)\
**Post date:** [December 18, 2018, 6:59pm UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007/6 "2018-12-18T18:59:48Z")

</div>

Hi.

Do you have an updated link to 3D Tiles Pioneers site?

---

<div class="post-metadata">

**Author:** ![omar](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/omar/32/1999_2.png) [@omar](https://community.cesium.com/u/omar)\
**Post date:** [December 18, 2018, 10:04pm UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007/7 "2018-12-18T22:04:29Z")

</div>

Hey Brian,

The 3D Tiles Pioneers was essentially the beta Cesium ion. So you can just upload things on Cesium ion now ([https://cesium.com/ion/](https://cesium.com/ion/)) or convert it with the on-premise CLI ([https://cesium.com/docs/on-prem/](https://cesium.com/docs/on-prem/)).

---

<div class="post-metadata">

**Author:** ![danammeansbear](https://avatars.discourse-cdn.com/v4/letter/d/49beb7/32.png) [@danammeansbear](https://community.cesium.com/u/danammeansbear)\
**Post date:** [March 12, 2020, 5:27pm UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007/8 "2020-03-12T17:27:39Z")

</div>

sorry new user here. so what your saying is i can just upload an .obj to cesium ion and use the url generated from the data in say this project meant for unity?

> **[NASA-AMMOS/Unity3DTiles](https://github.com/NASA-AMMOS/Unity3DTiles)**
>
> A 3D Tiles implementation in Unity. Contribute to NASA-AMMOS/Unity3DTiles development by creating an account on GitHub.

instead of doing the on-premise CLI?

---

<div class="post-metadata">

**Author:** ![omar](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/omar/32/1999_2.png) [@omar](https://community.cesium.com/u/omar)\
**Post date:** [March 16, 2020, 8:01pm UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007/9 "2020-03-16T20:01:50Z")

</div>

Yeah, you would just need to write some wrapper to authenticate the requests from Cesium ion with the REST API to get the tile data when loading it into a custom client like that.

---

<div class="post-metadata">

**Author:** ![ohadr.developer](https://avatars.discourse-cdn.com/v4/letter/o/a88e4f/32.png) [@ohadr.developer](https://community.cesium.com/u/ohadr.developer)\
**Post date:** [March 17, 2020, 9:38am UTC](https://community.cesium.com/t/how-create-i3dm-b3dm-file-from-scratch/6007/10 "2020-03-17T09:38:02Z")

</div>

link is broken
