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.
Variable improvements
jules_smith
Member Posts: 24 EDU
I have been using Onshape for two years now. I originally used fusion 360, and I believe onshape to be a better platform due to configurations, feature scripts, the part studio system, etc, however, fusion 360 has an absolutely incredible variable (or "parameter" as they call it) system that I think could be integrated into Onshape if a software developer got bored enough. In case anyone reading this is unfamiliar the fusion 360 variable system works as follows.
- There are two subsections for parameters
- Parameters that are automatically added to the table from features
Every single length or angle value that you enter in CAD ends up in the variable folder making for an incredibly powerful post-processing system that can be achieved in Onshape, but it takes a ridiculous amount of time.
- Parameters that you add in yourself (like onshape).
- Parameters are organized based on the parameter type, and/or the feature that they are a part of in folders that are generated automatically.
- Variables do not appear in the browser.
Something I do not particularly understand or appreciate about variables is that they are inserted into the browser/timeline. Most people I have talked to just drag all of their variables into a folder at the top of the browser which seems like a waste of time and I cannot think of an application for having the variables in the timeline. I also find that when I am working with configs and variables at the same time, the timeline can cause the CAD to break, but this is a very rare instance. I feel like if this was changed it would mess up a total of two people's processes so this should not be changed, but I did see someone recommend that variables automatically be inserted at the top of the browser and that honestly sounds like a great solution.
- variables can be inserted to dimensions simply by clicking on other dimensions. This is doable because a variable is created with every measurement, although Solidworks has this feature, but does not link the dimensions together and thus, does not need the variable system to have this feature. Having a Solidworks-like version of this feature would seriously be a simple, yet incredible start to this overall improvement.
Some specific cases for use would include:
- quickly configuring a part studio
- tweaking the cad without going having to either already have assigned a variable, or find the feature, edit the feature, and change the dimension.
- linking dimensions together using parametric equations on the spot without having to exit the sketch, create a variable, drag the variable ahead of the sketch, reopen the sketch, and enter the equation.
- being able to name every single dimension if your heart desires (otherwise they would be assigned a name like D1, D2, etc)
There are probably things that I am missing, and I know there is most likely a reason why onshape does not already have a variable system like this, but I promise whoever is reading this that if onshape had a variable system as robust as fusions parameters, it would take the software to a completely new level and it would be an incredible leap ahead of where it is now.
- There are two subsections for parameters
- Parameters that are automatically added to the table from features
Every single length or angle value that you enter in CAD ends up in the variable folder making for an incredibly powerful post-processing system that can be achieved in Onshape, but it takes a ridiculous amount of time.
- Parameters that you add in yourself (like onshape).
- Parameters are organized based on the parameter type, and/or the feature that they are a part of in folders that are generated automatically.
- Variables do not appear in the browser.
Something I do not particularly understand or appreciate about variables is that they are inserted into the browser/timeline. Most people I have talked to just drag all of their variables into a folder at the top of the browser which seems like a waste of time and I cannot think of an application for having the variables in the timeline. I also find that when I am working with configs and variables at the same time, the timeline can cause the CAD to break, but this is a very rare instance. I feel like if this was changed it would mess up a total of two people's processes so this should not be changed, but I did see someone recommend that variables automatically be inserted at the top of the browser and that honestly sounds like a great solution.
- variables can be inserted to dimensions simply by clicking on other dimensions. This is doable because a variable is created with every measurement, although Solidworks has this feature, but does not link the dimensions together and thus, does not need the variable system to have this feature. Having a Solidworks-like version of this feature would seriously be a simple, yet incredible start to this overall improvement.
Some specific cases for use would include:
- quickly configuring a part studio
- tweaking the cad without going having to either already have assigned a variable, or find the feature, edit the feature, and change the dimension.
- linking dimensions together using parametric equations on the spot without having to exit the sketch, create a variable, drag the variable ahead of the sketch, reopen the sketch, and enter the equation.
- being able to name every single dimension if your heart desires (otherwise they would be assigned a name like D1, D2, etc)
There are probably things that I am missing, and I know there is most likely a reason why onshape does not already have a variable system like this, but I promise whoever is reading this that if onshape had a variable system as robust as fusions parameters, it would take the software to a completely new level and it would be an incredible leap ahead of where it is now.
1
Comments
Variables can be created while in the Sketcher and two dimensions can be linked this way. It’s maybe not what some people want where you just pick two dimensions and make them equal, but all you need to do is start typing a “#” in the dimension box, and you can create a new variable. You can click on the variable pane on the right if you want to change the values while in the sketch.
Variables in the timeline are actually very powerful because they can change and be used in patterns. They work like variables in procedural programming.
https://www.onshape.com/en/resource-center/tech-tips/tech-tip-how-to-use-variables-in-patterns-to-vary-features
I’ve also started using configuration variables even if I don’t want to really create configurations because it helps pull out key variables and gives them ranges and more human readable names if needed.
I made an improvement request that I think might address a lot of what you are asking for (if they ever implemented it), except in my vision is was just for the "currently edited" sketch/feature, but it could be expanded to include everything (although I am not 100% convinced it wouldn't just clutter things up)... In my mind if you are going to share values between between features that should be an explicit variable, the only place where I can see myself using it would be to link values within a sketch hence the way I worded the request.
https://forum.onshape.com/discussion/18716/sketch-relations-and-dimensions-tables
I'm not familiar with the F360 method but there are definitely cases where it would be nice to be able to use an existing "dimension" directly somewhere else (like SW can use "D1@sketch3" for example). However forcing the user to explicitly create the variable gives better visibility in the design intent so this would have to be accompanied with a "summary table" that shows which values are "linked".