In message <4ea2fbeed7gav@xxxxxxxxxxxxxxxxxxxx> Gavin Crawford <gav@xxxxxxxxxxxxxxxxxxxx> wrote: > A feature that would be really good is the ability to align selected > nodes - in a similar way as the Alignment dialogue allows with objects. Yes, this has been mentioned before and is a very worthwhile feature, but it is surprisingly tricky to achieve because moving an anchor point is a very complex operation in ArtWorks (as opposed to Draw). This is caused by the unique feature of "smooth" anchor points in ArtWorks. Anchor points are set to be "smooth" by default, so ArtWorks keeps the curve smooth when they are moved, which means the control points of neighbouring anchor points are adjusted. By the way: Anchor points do not have to be smooth, they can be set to "sharp" in the path editing tool (in which case they behave like in Draw). This feature is so intuitive that most users probably miss it altogether, but go back to Draw and edit a path with several curves and you will notice what you are missing. ;-) So, moving several points in one go by different amounts (which is what aligning would do) is a bit tricky, but I will probably have a look at it because I spent some time manually aligning anchor points yesterday and that was really tedious. Currently, the only way to do it is to open the Path info box, read the coordinate of the anchor point, select the other anchor point and manually enter the coordinate there. Actually, what I was really doing was to create a symmetric shape, and I actually find myself having to doing this surprisingly often. So often that I am thinking of adding some support for symmetry. Aligning anchor points would solve part of the problem, but you need to align the control points, too, and there is no way to add a function to do that because control points cannot be selected. Besides, for symmetric shapes you would have to move the control points in the opposite way in one direction and align them in the other. So, what I want to do is add support for automating the complete process of creating a symmetric shape and of redoing the symmetry after one half has been edited. At the same time I want to support having a symmetric part of a shape without the whole shape having to be symmetric (imagine drawing a silhouette of a rooftop with an elaborate chimney - the chimney itself is symmetric in itself but the overall shape of the silhouette may not be, e.g., if the chimney is not in the middle of the rooftop). The difficult bit as always is telling the program what you want, i.e., which part of the shape should be adapted and where the symmetry axis is. I would like to do all this using the existing user interface, i.e., by selecting anchor points, so I cannot really see any way to specify an arbitrary axis. However, most symmetry will be for a vertical or horizontal axis anyway (and if any other is required, the shape can be rotated first by the user). So, we can define the axis by using an anchor point plus the information about the direction of the axis coming from the fact whether the "horizontal symmetry" or the "vertical symmetry" button is used. It would then work as follows: You draw the shape including the first half of the symmetric part. You select the first anchor point of the part that is to be mirrored, then you select the anchor point at the end of the curve where the mirroring should take place - that anchor point defines the symmetry axis. Then you click on the horizontal or vertical symmetry button and the remaining half of the symmetric part is created. So far so good, but sooner or later you are likely to want to edit the shape. After editing one half of the symmetric part you can force the other half to be updated by selecting the anchor point that starts the edited part, the anchor point on the axis and the anchor point that ends the mirrored part that is to be updated. Then you click on the symmetry button and the second half is updated. Does that make any sense? Martin -- --------------------------------------------------------------------- Martin Wuerthner MW Software lists@xxxxxxxxxxxxxxx ---------------------------------------------------------------------