Add IFA/meander/stub antenna templates with SVG and KiCad export.

Progetta now returns a parametric radiator geometry (segments + preview + .kicad_mod) so the layout can be replicated without inventing EM results.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-13 19:27:06 +02:00
co-authored by Cursor
parent 1d3cf12482
commit 556306bf4d
9 changed files with 529 additions and 8 deletions
+1
View File
@@ -747,6 +747,7 @@ export async function designAntenna(
h?: number | null;
er?: number | null;
t?: number | null;
template?: "ifa" | "meander" | "stub";
},
): Promise<AntennaReport> {
const res = await authFetch(
+15
View File
@@ -465,6 +465,20 @@ export interface AntennaVerifyRow {
marker_ref?: string | null;
}
export interface AntennaGeometry {
template: "ifa" | "meander" | "stub";
fit: "ok" | "scaled" | "overflow" | "need_f0";
segments: { points: number[][]; width_mm: number }[];
total_length_mm?: number | null;
length_ideal_mm?: number | null;
scale?: number;
svg?: string | null;
kicad_mod?: string | null;
footprint_name?: string | null;
note?: string;
detail?: string;
}
export interface AntennaDesignRecipe {
status: "ready" | "need_pcb" | "need_stackup" | "need_marker";
feed_point?: Record<string, unknown> | null;
@@ -481,6 +495,7 @@ export interface AntennaDesignRecipe {
f0_mhz?: number | null;
note?: string;
} | null;
geometry?: AntennaGeometry | null;
zone?: {
net: string;
layer: string;