• Welcome to AnyRail Model Railroad Forum. Please login or sign up.
 
September 19, 2019, 08:09:18 am

News:

Due to heavy spamming attempts on this forum, automatic registration has been disabled. We will approve registration requests as quickly as possible (unless you're a spammer of course :) )


Alignment

Started by donone, September 12, 2019, 01:21:18 pm

Previous topic - Next topic

donone

I would like to see an added Alignment feature, which is quite common in drawing programs.
The aim would be to select two or more items and be able to select Align (Left, Right, Top etc. etc.), (shall we say, to align platforms).
I believe this would avoid having to constantly find the position of a point or edge and then use the same numbers to align objects, which seems a bit tedious.
I may have missed something but it is not in the index and I have only been able to find Grouping, that is often used with the Align that I suggest.
You only stop learning when you die.
Sometimes I think I am dead.

Tom Springer

(Sorry, don't know your name)

You mention this being in drawing programs.  I do a lot of 3D designs now, using TinkerCad.  And rely heavily on the Align function TinkerCad has.  I'll describe how that function works, thinking maybe this is what you are seeking, and maybe, just maybe, something like it might be easy to incorporate in AnyRail.

How the TinkerCad ALIGN function works:

User selects 2 or more items, either by drawing a grouping rectangle around them with the mouse, or by selecting the first item then holding the ALT key, selecting the other item(s).  Just like you can do in AnyRail today.  Ok, something in common.  Here's the TinkerCad view:

Align example - 0.jpg

User then selects the Align option, via an icon located at the top of the screen.  Hmmm, very similar to how one might select the Delete/Glue/Rotate/etc. options at the top of the AnyRail screen.

Selecting the Align option causes a 'box' with 6 "control points" to be drawn around the group of items.  Here's the 2D illustration; the black circles are these control points:

Align example - 1.jpg

If the user clicks on one of these control points, the items are aligned to that position.  Just hovering the mouse over one of the control points shows how the alignment would be done.  Here's a few examples of hovering the mouse over different control points to illustrate what alignment would occur for each choice - the control point turns to red when hovering over it; the 'shadow' version of an item is the repositioning that would result for selecting that control point.

Align example - 2.jpg

Align example - 3.jpg

Align example - 4.jpg

Imagine if AnyRail could have something like this.
Tom Springer

(Unintentional Pyromaniac)

donone

@Tom Springer: Yes that is what I meant but the method I am very familiar with in 2D is, in short...

"The aim would be to select two or more items and be able to select Align (Left, Right, Top etc. etc.)"
You only stop learning when you die.
Sometimes I think I am dead.

Tom Springer

Exactly the way that TinkerCad example works.

Select the items, use the Align option, choose which of the control points (black dots) you want the alignment to be done as and you have it; the grid stays on the screen until you click on something else; you can click on one dot, then click on another if you need to align in 2 directions.  The alignment isn't finalized - the grid removed - until you click somewhere else or perform some other function.

You want the alignment to be at the bottom right of the selected items, click on the bottom dot in the 3-dot vertical arrangement, then click on the rightmost dot in the 3-dot horizontal arrangement, and you have aligned the items together at the bottom right of the grid (bottom right 'corner' of the item on the right side in the example I used).

I like the TinkerCad method because I find it simple and easy.  That's why I gave the example as a possible method.
Tom Springer

(Unintentional Pyromaniac)

donone

@Tom Springer: Well I hope the detail triggers David's interest.
You only stop learning when you die.
Sometimes I think I am dead.

Tom Springer

I imagine V7 keeps him quite busy at the moment.

The reason I put in that info is that I recently dealt with having to align/position groups when making an object, and with only the one position info available for a group (the one at the top of the screen), I found myself having to ungroup a lot and individually position each part of the group, which took considerable time... and some additional accuracy efforts.

Seeing the Align request, I realized how much easier it would have been, saving considerable time.  To support the request, I added the TinkerCad method that I really like, because, in TinkerCad there are multiple 'tricks' one can do to get positioning that doesn't always want to be at the exact place the 'dots' give you, so some intermediate steps, some temporary items for alignment purposes, and the 'dots' method works really well to get TinkerCad items positioned wherever one wants.  The example to learn some of these tricks used a single dice with five indents ('pips') and how go get those indents positioned correctly within that square face.

It's amazing sometimes how simple facilities like TinkerCad's align, AnyRail's drawing tools, etc. allow one to do things in a much more complex manner than maybe the inventor ever thought about.  When I was doing language/compiler design, we'd do a new (basic) function, and later see different ways it got used and sometimes marvel at what the creative users would do using it.  Made me a believer in having basic, not very complex, tools and allowing the human mind to find they own ways of using them.
Tom Springer

(Unintentional Pyromaniac)