Skip to content

adding a manual way to distribute objects to inkscape.

Summary:

... (now there are some inconveniences in creating and editing on the fly, especially in diagonal directions.)

Steps to reproduce:

  • open Inkscape
  • 1.3

What happened?

It is not possible to move an object diagonally by a specified distance. it takes too many operations to do this.

What should have happened?

array_task

ARRAY_RU.EN_full_text.odt

ARRAY_report_copy.odt

I suggest making a small addition to the "align and distribute" menu , add a new "MANUAL" item to the existing ones on the "grid" tab: "fit into selection box", and "set spacing". (see the "ARRAY TASK" diagram)

  1. In the "ORANGE" menu highlighted in orange in the diagram (I made several multi-colored menus so that they would not get confused.), you can specify the "number of copies" or "distance between the centers of objects".

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.

in the "GREEN" menu, I would determine how much the entire group of multiplied 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"

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 starting point 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 pressed

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.

it should be possible to adjust the total distance between the first and second points that define 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

Sample attachments:

Version info


Inkscape 1.3 (0e150ed6c4, 2023-07-21)
!
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information