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.

OnShape Rescales Entire Sketch When One Dimension is Added

I find it very inconvenient/annoying that when I start a sketch with some unconstrained lines (e.g. a rectangle), it rescales the entire sketch when the first dimension is added.  For example I draw a rectangle of approximately the right width, height and position with respect to other features, and then want to add dimensions to the other features to constrain the top, bottom and sides.  As soon as I dimension the first side, the entire rectangle is rescaled so the other sides are no longer in the right positions for dimensioning! i.e. The rectangle may have gotten tiny or huge or other edges may now be on the opposite side of features I want to dimension to. 

So I have to drag the edges back to where I put them before the automatic rescaling.  This is a huge waste of time.  Presumably I sketched each edge of the rectangle where I wanted it, so why does OnShape change them?   It should move just the edge I dimensioned, leaving the rest of the sketch as close as possible to where I sketched it.

Is there any way to prevent this?

Comments

  • alan_baljeualan_baljeu Member, User Group Leader Posts: 111 ✭✭
    If you made it as a rectangle, it must stay a rectangle.  If you change the size of a horizontal dimension, it can either move the left end or right end or both (hopefully in opposite directions). But if you merely add a dimension without setting the size, nothing should change.  Can you be more precise what you are observing, maybe with a picture, or even link an example part to illustrate?
    Creating knowledge-driven design automation software, for molds, etc.
    www.virtualmold.com

  • romeograhamromeograham Member, csevp Posts: 673 PRO
    @christopher_graham586 Onshape scales the entire sketch (any sketch) with the first dimension - IF there aren't any external constraints that prevent this.

    It assumes that you have the aspect ratio of your sketch correct, but might need to set the size.

    If you want some sketch elements to remain in place, add some external constraints first, then add a dimension.

    NOTE: this is a useful feature because it allows you to easily scale complex imported sketches (like a logo for example) without having to fully-define all sketch elements. 
  • NeilCookeNeilCooke Moderator, Onshape Employees Posts: 5,623
    Presumably if you are drawing a rectangle relative to other model features, adding a dimension of the correct size shouldn’t change it too much?

    When you add the dimension, don’t change it until you’ve added the rest of them. Then change it. That will prevent the automatic scaling. 
    Senior Director, Technical Services, EMEAI
  • christopher_graham586christopher_graham586 Member Posts: 47 ✭✭
    edited October 2020
    Here is a simple example.  Suppose I want to  create a rectangle that is a certain distance from each side and the top/bottom of this part.  So I draw a rectangle as shown and then I dimension it to be say 0.2 mm from the right side.  That side is positioned as expected but the rest of the drawing is rescaled so I have to move the other edges back were I had positioned them.  Even if I dimension some point of the sketch to another point of the sketch it can rescale drastically if dimension of the free hand sketch is not close enough to desired dimension.

    I understand the rescaling is useful in cases where a drawing with a different scale has been imported.  For users who mainly draw rather than import sketches the rescaling is just inconvenient.
  • NeilCookeNeilCooke Moderator, Onshape Employees Posts: 5,623
    In that situation, Onshape has no clue what your design intent is. Follow my suggestion above – add all the dimensions first, then edit the values later.
    Senior Director, Technical Services, EMEAI
  • christopher_graham586christopher_graham586 Member Posts: 47 ✭✭
    In the above example, why could OnShape not just move the side of the rectangle I dimensioned the leave the others unchanged?

    The rescaling may move a feature of the sketch to the wrong side of the existing feature I want to dimension it to. (as in the above example) so I have to drag it back to the correct side before dimensioning.

    What exact steps would I follow to draw and dimesion the rectangle in the above example to prevent rescaling?
  • romeograhamromeograham Member, csevp Posts: 673 PRO
    As @NeilCooke suggests, add all the dimensions without editing the values, then double-click on each dimension and change it to your desired value.

    When you add a dimension, you don't have to type in a value. You can hit Enter, start another selection, type an expression or variable name. If you hit Enter or start another selection, the values will be accepted without any changes. Once you have enough dimensions placed to constrain the part, you can go back and double-click each dimension to edit them to your desired values.
  • dave_cdave_c Onshape Employees Posts: 42
    Put in two dimensions without changing the value of either.  Then change one.  The sketch will not rescale.
  • christopher_graham586christopher_graham586 Member Posts: 47 ✭✭
    OK I do know about that workaround.  I was looking for a better option since the workaround adds extra mouse clicks.
  • dave_cdave_c Onshape Employees Posts: 42
    The reason Onshape works as it does is that often when the user draws a sketch with either no geometry in the part studio (first sketch) or away from geometry in the part studio, the user draws the right shape but the wrong scale.

    If the first dimension is a big change, it can easily mess up the overall shape of the sketch.  Especially if the user has drawn a sketch with many segments before putting in his first dimension - which is also common.   

    In the case that the sketch is close to scale, it doesn't make much difference when the sketch scale changes - it is about still about the right size and shape overall.

    In the case where the sketch is very different in scale, the user usually wants the shape he or she originally drew, not a distorted sketch that they have to figure out how to correct.  Imagine you draw a filleted rectangle inside a non-fillet rectangle.  The you add a dimension to the outside rectangle and change it from 1 to 1.5.  Now your rectangles overlap in an unexpected way and you have to drag one or multiple points to get it to "look" correct before you can add more dimensions.  This is a simple example - if you have more entities with angular lines and tangencies it can be much weirder. 




  • dave_cdave_c Onshape Employees Posts: 42
    When we first added this we added this (many years ago) we did it so it only did this on the first sketch in the part studio (when the user can easily be drawing at the wrong scale.  But it turned out in practice there were many more common cases where adding the first dimension distorted the sketch in a difficult to recover manner.
  • christopher_graham586christopher_graham586 Member Posts: 47 ✭✭
    I guess I'm not a typical user.  Most often I lay out a sketch in relation to an existing part in the part studio.  It's more important to me that the components of the sketch retain their relation to the features of part,  rather than the sketch retain its internal proportions.
  • christopher_graham586christopher_graham586 Member Posts: 47 ✭✭
    I'd be very happy if the rescaling only happened on the first sketch in a part studio!
  • dave_cdave_c Onshape Employees Posts: 42
    The original impetus for this was not imported sketches.  It was sketches that the user drew from scratch.  
  • dave_cdave_c Onshape Employees Posts: 42
    We will take another look at the behavior though, maybe it can be improved further.
  • christopher_graham586christopher_graham586 Member Posts: 47 ✭✭
    edited October 2020
    Thanks for looking into it.  It's been a long time since I last used Solidworks but I don't remember having this problem of sketch rescaling with it.

    I suggest that it is not necessary to rescale when the first dimension is added.  If a user wants to draw a complex sketch in an empty part studio they should dimension things as they go rather than waiting to rescale the whole sketch the first time they add a dimension.
  • NeilCookeNeilCooke Moderator, Onshape Employees Posts: 5,623
    edited October 2020
    Thanks for looking into it.  It's been a long time since I last used Solidworks but I don't remember having this problem of sketch rescaling with it.

    I suggest that it is not necessary to rescale when the first dimension is added.  If a user wants to draw a complex sketch in an empty part studio they should dimension things as they go rather than waiting to rescale the whole sketch the first time they add a dimension.
    When this feature was added to SolidWorks, it was exactly to address the issue of users roughly sketching a shape, then adding a known dimension to scale the sketch rather than it turning inside out. In the early days of Onshape, this was not the case – it wasn't long before many previous SolidWorks users requested the same behaviour in Onshape. That's basically where it came from, but I also seem to remember that, in SolidWorks, it was only for the very first sketch.
    Senior Director, Technical Services, EMEAI
  • PrachiPrachi Member, OS Professional Posts: 262 ✭✭✭
    I like the behavior, especially for DXF or JPEG sketches that were passed along and were not scaled 1:1 by person sending. Add 1 dimension to correct and proportions are not lost.
  • konstantin_shiriazdanovkonstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭
    dave_c said:
    We will take another look at the behavior though, maybe it can be improved further.
    You can disable scaling in case when the first dimension is added to external geometry (maybe with some exceptions like origin and main planes)
  • christopher_graham586christopher_graham586 Member Posts: 47 ✭✭
    edited October 2020
    You might also rescale imported sketches when they are first dimensioned, but not rescale user-drawn sketches.  i.e.  Rescaling should happen for special cases but not add clicks to normal sketching - forcing the user to accept default dimensions to prevent magical rescaling, and then having to go back and enter the real dimensions. 

    There are actually several other places where it feels like OnShape forces extra clicks and the UI could be streamlined, but this one affects me the most.
  • rene_siraji029rene_siraji029 Member Posts: 2
    This is stupidly inconvenient. Is there a way to turn this off? 
  • romeograhamromeograham Member, csevp Posts: 673 PRO
    All you need to do to prevent this behaviour is to accept the first dimension's value before adding another one.

    The sketch is scaled only if: there is only 1 dimension in the sketch AND you change the value. If you have 1 dimension and don't change the value, the sketch is locked at that size. If you don't add other dimensions to the sketch, you can edit your single dimension to scale the sketch as much as you like.
    As soon as you add a second dimension, the automatic scaling feature is disabled.

Sign In or Register to comment.