Skip to content

github action for rendering kciad 3D images, with additional fonts

Notifications You must be signed in to change notification settings

micro-henry/kicad-render

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kicad render action

This action allows you to automatically render Images of your PCB and use them e.g. in a README.md

current state

Rendering Image and Animations is working but the 3D models for Kicad are missing since the official docker image does not contain the config that was created at the first start-up. 3D Models provided by Kicad are now also rendered.

Even animations are rendered fine I wasn't able to embed them into a README.md

Also, this is using Kicad nightly since there is yet no Kicad release containing the image rendering command in the CLI.

Usage

  1. Create the directory .github/workflows if it does not already exist.

  2. Add a new yaml in that directory e.g. pcb_image.yaml

  3. Adding the configuration. Set the path to your .kicad_pcb file (you may need to replace 'refs/heads/main' with 'refs/heads/master' on older repos)

    name: pcb_image
    on:
        push:
    jobs:
        render-image:
            name: render-image
            runs-on: ubuntu-latest
            steps:
            - name: Check out the repo
                uses: actions/checkout@v4
    
            - name: render pcb image
                uses: linalinn/kicad-render@main
                with:
                pcb_file: <path from repo root to .kicad_pcb>
                output_path: ${{ github.workspace }}/images
                
            - name: Setup Pages
                if: github.ref == 'refs/heads/main'
                uses: actions/configure-pages@v3
    
            - name: Upload Artifact
                if: github.ref == 'refs/heads/main'
                uses: actions/upload-pages-artifact@v1
                with:
                path: "images"
    
        deploy-pages:
            if: github.ref == 'refs/heads/main'
            runs-on: ubuntu-latest
            needs: render-image
            
            permissions:
            pages: write
            id-token: write
    
            environment:
            name: github-pages
            url: ${{ steps.deployment.outputs.page_url }}
    
            steps:
            - name: Deploy to GitHub Pages
                id: deployment
                uses: actions/deploy-pages@v2
  4. Adding the images to an README.md

    # My first PCB with automatic image generation
    
    ### Images
    ![top](<github_username>.github.io/<repo_name>/top.png)
    ![bottom](<github_username>.github.io/<repo_name>/bottom.png)
  5. Prepare the repo

    • Open your repo on GitHub
    • Open Setting
    • (Left side) Click on Pages
    • Under Build and deployment select for Source Github Action from the dropdown.
  6. git commit and push

Example

You can find a example here in the m2sdr and the workflow for it here

Animation original code

The code for the Animation is from arturo182
Mastdon post with Gif and link to gist

About

github action for rendering kciad 3D images, with additional fonts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Shell 78.7%
  • Dockerfile 21.3%