# Decoupled Data Architecture: External Variables, UI Grouping (Tabs-to-Groups), and Reusability

**URL:** <https://discourse.shapr3d.com/t/decoupled-data-architecture-external-variables-ui-grouping-tabs-to-groups-and-reusability/40188>\
**Category:** Feature requests\
**Created:** [January 23, 2026, 9:48am UTC](https://discourse.shapr3d.com/t/decoupled-data-architecture-external-variables-ui-grouping-tabs-to-groups-and-reusability/40188 "2026-01-23T09:48:16Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![nikolajbrinch](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.shapr3d.com/nikolajbrinch/32/30225_2.png) [@nikolajbrinch](https://discourse.shapr3d.com/u/nikolajbrinch)\
**Post date:** [January 23, 2026, 9:48am UTC](https://discourse.shapr3d.com/t/decoupled-data-architecture-external-variables-ui-grouping-tabs-to-groups-and-reusability/40188/1 "2026-01-23T09:48:16Z")

</div>

**The problem that this feature will solve:**

Currently, parametric modeling in Shapr3D is hindered by a “monolithic” architecture where variables are locked inside the design file. This creates three major issues for power users and makers:

1. **UI Clutter & Usability:** In complex models (e.g., an electronics enclosure), I often have 50+ variables. This results in a long, flat list that pushes the History Tree off-screen. It is impossible to navigate quickly, and I am forced to use long snake\_case names (e.g., `lcd_screen_mount_hole_width`) to keep track of things.

2. **Lack of Reusability:** I use standard components across multiple projects (e.g., Raspberry Pi dimensions, standard screw sizes, manufacturer tolerances). Currently, I have to manually re-enter these variables for every new project. There is no way to import a “standard set” of parameters.

3. **Data vs. Design separation:** I cannot treat data as a separate artifact. To create a variant of a design (e.g., “2024 Model” vs “2025 Model”), I have to duplicate the file and manually edit values, rather than just pointing the design to a different data set.

**Brief description of the outcomes that you expect from this feature:**

I expect a workflow that separates **Data** from **Geometry** :

1. **External Data Source / Import:** I want to be able to import or link an external file (Excel, Numbers, CSV, JSON) into the Variables list.

2. **Tabs as Groups (UI Organization):** The import should respect the structure of the source file.

3. **Namespacing:** I should be able to reference these groups in formulas using dot-notation, e.g., `LCD.Width` instead of `lcd_width`.

4. **Export:** Ability to export the current variables to a CSV/Excel file to create a library for future projects.

**What can’t you achieve without this feature?**

This is a scalability blocker. I cannot efficiently use Shapr3D for complex, system-level designs where multiple components interact (e.g., PCB + Enclosure + Battery). Without this, I am forced to spend more time managing a chaotic UI list than actually designing. It prevents a professional workflow where “Configuration” (Data) drives the “Design” (Geometry), effectively limiting Shapr3D to single-part modeling rather than system configuration.
