1 Commits
Author SHA1 Message Date
grabowski d48a369d3a Release 1.2.0
Build PCM package / build (push) Successful in 9s
2026-07-22 15:52:26 +07:00
4 changed files with 6 additions and 13 deletions
+2 -9
View File
@@ -47,12 +47,7 @@ SWIG API. Requires KiCad **10.0.1+**.
``` ```
4. **Restart KiCad**; first load builds the plugin venv (numpy, scipy, 4. **Restart KiCad**; first load builds the plugin venv (numpy, scipy,
matplotlib, PySide6 — takes minutes; the Ω button appears when done). matplotlib, PySide6 — takes minutes; the Ω button appears when done).
If stuck: in the PCB editor, Preferences → *PCB Editor → Action If stuck: Preferences → Plugins → *Recreate Plugin Environment*.
Plugins*, **right-click** the plugin's row → *Recreate Plugin
Environment* (context menu only — there is no button). Manual
equivalent: delete
`%LOCALAPPDATA%\kicad\10.0\python-environments\th.co.b4l.fill-resistance`
and restart KiCad.
## Usage ## Usage
@@ -324,9 +319,7 @@ GPL-3.0-or-later — see [LICENSE](LICENSE).
## Troubleshooting ## Troubleshooting
- **No toolbar button**: venv still building (wait), or build failed → - **No toolbar button**: venv still building (wait), or build failed →
*Recreate Plugin Environment* (right-click the plugin's row in *Recreate Plugin Environment*; check the interpreter path (setup 2).
Preferences → *PCB Editor → Action Plugins*); check the interpreter
path (setup 2).
- **"Could not connect to KiCad's IPC API"**: API server not enabled, or - **"Could not connect to KiCad's IPC API"**: API server not enabled, or
KiCad not running (no headless mode in KiCad 10). KiCad not running (no headless mode in KiCad 10).
- **"KiCad is busy"**: a modal dialog is open in KiCad — close it, rerun. - **"KiCad is busy"**: a modal dialog is open in KiCad — close it, rerun.
+2 -2
View File
@@ -2,7 +2,7 @@
"$schema": "https://go.kicad.org/pcm/schemas/v2", "$schema": "https://go.kicad.org/pcm/schemas/v2",
"name": "Fill Resistance", "name": "Fill Resistance",
"description": "DC/AC resistance of copper zone fills and traces between two contacts, single- or multi-layer with via coupling; current and power density maps.", "description": "DC/AC resistance of copper zone fills and traces between two contacts, single- or multi-layer with via coupling; current and power density maps.",
"description_full": "Computes the DC or AC resistance of copper zone fills and traces between two contacts (marker rectangles on User.1/User.2 and/or selected pads/vias), single- or multi-layer: the chosen net's fills and tracks are solved as coupled finite-difference sheets linked by the net's via and through-hole-pad barrels. Selected vias/THT pads inject at the drill-wall barrel, and every populated THT hole carries its full solder joint (component lead, solder fill, one-sided pad coat and protruding-lead cone) with exact pad shapes and do-not-populate flags read from KiCad; traces narrower than the grid become exact 1D resistor chains, and an adaptive multi-resolution grid (fine at features, coarse plane interiors, deferred-corrected) keeps large boards fast.\n\nShows per-layer rasterized maps, potential, current density and power density, reports per-via currents (via ampacity) and total dissipation at a selectable test current. At a user-set frequency the exact 1D foil/barrel skin-effect correction is applied (AC results are a rigorous lower bound). PNGs, a text summary and a re-solvable geometry dump are saved per run.\n\nNote: the first load builds the plugin's Python environment (numpy, scipy, pyamg, matplotlib, PySide6) and can take several minutes.", "description_full": "Computes the DC or AC resistance of copper zone fills and traces between two contacts (marker rectangles on User.1/User.2 and/or selected pads/vias), single- or multi-layer: the chosen net's fills and tracks are solved as coupled finite-difference sheets linked by the net's via and through-hole-pad barrels. Selected vias/THT pads inject at the drill-wall barrel, and every populated THT hole carries its full solder joint (component lead, solder fill, one-sided pad coat and protruding-lead cone) with exact pad shapes and do-not-populate flags read from KiCad, conducting in-plane as its solder plug and lead on every layer it spans. Every net pad's exact copper shape is stamped on the layers it sits on, SMD as well as through-hole, and oblong (slotted) holes are modelled as their true stadium shape rather than an approximating circle. Traces narrower than the grid become exact 1D resistor chains, and an adaptive multi-resolution grid (fine at features, coarse plane interiors, deferred-corrected) keeps large boards fast.\n\nShows per-layer rasterized maps, potential, current density and power density, reports per-via currents (via ampacity) and total dissipation at a selectable test current. At a user-set frequency the exact 1D foil/barrel skin-effect correction is applied (AC results are a rigorous lower bound). PNGs, a text summary and a re-solvable geometry dump are saved per run.\n\nNote: the first load builds the plugin's Python environment (numpy, scipy, pyamg, matplotlib, PySide6) and can take several minutes.",
"identifier": "th.co.b4l.fill-resistance", "identifier": "th.co.b4l.fill-resistance",
"type": "plugin", "type": "plugin",
"author": { "author": {
@@ -17,7 +17,7 @@
}, },
"versions": [ "versions": [
{ {
"version": "1.1.0", "version": "1.2.0",
"status": "stable", "status": "stable",
"kicad_version": "10.0", "kicad_version": "10.0",
"runtime": "ipc" "runtime": "ipc"
+1 -1
View File
@@ -3,7 +3,7 @@
# the dependency list there in sync with [project.dependencies]. # the dependency list there in sync with [project.dependencies].
[project] [project]
name = "fill-resistance" name = "fill-resistance"
version = "1.1.0" version = "1.2.0"
description = "DC/AC resistance of copper zone fills and traces between two contacts (KiCad 10 plugin)" description = "DC/AC resistance of copper zone fills and traces between two contacts (KiCad 10 plugin)"
license = "GPL-3.0-or-later" license = "GPL-3.0-or-later"
requires-python = ">=3.11" requires-python = ">=3.11"
Generated
+1 -1
View File
@@ -216,7 +216,7 @@ wheels = [
[[package]] [[package]]
name = "fill-resistance" name = "fill-resistance"
version = "1.1.0" version = "1.2.0"
source = { virtual = "." } source = { virtual = "." }
dependencies = [ dependencies = [
{ name = "kicad-python" }, { name = "kicad-python" },