The Joys and Woes of iModel Transformations: A Developer’s Tale
by Laisvune Valackaite
The Joys and Woes of iModel Transformations: A Developer’s Tale
by Laisvune Valackaite
Welcome to the magical world of Transformations! Here, we’ll take you on a whimsical journey through the benefits and capabilities of the Transformations service. Grab your wizard hats and coding wands because we’re about to make data dance!

Creating Configuration: The Sorcery Begins
The first step in our journey is to create a desired configuration. You can perform various transformation actions on the source iModel. Some examples include:
- Combine multiple iModels into one.
- Filter data using a saved view or ECSQL query.
- Remap elements and their properties or modify dynamic ECSchemas, such as removing unused classes.
Imagine this: you mutter a few incantations (or maybe typed some code or used a query) to decide which iModel data to keep and which to discard. Voilà! You’ve defined the necessary transformation. The best part? These configurations can be reused for multiple transformation jobs. Talk about spellbinding efficiency!
Running Transformation: Casting the Spell
Next, it’s time to run the transformation. Use the Transformations service API to execute the transformation based on the configuration you created earlier. It’s similar to casting a spell from your trusted spellbook. To determine if your spell was successful, check the job status or listen for job completion notifications. You’ll feel as if you’re in a masterclass on magical transfiguration as you watch the data transform before your eyes. Typically, transformations will occur between a specified source and target iModels.
Enchanting Examples
Let’s explore the process of creating a new iModel B that builds on the insights from saved view X of iModel A. To do this effectively, you can utilize the “Filter By Saved View” configuration. Start by establishing a connection between the source iModel (A) and the target iModel (B). Then, specify which saved view should serve as the foundation for the new iModel. Running this transformation will result in the desired data exported into iModel B. If iModel A undergoes any changes in the future, you can rerun the transformation using the previously established saved view configuration, allowing you to update target iModel B accordingly.
Follow the tutorial to experience this within your iTwin.
Use Cases: When Magic Meets Engineering
Transforming engineering data is like uncovering a mythical crystal of limitless power in the wizarding world of infrastructure projects. Effective management, organization, and visualization of large datasets are crucial. The ability to provide precise and relevant data is your magic wand.
Optimize for a Specific Purpose
Imagine engaging a diverse range of stakeholders — from architects to construction wizards — by catering to their tailored information needs. Use iModel filtering options to isolate relevant data, allowing stakeholders to concentrate on what truly matters. Additionally, use it to ban unnecessary or sensitive information from the shadow realm, granting better control over data access.
Integrate Multidisciplinary Approaches
Break down iModels into smaller discipline units to address potential integrity issues or combine multiple iModels to achieve a holistic view. It’s like calling together all the magical guilds for a legendary banquet — each bringing their strengths to the table.
Where to Start?
Check the documentation Transformations V2 API and sample to get started. Happy developing!
메타데이터
- post_id
- 09fadd1faf89
- slug
- the-joys-and-woes-of-imodel-transformations-a-developers-tale-09fadd1faf89
- url
- https://medium.com/itwinjs/the-joys-and-woes-of-imodel-transformations-a-developers-tale-09fadd1faf89
- canonical_url
- https://medium.com/itwinjs/the-joys-and-woes-of-imodel-transformations-a-developers-tale-09fadd1faf89
- author_url
- https://medium.com/@sainiroop
- status
- ok
- fetched_at
- 2026-07-13 06:23:13