diff --git a/de.jaseg.kicoil-v0.11.1.zip b/de.jaseg.kicoil-v0.11.1.zip new file mode 100644 index 0000000..dfe7840 Binary files /dev/null and b/de.jaseg.kicoil-v0.11.1.zip differ diff --git a/metadata.json b/metadata.json index 15b95e9..3b5cc0d 100644 --- a/metadata.json +++ b/metadata.json @@ -1,8 +1,8 @@ { "$schema": "https://go.kicad.org/pcm/schemas/v1", "name": "KiCoil", - "description": "Planar inductor supporting spiral coils, toroidal coils, and hybrids", - "description_full": "KiCoil generates planar inductors as footprints. Currently, circular spiral and toroid inductors are supported. KiCoil supports arbitrary intermediates between spiral and toroid inductors. By playing around with this, you can create inductors that have lower parasitics and higher self-resonant frequency than standard multilayer spiral inductors.", + "description": "Planar inductor supporting arbitrary shapes of spiral coils, toroidal coils, and hybrids", + "description_full": "KiCoil generates planar inductors as footprints. It supports arbitrary shapes with presets such as circles, rectangles, circular sectors, and SVG import for arbitrary shapes. It can generate spiral and toroid inductors as well as arbitrary intermediates between spiral and toroid inductors. By playing around with this, you can create inductors that have lower parasitics and higher self-resonant frequency than standard multilayer spiral inductors.", "identifier": "de.jaseg.kicoil", "type": "plugin", "author": { @@ -35,7 +35,16 @@ "download_size": 1886869, "download_url": "https://git.jaseg.de/kimesh.git/plain/de.jaseg.kicoil-v0.11.0.zip?h=v0.11.0", "install_size": 14353567 + }, + { + "version": "0.11.1", + "status": "stable", + "kicad_version": "9.00", + "download_sha256": "8494927da4d4aca48baf13d6c8a162dc910c0be1294e5a44517b7d27a086a140", + "download_size": 1886906, + "download_url": "https://git.jaseg.de/kimesh.git/plain/de.jaseg.kicoil-v0.11.1.zip?h=v0.11.1", + "install_size": 14353726 } ], "runtime": "ipc" -} \ No newline at end of file +} diff --git a/pyproject.toml b/pyproject.toml index 9869670..06e9be7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "kicoil" -version = "0.11.0" +version = "0.11.1" description = "Planar Inductor Generator" readme = "README.rst" license = "Apache-2.0" diff --git a/src/kicoil/skeletonator.py b/src/kicoil/skeletonator.py index bad6c63..619f524 100644 --- a/src/kicoil/skeletonator.py +++ b/src/kicoil/skeletonator.py @@ -277,15 +277,18 @@ class Skeletonator: point_angles.append(angle) angle += edge_angle point_angles += [a+1 for a in point_angles] + point_angles += [point_angles[0] + 2] - for (p1, p2), (tp1, tp2) in zip(self.poly_edges * 2, itertools.pairwise(point_angles)): + i = 0 + for (p1, p2), (tp1, tp2) in zip(self.poly_edges * 3, itertools.pairwise(point_angles)): + i += 1 rp1 = r_interpolate(tp1) rp2 = r_interpolate(tp2) _arc, p1_proj = self.project_arc(p1, rp1) _arc, p2_proj = self.project_arc(p2, rp2) - if tp2 < t_start: + if tp2 < t_start and not math.isclose(tp2, t_start): continue - if tp1 > t_end: + if tp1 > t_end and not math.isclose(tp1, t_end): continue if approx_in_range(t1, tp1, tp2): diff --git a/uv.lock b/uv.lock index b7aa1aa..799446c 100644 --- a/uv.lock +++ b/uv.lock @@ -569,7 +569,7 @@ wheels = [ [[package]] name = "kicoil" -version = "0.11.0" +version = "0.11.1" source = { editable = "." } dependencies = [ { name = "beautifulsoup4" },