Important
This is not the official PicoGK repository. It is a modified fork of leap71/PicoGK by LEAP 71, repackaged so that ANVIL can build against it. It is not affiliated with or endorsed by LEAP 71. If you are not specifically building ANVIL, use the upstream project instead.
PicoGK ("peacock") is a compact, open-source voxel geometry kernel created by LEAP 71. This fork changes only how the project is laid out and packaged: the kernel itself is LEAP 71's, unmodified apart from one STL export fix.
| You want to... | Go to |
|---|---|
| Use PicoGK, get updates, file kernel bugs, ask questions | leap71/PicoGK (canonical, actively maintained) |
| Build ANVIL, which needs this exact layout | This repository |
| Report a problem with this repository's layout, submodules or committed binaries | This repository (open an issue) |
Upstream is the canonical project. It is where releases, support and new features come from. Nothing here is a substitute for it.
This fork branched from upstream commit 709cdd4 (2026-01-02), one commit after upstream tag PicoGK-v1.7.7.5. Upstream has since moved on to the 2.x line; this fork does not track it.
| Change | Why |
|---|---|
| Kernel sources moved from the repo root into src/ | Keeps the root free for the examples, docs and vendored ecosystem, so one checkout is a complete working environment |
| Prebuilt native runtime committed under runtime/native/ (win-x64, osx-arm64) | ANVIL builds from a sibling source checkout, not from the NuGet package, so the native binaries have to be in the tree. Upstream ships them via NuGet instead |
| Whole LEAP 71 ecosystem vendored as git submodules under vendor/ | Pins ShapeKernel, LatticeLibrary and the rest to known commits so a build is reproducible |
| Documentation set added under docs/ | Practical API and setup reference assembled for this checkout. Written by this fork, not by LEAP 71 |
Binary STL post-scale fix in src/PicoGK_MeshIo.cs |
The post-scale parameter was not being applied when writing binary STL |
The full list, and the attribution for every redistributed third-party binary, is in NOTICE.
Upstream PicoGK is not a drop-in substitute for this fork in the other direction either: swap it in and ANVIL will not build, because the source paths differ and the prebuilt DLLs are absent.
ANVIL is a Delta Robotics lattice tool, Apache-2.0. It references this repository by project path as a mandatory sibling checkout at ..\PicoGK, pinned at commit 3725be3. So the two repositories are expected to sit next to each other:
parent-folder/
├── anvil/
└── PicoGK/ <- this repository
This fork existing, at that layout and with those binaries committed, is what makes ANVIL buildable.
Requires the .NET 9 SDK. Windows x64 and macOS arm64 only: the native runtime is committed in this repo for those two platforms. For Linux or anything else, build PicoGKRuntime yourself and point src/PicoGK__Config.cs at it.
git clone --recursive https://github.com/Kevofehr/PicoGK.git
cd PicoGK
dotnet run --project examples\PicoGKExamples.csproj--recursive is required. The examples project compiles vendor/LEAP71_ShapeKernel and vendor/LEAP71_LatticeLibrary sources directly, so without the submodules the build fails. If you already cloned without it:
git submodule update --init --recursiveThe viewer opens and runs the default task in examples/Program.cs, currently a gyroid TPMS infill inside a loaded cylinder. An STL file is written to your log folder (C:\Users\<you>\ on Windows, ~/Documents/ on macOS and Linux). Close the viewer window to exit.
For the full setup walkthrough, your first model, and troubleshooting see docs/setup.md.
using PicoGK;
using System.Numerics;
class HelloWorld
{
public static void Task()
{
Voxels body = Voxels.voxSphere(Vector3.Zero, 30f);
Voxels hole = Voxels.voxSphere(Vector3.Zero, 25f);
Voxels shell = body - hole;
Library.oViewer().Add(shell);
new Mesh(shell).SaveToStlFile(
Path.Combine(Library.strLogFolder, "Hello.stl"));
}
}
// In Program.cs:
Library.Go(0.5f, HelloWorld.Task); // 0.5 = voxel size in mmAll documentation lives in docs/. Start with the docs index. These docs describe this checkout; the official docs are at picogk.org/doc.
| Topic | File |
|---|---|
| Install + first model + troubleshooting | docs/setup.md |
| What PicoGK is, architecture, ecosystem | docs/picogk-overview.md |
| API reference (every public class and method) | docs/api-reference.md |
| Coding for Engineers, book-length tutorial index | docs/coding-for-engineers.md |
| Why the API is small on purpose | docs/design-philosophy.md |
| Computational Engineering paradigm | docs/computational-engineering.md |
| Real projects built with PicoGK (Noyron, RP/1) | docs/leap71-projects.md |
| All public repos in the leap71 GitHub org | docs/leap71-org.md |
Vendored submodules guide (what each vendor/ lib does) |
docs/vendor.md |
| Flat URL index (official sites, blogs, deps) | docs/external-links.md |
src/ Kernel C# source + PicoGK.csproj (moved here by this fork)
runtime/ Bundled native binaries + viewer HDR environments
examples/ Local runnable examples project
projects/ Your own build projects go here
vendor/ Submodules, every leap71 repo (see docs/vendor.md)
docs/ Documentation
See docs/setup.md for the full tree.
Contributions to the kernel itself belong upstream, at leap71/PicoGK. This fork only exists for layout and packaging, and patches sent here will not reach upstream users.
Fork-specific fixes (build layout, submodule pins, committed binaries, the docs in docs/) are welcome. See CONTRIBUTING.md for how to build and the DCO sign-off requirement, CODE_OF_CONDUCT.md, SECURITY.md and SUPPORT.md.
PicoGK is the work of LEAP 71. It serves as the foundation of a broader technology stack for Computational Engineering, a paradigm LEAP 71 pioneered. The name stands for Pico (tiny) Geometry Kernel: a deliberately reduced yet powerful instruction set for computational geometry in engineering. It is used to generate some of the most advanced physical components imaginable, from electric motors and heat exchangers to 3D-printed rocket engines and bio-inspired structures.
- picogk.org, project homepage
- picogk.org/doc, official docs site
- Coding for Engineers, free online book
- GitHub: leap71 org, all public repos
- GitHub Discussions, upstream Q&A and show-and-tell
- LEAP 71, the company
- Josefine Lissner / Lin Kayser blog, design philosophy and engineering essays
Licensed under the Apache License 2.0 (SPDX: Apache-2.0). The full text is in LICENSE.
PicoGK is maintained by LEAP 71, copyright LEAP 71 2023-2026. It is built on top of OpenVDB and other Free and Open Source Software libraries.
NOTICE records that this repository is a modified distribution, what was modified, and the license of every third-party native binary redistributed under runtime/native/. Read it before redistributing anything from this repository. Example code under examples/ is CC0-1.0, per examples/LICENSE.md.