Re: gEDA-user: new footprint guidelines
Steven Michalske wrote: As you guys continue to debate this... Look at how pcb makes the xyrs data files. You'll findout that it generates it from the pcb file not the library. It takes the center of the part from the pins and pads. Then it puts pin 1 somewhere consistent. See the source for details. Thank you - finding out this information is what I meant with I'll have to read, how the footprint coordinates and placement in the board influence the actual values. It would be interesting, whether a mark statement in the footprint is ignored as well and how the rotation is computed - can you hint me to the relevant source files please? ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Rick Collins wrote: At 05:34 PM 10/1/2010, you wrote: Rick Collins wrote: If for whatever reason the designer used 2 different footprints for the same part occuring several times on a board, if the footprints are position/rotation inconsisten... I have no idea why anyone would do that. Real world example: PhD student Foo designs some super noiseless detector circuit. The measurements turn out a success. Researcher Bar, a long time friend who works on some unrelated project, asks Foo for help to get him started on noiseless detector. PhD Foo gladly provides the schematic and layout. For his project Bar needs to add some minor features to the hardware. Of course, she uses a different local library than Foo ... Sure the designer can totally screw up a design. I wouldn't call this totally screwed. If you work on a design and use a different, incompatible library from the original without checking for consistency, yes, the designer totally screwed up. Again, yes and no: in our present state of standardization probably. But at least the designer didn't screw up alone: the guy who did much more is the library builder. That one is the person, responsible for conformance to standards in the first place. And that's our subject in the thread: new footprint guidelines - what is considered trusted fact in construction involving cooperation must be based on standards - and they evolve. There was a time, metric screws or Whitworth screws etc. didn't exist. Every supplier defined screw gages as he pleased and a designer, who didn't check, that the nuts fitted on the bolts, screwed it up. I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. Oh, I almost forgot, NEVER ask a PhD anything to design PCBs. What the heck are you thinking??? As I may go the route to PhD if I find the time and a worthwhile subject, I'm glad we are talking about this now, before I have started ;-) Btw. to achieve standard conformance, the gschem symbols of polar devices have to be checked/reworked as well. The best solution probably is, to explicitly attribute conformat libs and keep them under their own section on gedasymbols.org. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Kai-Martin Knaak wrote: I think registration marks help a lot. Attached you find my favourite mark, that regrettably can't be converted into a footprint, because it contains polygons. I converted it to a footprint anyway ;-) Nice work, thanks ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
At 08:24 AM 10/3/2010, you wrote: Rick Collins wrote: I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. You are making this way, way, WAY too complicated. Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Modifications to the main-menu of PCB
On 10/02/2010 07:35 PM, kai-martin knaak wrote: Yes, to fix this kind of inconsistency, only one application can keep its traditional key binding. The fix will break long standing habits of power users. Not always. I use a menu.res that makes gschem and pcb keys similar already :-) Other power users probably know how to use menu.res and can adapt their own key bindings to suit. John ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Rick Collins wrote: I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. This (planar, linear rigid body) transformation is just one word for translation plus rotation. Sorry, if this was PhD talk - I'm too used to it. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
Rick Collins wrote: At 08:24 AM 10/3/2010, you wrote: Rick Collins wrote: I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. Yes, what I see is what I get. And to see it, I have to read the source code of the CAD system, unless it's stated somewhere more accessible - like in a standard ;-) E.g., where is the centroid of a 3-leged part? Is it: a) the center of the bounding box of the pads b) the center of the bounding box of the pad centers c) the center of gravity of the pad centers (each weight 1) d) the center of gravity of the pad areas e) (0, 0) in the footprint definition file (or a designated vector inthere) ... That's what I need to know, before I can trust libraries and an XYRS files. Tbh, I'm not particularely happy, that this seems to be handled by some black magic withing 'pcb' instead of the library definitions. Armin ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
At 06:09 PM 10/3/2010, you wrote: Rick Collins wrote: At 08:24 AM 10/3/2010, you wrote: Rick Collins wrote: I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. Yes, what I see is what I get. And to see it, I have to read the source code of the CAD system, unless it's stated somewhere more accessible - like in a standard ;-) That's what you don't get. You don't need to know diddly about the CAD system. The CAD system will produce output files that match your layout as you have prepared it. If it does anything else, it is very broken. At most you might want to verify that the data in the XYRS file matches the Gerber files for a small number of representative parts. Why do you think you need to verify the results by reverse engineering the code??? That is the stuff I am talking about over thinking the problem. All you need to do is look at the output. E.g., where is the centroid of a 3-leged part? Is it: a) the center of the bounding box of the pads b) the center of the bounding box of the pad centers c) the center of gravity of the pad centers (each weight 1) d) the center of gravity of the pad areas e) (0, 0) in the footprint definition file (or a designated vector inthere) ... That's what I need to know, before I can trust libraries and an XYRS files. Tbh, I'm not particularely happy, that this seems to be handled by some black magic withing 'pcb' instead of the library definitions. When you find out what PCB does, a through e, what will that tell you? If you don't know what the standard is, how will you know if your design is correct? Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb-20100929 released
On 09/29/2010 11:58 PM, DJ Delorie wrote: If someone can get the mingw builds working again, I'd appreciate that - neither the win32/build_pcb script nor a fedora mingw cross compiler work for me. After porting pcb_spawnvp (in src/action.c) to Windows, it built fine on Ubuntu using my cross-compiler build script (minipack). I'll work on a patch. Fortunately, the Windows API already provides an implementation of spawnvp. Regards, Cesar ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
On Mon, Oct 04, 2010 at 12:09:22AM +0200, Armin Faltl wrote: Rick Collins wrote: At 08:24 AM 10/3/2010, you wrote: Rick Collins wrote: I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. Yes, what I see is what I get. And to see it, I have to read the source code of the CAD system, unless it's stated somewhere more accessible - like in a standard ;-) E.g., where is the centroid of a 3-leged part? Is it: a) the center of the bounding box of the pads b) the center of the bounding box of the pad centers c) the center of gravity of the pad centers (each weight 1) d) the center of gravity of the pad areas e) (0, 0) in the footprint definition file (or a designated vector inthere) Take as an example a SOT89 transistor like NXP's BCX52-16 (I've just used one in a recent design) and look at the recommended footprints: Package page: http://www.nxp.com/#/page/content=[f=/packages/SOT89.xml] Package drawing: http://www.nxp.com/documents/outline_drawing/sot089_po.pdf Reflow footprint: http://www.nxp.com/documents/reflow_soldering/sot089_fr.pdf I'm not sure what point a pick and place machine would like to use as centroid, probably the crossing of the two axes in the last drawing. This apparently rules out options b, c, and d, but seems to work with option a. I'm guessing here, but pick and place machine have to orientate the part very fast, so it is important that they pick the component from a principal axis of inertia. It is not always easy to determine where the axis lies when the component is asymmetric, which is frequent with power components. For another example, look a DPAK or D2PAK components (SOT404, SOT428, etc). I'm not even sure that they option a) would work, but it might be a good default, provided you can override it. Regards, Gabriel ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: new footprint guidelines
At 10:23 PM 10/3/2010, you wrote: On Mon, Oct 04, 2010 at 12:09:22AM +0200, Armin Faltl wrote: Rick Collins wrote: At 08:24 AM 10/3/2010, you wrote: Rick Collins wrote: I really have no idea how things work in the gEDA/PCB world. With FreePCB the library has a default orientation for parts and there is a centroid vector to allow the pin 1 orientation to be set compatibly with the Gerber files. If you use someone else's design you need to verify that their library parts were done correctly or you need to use the same footprints which are a part of the layout and so are available. There is no reason to screw up something as simple as this. How the Gerber file looks depends on the footprint definition. Once one knows *exactly* a) how the transformations work b) that all libraries/generators(/custom made footprints) conform to a sensible standard checking is as superfluous as with screw diameters and pitches and before that point I don't believe it's simple enough. I really don't know what you are talking about. The footprint will show up on your layout in some orientation. That is the orientation it will have on the board in the Gerber files. How will the transformations affect that? What you see is what you get. Yes, what I see is what I get. And to see it, I have to read the source code of the CAD system, unless it's stated somewhere more accessible - like in a standard ;-) E.g., where is the centroid of a 3-leged part? Is it: a) the center of the bounding box of the pads b) the center of the bounding box of the pad centers c) the center of gravity of the pad centers (each weight 1) d) the center of gravity of the pad areas e) (0, 0) in the footprint definition file (or a designated vector inthere) Take as an example a SOT89 transistor like NXP's BCX52-16 (I've just used one in a recent design) and look at the recommended footprints: Package page: http://www.nxp.com/#/page/content=[f=/packages/SOT89.xml] Package drawing: http://www.nxp.com/documents/outline_drawing/sot089_po.pdf Reflow footprint: http://www.nxp.com/documents/reflow_soldering/sot089_fr.pdf I'm not sure what point a pick and place machine would like to use as centroid, probably the crossing of the two axes in the last drawing. This apparently rules out options b, c, and d, but seems to work with option a. I'm guessing here, but pick and place machine have to orientate the part very fast, so it is important that they pick the component from a principal axis of inertia. It is not always easy to determine where the axis lies when the component is asymmetric, which is frequent with power components. For another example, look a DPAK or D2PAK components (SOT404, SOT428, etc). I'm not even sure that they option a) would work, but it might be a good default, provided you can override it. Pick and place machine operators don't want you to tell them how to pick a part. All they want from you is to tell them where on the board to put it. That is why the XYRS file uses the centroid and not the center of mass. The centroid is just the center of the extents of the part or the footprint. It doesn't matter if the part has one, two, three or three hundred pins. Just draw the outline of the entire part and find the center. There are some parts where this can be a bit tricky, but those would be some really odd asymmetric switches and the like. I know of no ICs that need anything more than a rectangular outline to find the centroid. I don't know why there is a need to reinvent PCB assembly. It is kept simple just because the more complex it is made, the less likely it will work right. Rick ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb-20100929 released
After porting pcb_spawnvp (in src/action.c) to Windows, it built fine on Ubuntu using my cross-compiler build script (minipack). I'll work on a patch. Fortunately, the Windows API already provides an implementation of spawnvp. Excellent! If you could put update the readme and built script for windows high on the priority list, it will save us much headache in the future. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user