Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. 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_smithjules_smith Member Posts: 24 EDU
edited January 2023 in Product Feedback
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.

Comments

  • jules_smithjules_smith Member Posts: 24 EDU
    Variables system improvement — Onshape all of these improvements sound exceedingly nice as well
  • S1monS1mon Member Posts: 2,321 PRO
    edited January 2023
    I’ve never really used Fusion, so I can’t comment on its variable system, but I do like Onshape's much much better than Solidworks. I avoided ever using variables in Solidworks because it is so bad.

    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.
  • eric_pestyeric_pesty Member Posts: 1,461 PRO
    Variables system improvement — Onshape all of these improvements sound exceedingly nice as well
    All but #2 and #6 from that list are currently possible, most of it through the "variable table" pane (on the right). If you haven't used it yet, it does make using variables a lot more flexible than just using the "variable" features directly in the tree. It allows editing them while within a sketch (even after creating them within the same sketch) as well as quickly finding where variables are used (you can right click on one an "filter" features) while removing the need to move the variables to the top of the tree (so that they can be used in patterns). 

    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".
  • jules_smithjules_smith Member Posts: 24 EDU
    Variables system improvement — Onshape all of these improvements sound exceedingly nice as well

    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".
    fusion 360 is basically the most robust a variable table could possibly be (surprisingly because its fusion) and I think onshape should try and match what they have. I like your idea of having the dimensions simply be linked within the sketch not using variables (if I understand you right) because at the end of the day that is the most useful part of this feature, but I think they should simply follow through and make it as complete as possible if that makes sense. the model parameters could be in a new tab on the right.

  • jules_smithjules_smith Member Posts: 24 EDU
    S1mon said:
    I’ve never really used Fusion, so I can’t comment on its variable system, but I do like Onshape's much much better than Solidworks. I avoided ever using variables in Solidworks because it is so bad.
    I 100% agree, Onshape variables are essentially half of the fusion parameters feature, with the "user parameters" section, but it is missing the "model parameters" section where a variable would be created for every input of the model. this sounds like it would put a lot of stress on the program, but my logic is that the dimmensions are there either way, so youd think they could put them in a table.

    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.

    I dont know why I forgot you can create variables from in a sketch, I think I got sketch confused with other features. Creating a variable by hand for every dimension that I personally wish to scale to like I would in fusion just is not practical for my workflow because I need to be able to change the dimmension from the sketch as well as the table. It is also not practical because I want to keep my user variables organized and my browser clean, so there is no way I'm entering every dimension into the variables table, unless they never get around to doing something like this then I might do that.

    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

    this is very interesting and I will probably use it in the future haha thank you for the info

    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 did this once because I do prefer configurations to variables for use as variables because I don't like the parametric integration of variables, but i regreted it because I realized I wanted the size to be uniform in all assemblies and I wanted to be able to adjust it. I think I just ended up switching it back haha.

Sign In or Register to comment.