2
\$\begingroup\$

I have inherited a number of Altium Designer projects, to take over and continue to develop. There are lots of boards, plugging into other boards. Some with 200 pin connectors. They were designed by multiple people, in different countries, with different philosophies on net names. I'd like to generate a cross reference spreadsheet, to help with checking connectivity between boards. Ultimately, I'll create a 'multi board project', but for now I'd like just a simple spreadsheet.

Is there a way to select a single part (say, J1), and generate a list of the nets connected to it, and to which pin? That would be a massive help.

\$\endgroup\$
3
  • \$\begingroup\$ Have you looked at the netlist file for each circuit board and tried to manipulate that to show what you want? \$\endgroup\$
    – Andy aka
    Nov 17, 2022 at 16:11
  • 1
    \$\begingroup\$ Export the netlist to a .csv file. Then open the file in a tool like Excel and sort on the part/pin number. \$\endgroup\$
    – SteveSh
    Nov 18, 2022 at 0:56
  • \$\begingroup\$ I don't know whether it's useful to you in this specific circumstance, but I recently published altium.js, which is a JS library for parsing and rendering Altium documents in the browser. The published version only has schematic (SchDoc) support for now, but I'm in the process of writing the PCB side too. Should be useful for querying stuff like this where Altium's built-in querying/DRC language is lacking. \$\endgroup\$
    – Polynomial
    Nov 18, 2022 at 1:03

3 Answers 3

0
\$\begingroup\$

You can extract pinouts directly by selecting all pins/pads in a component/footprint, and copying their name, net, and any other information you like (position, size, etc.?) from the PCB List panel.

For a footprint alone, CTRL+drag will select enclosed pads. Select "view" "selected objects" and include just "pad" objects in the list. Sort and copy as you like.

Or for a query, you could go by pad name: IsPad AND (Name Like 'U7-*'), or by component: IsPad AND InComponent('U7'), or multiple, or make a selection and refine it with the IsSelected qualifier, or...

The above is PCB mode. SCH isn't so straightforward: pins don't "know" what they're connected to: those data are "compiled" afterward. I don't think there's any way to access the cached/compiled results directly, but you could, for example, export a netlist in whatever format, and find what parts are assigned what nets. Most netlist formats are pretty straightforward, with the structuring being fairly self-evident. Find the component of interest and copy the list of nets on it (maybe it's in-order, maybe it's a key-value list i.e. pin x assigned net y, etc., I don't remember what all formats do).

Or export to PCB and do the same as above. Speaking of which, don't forget to check that SCH and PCB are synchronized, of course.

\$\endgroup\$
1
\$\begingroup\$

There isn't a good way (that I know of, but there is a way, there might be a better way but this is how I've done it in the past).

  1. Select the region of board you want around the component/connector, using single layer mode might be best.
  2. Then right click and go to find similar objects, select tracks as same and selected as same.
  3. Check the PCB list and it should be the nets that attach to that part. enter image description here

enter image description here

\$\endgroup\$
0
\$\begingroup\$

This is pretty much the same method as Voltage Spike's method, slightly different angle.

Right-click on component > Component actions > Select Component Connections which highlights physically routed connections from the component. This is explained in the Altium Documentation.

In the PCB List dialog, set the constraints as shown in the picture below. The nets that are connected to the part are listed, but the dialog doesn't show what pin the nets are connected to. You can copy/paste the results from the PCB List dialog to a text editor or Excel spreadsheet.

enter image description here

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.