I have a symbol which represents a sub-PCB (e.g. a microcontroller board). It slots into a pair of headers. e.g. 16 pins on one side, 16 pins on the other, obviously with a specific spacing/alignment. How would you handle this?
I couldn’t think of a to do this other than: two symbols each with their own reference designator, footprint and part. Then manually set the spacing/alignment on the PCB.
Exactly as you have.
I would also edit the pin numbers on the headers to match the sub assembly (if the sub assembly has pin numbers) and, if the headers are symmetrical, add some text and/or graphics on the silk layer to show which way to insert the module.
You can represent it as one symbol and one footprint. Like a large IC. Why would that be a problem? Is it because you have to have two headers in the BOM? You could have 3 parts, the sub PCB which is marked not on board, and 2 headers which are in the schematic and connected to the same pins as the sub PCB.