KiCAD - plocha/procento medi na PCB
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 ...
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.
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 ...
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
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 ...
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()
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 ...
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 ...
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()
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 ...