Skip to content

Add Cadence (OrCAD Capture / Allegro) as an export target; remove the 3D logo by default - #7

Merged
ref42 merged 2 commits into
ref42:masterfrom
lins-code54:cadence-export-pr
Oct 24, 2026
Merged

ref42 merged 2 commits into
ref42:masterfrom
lins-code54:cadence-export-pr

Conversation

@lins-code54

@lins-code54 lins-code54 commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds Cadence as a third EDA target on the Export page, next to Altium and KiCad. Like those targets it writes library files that the user imports; SeEx itself runs no Cadence program.

Output What it is How it gets into Cadence
<lib>.xml OrCAD Capture Library XML with every symbol Capture: File > Import > Library XML → .olb
<lib>_allegro/*.il one Allegro SKILL script per footprint, plus <lib>.il Allegro PCB Editor command window: skill load("<lib>_allegro/<lib>.il") builds .dra, .psm and .pad in that folder
<lib>_step/*.step 3D models mapped on each footprint where EasyEDA places them; add the folder to STEPPATH

Capture's .olb and Allegro's .dra / .psm / .pad are undocumented binary formats that only Cadence writes, so these are the formats Cadence reads in their place. Ultra Librarian and SamacSys deliver Capture symbols the same way.

Footprints

  • Standard SMD packages (chip R/C/L/LED/diodes, SOT, SOD, DO-214, SOIC/SOP, QFP, QFN/SON) get IPC-7352 land patterns at density level N, named by the IPC convention (RESC1005X40N, SOT95P280X145-5N, …). Each pattern is checked against the manufacturer's lands, and EasyEDA's pin numbers are carried over.
  • Other packages keep the manufacturer's lands, with IPC-7352 courtyard, silkscreen and place-bound rules.
  • Silkscreen is 0.12 mm, clipped 0.2 mm from copper, with a polarity mark. The reference designator is sized to the part on the silkscreen and centred on the assembly layer.

3D logo removal (all targets)

  • The EasyEDA logo (watermark) is now removed from downloaded 3D models by default, for Altium, KiCad and Cadence. The logo is cut out and the model is rebuilt. The rebuilt model is only used if every shell is still closed and no reference is left dangling.
  • If the logo cannot be removed safely, the original model is exported and the part is listed in the export result: Models with logo: …, also shown in red under the run panel.
  • The new Remove 3D logo toggle turns removal off.
  • The existing kicad::step_sanitizer is not used by any export path, so it is left untouched.

Other

  • Append, Force, Continue on error and English metadata behave as they do for KiCad. Without Append, an existing Cadence library is refused, as the KiCad and Altium targets do.
  • STEP downloads fall back to modules.easyeda.com when modules.lceda.cn cannot be reached (seen as a TLS handshake failure on some networks).
  • No 3D preview is added, in line with the README.

Testing

  • cargo clippy --locked --all-targets --all-features -- -D clippy::correctness -D clippy::suspicious passes.
  • cargo test --locked passes: 215 tests (Windows).
  • rustfmt --edition 2024 --check is clean.
  • Exported 10 real parts (C25744, C1525, C14663, C2286, C466657, C20917, C6186, C2040, C165948, C2826547) and checked them with Cadence SPB 26.1:
    • Capture's own XML import produced an .olb with all 10 parts and their PCB footprints.
    • Running the library script in Allegro built all 10 .dra/.psm files and their padstacks.
    • The STEP models sit on their pads.
    • All 10 models came out without the logo.

… 3D logo by default

Cadence joins Altium and KiCad on the Export page and, like them, writes
library files the user imports; SeEx runs no Cadence program:

- Capture symbols as one Library XML file (<lib>.xml), which Capture turns
  into an .olb with File > Import > Library XML
- Allegro footprints as one SKILL script per footprint plus a library
  script (<lib>_allegro/<lib>.il); `skill load` of it in Allegro PCB
  Editor builds the .dra, .psm and .pad files in that folder
- STEP models (<lib>_step), mapped on each footprint where EasyEDA
  places them
- IPC-7352 land patterns for the standard SMD packages, checked against
  the manufacturer's lands; other packages keep the manufacturer's lands
  with IPC-7352 courtyard, silkscreen and place-bound rules
- Append, Force, Continue on error and English metadata work as for KiCad

The EasyEDA logo is now removed from downloaded 3D models by default, for
every target. A model the logo cannot be cut out of safely is exported as
it is and listed in the export result. The new "Remove 3D logo" option
turns this off.

STEP downloads fall back to modules.easyeda.com when modules.lceda.cn
cannot be reached.
@lins-code54 lins-code54 changed the title Add Cadence export (OrCAD Capture / Allegro) with preview and 3D silkscreen Add Cadence (OrCAD Capture / Allegro) as an export target; remove the 3D logo by default Oct 23, 2026
A symbol with several sub-parts was merged into one Capture section, and
the pin layout then piled pins of different sub-parts onto the same
connection points: RK3576 (six sub-parts, 698 pins) came out as one part
with 133 stacked pin positions.

Each sub-part is now its own section of a heterogeneous package
(isHomogeneous="0"), one LibPart per section named after the package plus
the section letter, each with its own drawing and pin numbers - the way
Capture stores MAX628 in its own MiscPower.olb. Single symbols are
unchanged.
@ref42
ref42 merged commit f12257c into ref42:master Oct 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants