Page 2 of 2

Re: Duplicate multiple waypoints to a different list?

Posted: Thu May 08, 2025 12:35 pm
by Peobody
ZFtracker wrote: Thu May 08, 2025 1:03 am I do that all the time. Duplicate a waypoint and it is placed in the same list. I then rename the duplicated waypoint, cut, and then paste in the new list. Or sometimes leave there with the new name and add to the route. Of course, this is one at a time.
I didn't give a thought to cut and paste. I was fixated on looking for a "move" function, hopefully associated with duplicate. I was completely inattentive to the fact that items in the Basecamp library can be manipulated just like files with a file explorer. Multiple random waypoints can be selected and manipulated as can ranges of them. This group is great. Thanks for the help!

Re: Duplicate multiple waypoints to a different list?

Posted: Thu May 08, 2025 7:40 pm
by jfheath
In Basecamp you can 'Duplicate' or 'Copy' a route or waypoint. Those two actions are very different.
You can also 'Delete' or 'Remove' data items. Likewise, those commands behave very differently.

Here's one way that you can do what you want. You have a LIST and in it you have a route and some waypoints. The waypoints are probably defined in the route itself. I'll assume that they are. I'll call the list 'Oldlist' and the route 'OldRoute'

Create a new list. Call it Newlist.

Drag OldRoute from OldList into New list. That is the same as 'copy'.
You now have two identical copies of OldRoute. OldRoute has not been removed from OldList - it is still there. But it can now be accessed from Newlist as well. One route, but two pointers to it.

You will also have copies of any waypoints, and they will have the same name as the waypoints in OldRoute and in OldList

Select, right click and Remove the waypoints from Newlist (not Delete)

Right click OldRoute in NewList and click Duplicate (not copy).
This will give a prompt - Do you want to duplicate all of the waypoints as well ?
Yes you do.

This gives you a newly named route (it will be called eg "OldRoute 1") and it will be stored in the database - you are seeing the only pointer to where it has been stored.)
And it gives you all of the waypoints that you have before (taken from the route) and these will all have a new digit at the end.

REMOVE the original OldRoute from New List. (Not delete as that will delete all pointers to OldRoute and the original data.)

You have reproduced your original route, You have reproduced the saved waypoints in that route, and if you open up the route list, every single route point that isn't a waypoint will have been reproduced as well. All of these - the route, the saved waypoints and every single route point that was not created as a Waypoint, will have been given a slightly different name (the old name with an additional digit).

So now you can alter the route name and waypoint names without any other consequences.

If you have Waypoints that are not part of your route, then they will have to be duplicated separately. The above process relies on the fact that waypoints that are used in a route are also defined in the route. So when you copy a route, it copies the waypoints within it.




------------------

Explanation.

This behaviour seems odd if you are used to file explorers. Although the Basecamp folder/list structure looks similar to a the structure in File Explorer, it is very different. It is actually a representation of data in very well planned database structure.

If you copy something to somewhere else - the data isn't stored twice. There is one entry for the route in the database, when you make a copy, you are just copying the pointer to it, you are not copying the data itself. The two pointers access exactly the same data. So if you click on one pointer in one list and make a change to the name, the icon, the position etc. Then click on the other pointer to the same data, you will see the all of the changes that you have just made.

If you choose 'Delete' that removes the data and all of the pointers to that data.

If you choose 'Remove', it just removes the pointer to the stored data, but keeps the original data intact.
If anything item has had all of its pointers removed, but the data is still there, a pointer is placed in 'Unlisted data'.

If you choose 'Copy' it creates a new pointer the same data. (which is why if you edit one entry, it changes the others - the pointers are now accessing the newly altered data.

If you choose Duplicate, it reproduces all of the selected data and stores it as a brand new entry in the database, and allocates a new pointers (but it has to have a unique name, so it adds a digit).

Drag and DropCopies the selected pointers and places the copies in the new location.

Move (if available) relocates the selected pointers to a new list.


It's worth remembering that BC has a very impressive multi-level 'Undo' button, so if you forget what option produces what result, just try it and observe what happens, and click the Undo button if you chose the wrong option.