Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add kicad-pcb-diff #2991

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

taotieren
Copy link
Contributor

@taotieren taotieren commented Oct 28, 2022

This program generates a PDF file showing the changes between two KiCad PCB or SCH files.

PCBs are plotted into PDF files, one for each layer. Then ImageMagick is used to compare the layers and PNG files are generated. The PNGs are finally assembled into one PDF file and the default PDF reader is invoked.

All the intermediate files are generated in the system temporal directory and removed as soon as the job is finished. You can cache the layers PDFs specifying a cache directory and keep the resulting diff images specifying an output directory.

For SCHs the process is similar, but using KiAuto. Note that one schematic is compared at a time. The --all_pages option allows comparing multiple pages. In this case adding or removing pages is only supported when the rsvg-convert tool is available. Also note that this can't be done by the git plug-in because git extracts only the file you want to compare. Consult the advanced use explanation.

The default resolution for the images is 150 DPI. It can be increased for better images, at the cost of (exponetially) longer execution times. You can provide a smaller resolution for faster processing. For high resolution you could need to configure the ImageMagick limits. Consult the 'identify -list resource' command.

Comment on lines +28 to +31
package() {
cd "${srcdir}/KiDiff-${pkgver}"
python setup.py install --no-compile --root="$pkgdir"
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +10 to +12
license=('GPL-2.0')
groups=()
depends=('python' 'kicad' 'python-wxpython' 'imagemagick' 'librsvg' 'poppler' 'xdg-utils')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kicad-pcb-diff E: The SPDX license statement 'GPL-2.0' should be formatted as 'GPL-2.0-only' instead
kicad-pcb-diff W: Dependency included, but may not be needed ('python-wxpython')
kicad-pcb-diff W: Dependency included, but may not be needed ('imagemagick')
kicad-pcb-diff W: Dependency included, but may not be needed ('librsvg')
kicad-pcb-diff W: Dependency included, but may not be needed ('poppler')
kicad-pcb-diff W: Dependency included, but may not be needed ('xdg-utils')

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.

3 participants