Vibe Coding v praxi
Koniec mýtov o drahej automatizácii?

1. Návrat do minulosti: Keď bol kód vybojovaný
Je to už nejaký ten rok, čo som pracoval na komplexnej automatizácii pre významného slovenského výrobcu. Cieľ bol jasný: automatizované vykresľovanie betónových liatych stropov v BricsCADe. Nosníky, tvárnice, oceľové výstuže, k tomu reporting a vlastný projekt manažér. Neskôr pribudli ďalšie etapy – konfigurátor pre pokládku dlažieb či návrh plotov s automatickým prekladaním. Krásne projekty, ktoré si vyžadovali hodiny sústredenia.
Dodnes mi v pamäti rezonuje spätná väzba od jedného z projektantov po nasadení týchto nástrojov:
" Práce na projekte, ktoré mi štandardne trvali hodinu a pol, teraz zvládnem za 10 minút. A to nehovorím o eliminácii chýb pri manuálnych prepočtoch kusovníkov. "![]()
2. Inžinierska hrdosť: Papier, ceruzka a vektory
Vtedy som potreboval jednu úplne banálnu vec: zistiť, či sa vybraný bod nachádza vo vnútri uzavretej lomené čiary (polyline). Hoci je to v CAD vývoji kľúčová operácia, v základnom API by ste ju vtedy hľadali márne.
Prešiel som všetky vývojárske fóra a diskusie. Navrhované algoritmy s uhlami vrcholov (vertices) občas zlyhali, a tak prišiel na rad papier a ceruzka. Milujem vektory, tak som si vyskladal vlastnú metódu. Skombinoval som funkciu IntersectWith s porovnávaním smerov k vráteným bodom. Výpočet som optimalizoval najprv v hlavných osiach X a Y, a až pri nejednoznačnom výsledku nastúpila priamka medzi vrcholmi. Priznávam, zabralo mi to hodiny. Bol som však hrdý – vytvoril som vlastnú funkciu, ktorú som neskôr používal v každom ďalšom projekte. Tu je jej podstata:
for (int i = 0; i < pline.NumberOfVertices; i++)
{
Line xline = new Line(insPoint, pline.GetPoint3dAt(i));
Point3dCollection ptss = new Point3dCollection();
xline.IntersectWith(pline, Intersect.ExtendBoth, ptss, IntPtr.Zero, IntPtr.Zero);
if (ptss.Count == 2)
{
if (insPoint.GetVectorTo(ptss[0]).GetNormal() != insPoint.GetVectorTo(ptss[1]).GetNormal())
{
inside = true;
break;
}
}
}
3. Zvrat: Keď teória narazí na realitu
Potom prišla pauza od programovania, prechod k ERP systémom a iné výzvy. Dnes zo všetkých strán počúvame o AI – ako nás ovplyvní, ako zmení svet. Som praktický človek a nerád teoretizujem. Riadim sa heslom „dôveruj, ale preveruj“.
Nainštaloval som si BricsCAD, aktivoval GitHub Copilot a požiadal ho o kostru add-inu. Na GitHube mi okamžite pípol nový pull request. Commitujem a pýtam sa na tú istú funkciu – Point in Polygon. Spúšťam testy. Funguje. Čisto, bezpečne a za pár minút.
Len pre zaujímavosť, základy tejto metódy (Ray Casting) položil Arthur Appel už v roku 1968. Mne vtedy trvala dni, AI ju dnes „vysype z rukáva“.
public static bool IsPointInPolygon(Polyline pline, Point3d pt)
{
int nvert = pline.NumberOfVertices;
bool inside = false;
// Prechádzame všetky segmenty polyliny
for (int i = 0, j = nvert - 1; i < nvert; j = i++)
{
// Získame súradnice dvoch susedných vrcholov
Point2d vertI = pline.GetPoint2dAt(i);
Point2d vertJ = pline.GetPoint2dAt(j);
// Algoritmus lúča:
// Kontrolujeme, či lúč prechádza medzi Y-ovými súradnicami bodov
// A zároveň, či bod leží naľavo od priesečníka lúča s hranou
if (((vertI.Y > pt.Y) != (vertJ.Y > pt.Y)) &&
(pt.X < (vertJ.X - vertI.X) * (pt.Y - vertI.Y) / (vertJ.Y - vertI.Y) + vertI.X))
{
inside = !inside;
}
}
return inside;
}
Výsledok funkcie pre lepšiu predstavu:
4. Vibe Coding: Nová éra vývoja
Svet sa zmenil. Dnes už nemusím stráviť stovky hodín študovaním každej bodky v API dokumentácii. Dnes je dôležitejšie byť šikovným operátorom. Človekom, ktorý pozná možnosti, má inžiniersku logiku a vie AI správne naviesť k cieľu.
Toto je Vibe Coding. Technológia už nie je prekážkou, ale akcelerátorom myšlienky. Inžiniersky „vibe“ a pochopenie problému sú teraz dôležitejšie než znalosť syntaxe naspamäť.
Ing. Ľuboš RODANIČ
Som o tom presvedčený, tento prístup mení pravidlá hry a vracia radosť z tvorby. Nástroje a add-iny, ktoré reálne šetria čas nielen projektantom a konštruktérom, ale širokému spektru pozícií, sa dnes dajú stavať efektívnejšie než kedykoľvek predtým. Cesta vedie cez spojenie poctivej inžinierskej logiky s modernou silou AI.
Otvárajú sa úplne nové výzvy, kde sa tieto schopnosti dajú naplno využiť. Ak hľadáte spôsob, ako premostiť svet CADu, DMS či ERP systémov s modernou AI automatizáciou a hľadáte partnera do diskusie o týchto riešeniach, neváhajte sa ozvať.

