Skip to Content

Vibe Coding in Practice

The end of the myth of expensive automation?
February 9, 2026 by
Vibe Coding in Practice
LRO PORTAL, Lubos RODANIC

Vibe Coding in Practice

The end of the myth of expensive automation?

Vibe Coding pracovisko inžiniera CAD a AI

1. A trip down memory lane: When code was hard-won

It has been a few years since I worked on complex automation for a major Slovak manufacturer. The goal was clear: automated drawing of cast-in-place concrete ceilings in BricsCAD. Beams, blocks, steel reinforcements, plus reporting and a custom project manager. Later, more stages were added—a configurator for paving layouts or fence designs with automatic bill of materials. Beautiful projects that required hours of deep focus.


To this day, I remember the feedback from one of the designers after deploying these tools:
"Tasks on a project that normally took me an hour and a half, I can now finish in 10 minutes. And that’s not even mentioning the elimination of errors in manual parts list calculations."

René Š.
Technical office

2. Engineering pride: Paper, pencil, and vectors

Back then, I needed one seemingly trivial thing: to determine if a selected point is located inside a closed polyline. Although this is a crucial operation in CAD development, you would have looked for it in the basic API in vain at that time.

I scoured all the developer forums and discussions. Proposed algorithms using vertex angles failed occasionally, so it was time for a paper and pencil. I love vectors, so I built my own method. I combined the IntersectWith function with direction comparison to the returned points. I optimized the calculation first in the main X and Y axes, and only in the case of an ambiguous result did a line between the vertices take over. I admit, it took me hours. But I was proud—I had created my own function that I later used in every subsequent project. Here is its essence: 

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. The twist: When theory meets reality

Then came a break from programming, a transition to ERP systems, and other challenges. Today, we hear about AI from all sides—how it will affect us, how it will change the world. I am a practical person and I don't like to theorize. I live by the motto "trust, but verify."

I installed BricsCAD, activated GitHub Copilot, and asked it for an add-in skeleton. A new pull request immediately popped up on GitHub. I committed and asked for the same function—Point in Polygon. I ran the tests. It worked. Cleanly, safely, and in a matter of minutes.

Just for interest, the foundations of this method (Ray Casting) were laid by Arthur Appel as early as 1968. Back then, it took me days; today, AI "pulls it out of its sleeve."

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;
}

Visualized result of the function:

4. Vibe Coding: A new era of development

The world has changed. Today, I no longer have to spend hundreds of hours studying every dot in the API documentation. Today, it is more important to be a skilled operator. A person who knows the possibilities, possesses engineering logic, and knows how to correctly guide the AI toward the goal.

This is Vibe Coding. Technology is no longer a barrier but an accelerator of an idea. The engineering "vibe" and understanding the problem are now more important than knowing the syntax by heart.


Lubos RODANIC


Ing. Lubos RODANIC

I am convinced that this approach changes the rules of the game and brings back the joy of creation. Tools and add-ins that save real time—not just for designers and engineers, but for a wide spectrum of positions—can now be built more efficiently than ever before. The path leads through the connection of honest engineering logic with the modern power of AI.

Completely new challenges are opening up where these skills can be fully utilized. If you are looking for a way to bridge the world of CAD, DMS, or ERP systems with modern AI automation and are looking for a partner for discussion about these solutions, do not hesitate to get in touch.

Kontaktujte ma

Sociálne média




Two Worlds, One Story
About the Scent of Wood and the Memory of Hands