Git Product home page Git Product logo

kicad-text-injector's Introduction

KiCad text injector

License: GPL-3.0-or-later REUSE status crates.io Docs dependency status Build status

In cooperation with FabCity Hamburg In cooperation with Open Source Ecology Germany

This tool allows you to post-process your KiCad PCB files, by replacing variables of the type ${NAME} in your text elements.

You may put placeholder text onto your PCB - for example ${PROJECT_REPO_URL} - on any layer, and this tool then fills in the actual value, for example https://github.com/myorg/myproj. This is most useful for filling in project-specific meta-data into the final output, and thus this tool is primarily targeting CI jobs, though it can also be run locally.

How to compile

You need to install Rust(lang) and Cargo.

Then you can run:

scripts/build

Get the tool

As for now, you have two choices:

  1. Compile it yourself
  2. Download the Linux x86_64 staticially linked binary from the releases page

Usage

$ kicad-text-injector --help
Given a KiCad PCB file (*.kicad_pcb) as input, replaces variables of the type `${KEY}` within text
fields with their respective value.

USAGE:
    kicad-text-injector [FLAGS] [OPTIONS] --input <input> --output <output>

FLAGS:
    -e, --env                       use environment variables for substitution in the text
    -f, --fail-on-missing-values    fail if no value is available for a variable key found in the
                                    input text
    -h, --help                      Prints help information
    -v, --verbose                   more verbose output (useful for debugging)
    -V, --version                   Prints version information

OPTIONS:
    -i, --input <input>             the input file to use; '-' for stdin [default: -]
    -o, --output <output>           the output file to use; '-' for stdout [default: -]
    -D, --variable <variable>...    a variable key-value pair to be used for substitution in the
                                    text

Misc

We very warmly recommend you to use the KiBot tool for the actual generation of the final output from the post-processed KiCad sources. It can generate much more then just Gerbers and 2D renders of the PCBs.

Also see the KiCad image/QRCode injector.

Funding

This project was funded by the European Regional Development Fund (ERDF) in the context of the INTERFACER Project, from July 2021 until March 2023.

Logo of the EU ERDF program

kicad-text-injector's People

Contributors

hoijui avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.