KiCAD - plocha/procento medi na PCB
-
lapa
- medaile za lepsi forum
- Příspěvky: 3152
- Registrován: 6. 5. 2009, 7:18
- Bydliště: Praha
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.
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: 1444
- Registrován: 17. 9. 2019, 11:55
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.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.
-
t256
- Příspěvky: 3029
- Registrován: 19. 1. 2012, 4:49
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: 3152
- Registrován: 6. 5. 2009, 7:18
- Bydliště: Praha
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
Kostka těžko vysvětlí úsečce, natož bodu, že život má i jiné dimenze než má ten jejich ...
-
Thomeeque
- Příspěvky: 9649
- Registrován: 30. 1. 2012, 10:20
- Bydliště: Mimo ČR
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: 3123
- Registrován: 8. 10. 2013, 6:18
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: 82
- Registrován: 9. 9. 2019, 10:57
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.
-
Thomeeque
- Příspěvky: 9649
- Registrován: 30. 1. 2012, 10:20
- Bydliště: Mimo ČR
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: 3152
- Registrován: 6. 5. 2009, 7:18
- Bydliště: Praha
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.
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: 82
- Registrován: 9. 9. 2019, 10:57
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()
-
Thomeeque
- Příspěvky: 9649
- Registrován: 30. 1. 2012, 10:20
- Bydliště: Mimo ČR
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í.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
-
lapa
- medaile za lepsi forum
- Příspěvky: 3152
- Registrován: 6. 5. 2009, 7:18
- Bydliště: Praha
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: 3152
- Registrován: 6. 5. 2009, 7:18
- Bydliště: Praha
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.
, 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
), 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"
.
Dik.
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.
* 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
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"
Dik.
Kostka těžko vysvětlí úsečce, natož bodu, že život má i jiné dimenze než má ten jejich ...
-
pifko
- Příspěvky: 82
- Registrován: 9. 9. 2019, 10:57
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)
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: 3152
- Registrován: 6. 5. 2009, 7:18
- Bydliště: Praha
Zkusim, ozvu se behem dne - ted mam neco vice akutnihopifko 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()
Moc diky.
Kostka těžko vysvětlí úsečce, natož bodu, že život má i jiné dimenze než má ten jejich ...