Inkscape.org
Beyond the Basics proposal to improve distribution
  1. #1
    4_3 4_3 @4_3
    *

    please add a manual way of distributing objects to inkskape.
    now there are some inconveniences in creating and editing on the fly, especially in diagonal directions.
    my suggestion is to do 2 things that will solve this problem.
    1. It is not very convenient to conduct the operation until the mouse is accidentally released. it would be more convenient to call a team and start the operation. thus freeing up hands and attention.  set the desired characteristics (for example, distance), without limiting time and cramps in the fingers, after completing the operation (enter) or abandoning it (escape).
    for example, when drawing a line, starting it at one point, we would look with our free hand for a good direction for it and would be concerned only with what and how to attach ourselves: whether to set the distance, extend the line, make it parallel to another line, set an angle, or how to find an imaginary intersection of objects in which to put the second point).. now almost everything is the same, but... You cannot release the mouse button. it's weird and impractical.. because of this, it is impossible to enter the distance from the first to the next point on the fly.. and this is a serious omission.
    2 to demonstrate the advantages of my idea, I suggest making a small addition to the “align and distribute” menu, which will not require reworking the entire program, but will improve it (and make it possible for some to switch from COREL to Inkskape, namely:

    2.1. add a new "MANUAL" item to the existing ones on the "grid" tab: "fit into selection box", and "set spacing".

    2.2. In the settings highlighted in orange, you can specify the "number of copies" or "distance between the centers of objects".
    if the "distance between the centers of objects" method is selected
    , I have made several multi-colored menus so that they do not get confused.
    You can figure out how to design the interface later, if you support the idea.

    2.3. In the blue menu, you can specify whether an object is placed on the axis of object propagation or how much it moves from it to the left or right.
    I would suggest a choice: whether to enter the offset distance numerically or choose a point on the navigation square:
    the upper line of the square shifts the object to the left by 50% of its width from the axis of propagation of objects, thereby forcing it to press against the axis of propagation with its right side.
    selecting the bottom line of the navigation square moves the object to the right by 50%. the middle one leaves the center of the object on the axis without displacement.
    if necessary, you can specify the number in the blue window. for example, if you want to spread objects at a certain distance from the axis, you can choose the distance from it as a percentage of the width of the object or in millimeters/pixels.

    2.4. in the green menu, I would determine how much the entire group of unfrozen objects is shifted relative to the center between the manually entered points defining the beginning and end of the array.
    as in the blue menu, I would combine the possibility of numeric input with the choice of an axis on the navigation square: when selecting an item in the left column of the navigation square, objects would spread from the starting point (that is, the center of the first object, from which the distance to the next object is set, would coincide with the first point entered manually on the canvas),
    when selecting the right column, objects are grouped, aligning the center of the last object in the array to the point of the end of the distribution (that is, to the second point entered manually on the canvas, which determines the direction and total distance from the first point)
    when selecting the central column in the navigation square, the entire group of distributed objects is centered, symmetrically between the input points "start" and "end"

    2.5. in the "magenta" menu, I would specify a numeric value that determines how much the center of the object is shifted along the axis of propagation forward or backward relative to the point of origin of the array distribution:
    due to this value, not only the center of the object can be combined with the beginning of the array distribution point, but also any surface of the object can be adjacent to the beginning point of the array distribution.
    this can be done using the navigation square, with the "shift" key held down


    it is assumed that after clicking the "arrange" button at the bottom, we will switch to the mode of entering the first point.
    I signed it "first mouse click" in the picture
    . When selecting a point, the input of the second point will become available, or if the first point was set unsuccessfully, then you can press esc and start entering the first point from the beginning.
    if the first point is placed successfully, then an axis appears between it and the cursor (until the 2nd point is set), the line of propagation of the array with the contours of objects located on it) if, when selecting the second point, it is visible that the contours of objects accidentally intersect existing objects on the canvas and it is required to change the step of the array or step sideways or shift along the axis of the entire array, this can be done by correcting the values in any of the color menus, after which the contours of objects on the propagation line should take the desired position..
    after that, you can click a second time, determining the end point of the array distribution. if everything is correct and the second point does not need to be adjusted, press enter and get the number of objects necessary for work.

    I would suggest leaving the objects highlighted so that they can be grouped quickly.
    if this is not necessary, press esc and reset the selection.

    Ideally, it would be necessary to provide for the possibility to adjust the total distance between the first and second points defining the beginning and end of the array. then it is easier to make decisions about whether all settings are suitable or an adjustment is required internally.

    to do this, I would show the total distance next to the "arrange" button after clicking on it once, and by pressing shift, I would freeze the direction (angle) of propagation between the beginning and end of the array and leave only the possibility to change the distance, and by pressing tab or another suitable button, I would freeze We would also use this feature by activating the numeric input field.. but if you see, you need to unfreeze the distance or angle - just press esc once or twice

    the text was created with the help of a translator, so there may be inaccuracies

    thank you.

    Array Task
  2. #2
    Tyler Durden Tyler Durden @TylerDurden

    ICYMI... Feature requests are submitted via the tracker: https://inkscape.org/forums/beyond/how-to-report-bugs-or-request-new-features/

  3. #3
    4_3 4_3 @4_3

    "If you think you might have found a bug in Inkscape, or you want to request a new feature, please first discuss it with us here in the forum"... i am here!
    "If you're an advanced Inkscape or computer " I am not!!!

  4. #4
    4_3 4_3 @4_3
    *

    i got it

    https://gitlab.com/inkscape/inbox/-/issues/10497

Inkscape Inkscape.org Inkscape Forum Beyond the Basics proposal to improve distribution