Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Feature Request - Variable Studio Configuration Type (Specify Which Studio(s) a Part Uses)

The addition of configurations to variable studios is one of the most needed additions to OnShape. It's great to see, as it addresses one of the single core problems that remains: properly handling encapsulation of part definition and portability of that definition to other parts where definitions have to be coordinated.
One piece seems to be missing: the option to correlate a variable studio configuration with a part studio configuration so that the part studio can utilize whichever variable studio is most appropriate, defined after the fact.
Currently it seems that the only way to achieve this is to manually duplicate all configurations for the variable studio and for the part and then to include the variable studio by specifying all configuration values mapped 1:1. This is an insane amount of wasted effort that should be handled automatically.
An easy way to do this would be to add a configuration type to configure which variable studio would be used. This would effectively include all configurations for each variable studio without cluttering the configurations for the part.
Am I missing something that would make this possible already?
I would put the importance of this at about 1000/10.
Comments
I'm not sure I 100% understand what you mean but one thing you could do is to use two variable studios:
I realizes as I am typing this that it doesn't give you the option to "switch on the fly" which set of variables are used with a simple "configuration input"…
And "intermediate" workflow if you had a variable studio with many configuration input and only wanted to create a subset of permutations would be to do the same as above but with the master having all the inputs (i.e. and infinite number of configs if you use input variables), and then have a single configuration list input in the "reference" one with the list of possible valid combinations of input. This would at least reduce the amount of mapping to just one input
That's backwards - it doesn't let you change the configuration of a part by changing the variable configuration.
The goal here, as I see it, is to be able to make multiple parts from the same instructions using different configurations. Is that not obvious? I'm not sure what could be more important.
It seems obvious to me that there should be a configuration option to switch out which variables. I'm used to working as a programmer, where these things are a base level assumption. As a result, it's the #1 thing messing up my workflows, which I want to organize in object-oriented, reusable patterns.
Accordingly, this seems like an enormous oversight - like leaving a gaping hole in a feature that was released. But then, I couldn't understand why encapsulation wasn't priority #1 to start, given that the rest of OnShape design (parts studios, assemblies, etc) is at least nominally based on the idea of encapsulation. It left me very confused to find that actual encapsulation is non-existent. So… I'm hoping it will be fixed.
It sounds like you have an interesting idea, but I can't quite follow it. You are talking about variable studio configurations, but you are also talking about switching different variable studios for some reason… Could you give a specific example of a design (I'm assuming family of designs, really) you'd want to make and how you'd want the data to be structured?
I think I hear multiple asks:
So, like, a part studio defines an interface of what it expects and you can slot in any variable studio you want? I think this is redundant with the fact that the variable studios themselves can be configured.
Yeah I guess he's saying it would be nice to be able to have the whole document use the "currently selected" configuration of a variable studio.
Right now you can only do this with the workflow I described earlier but it requires editing a variable studio to change the imported configuration rather than setting configuration inputs.
Basically we need a mode to "push" the variable studio configuration instead of having to pull from all the tabs...
I was thinking about this some more in the shower…
What if a variable studio had an option to "push" configuration inputs (the way it pushes the variables) to all part studios/assemblies within a document, and automatically linked them throughout the document structure?
Eg: add a configuration input to the variable studio and have it show up in the top level assembly so that selecting a specific config from the top level automatically pulls in the same configuration of all children (sub-assemblies down to parts and derived part studios).
Alternatively, it might make more sense if this was separated from variable studios, maybe we could have a "configuration studio" that could be imported like a variable studio and would automatically link all the configurations down the structure. This could provide a lot of flexibility to manage "sets" of configuration parameters to use across documents in a large project without having to manually re-create and link configuration inputs across everything!
I love the configuration studio concept, and agree that flow-through would be nice, but those are both more involved solutions than what I am proposing.
I want to be able to define a group of variables that will change based on configuration and that will be portable to different contexts - to multiple parts studios, to assemblies. This is now possible with Variable Studio Configurations.
Put in terms of Variable Studio prior to configurations: I want to be able to build a Part Studio around a Variable Studio and then be able to swap out the Variable Studio for another equivalent Variable Studio. I appreciate the desire to be able to constrain this so that the replacement will work, but there are a number of places in OnShape where this would be appropriate and is not done— instead, errors are allowed to occur to illuminate that the replacement doesn't work.
But now that Variable Studios have configurations there is a better option: a new type of configuration that specifies a configurable Variable Studio but instead of configuring it, adds it as a configurable item in the Part Studio configuration. I imagine a similar interface, for example, as the interface when deriving a configurable part. So the box would show the default value (a Variable Studio type) and then clicking on it would permit choosing a different one. Whether this permits selection of any studio or only of other configurations of the specified studio would not matter to me. Either would be fine.
The key is that a Part Studio can be driven by the configurations after the Parts Studio has created its parts, and that the configurations are themselves portable so that they can be used in other Parts Studios or Assemblies.
Right now if you create a configurable Variable Studio and then utilize it in a part, you cannot change the Variable Studio Configuration from outside the part's Part Studio (as a Parts Studio configuration permits you to do) unless you manually duplicate each configuration from the Variable Studio into the Parts Studio (not sustainable). This problem corresponds to the desire for "flow-through", but I think that what I'm proposing captures the same advantage with much less work.
I might be missing something but isn't what you are describing already there? Like this:
I don't understand what you're showing me.
How does this allow you to change variable configurations at the time when you configure the part?