Gabe, I know you solved your problem but I am curious how you added vias.
I wanted a script to add test point vias similar to the test point option and had a devil of a time figuring out how to do it. I searched for a net.via.add function but to no avail.
This is the result which you may find useful for the addvia portion. This simple script adds unrouted test point vias at 0,0 for nets that don't have any vias or pins designated as test points. The only issue I would see as a hurdle is the fact that adding a via references a net in the current design and Pads requires a minimum of two points to assign a net. If your second board uses the same netnames then you could just read the xy and netname from the first board, save the info to a file, load the second board and add the via to the second board using the saved XY and netname with a different script.
If you aren't sure if the netnames are used in the second board, what you could do is this:
Option A- add one dummy part and a single pin tp part for each net, locate the tp part to the same location as the top board test point using the file and add a net from it to the dummy part or B: add two dummy parts, add a net from the list between the two and add a via at the XY. It depends on what you ultimately want at your tp location, a single pin part or via. In either case, I would think you want a pad or via tied to the same net at the same location.
1-Read the test point locations from the top board and save the netnames and tp xy locations to a file.
2- Create your second board outline and make sure the board 0,0 is in the same location as the top board. You could import the ascii for the second board at this point, but park everything off board to remove clutter.
3- create a dummy part with enough pins to accommodate every tp you need. Control the ref des ie:XTP1
Option A- Going through the file, add a single pin part to the board, incrementing the ref des as you go. XP1, XP2 etc. Read the net from the list and add it to the test point part and the dummy part pin with the same number. If the net exists in the parts you already ascii'd in, it will tie. If not, the net will only run from the test point to the dummy part. Later, when you delete the dummy part, Pads will flag any nets that are removed as a check and leave the test point part without a net, but hold the place on the second board so you don't route through it.
Option B- Add two dummy parts and park both outside the board area. Control the ref des ie:XTP1and XTP2 and add two of them to the board, both outside the board outline. (will be deleted later)
4- using the saved info, add the net to the same pin on both dummy parts and then add a test via to the same xy as the top board. If the net is already used in the startup circuitry, it will tie to it. If not, then both dummy parts give the minimum two pins to support the via.
If you choose the via option, the Add Free Via command isn't picky about the via name, but there must be at least one via available to each net. If you change the xy of the added via make sure the line printed to the macro matches exactly the Complete Move line
Sub Main
LockServer
'Dim tpcount as integer
Open "c:\temp\mymacro2.mcr" For Output As #1
Print #1, "Macro Macro1"
Set nets = ActiveDocument.Nets
If Sorted Then nets.Sort
For Each aNet In nets
tpcount = 0
Set pins = aNet.Pins
If Sorted Then pins.Sort
For Each aPin In pins
If aPin.TestPoint <> ppcbTestPointNone Then goto addok
Next aPin
Set vias = aNet.Vias
If Sorted Then vias.Sort
For Each aVia In vias
If aVia.TestPoint <> ppcbTestPointNone Then goto addok
Next aVia
GoTo AddVia
addok:
Next aNet
Close #1
RunMacro ("c:\temp\mymacro2.mcr","macro1")
UnlockServer
End
AddVia:
Print #1, "Application.ExecuteCommand(""Find"")"
Print #1, "FindDlg.FindBy = ""Nets""
Print #1, "FindDlg.Value = " & Chr$(34) & aNet.Name & Chr$(34)
Print #1, "FindDlg.Ok.Click()
Print #1, "Application.ExecuteCommand(""Add Free Via"")
Print #1, "DlgYesNoCheckQuestion.Question(""Adding shielding or stitching vias with DRC not in Prevent mode may result in clearance violations.Do you want to continue?"").Answer(mbYes)"
Print #1, "Application.ExecuteCommand(""Complete Move"", 0mil,0mil)"
Print #1, "Application.ExecuteCommand(""Cancel"")"
GoTo addok
End Sub
Good luck. Let me know how it turns out