# Cesium3DTileStyle not working with OSM buildings

**URL:** <https://community.cesium.com/t/cesium3dtilestyle-not-working-with-osm-buildings/39303>\
**Category:** CesiumJS\
**Created:** [March 15, 2025, 2:28am UTC](https://community.cesium.com/t/cesium3dtilestyle-not-working-with-osm-buildings/39303 "2025-03-15T02:28:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![JustAddWater](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/justaddwater/32/27742_2.png) [@JustAddWater](https://community.cesium.com/u/JustAddWater)\
**Post date:** [March 15, 2025, 2:28am UTC](https://community.cesium.com/t/cesium3dtilestyle-not-working-with-osm-buildings/39303/1 "2025-03-15T02:28:54Z")

</div>

I followed the [cesiumjs interactive building](https://cesium.com/learn/cesiumjs-learn/cesiumjs-interactive-building/) guide. However for step 5, hide individual buildings does not always work.

Checking OSM, the problem ones are all digitized as building:part=yes as apposed to building=yes which do hide.

Bonus question: If talking about hundreds of elementId would it be better to use an intersect function with a footprint polygon layer instead of a list?

---

<div class="post-metadata">

**Author:** ![Luke\_McKinstry](https://sea2.discourse-cdn.com/cesium/user_avatar/community.cesium.com/luke_mckinstry/32/25557_2.png) [@Luke\_McKinstry](https://community.cesium.com/u/Luke_McKinstry)\
**Post date:** [March 17, 2025, 7:38pm UTC](https://community.cesium.com/t/cesium3dtilestyle-not-working-with-osm-buildings/39303/2 "2025-03-17T19:38:40Z")

</div>

Hi @JustAddWater,

Thanks for your post. For the elements you identified with building:part=yes, it appears they have a `part#elementID` attribute instead of the `elementID` attribute.

You can specify hiding them with a statement like this instead `['${feature["part#elementId"]} === 587844021', false]`

As for your bonus question. I think the intent of this example was to demonstrate how to style parts of 3DTilesets by attributes. If you were trying to remove all parts of a 3DTileset in a larger area, the approach you suggested would be a good one.

Please let us know if you have further questions.

Thanks,  
Luke
