Transforming multiple objects at once



  • Oh…

    OK, then what do you do when you want to change the width or height of the objects as a whole? Group them, change the value then ungroup?



  • @b77 there's the option of selecting all objects and resizing the bounding box by dragging with the mouse, like in every other app. There is a widget on screen showing WxH while resizing, so it's precise enough.

    And then there is a Scale Layers command, that resizes the shapes as a whole by entering percentages or WxH in pixels. This scales everything, including strokes and effects.

    But in general, if you want a bunch of objects to act as a group, the logical step in Sketch is to group them. Groups in Sketch have additional settings for pinning/scaling the objects inside, so they're more than just a way to organize shapes.



  • @tudor That's probably desirable in Sketch because it's focused on UI design (buttons, for instance, are usually set to a grid and you need to "sync" their size more often than treat them as a whole), but with a general purpose vector app like VS having to group objects before resizing them as a whole won't fly so well, and it is a non-standard approach compared to similar apps (AI, CDR, AD).

    Sure, adjusting the bounding box works, but maybe we're not OK with approximations.
    And Scaling layers is the long way around — vector graphics is focused on objects first and layers come second.

    When in vertical layout, there is room in the Transform panel for an 'Each' checkbox, what would be wrong with that?



  • @b77 said in Transforming multiple objects at once:

    When in vertical layout, there is room in the Transform panel for an 'Each' checkbox, what would be wrong with that?

    Nothing, that's fine.

    it is a non-standard approach compared to similar apps (AI, CDR, AD)

    But in this particular case Sketch offers a simple way to do a basic thing, that's simply missing in the old apps. Correct me if I'm wrong, but I don't think AI, CDR, or AD have a way to set the same size (in actual units, not percentages) on multiple objects at once.



  • @tudor Yes, it's nice that Sketch offers that, it's just that I don't think it should be the default in a general purpose app like VS. 👍

    An (additional) idea, just to discuss any possible approach:

    If the user types a special sign (*, §, whatever) before the number, the value could be used for each object from the selection.


  • Global Moderator

    There is a third behavior that seems to be missing from the discussion.

    If you resize a group of the items, then there is one anchor point impacting all of the items together - that is, not only do they get proportionally smaller/larger, but also closer or further away from each other.

    You might want to resize the items individually, proportionally to their current size, but maintain their relative positions - that is, anchor each of them at their center points, but still scale them proportionally.

    You might also want to maintain their relative positions, and scale them all to one matching size, ignoring their current sizes.

    If you want to keep going, we could of course come up with all manner of different combinations, but I think those are probably the three main ones that should likely be accounted for?

    One option would be to make the default of the three a preference then allow adding symbols to the field to override that when typing in an entry - ex. "=" before means individual absolute transform (keep individually anchored but match the dimension when resizing), "%" after means individual proportional transform, and "%%" at the end means transform as a group?



  • @fde101 There's no 'Transform Each' option in the Transform panel, but the Transform modal window (Object menu > Transform > Transform…) has 'Transform Each' there.



  • @fde101 said in Transforming multiple objects at once:

    One option would be to make the default of the three a preference then allow adding symbols to the field to override that when typing in an entry

    Sketch does it like this:

    0_1663172028122_Screen Shot 2022-09-14 at 19.12.17.png


  • Global Moderator

    @tudor those are interesting options, but they do not solve the problem being discussed here. Any of them (minus syntax) could easily be combined with any of the three options I suggested; there is no overlap


  • administrators

    @b77 said in Transforming multiple objects at once:

    There's no 'Transform Each' option in the Transform panel

    I think a Transform Each option would make sense in the Transform panel, but disabled by default.
    This would solve the problem of selecting the w/h also, not just scaling or rotating that can be done by the modal views.

    I will try to have this in 1.2