Onshape Feature Requests

We all seem to have a lot of time on our hands for the foreseeable future. What features do you want to see in Onshape? Happy to cook up some new featurescripts and throw them in MKCAD in the next couple weeks.

Please no

No, I can’t invent path length dimensioning. Sorry


Any way to make it so that it doesn’t mate parts in a way that forces them to occupy the same physical space? One of my big frustrations with OnShape is mating a gusset to a piece of 1x2 tubing, and having the gusset end up sort of inside the tubing.

I know I can fix that on a mate-by-mate basis, but I don’t know why OnShape would ever do that to begin with.

In lieu of this, it would be nice to have FeatureScripts that could calculate belt and chain c2c distances to avoid some of the more “random” dimensions that end up in sketches.

A few things can help mitigate this:

1: Use the repeat/replicate feature once you have it mated correctly the first time.
2: Define a custom mate connector on the gusset in the reverse orientation.
3: Be careful about exactly how you are mating it. Look at the orientation of the mate connectors on each part. Understand that when you fasten them together, those will be aligned.

While it’s a bit annoying, this is pretty easy to work around. Onshape’s behavior is pretty predictable in this case.

1 Like

What do you imagine a featurescript like this look like? I can’t picture anything beyond just WCP How To: Belts but in a feature that outputs a variable. I’m probably missing something. What inputs and outputs do you want?

On user-end, unfortunately, no. I suppose its possible for Onshape to set default mate orientation to parts that don’t interfere with each other, but this becomes much less of an issue the more you get used to the software. As I came to understand the mate connector interface more and more, I’ve been able to adjust the mate connectors I’m choosing as well as the order of parts I select to intentionally set which part moves to what, in what orientation, and how they will be constrained. @cadandcookies gave some great tips as well.

Yeah, pretty much that. I made a script like this for belt center distances, but haven’t figured out how to make it work for chain, which helps with making it more obvious what pulley and belt sizes are actually in use. We had a couple issues this season with machining parts that had incorrect pulley sizes in the assembly vs. in the part studio that we didn’t notice until it was manufactured because it was hard to tell what someone intended from just a variable with a c2c distance.

I think this was brought up a while back, but a featurescript for taking a 2x1 part as drawn and hollowing it to a specified wall thickness and adding a hole pattern would be very useful. This would fit our team’s workflow far better than the existing featurescripts which can take an origin point and generate the extrusion, just because we like to do a lot of parts from one sketch.


I second this. I played around with a a hole pattern feature script in the preseason but couldn’t get it working with slanted or non nominal length tubes, maybe someone smarter than me give it a better shot. My dream feature script is one where you draw all your tubes in context and everything gets shelled and hole patterned for you.


A couple come to mind:

  1. Defining the length of connected sketch entities
  2. Determining the distance of continuous lines and curves
  3. Path length dimension

Planes in assemblies (that’s still not a thing, right?)

Automatic center marks in holes in drawings

Maybe some sort of easier (or more streamlined) way of putting clearances between parts in part studios.

Being able to set the mass of a part without a hacky featurescript to create a custom material.

1 Like

I would definitely like to be able to mirror in an assembly. It would’ve saved me a lot of time during build season.

I want onshape to just design my robot without me doing anything


Changing the name of a variable updating all references to the previous name to reflect the new name.

Having to rename all of the references to a changed variable name throughout a drawing manually is a real drag.

Hi there FIRST Teams! Mark Cheli here from Onshape/PTC :slight_smile:

Thank you @marcusbernstein for always being a great help with Onshape! And taking some diligent notes on product feedback, keep em coming!


PLEEEEEASE PLEASE PLEASE PLEASE if you could add the ability to measure paths, and mirroring in assemblies, that would be AMAZING!

Sorry for the begging, I’ve used onshape for a while now, and this would just be something amazing to see.

I actually sorta made this in a configuration file. I just put it in as a derived part whenever I need to use it. It is a little janky though. here is the link
(sorry, link was bad)

I want to be able to make variables based on other variables. Sometimes I want a variable to always be two less than another variable for example. Sometimes I need a lot more than basic math (trig, exponentiation, etc). In general, support for full equations that define variables would be awesome.

Alternatively, linking variables or sketch dimensions to cells in google sheets or Microsoft excel documents (I think google sheets would fit the cloud based model of onshape) would work similarly and allow for awesome things that are available in programs like solidworks but not in onshape.

A text editor would be nice as one of the tabs.

A way to comment on specific sketches/any feature. Maybe in sketches the ability to comment on the actual sketch plane and draw arrows to things, label sketch elements etc would make things much easier to decode if you revisited a complex sketch a long time after doing the first one. Something that looks like the dimension tool but allows you to type and save words would be so so so so awesome for both teaching onshape (explain what everything in the sketch does) and for when working on a document with many other people.

You can do that? #spoke_root*.7 is a variable I have in a drawing I was working on last night…

The linking variables to GDocs thing sounds a lot like Onshape’s “Configurations” feature. Make sure to read all its documentation— it’s super easy to copy paste it out of Onshape and into google docs, define a bunch of stuff, and then copy it back.