# How create 3D Building Configurator BIM with Autodesk APS ? or Three.js is better?or maybe other things

**URL:** <https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993>\
**Category:** Questions\
**Tags:** bim, openbim, configurator, materials, textures, autodesk, 3d-configurator, geometry\
**Created:** [August 6, 2024, 6:07am UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993 "2024-08-06T06:07:04Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Parisa\_Shahbazi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/parisa_shahbazi/32/43776_2.png) [@Parisa\_Shahbazi](https://discourse.threejs.org/u/Parisa_Shahbazi)\
**Post date:** [August 6, 2024, 6:07am UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/1 "2024-08-06T06:07:05Z")

</div>

I am a Three.js developer. I know ‘thatopencompany’ recently for ifc files (BIM) too but as I know they do not support changing textures.

**We want to create a website like [https://planner5d.com/](https://planner5d.com/) and [https://vara3dconfigurator.com/](https://vara3dconfigurator.com/) .  
I need some data of .ifc files like space, floors, lamp and electrical,… and of course, I need three.js features like texture and material and open to customize everything, drag and drop, and add different models like furniture, … How Can I do that?**

**What is the best choice? Three.js or Autodesk APS or Xeokit or Thatopencompany or Speckle ?**

We need to change textures, and materials, and replace objects like furniture for interior design,…

 ![roomle-mobile-app-interface](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/6/7/677cdf6bb5638087c537328b001b3247a0fc11f7.png)

I want to create an advanced 3D configurator for Interior design with high-performance

Drag and drop, change textures, change objects in the model.Let me know your suggestion.

 ![b01976e1d9b11f44555ecaf41a415911](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/6/0/60fb88c15103eb0f2603b33d6a8f741116ada1af.jpeg)  
 ![3d-en-1x](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/9/2/929e9ee352a4954b686275f6a179d17168eba21c.jpeg)

---

<div class="post-metadata">

**Author:** ![Lukasz\_Mestales](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/lukasz_mestales/32/65638_2.png) [@Lukasz\_Mestales](https://discourse.threejs.org/u/Lukasz_Mestales)\
**Post date:** [August 6, 2024, 3:11pm UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/2 "2024-08-06T15:11:37Z")

</div>

> [@Parisa\_Shahbazi](#):
>
> **I need some data of .ifc files like space, floors, lamp and electrical,… and of course, I need three.js features like texture and material and open to customize everything, drag and drop, and add different models like furniture, … How Can I do that?**

Could I ask what type of answer you expect for so wide question?

---

<div class="post-metadata">

**Author:** ![Parisa\_Shahbazi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/parisa_shahbazi/32/43776_2.png) [@Parisa\_Shahbazi](https://discourse.threejs.org/u/Parisa_Shahbazi)\
**Post date:** [August 6, 2024, 3:29pm UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/3 "2024-08-06T15:29:59Z")

</div>

I want to check possibilites in these technologies and Choose best ones  
and second I want to know Should I combine 2 of them?

---

<div class="post-metadata">

**Author:** ![Lukasz\_Mestales](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/lukasz_mestales/32/65638_2.png) [@Lukasz\_Mestales](https://discourse.threejs.org/u/Lukasz_Mestales)\
**Post date:** [August 6, 2024, 3:44pm UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/4 "2024-08-06T15:44:33Z")

</div>

> _…Xeokit or Thatopencompany or Speckle…_

I can see that you are very determined to get this information, but unfortunately, I have no idea what these tools/technologies are, and even less idea which one is _better_…

---

<div class="post-metadata">

**Author:** ![Antonio](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/antonio/32/27527_2.png) [@Antonio](https://discourse.threejs.org/u/Antonio)\
**Post date:** [August 6, 2024, 8:34pm UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/5 "2024-08-06T20:34:22Z")

</div>

> We need to change textures, and materials, and replace objects like furniture for interior design

Please keep in mind that the use of images as texture maps in BIM is sparse. There is a reason for that. Native BIM formats are not meant for interoperability. Sure, you can use images whitin Revit et al, but you wil not be able to see them in a IFC Viewer. Then again IFC was meant for geometry and semantically structured data, not for “photorealism” purposes (note that I am quoting the buildingSmart board here). After a heated discussion, IFC4x3 ended up supporting textures, but the few viewers that I know that actually show the textures, they start by converting IFC data to a more robust representation aimed for that (like GlTF), which offers affine transformations, multiple UV sets, fine control of blending functions, etc.

The same goes for placing objects and decorations, they fall outside of BIM realm.

Bottom line, _BIM for interior design_ could represent an issue in itself. You may find a better suited workflow by using BIM data only at the beggining, or just for loading major architectural elements, from there it should be better to use a different representation / format.

---

<div class="post-metadata">

**Author:** ![MejdiKazdarlli](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mejdikazdarlli/32/47891_2.png) [@MejdiKazdarlli](https://discourse.threejs.org/u/MejdiKazdarlli)\
**Post date:** [August 6, 2024, 9:08pm UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/6 "2024-08-06T21:08:09Z")

</div>

Hello,  
I am the ThreeJS developer and 3D designer one membre of the team who made the project  
(to give the company his wright)  
[https://vara3dconfigurator.com](https://vara3dconfigurator.com)  
so the best choice is ThreeJS and for furniture the best choice is to convert them to GLB file so you can easily change textures and colors

---

<div class="post-metadata">

**Author:** ![Sk\_Sunny](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/sk_sunny/32/33228_2.png) [@Sk\_Sunny](https://discourse.threejs.org/u/Sk_Sunny)\
**Post date:** [August 9, 2024, 6:15pm UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/7 "2024-08-09T18:15:14Z")

</div>

Mr. Mejdi, thanks for your comment and participation in our project.

Regards, CEO & Founder of VARA EdTech  
( [varaedtech.com](http://varaedtech.com) )

---

<div class="post-metadata">

**Author:** ![Big\_Hughes](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/big_hughes/32/24395_2.png) [@Big\_Hughes](https://discourse.threejs.org/u/Big_Hughes)\
**Post date:** [August 10, 2024, 10:38am UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/8 "2024-08-10T10:38:44Z")

</div>

this looks exactly like my startup [Moddy.io](http://Moddy.io) - all very much possible in three, though I like r3f as my opinion is that it is more maintainable / less code.

---

<div class="post-metadata">

**Author:** ![Parisa\_Shahbazi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/parisa_shahbazi/32/43776_2.png) [@Parisa\_Shahbazi](https://discourse.threejs.org/u/Parisa_Shahbazi)\
**Post date:** [August 13, 2024, 5:29am UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/9 "2024-08-13T05:29:27Z")

</div>

You know we need data on floors, electricity, and windows ,… and for this purpose we need IFC. What is your idea about syncing IFC data with gltf model?

---

<div class="post-metadata">

**Author:** ![Parisa\_Shahbazi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/parisa_shahbazi/32/43776_2.png) [@Parisa\_Shahbazi](https://discourse.threejs.org/u/Parisa_Shahbazi)\
**Post date:** [August 13, 2024, 5:31am UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/10 "2024-08-13T05:31:28Z")

</div>

> [@MejdiKazdarlli](#):
>
> [https://vara3dconfigurator.com](https://vara3dconfigurator.com)

very nice.  
But Imagine that we have a hotel with alot of floors.We need to filter floors,filter electricity part(lamp ,… ),filter windows and door  
All od these datas are available in IFC format. How Can I handle it in GLTF?  
Is there any way to sync these 2 models with 2 formats?

---

<div class="post-metadata">

**Author:** ![Parisa\_Shahbazi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/parisa_shahbazi/32/43776_2.png) [@Parisa\_Shahbazi](https://discourse.threejs.org/u/Parisa_Shahbazi)\
**Post date:** [August 13, 2024, 5:33am UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/11 "2024-08-13T05:33:42Z")

</div>

What do you use for AR and VR on web?

---

<div class="post-metadata">

**Author:** ![Parisa\_Shahbazi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/parisa_shahbazi/32/43776_2.png) [@Parisa\_Shahbazi](https://discourse.threejs.org/u/Parisa_Shahbazi)\
**Post date:** [August 13, 2024, 5:52am UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/12 "2024-08-13T05:52:52Z")

</div>

which formats did you use for files?  
What is 2d part made of?

---

<div class="post-metadata">

**Author:** ![Big\_Hughes](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/big_hughes/32/24395_2.png) [@Big\_Hughes](https://discourse.threejs.org/u/Big_Hughes)\
**Post date:** [August 22, 2024, 7:18am UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/13 "2024-08-22T07:18:21Z")

</div>

2d is simply an orthographic camera instead of a perspective camera on the same scene with the same objects

---

<div class="post-metadata">

**Author:** ![Big\_Hughes](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/big_hughes/32/24395_2.png) [@Big\_Hughes](https://discourse.threejs.org/u/Big_Hughes)\
**Post date:** [August 22, 2024, 7:35am UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/14 "2024-08-22T07:35:35Z")

</div>

> [@Parisa\_Shahbazi](#):
>
> Drag and drop, change textures, change objects in the model

this can be done in react three fiber with glftjsx components, a fancy way of saying “a code file for each model”

let’s say you have a wall, it might have 5 textures, so this is a data type

export type BlueprintWallConfiguration = {  
texture: number;  
};

then, a user has an input dropdown to select the texture, maybe “wood” is number 4

then, in the code, you the return the model with the correct texture applied.

similarly, you can change child objects within a model. For example, a kitchen sink could have different taps. Again, possible within a gltf jsx component.

it is worth noting, however, you want to consider the correct data structure.

for example, if a sink had different taps, then you can just make child objects of the sink.

if, however, the same taps are re-used for a bathroom vanity, then you do not want to duplicate child objects and instead, have a flat architecture where all objects can be re-used anywhere.

I’m not very advanced with performance, but you just want to monitor this from the start - reviewing FPS, draw calls, polygons, re-use geometries etc. Then, you will know what new features are slowing down the app.

---

<div class="post-metadata">

**Author:** ![Parisa\_Shahbazi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/parisa_shahbazi/32/43776_2.png) [@Parisa\_Shahbazi](https://discourse.threejs.org/u/Parisa_Shahbazi)\
**Post date:** [August 29, 2024, 1:58pm UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/15 "2024-08-29T13:58:32Z")

</div>

> [@Big\_Hughes](#):
>
> [Moddy.io](http://Moddy.io)

Yes I have used it.thanks

---

<div class="post-metadata">

**Author:** ![Parisa\_Shahbazi](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/parisa_shahbazi/32/43776_2.png) [@Parisa\_Shahbazi](https://discourse.threejs.org/u/Parisa_Shahbazi)\
**Post date:** [August 29, 2024, 2:00pm UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/16 "2024-08-29T14:00:50Z")

</div>

Do you know rules for uv and textures?  
Can you help me in this question

> [@UV or Texture loading Problem in 3D model](https://discourse.threejs.org/t/uv-or-texture-loading-problem-in-3d-model/70063):
>
> Hi guys. I have a problem with textures and uv. I have downloaded standard textures from the Polyhaven website. Now I load textures in a plane geometry and in one of the meshes in my 3d model. But the result is like the picture.In model does not appear good Way of loading is incorrect or does the 3d model have a problem? How Can I set a global loader that will load for every kind of texture without changing the scale and rotation and repeat the textu…

---

<div class="post-metadata">

**Author:** ![dubois](https://avatars.discourse-cdn.com/v4/letter/d/e9c0ed/32.png) [@dubois](https://discourse.threejs.org/u/dubois)\
**Post date:** [August 29, 2024, 2:06pm UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/17 "2024-08-29T14:06:00Z")

</div>

Traditionally, an id is used to associate different data.

---

<div class="post-metadata">

**Author:** ![didi\_softwares](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/didi_softwares/32/22686_2.png) [@didi\_softwares](https://discourse.threejs.org/u/didi_softwares)\
**Post date:** [August 30, 2024, 5:10am UTC](https://discourse.threejs.org/t/how-create-3d-building-configurator-bim-with-autodesk-aps-or-three-js-is-better-or-maybe-other-things/68993/18 "2024-08-30T05:10:54Z")

</div>

Three.js is certainly easy to create the interior and texture editor. The difficult part for me is creating realistic 3D objects with low polygons, which is necessary so the project doesn’t get heavy.

Here is an example of a room with some interactions, if you know how some of the old equipment works. I started implementing voice commands but gave up.  
[https://didisoftwares.ddns.net/2/index.html](https://didisoftwares.ddns.net/2/index.html)

About Textures, have many types of Materials, you need to change and find.  
in [three.js docs](https://threejs.org/docs/#api/en/materials/Material) look diferences in menu

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/7/7/7769ec82ab75066f4728e3f3a0c94363c26d9da5.png)
