I would like to write a VB program that would write GCode to cut a Silhoutte ( I don't know how to spell Silhoutte) from a digital photo. Please don't suggest buying software to do this. I built JGRO's router. SWMBO (for yall who still don't know what that is She Who Must Be Obeyed) does not share nor appreciate my enthusiasm for the CNC router. She says we need new carpet, the bathroom remodeled, and our 30 year old oven replaced. And in fairness to her the router has not done much more than take up space in my already cluttered wood working shop.

I have some expericnce in VB. I have written extensive applications in MSAccess which uses VBA. I have a program that was free on the internet that does a good job of edge detection and the person who wrote it was good enough to allow public access to the source code. The way the program works is after determining the width in x pixels and the height in y pixel it starts at X1 and moves across the entire photo one x pixel at a time. At each x pixel it moves up the y pixels for the entire height of the photo. If a pixel need to be turned on it does it. I can capture the xy position of those turned on pixels. The big problem is that they are far from cnc order. I have begun to try to figure out an algorythm to compute the logical order for cutting and write the Gcode. I would assume that each pixel is a unit. Of course it would have to be scaled down drastically. It seems that there are seven possible positions (9 minus present and last positions) for the next point. This seems relatively simple but there are times when I have seen gaps when zooming in on the edge detection and I have have seen multiple lines. I can imagine the program hanging up looking for a nonexistant point or going back and forth between multiple lines. I have not really started on this project and very possibly might never. I would just like to hear some ideas from others if you would be willing to share.