KiCAD - plocha/procento medi na PCB

ruzne programy,konverze dat, digitalizace, atd...
lapa
medaile za lepsi forum
Příspěvky: 2889
Registrován: 6. 5. 2009, 7:18
Bydliště: Praha

7. 3. 2025, 5:06

Ahoj vespolek,
poradí někdo z KiCADařů, jak pro daný návrh PCB spočítat plochu, nebo procento mědi na dané desce?

Proč - leptám postaru v chloridu a ten má (udávanou) nějakou kapacitu mědi, kterou požere.

Od určité nasycenosti/vyčerpanosti leptá pomaleji a pomaleji ... až je to neúnosné jak časově, tak kvalitativně - vše v hobíkovských dimenzích.
Takže kdyby mi KiCAD spočetl, že tahle deska má tolik mědi k odleptání, tak bych to (vyčerpanost) mohl sledovat a nebylo by to tak empirické, jako dosud.

Ani manuál/help ani web/fóra KicADu mi nedaly odpověď, zda to KiCAD vůbec umí.

Díky za případné info.
Kostka těžko vysvětlí úsečce, natož bodu, že život má i jiné dimenze než má ten jejich ...
miv
Příspěvky: 1135
Registrován: 17. 9. 2019, 11:55

7. 3. 2025, 5:32

lapa píše: 7. 3. 2025, 5:06 Ahoj vespolek,
poradí někdo z KiCADařů, jak pro daný návrh PCB spočítat plochu, nebo procento mědi na dané desce?

Proč - leptám postaru v chloridu a ten má (udávanou) nějakou kapacitu mědi, kterou požere.

Od určité nasycenosti/vyčerpanosti leptá pomaleji a pomaleji ... až je to neúnosné jak časově, tak kvalitativně - vše v hobíkovských dimenzích.
Takže kdyby mi KiCAD spočetl, že tahle deska má tolik mědi k odleptání, tak bych to (vyčerpanost) mohl sledovat a nebylo by to tak empirické, jako dosud.

Ani manuál/help ani web/fóra KicADu mi nedaly odpověď, zda to KiCAD vůbec umí.

Díky za případné info.
Kicad používám velmi dlouho a uvedenou schopnost jsem neviděl. Sám Kicad to určitě neumí, ale možná existuje takový plugin. I když já jsem na nic takového nenarazil. Docela však pochybuji, protože většina si nechává dělat plošňáky externě. Za těch 10 dolarů se s tím trápit málokdo chce.
t256
Příspěvky: 2951
Registrován: 19. 1. 2012, 4:49

8. 3. 2025, 10:21

Nebude jednodussi pri leptani proste zapnout minutku? Az se bude cas blizit limitu ktery uznas za vhodne, proste ho vylijes. Nez pracne vest nejakou databazi s plochou.
lapa
medaile za lepsi forum
Příspěvky: 2889
Registrován: 6. 5. 2009, 7:18
Bydliště: Praha

9. 3. 2025, 1:53

t256 píše: 8. 3. 2025, 10:21 Nebude jednodussi pri leptani proste zapnout minutku? Az se bude cas blizit limitu ktery uznas za vhodne, proste ho vylijes. Nez pracne vest nejakou databazi s plochou.
Odpovidas na uplne neco jineho, nez jsem se ptal.
Samozrejme ze si hlidam dobu osvitu, dobu vyvolavani a prubezne sleduji proces/cas/teplotu leptani.
A co si chci nebo nechci vest, je moje vec - ostatne databaze a prace s daty je muj celozivotni job, tak proc to nepouzit :lol:.
Kostka těžko vysvětlí úsečce, natož bodu, že život má i jiné dimenze než má ten jejich ...
Uživatelský avatar
Thomeeque
Příspěvky: 9313
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

11. 3. 2025, 9:42

Umí to vyexportovat b&w obrázek desky? Pak by ti to spočetl nějaký grafický program.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Dawe
Příspěvky: 2858
Registrován: 8. 10. 2013, 6:18

12. 3. 2025, 6:16

Tyhle fce umi spis az lepsi Gerber viewery a editory. Pouzivam zofzPCB, ten ma ruzna net mereni, mozna i tohle, ale nejsem si ted jisty.
TOS S28, DIY CNC, Holzmann ZS-40HS, Prusa Mk3s+MMU2s, Bambu X1C Combo
pifko
Příspěvky: 61
Registrován: 9. 9. 2019, 10:57

12. 3. 2025, 6:37

Myslím, že by měla jít doprogramovat analýza, třeba v Pythonu. Můžu sem pak uvést kód, kdybys chtěl.
Uživatelský avatar
Thomeeque
Příspěvky: 9313
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

12. 3. 2025, 8:07

pifko píše: 12. 3. 2025, 6:37 Myslím, že by měla jít doprogramovat analýza, třeba v Pythonu. Můžu sem pak uvést kód, kdybys chtěl.
IMHO docela složitá úloha. Jak by to fungovalo? Co by to mělo na vstupu (gerber grafiku nebo už nějaký render)?
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
lapa
medaile za lepsi forum
Příspěvky: 2889
Registrován: 6. 5. 2009, 7:18
Bydliště: Praha

12. 3. 2025, 8:16

Tomiiik (sorry, tahle transkripce je kratsi nez ten tvuj anglicky tvar :) ):
Pouzivam zatim jen export do PDF a pak pres pauzak na DPS.
Tuhle verzi pres nejaky graficky SW jsem taky uvazoval, zatim neprozkoumal.

Dawe:
Na prvni rychly pohled to v nem zatim nevidim.

pifko:
To python udelatko vypada zajimave, ale to bys vytvorit musel zcela ty - ja o nem (Python) vim jen, ze existuje :).
Ostatne diskusi k tomu uz mozna zahajil Tomiiik.

Zatim diky za diskusi/namety.
Kostka těžko vysvětlí úsečce, natož bodu, že život má i jiné dimenze než má ten jejich ...
pifko
Příspěvky: 61
Registrován: 9. 9. 2019, 10:57

12. 3. 2025, 4:25

S přispěním AI. Následující kód se může spustit ve “Skriptovací konzoli” KiCADu (Tools > Scripting Console). Vypíší se celkové plochy (tracks and pads) na horní a spodní straně plošného spoje.

Kód: Vybrat vše

import pcbnew

def calculate_copper_area():
    pcb = pcbnew.GetBoard()  # Získání aktuálního PCB
    layers = [pcbnew.F_Cu, pcbnew.B_Cu]  # Přední a zadní měděná vrstva
    total_area = {layer: 0 for layer in layers}

    # Procházení všech prvků na PCB
    for item in pcb.GetDrawings():
        if item.GetLayer() in layers:
            total_area[item.GetLayer()] += item.GetArea()

    for module in pcb.GetFootprints():
        for pad in module.Pads():
            if pad.GetLayer() in layers:
                total_area[pad.GetLayer()] += pad.GetBoundingBox().GetArea()

    for track in pcb.GetTracks():
        if track.GetLayer() in layers:
            total_area[track.GetLayer()] += track.GetWidth() * track.GetLength()

    # Převod z nm² na mm² (1 nm² = 1e-12 mm²)
    nm2_to_mm2 = 1e-12

    # Výpis výsledků
    print("\n📏 **Celková plocha mědi na PCB:**")
    for layer, area in total_area.items():
        print(f"🔹 {pcbnew.LayerName(layer)}: {area * nm2_to_mm2:.2f} mm²")

# Spustí se, pouze pokud je skript spuštěn přímo
if __name__ == "__main__":
    calculate_copper_area()
Uživatelský avatar
Thomeeque
Příspěvky: 9313
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

12. 3. 2025, 5:03

To je ale poněkud nepřesné (napočítá to více mědi, než tam ve skutečnosti zbyde), protože ty prvky se často překrývají.

prekryv.png
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
lapa
medaile za lepsi forum
Příspěvky: 2889
Registrován: 6. 5. 2009, 7:18
Bydliště: Praha

13. 3. 2025, 8:47

pifko píše: 12. 3. 2025, 4:25 S přispěním AI. Následující kód se může spustit ve “Skriptovací konzoli” KiCADu (Tools > Scripting Console). Vypíší se celkové plochy (tracks and pads) na horní a spodní straně plošného spoje.
Jestli to je Pythoni kod, tak je nadherne citelny :).
Az vyzkousim, dam vedet, pripadne prubezne pozadam o konzultace.
Predbezne diky.
Kostka těžko vysvětlí úsečce, natož bodu, že život má i jiné dimenze než má ten jejich ...
lapa
medaile za lepsi forum
Příspěvky: 2889
Registrován: 6. 5. 2009, 7:18
Bydliště: Praha

13. 3. 2025, 10:48

pifko:
Da se rychle uplnemu Python zacatecnikovi poradit, jak to v te konzoli spustit?
Mam spusteny PCB Editor KiCADu, v nem otevreny navrh desky, z toho Editoru PCB pustena konzole (v cestine Nastroje -> Skriptovaci konzole), otevrene okno konzole (nazev okna KiCAD:PCBNEW - PythonShell - PyAlaMode 0.9.8), tam posledni radek s promptem >>>

* Zkusil jsem primo vlozit ten kod skriptu, nevim, jak spustit - nenasel jsem nic jako Run nebo podobne.
* Zkusil jsem ten kod skriptu ulozit jako soubor __main__.py (odvodil jsem asi spatne z poslednich 2 radku skriptu :lol:), soubor vzapeti otevrit a zase nic.

Tedy samozrejme vypisy o errorech, ale ty mi v tuto chvili nedavaji smysl.
Je mozne, ze neco delam z principu spatne a dobre mirena rada by to mozna razantne urychlila.

Rikam - totalni Python lama - lze rychle poradit nebo je to na delsi (samo)studium? Tomu se vubec nebranim.
Prosim tedy o rychle navedeni nebo pokyn "studuj, budes vedet" :lol: .

Dik.
Kostka těžko vysvětlí úsečce, natož bodu, že život má i jiné dimenze než má ten jejich ...
pifko
Příspěvky: 61
Registrován: 9. 9. 2019, 10:57

13. 3. 2025, 11:18

Není to úpně intuitivní, možná to jde nějak snadněji, ale já to dělám takhle:
Do nějakého adresáře uložím soubor s programem. Např. cu.py uložený do složky C:/Programy/Python/

Pak napsat jednotlivě na řádek toto (na konci řádku vždy enter)

Kód: Vybrat vše

import sys
sys.path.append("C:/Programy/Python/")
import cu
cu.calculate_copper_area()
lapa
medaile za lepsi forum
Příspěvky: 2889
Registrován: 6. 5. 2009, 7:18
Bydliště: Praha

13. 3. 2025, 11:25

pifko píše: 13. 3. 2025, 11:18 ...
Pak napsat jednotlivě na řádek toto (na konci řádku vždy enter)

Kód: Vybrat vše

import sys
sys.path.append("C:/Programy/Python/")
import cu
cu.calculate_copper_area()
Zkusim, ozvu se behem dne - ted mam neco vice akutniho :).
Moc diky.
Kostka těžko vysvětlí úsečce, natož bodu, že život má i jiné dimenze než má ten jejich ...
Odpovědět

Zpět na „Ostatní software“