Note that this is not the full puzzle and only for repair! You might be able to buy second hand copies of the original on places like Ebay (or try emailing Thinkfun to ask if they could start making these again 😉).
Port-to-Port is a great group theory puzzle by Binary Arts (later rebranded to Thinkfun). Sadly, the plastic becomes very brittle with age and the puzzle is not sold any longer. I modelled these files to repair a puzzle where the main slider arm of the mechanism had broken. In the process of disassembling it, the entire top and bottom covers also broke (they were glued together).
The files are made to be used together with the remaining parts of the original product, which are not included in this model. These are all listed below in the Bill of Materials section.
Note that the model of the case and the slider are designed to work together. I have not tested whether it's possible to replace just one of them and preserve the original of the other (I imagine both disassembly and reassembly would make this very hard, though).
Bill of materials:
To assemble this you will need:
12 heatset inserts for M3 screws
12 M3x12 screws with countersunk heads
4 self-tapping screws (roughly 2.5mm x 10mm). Reusing the ones holding down the harbour miniatures in the original is fine.
Additionally you will need the following pieces from the original puzzle:
18 square tounge-and-groove style sliding tiles
The two short sliding rafts (going in the lateral axis)
A wrench-shaped pivot arm that moves the rafts toward opposite sides of each other
The two harbour miniatures on either end of the puzzle. The base they sit on is included on my model of the slider arm, so you can transplant them onto this replacement by unscrewing the two tri-wing screws in the bases of the original. (Note: These pieces are purely aesthetical, so leaving them out is also fine.)
Some comments about the assembly:
Because the replacement parts are 3d printed and you want the sliding action to be really smooth, I did not want to use supports for any of the complicated geometry. I also wanted to be able to disassemble the puzzle without damaging it in the future, which means no glue and using brass inserts for the screws (with the sole exception being the screws that hold down the two harbour miniatures). At the same time, I had to work in the spatial limitations imposed by the original design.
For this reason the model had to be split into many different parts (sub-objects in the STL and STEP files) and the assembly instructions are moderately involved.
Pictures of the various stages of assembly are included below. Note however that they do not show any of the required pieces from the original puzzle (at most showing an outline of them when needed), as I did not recreate those in my model.
Identifying parts and printing instructions:
The following two picture show the names of all the parts used below:
Ensure that the parts are printed with the following orientations to achieve the best finish and fit (the names should be visible on the subobjects in the STEP and STL files when you split the models apart in your slicer):
All objects labelled block: Print with the topmost face down on the print bed. This gives a smooth finish for aesthetics, but most importantly it minimizes the clean-up you need to perform on the slots where the tiles ride.
pads of the slider: Same as the above.
All objects labelled sliding-plane: Print with topmost face down on the print bed. This is crucial, since these are the surfaces across which all the moving parts will slide.
bottom-plane: Same as the above.
base: Print with the bottom-most face toward the print bed. This gives a smooth finish for aesthetics, and also alleviates the need for supports in the trench where the sliding arm moves back and forth.
brace of the slider: Print on its side. This gives the most mechanical strength in both the horizontal and vertical directions during operation, and also gives a smooth finish on the faces that rub against other parts.
Do use supports for the blocks, but you should not need to do so for any of the others. I additionally used variable layer heights for all of the parts in Prusa-Slicer sin order to lin avoid the slicer rounding critical dimensions down to the nearest printing layer. This might not be necessary on your printer (I use an 0.8mm nozzle and 0.3mm layer height, so rounding dimensions in the Z axis is more catastrophic).
Assembly instructions:
Spend some time cleaning up any imperfections on the printed parts. I had to use a needle file to remove some residual support material from the grooves on the blocks. This will really pay off in terms of smoothness of the sliding action for the finished puzzle.
Transplant the harbour miniatures from the original puzzle onto the south-pad and north-pad using the same screw as in the original. You probably don't need to tighten them very hard, and doing so risks breaking the original models. Be careful!
Now we can start the main assembly. Begin by adding M3 heatset inserts to the blocks and the sliding-planes. The north-sliding-plane goes together with the north-west-block and north-east-block and so forth. You can tell apart the south- and north- parts since the latter has little bumps sticking out on the sides facing the middle of the puzzle, for both the blocks and the planes. The mid- parts have similar bumps informing you how they should be oriented. Use the heatset inserts to simultaneously go through both the planes and the blocks.
Note: Make sure that the smooth side of the sliding-planes face towards the blocks!
Ensure that the assemblies from the previous step are oriented in such a way that tongue-and-grooves all point in the same direction and makes sure that the screw holes line up with bottom-plane when it's placed with its smooth side facing the assemblies. Take extra note of the middle assembly: if the holes do not line up, you need to rotate it 180° (the screw holes in the middle should be oriented so that the two holes that are closer together are facing the south side).
Once everything looks okay, leave the middle assembly off to the side for now.
Slide the south-pad into the track in the blocks on the south-sliding-plane assembly. Do the same thing on the north side.
Place the bottom-plane over the two assemblies. Again, ensure that the smooth side of the latter is facing toward the assemblies and that the screw holes are aligned properly, as described above.
Thread the brace through the slots in the bottom-plane and the two assemblies and push it into the rectangular mortises on the bottom of the pads.
Note: The mortises of the south and north sides are shaped slightly different and the brace won't go in all the way if you have it the wrong way around (see image):
You should now have a complete assembly with the blocks, planes (except the mid-plane) and slider all linked together. Line up the base piece (check the screw holes!) and fasten only the south end of it using 4 screws (M3x12). Leave the north end free for now.
Flip the model over. Put the wrench shaped pivot arm from the original into the hole in the center of the assembly. It has two pegs at either end, which should be facing upwards. Next, lay one of the rafts from the original assembly down on the south end so that is grabbed by the pegs on the arm. Make sure it can slide freely along the track of the blocks right next to it.
Grab the mid-sliding-plane assembly from step 3 and align it next to the raft you just placed down. Make sure that the disc-shaped feature at the bottom of the assembly lines up with the hole in the middle of the pivot arm. Fasten the assembly with more screws from the bottom. Ensure that raft can move freely and that doing so also moves the other end of the pivot arm in the opposite direction.
Note: The north-sliding-plane assembly has not yet been screwed down and should be free to slide around a tiny bit.
Put the second raft from the original puzzle in place. Fill the puzzle with the tiles from the original, cross-referencing your progress with pictures of the original as needed (e.g. from here: https://www.jaapsch.net/puzzles/port.htm). It might be easier to leave the raft off to the side until you reach the halfway point, giving you some extra room to move the tiles around.
When you get close to the end, slide the north end assembly away as far as possible. This should leave just enough room to be able to slide the remaining tiles in place from the side.
Slide the north end back and fasten it down with screws.
Test to see that everything slides properly and does not bind up. If this happens, try to loosen some of the screws and move the parts around to see if things fall into place better. Refasten everything and try again. If all else fails, you can increase the clearance a bit by taking the assembly apart and sanding down the features where the puzzle binds up. Note that excessive clearance also causes it to jam, so don't go overboard with this.
Once you are happy, I am happy! You are done.
(Alternative) Print hull in one piece:
For convenience, I also provided STEP and STL files for printing the entirety of the hull in just two pieces (a top and a bottom). Note that the surfaces and tracks where you used supports might end up very rough. Also, for assembly, you are on your own (I think it goes something like this: Slide everything in place, flip the entire thing upside down, pop on the pivoting arm and then push the slider brace into the slider pads from below. Finally screw on the bottom.)
Future improvements:
Add registration pins to prevent things going out of square when adding the heatset inserts or fastening the sliding plane assemblies to the bottom-plane.
Increase screw hole diameter in base and bottom-plane to ensure the screws don't end up going into the inserts cross-threaded.
Changelog:
2023-09-30: Added illustrations and animations to the assembly instructions. Clarified language and fixed up mistakes. 2023-09-30: Changed the confusing naming of the middle-plane piece to bottom-plane. Renamed bottom piece to base. 2023-09-30: Shortened tongues inside the cutouts for the lateral moving rafts by 0.5mm to increase clearance. I had to sand these down on my original repair with the previous version of the model. 2023-09-30: Increased thelength of the slot in the bottom-plane by 1mm to avoid restricting movement of the slider if the plane isn't perfectly aligned. 2023-09-30: Added a version of the model with the pieces oriented to their recommended print orientations.