I'm very much looking forward to trying out lilbro when the are up and running. Comments below. -dave
John Griessen wrote: > lilbro.mosquito.net.nz is starting a low volume assembly business and they > are choosing > software to deal with relating solder paste dots and pick and place centroids > to > gerber output that made the boards they are assembling. > > Could gerbv be modified to generate lists of pads after finding where silk > outline intersects > or encloses soldermask openings? If all you need is a list of pads, can't that come from a paste layer? I don't see how the silk adds anything to that part of the problem. It seems like the paste layer should be enough to calculate an aperture center and an area, and area can go into a calculation of paste volume. > > Where silk outline intersects or encloses soldermask openings seems to me to > be > the minimal description of recognizing a footprint. > > They won't have anything but gerbers from most customers. Nasty. But reality. As we think about gerber kludgery, we should think about how to get pcb to generate the same (presumably higher quality) data in the same format so that it could slipstream into the process that way. > That means there is no netlist associated, no pin 1 defined, only a mark on > one corner of the silk outline > that you have to "see" somehow. Well.... now the library problem has collided with a computer vision problem. I'm guessing that any particular vendor library, say Eagle for example, is pretty consistent. Of course, all of us PCB users have our own library :) So, I see two attacks: A. From lilbro's perspective, they want to recognize as much as possible from the most commonly used libraries. So prioritize and code recognizers. B. From the perspective of a home-grown library user, just tell me what you can easily recognize and I'll tweak my silks. Actually, anybody should be able to add a simple silk mark, no matter what package they use. I think it's possible to sell the idea of doing a little extra silk work to trade off against tweezer time. I'm sold already. :) > > I can see a program that uses top copper Why top copper? Doesn't it contain a lot of distractions? > and top silk and top soldermask and no others. > > to do list for centroid program: > 1. Uses silk and soldermask to mostly identify which SMT pads are a group Using a closed-figure detector, I presume? > 2. Figures out the orientation. (Has to come from silk -- varies from > footprint to footprint, > and varies from customer to customer.) This is the hard part. > the circuit pin numbers and orientation is gone when in gerber > format. > Not sure how to do. I wonder how far you could get by simply looking for asymmetry? ie: a. vaguely rectangular b. Three straight sides c. one side has a discontinuity in the line, perhaps filled with an arc. That sounds like an SO or TSSOP. a. vaguely square b. 5 sides, would be square but for one corner being nicked at an angle. This sounds like a TQFP. Those packages seem easy.... but I bet there is a large variation in SMT diode silk. Most two-pad parts aren't polarized, so it doesn't matter. > > 3. Update the XY centroid list to also have a footprint name associated. Where would you get the footprint name? > 4. creates list of footprint XY pad centers relative to the centroid for > same footprint. > 5. Uses rules to change some rows of centers, (paste dots), to offset > lines of paste. > 5. creates a footprint drawing for each one found with exact pad shapes, > orientation, but no silk outline. > Would this be in gerber? What would help to do fuzzy comparisons? > > Ideas? Well, my general admonition about most CAD and AI programs is this: The world would be a better place if all AI applications, instead of trying to do everything automatically and leaving you with a mess when they can't, is to instead create an intelligent interactive assistant. So, I think this should be a GUI application (gerbv interactive plugin?????) that takes it's best shot at automatically processing things, and then lets you adjust interactively. So I can see having a "rotate" tool for places where the tool gets the pad collection and centroid right, but rotates the package by 90 or 180 degrees. And a centroid tweaker, and a paste location and volume tweaker tool. So now the user interaction becomes: 1) slurp in the gerber file 2) run the auto-recognizer 3) visually scan the layout, applying tweaks as necessary 4) write the paste CAM file. > > John Griessen -dave _______________________________________________ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user