Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hoijui/kicad-text-injector

A CLI tool that allows you to post-process your KiCad PCB files, by replacing variables of the type `${NAME}` in your text elements.
https://github.com/hoijui/kicad-text-injector

ci cli fchh interfacer-project-eu interfacer-project-eu-wp4-3 kicad kicad-pcb oseg placeholder-replacement

Last synced: about 1 month ago
JSON representation

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

Awesome Lists containing this project

README

        

# KiCad text injector

[![License: GPL-3.0-or-later](
https://img.shields.io/badge/License-GPL%203.0+-blue.svg)](
https://www.gnu.org/licenses/gpl-3.0.html)
[![REUSE status](
https://api.reuse.software/badge/github.com/hoijui/kicad-text-injector)](
https://api.reuse.software/info/github.com/hoijui/kicad-text-injector)
[![crates.io](
https://img.shields.io/crates/v/kicad-text-injector.svg)](
https://crates.io/crates/kicad-text-injector)
[![Docs](
https://docs.rs/kicad-text-injector/badge.svg)](
https://docs.rs/kicad-text-injector)
[![dependency status](
https://deps.rs/repo/github/hoijui/kicad-text-injector/status.svg)](
https://deps.rs/repo/github/hoijui/kicad-text-injector)
[![Build status](
https://github.com/hoijui/kicad-text-injector/workflows/build/badge.svg)](
https://github.com/hoijui/kicad-text-injector/actions)

[![In cooperation with FabCity Hamburg](
https://raw.githubusercontent.com/osegermany/tiny-files/master/res/media/img/badge-fchh.svg)](
https://fabcity.hamburg)
[![In cooperation with Open Source Ecology Germany](
https://raw.githubusercontent.com/osegermany/tiny-files/master/res/media/img/badge-oseg.svg)](
https://opensourceecology.de)

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:

```bash
scripts/build
```

## Get the tool

As for now, you have two choices:

1. [Compile it](#how-to-compile) yourself
1. Download the Linux x86\_64 staticially linked binary from
[the releases page](https://github.com/hoijui/kicad-text-injector/releases)

## Usage

```bash
$ 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 --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 the input file to use; '-' for stdin [default: -]
-o, --output the output file to use; '-' for stdout [default: -]
-D, --variable ... a variable key-value pair to be used for substitution in the
text
```

## Misc

We very warmly recommend you to use
**the [KiBot](https://github.com/INTI-CMNB/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](
https://github.com/hoijui/kicad-image-injector).

## Funding

This project was funded by the European Regional Development Fund (ERDF)
in the context of the [INTERFACER Project](https://www.interfacerproject.eu/),
from July 2021
until March 2023.

![Logo of the EU ERDF program](
https://cloud.fabcity.hamburg/s/TopenKEHkWJ8j5P/download/logo-eu-erdf.png)