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.

Scaling Sketch

dennis_tangdennis_tang Member Posts: 5
I am looking to see if there is a way to scale a sketch.  I copied a sketch but i would like to scale down in size. Is the a way in doing so?

Best Answer

  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,303 PRO
    Accepted Answer
    if you're copying the sketch and pasting onto the flat pattern, then you could skip the extrude/scale/re-create steps by just scaling your sketch on your flat pattern directly.

    Do you have a better example or a shareable example, I may be missing something.


  • hans_van_de_burgthans_van_de_burgt Member Posts: 4 EDU
    Same question...
  • 3dcad3dcad Member, OS Professional, Mentor Posts: 2,459 PRO
    There is no direct 'sketch scale' feature currently available. There are few workarounds for occassional scaling though:
    - Simple sketch might scale with sketch offset
    - If there is only one dimension driving, sketch will scale automatically according to that
    - By using variables you could create multiplier to change scale of all dimensions
    - Ultimate solution is to create dummy part with original sketch shape, scale part, create another sketch and use/project part edges, then hide/remove body
  • alex_ryanalex_ryan Member Posts: 6
    easiest way is to create a scale factor with the first entity you dimension.  i'll draw a line in my sketch at like 1", then dimension that to whatever i need.  long as it's the first dimension it'll scale the whole sketch for you.  
  • viruviru Member, Developers Posts: 619 ✭✭✭✭
    edited October 2016
    @dennis_tang, Currently scaling of sketch is not available in Onshape. You can raise improvement request for this. In near future we hope that this facility will be provided by Onshape. Till time you You can use below work around for this issue.
    create relationship for dimension by using variable feature. Kindly refer below video which will be helpful in dimension creation by using variable.

  • biscuitladbiscuitlad Member Posts: 8
    Did this get anywhere? The problem for the work arounds is that they don't work for lofts. When creating a series of spline profiles, it would be very convenient to be able to project a profile onto an offset plane and then scale that profile down or up to create tapered forms. There is no way of doing this at the moment.  
  • paul_chastellpaul_chastell Onshape Employees Posts: 117
    @biscuitlad, There's a bunch to explain here. First off, how does scaling work today? When you change a length dimension (distance, radius, diameter) Onshape will look to see if the sketch can be scaled without violating any of the constraints that are there or any of the other dimensions. Obviously having two different length dimensions will cause Onshape not to scale but also having more than a couple of external references will also do that. On the other hand Onshape understands that angle dimensions don't care about a sketch scaling and so you can have angle dimensions and scaling will still work. If you have multiple length dimensions you can set some driven before the scale and then set them driving after.

    When you project a spline onto a new sketch what you get is a spline that cannot be deformed, only moved and scaled. At the same time (because you said to project it) you get constraints to lock it to the parent spline. As a result when you add dimensions to that sketch it knows it can't scale without violating those constraints. The way to get this to work, therefore, is to delete the constraints, one on the spline and one on each end point and then add a dimension and change it to scale the sketch. 

    Your particular example may not be as simple as that but here is an example I just threw together with three copies of splines, all scaled using dimensions and making a tapered loft. I seem to have made a start on a possibly uncomfortable bike saddle.


    I'm not saying the need for a function to do this wouldn't be useful or that we will never have one, but it should be possible to follow the same steps manually that a dedicated command would do.

    Note: doing this means the 'child' is no longer going to change if the 'parent' does, which would happen if the constraints were still there. However, this wouldn't be any different if we had a dedicated scale function. If you wanted to have scaled splines that are related to each other I would suggest sketching separate splines with distance dimensions pinning down the locations and variables specifying the dimensions that are used across the sketches. See the other element in that document for an example that has scaled splines. I did it by copying the original sketch onto the different planes.

    Paul Chastell / VP of R&D / Onshape Inc.
  • Auke_SmitAuke_Smit Member Posts: 18 PRO
    Is the scaling sketch function upcoming? 
    I import dxf designs some times, and then I want to be able to scale the lines, without having to dimension all lines, (or editing the original file)

    Work arround of extruding and then scaling works for me, but scaling the sketch seems cleaner.

    Even grouping sketch entities would be great in my case. So I can make a rectangular box arround it, group it, so all internal relations are fixed, and then dimension an edge. 
  • billy2billy2 Member, OS Professional, Mentor, Developers, User Group Leader Posts: 1,585 PRO
    Why can't you just project a curve, make it construction, then offset that curve?

    Seems like it would be easy to understand. Is an offset equivalent to a scale? It's too early in the morning, but I'm going to say yes. 

  • steve_shubinsteve_shubin Member Posts: 546 ✭✭✭
    edited August 2019

    As to the first paragraph of your post above ———

    I imported a DXF

    I scaled it by placing one dimension

    I deleted that dimension

    I placed another dimension and scaled it a second time

  • richie_trentrichie_trent Member Posts: 4 PRO
    I suggest creating a part from the sketch, scale part, then create new sketch from new scaled part.  Worked very quickly and easily for me.

  • michael_klinemichael_kline Member Posts: 10 ✭✭
    edited August 2020
    With complicated sketches that I am drawing off of pictures (logos for one), with intricate parts that I can not make dimensions for and then use a scale factor (and I don't find this to be an accurate or easy way to get accurate scaling), is this going to be implemented any time soon? the work arounds are simply cumbersome, especially extruding a sketch, making a new scaled part, and then working backwards to make a sized up or down sketch. I have resorted to just resizing the picture and making new sketches at the right size.
    These sketches ususally have dimensions already in them, so I can't use the first work around at all either.
  • michael3424michael3424 Member Posts: 589 ✭✭✭
    Perhaps it would make more sense to run your image through a different program that can trace the feature outlines into line segments, export the vector components as a DXF, and import that into Onshape.  I've used Lightburn's (a program for lower end lasers) for that purpose, but I thank that AI can do that as well.  Perhaps Inkscape and others as well.
  • brucebartlettbrucebartlett Member, OS Professional, Mentor, User Group Leader Posts: 2,099 PRO
    I am still keen for something here.  Scaling of a blue sketch would make sense to me with a warning telling me it cannot be scaled if it is already constrained with a dimension. Currently, I am extruding the sketch, scaling parts, recreate sketch and coping edges from the parts, copying the sketch entity then placing on the sheet metal flat pattern to do a extrude cut, lot of work here and I can not seem to find an easier way. 
    Engineer ı Product Designer ı Onshape Consulting Partner
    Twitter: @onshapetricks  & @babart1977   
  • john_mcclaryjohn_mcclary Member, Developers Posts: 3,303 PRO
    Accepted Answer
    if you're copying the sketch and pasting onto the flat pattern, then you could skip the extrude/scale/re-create steps by just scaling your sketch on your flat pattern directly.

    Do you have a better example or a shareable example, I may be missing something.

  • alexander_claytonalexander_clayton Member Posts: 1
    steve_shubin (@Auke_Smit) is the correct answer. WOW smokes i wish i read every comment. it's beyond unintuitive. once you insert a dfx or dwg into a sketch you just draw a random line and dimension the random line and that's it! amazeballs
  • steve_shubinsteve_shubin Member Posts: 546 ✭✭✭
    edited February 26
    once you insert a dfx or dwg into a sketch you just draw a random line and dimension the random line

    Actually easier than what you’re saying

    1. I imported the dxf 
    2. I used the dimension tool to input a length of 7 between the two EXISTING points

    Meaning — I didn’t even have to draw a line

    Then, I decided to change the scale of that imported dxf — I changed that distance from 7 to 5

    And Alexander, I agree with you. The Onshape folks have done an amazing job — as I just don’t know how you could make it any easier

  • IsoThermIsoTherm Member Posts: 56 PRO
    I used Autocad for years as a civil engineer and used the scale tool constantly. I miss it greatly in Onshape. I just want to take a selection of multiple sketch objects, give them and x and y scaling factor and have the selected collection grow or shrink accordingly. Obviously the tool would have to be subject to dimensions and constraints - perhaps an option to ignore or cancel the tool?
  • michael_klinemichael_kline Member Posts: 10 ✭✭
    Has this gone anywhere?
    I'm still not satisfied with these work arounds- it means we cant have to either make a part from the sketch, scale, then make a sketch from the new part, or not have any dimensions at all on the sketch. why cant dimensions change with a scale command? obv the tool will have some limitations, but if i grab a couple sketch pieces, pick a point to scale around, and scale it, why cant the dimensioned parts simply have their dimensions change to reflect the new size? i can do this in every other cad program ive ever used, so after years of requests, has onshape gotten around to this yet?
Sign In or Register to comment.