From 1aa34d50f0f829e600b74130941067bbb87de097 Mon Sep 17 00:00:00 2001 From: Anshgrover23 Date: Fri, 3 Jan 2025 20:01:41 +0530 Subject: [PATCH 1/6] add kicad_pcb download option --- bun.lockb | Bin 475992 -> 476454 bytes package.json | 1 + src/components/DownloadButtonAndMenu.tsx | 13 +++++++++--- src/lib/download-fns/download-kicad-files.ts | 20 +++++++++++++++++++ 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 src/lib/download-fns/download-kicad-files.ts diff --git a/bun.lockb b/bun.lockb index 1172fa0694dc753f45d5bff84894caa77884b07c..325149bce9097e7c6783832d9533589764ce3140 100755 GIT binary patch delta 85990 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

n{gif00xC(Q7aA7{%*q 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 delta 85527 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 diff --git a/package.json b/package.json index 52d4a2d4..fb33fb52 100644 --- a/package.json +++ b/package.json @@ -94,6 +94,7 @@ "jose": "^5.9.3", "jscad-electronics": "^0.0.24", "jszip": "^3.10.1", + "kicad-converter": "^0.0.10", "lucide-react": "^0.445.0", "ms": "^2.1.3", "next-themes": "^0.3.0", diff --git a/src/components/DownloadButtonAndMenu.tsx b/src/components/DownloadButtonAndMenu.tsx index 2a788e88..bf01b381 100644 --- a/src/components/DownloadButtonAndMenu.tsx +++ b/src/components/DownloadButtonAndMenu.tsx @@ -12,6 +12,7 @@ import { downloadFabricationFiles } from "@/lib/download-fns/download-fabricatio import { downloadSchematicSvg } from "@/lib/download-fns/download-schematic-svg" import { downloadReadableNetlist } from "@/lib/download-fns/download-readable-netlist" import { downloadAssemblySvg } from "@/lib/download-fns/download-assembly-svg" +import { downloadKiCadPcbFile } from "@/lib/download-fns/download-kicad-files" import { AnyCircuitElement } from "circuit-json" import { ChevronDown, Download } from "lucide-react" import React from "react" @@ -97,14 +98,20 @@ export function DownloadButtonAndMenu({ notImplemented("kicad footprint download")} + onSelect={() => { + downloadKiCadPcbFile( + circuitJson, + snippetUnscopedName || "kicad_pcb", // Default file name for the KiCad PCB file + ) + }} > - Download Footprint + Download KiCad PCB - kicad_mod + kicad_pcb + notImplemented("kicad project download")} diff --git a/src/lib/download-fns/download-kicad-files.ts b/src/lib/download-fns/download-kicad-files.ts new file mode 100644 index 00000000..b343b23c --- /dev/null +++ b/src/lib/download-fns/download-kicad-files.ts @@ -0,0 +1,20 @@ +import { saveAs } from "file-saver" +import { convertCircuitJsonToKiCadPcb } from "kicad-converter" +import { AnyCircuitElement } from "circuit-json" + +export const downloadKiCadPcbFile = ( + circuitJson: AnyCircuitElement[], + fileName: string, +) => { + // Ensure the output is a string or BlobPart + const kicadPcbString = convertCircuitJsonToKiCadPcb(circuitJson) + + // If the result is an object, convert it to a string + const pcbContent = + typeof kicadPcbString === "object" + ? JSON.stringify(kicadPcbString) + : kicadPcbString + + const blob = new Blob([pcbContent], { type: "text/plain" }) + saveAs(blob, `${fileName}.kicad_pcb`) +} From 99506498a7aeddfefe819c6f73de035e19dc087f Mon Sep 17 00:00:00 2001 From: Anshgrover23 Date: Fri, 3 Jan 2025 20:10:56 +0530 Subject: [PATCH 2/6] add kicad_pcb download option --- src/components/DownloadButtonAndMenu.tsx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/DownloadButtonAndMenu.tsx b/src/components/DownloadButtonAndMenu.tsx index bf01b381..8ede4466 100644 --- a/src/components/DownloadButtonAndMenu.tsx +++ b/src/components/DownloadButtonAndMenu.tsx @@ -96,6 +96,16 @@ export function DownloadButtonAndMenu({ gerber/pnp/bom/csv + notImplemented("kicad footprint download")} + > + + Download Footprint + + kicad_mod + + { @@ -112,16 +122,6 @@ export function DownloadButtonAndMenu({ - notImplemented("kicad project download")} - > - - Download KiCad Project - - kicad_* - - { From a2636a9f34ede5b001e19b58e94d7b95912db1da Mon Sep 17 00:00:00 2001 From: Anshgrover23 Date: Fri, 3 Jan 2025 21:55:52 +0530 Subject: [PATCH 3/6] add zip file --- src/components/DownloadButtonAndMenu.tsx | 2 +- src/lib/download-fns/download-kicad-files.ts | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/components/DownloadButtonAndMenu.tsx b/src/components/DownloadButtonAndMenu.tsx index 8ede4466..aaccfdc1 100644 --- a/src/components/DownloadButtonAndMenu.tsx +++ b/src/components/DownloadButtonAndMenu.tsx @@ -118,7 +118,7 @@ export function DownloadButtonAndMenu({ Download KiCad PCB - kicad_pcb + zip diff --git a/src/lib/download-fns/download-kicad-files.ts b/src/lib/download-fns/download-kicad-files.ts index b343b23c..1b437beb 100644 --- a/src/lib/download-fns/download-kicad-files.ts +++ b/src/lib/download-fns/download-kicad-files.ts @@ -1,6 +1,7 @@ import { saveAs } from "file-saver" import { convertCircuitJsonToKiCadPcb } from "kicad-converter" import { AnyCircuitElement } from "circuit-json" +import JSZip from "jszip" export const downloadKiCadPcbFile = ( circuitJson: AnyCircuitElement[], @@ -15,6 +16,13 @@ export const downloadKiCadPcbFile = ( ? JSON.stringify(kicadPcbString) : kicadPcbString - const blob = new Blob([pcbContent], { type: "text/plain" }) - saveAs(blob, `${fileName}.kicad_pcb`) + const zip = new JSZip() + + // Add the PCB file content to the zip file + zip.file(`${fileName}.kicad_pcb`, pcbContent) + + // Generate the zip file and trigger download + zip.generateAsync({ type: "blob" }).then((content) => { + saveAs(content, `${fileName}.zip`) + }) } From c412542bad80c0de1fa13e37e64817b3888ae484 Mon Sep 17 00:00:00 2001 From: Anshgrover23 Date: Fri, 3 Jan 2025 22:42:28 +0530 Subject: [PATCH 4/6] change naming --- src/components/DownloadButtonAndMenu.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/DownloadButtonAndMenu.tsx b/src/components/DownloadButtonAndMenu.tsx index aaccfdc1..5e16b55b 100644 --- a/src/components/DownloadButtonAndMenu.tsx +++ b/src/components/DownloadButtonAndMenu.tsx @@ -111,14 +111,14 @@ export function DownloadButtonAndMenu({ onSelect={() => { downloadKiCadPcbFile( circuitJson, - snippetUnscopedName || "kicad_pcb", // Default file name for the KiCad PCB file + snippetUnscopedName || "kicad_project", ) }} > - Download KiCad PCB + Download KiCad Project - zip + kicad_*.zip From 30487f250498d5fb31a5538e926059fdc270f88c Mon Sep 17 00:00:00 2001 From: Anshgrover23 Date: Fri, 3 Jan 2025 22:51:50 +0530 Subject: [PATCH 5/6] fix type of file --- src/lib/download-fns/download-kicad-files.ts | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/lib/download-fns/download-kicad-files.ts b/src/lib/download-fns/download-kicad-files.ts index 1b437beb..aeae870c 100644 --- a/src/lib/download-fns/download-kicad-files.ts +++ b/src/lib/download-fns/download-kicad-files.ts @@ -7,22 +7,14 @@ export const downloadKiCadPcbFile = ( circuitJson: AnyCircuitElement[], fileName: string, ) => { - // Ensure the output is a string or BlobPart const kicadPcbString = convertCircuitJsonToKiCadPcb(circuitJson) - - // If the result is an object, convert it to a string const pcbContent = typeof kicadPcbString === "object" ? JSON.stringify(kicadPcbString) : kicadPcbString - const zip = new JSZip() - - // Add the PCB file content to the zip file zip.file(`${fileName}.kicad_pcb`, pcbContent) - - // Generate the zip file and trigger download zip.generateAsync({ type: "blob" }).then((content) => { - saveAs(content, `${fileName}.zip`) + saveAs(content, `${fileName}_kicad.zip`) }) } From 95c05024fa863dabefee0c29287075bc8ac1ac11 Mon Sep 17 00:00:00 2001 From: Anshgrover23 Date: Fri, 3 Jan 2025 23:52:13 +0530 Subject: [PATCH 6/6] change function name --- src/components/DownloadButtonAndMenu.tsx | 4 ++-- src/lib/download-fns/download-kicad-files.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/DownloadButtonAndMenu.tsx b/src/components/DownloadButtonAndMenu.tsx index 5e16b55b..e025c14f 100644 --- a/src/components/DownloadButtonAndMenu.tsx +++ b/src/components/DownloadButtonAndMenu.tsx @@ -12,7 +12,7 @@ import { downloadFabricationFiles } from "@/lib/download-fns/download-fabricatio import { downloadSchematicSvg } from "@/lib/download-fns/download-schematic-svg" import { downloadReadableNetlist } from "@/lib/download-fns/download-readable-netlist" import { downloadAssemblySvg } from "@/lib/download-fns/download-assembly-svg" -import { downloadKiCadPcbFile } from "@/lib/download-fns/download-kicad-files" +import { downloadKicadFiles } from "@/lib/download-fns/download-kicad-files" import { AnyCircuitElement } from "circuit-json" import { ChevronDown, Download } from "lucide-react" import React from "react" @@ -109,7 +109,7 @@ export function DownloadButtonAndMenu({ { - downloadKiCadPcbFile( + downloadKicadFiles( circuitJson, snippetUnscopedName || "kicad_project", ) diff --git a/src/lib/download-fns/download-kicad-files.ts b/src/lib/download-fns/download-kicad-files.ts index aeae870c..44e9dfa2 100644 --- a/src/lib/download-fns/download-kicad-files.ts +++ b/src/lib/download-fns/download-kicad-files.ts @@ -3,7 +3,7 @@ import { convertCircuitJsonToKiCadPcb } from "kicad-converter" import { AnyCircuitElement } from "circuit-json" import JSZip from "jszip" -export const downloadKiCadPcbFile = ( +export const downloadKicadFiles = ( circuitJson: AnyCircuitElement[], fileName: string, ) => {