Today i implement a new idea in the Pick&Place Plugin of the BRD Import eagle Widget. I had a big runout of my JOKI Nozzle, cuz you can’t screw this nozzle so accurate w/o runout. That’s most the point why the other Guys use the Camera vision, but this need extra camera, opencv with extra cpu power and so on.

My Idea, calculate and compensate the runout in the gcode. Ok, in case of a runout the center of nozzle describe a circle. We can calculate every point of this circle if we now the radius (i.e: 0.8mm/2) and the angle of component. Now we can say, move component to X:10 and Y:10, rotate to 90° and add the runout.

For experts, here the method to calculate point of a circle:

```
PointOnCircle(diameter, angel){
var point = {x:0, y:0};
if(diameter == 0)
return point;
if(angel == 0)
angel = 0.001;
var radius = diameter/2;
var r = angel*(Math.PI/180);
// Calculate point on circle
point.y = (radius*Math.cos(r));
point.x = (radius*Math.sin(r));
return point;
},
```