Load an IPC-2581 .xml (what a coworker exports from a .mcm) or the package-JSON. Binary .mcm can't be parsed in-browser (see below). Path is saved into the share URL.
Z is schematic (layers evenly spaced) β real dielectric/metal thicknesses aren't to scale.
Reading a .mcm needs a licensed Allegro / APD seat. Send this to someone who has one β they email you back a .xml you load above (π).
Subject: Export this .mcm to IPC-2581 for me
Hi β you have the licensed Allegro / Advanced Package Designer (APD) seat and I don't.
Could you open the attached .mcm and export it to IPC-2581 (an open format I can read)?
1. Allegro X APD (or Allegro PCB Editor) β File β Open β the .mcm.
2. File β Export β IPC2581β¦
3. Units = the design's units (usually MM); IPC-2581 Revision = C (or B).
Leave BOM / netlist / component data included (defaults are fine).
4. Set an output name/location β Export. It writes a .xml (or .cvg).
5. Send me that .xml/.cvg (zipped is fine).
Thanks!
.mcmA .mcm is Cadence Allegro APD/SiP's binary DB β not openable here. Export it to this neutral JSON
(units mm, origin at package center). One row per etch layer, plus die / bumps / balls / vias.
{
"name": "MY_FCBGA 19x19",
"body": 19, // package body (mm, square)
"NET": { "GND":"#2f9e44", "VDD":"#e03131", "VDDIO":"#f08c00", "SIG":"#1c7ed6" },
"stack": [ // TOP β BOTTOM
{"id":"SMT","name":"Soldermask top","type":"mask","color":"#12694a"},
{"id":"M1","name":"M1 die side","type":"signal","color":"#e8a13a"},
{"id":"M2","name":"M2 GND","type":"plane","net":"GND","color":"#c46a24"},
{"id":"CORE","name":"Core","type":"core","color":"#0c3b2c"},
{"id":"M3","name":"M3 PWR","type":"plane","net":"VDD","color":"#c46a24"},
{"id":"M4","name":"M4 ball side","type":"signal","color":"#e8a13a"},
{"id":"SMB","name":"Soldermask bot","type":"mask","color":"#12694a"}
],
"die": {"w":7,"h":7},
"bumps":[{"x":-2.6,"y":-2.6,"net":"GND"}, ...], // C4, attach to M1
"balls":[{"x":-7,"y":-7,"net":"SIG"}, ...], // BGA, on M4
"vias": [{"x":0,"y":0,"from":"M2","to":"M3","net":"GND","type":"pth"}, ...],
"layers": { // per etch-layer geometry
"M2": {"planes":[{"poly":[[-9,-9],[9,-9],[9,9],[-9,9]],"net":"GND"}],"traces":[],"pads":[]},
"M1": {"planes":[],"traces":[{"pts":[[0,0],[0.2,0.2]],"w":0.04,"net":"SIG"}],"pads":[{"x":0,"y":0,"r":0.12,"net":"SIG"}]}
}
}
Getting there from Allegro: extracta (ASCII pad/net/geometry dump) β map to this JSON;
or export IPC-2581 (XML) / ODB++ and convert; or a SKILL/AXL script that writes this JSON directly.
Balls/bumps/vias also drop straight out of the component & padstack reports. Step-by-step routes:
EXPORT.md.
The binary .mcm can't be parsed directly (proprietary) and there's no legit online converter β it must go through Allegro.
Encodes the loaded design, layer visibility, solo layer, highlighted net, component toggles,
the .mcm path, and both the 2-D and 3-D zoom & angle into the URL. Paste it into a new browser and everything is restored.
Note: a custom JSON is embedded in the link; the sample regenerates itself.