← Back to team overview

kicad-developers team mailing list archive

Re: Default Field names patch

 

On 06/14/2010 10:18 AM, Werner Almesberger wrote:
> Wayne Stambaugh wrote:
>   
>> I like being able to embed this information into my schematics.
>>     
> I'm still puzzled what you're doing where this approach wouldn't
> turn into a nightmare before too long :)
>
> Let's see. If you have multiple instances of the same component,
> let's say the ubiquitous 100 kOhm 5% resistor in your favourite
> package, you either need to copy the same set of fields over for
> each of them, or make a separate symbol for each set of resistor
> values you use.
>
> It gets worse. Distributors run out of such components all the
> time, even big ones like Digi-Key for seemingly trivial stuff
> like resistors. They still have of course several functionally
> identical parts from different manufacturers.
>
> If you can't afford to wait for the part to get restocked, you
> either have to change the distributor or the manufacturer. This
> means that you have to go back to your schematics and find and
> update all these fields with the new content, or, if you've
> chosen the one symbol per set of values approach, update the
> library and then update the components from the library.
>
> Same thing when a manufacturer obsoletes and replaces a part.
> Idem, when they merge/get bought/split/joint venture/reform and
> rename their universe. E.g., some parts went Philips -> NXP ->
> ST -> ST Ericsson -> extinction within three or four years.
>
> Do such things just never happen to your projects or is there an
> elegant way to deal with them that I've missed ?
>   


You seem to be especially concerned about a manufacturer field within
the symbol becoming obsolete.
I see your concern, and share it.

We may have to augment the BOM generator to help with an elegant
solution.  I know you have done some work there, and so have I.  These
works are not currently part of Kicad.

But for the mean time WRT template fieldnames, you are not required to
add a "Manufacturer" field to your template fieldnames.   Remember, we
have had user defined fieldnames for a long time, several years.  This
was originally a fixed number, then an unlimited number when I extended
them about 18 months ago.  Now all we are talking about is simplifying
the naming of those user defined fieldnames.  Think of this as a typing
saver and a consistency enforcer on top of *what we already have*.

Nothing I am doing here prevents enhancements to the BOM generator, and
it should be clear that work on that could be very useful to everyone. 
My thoughts on the BOM generator are not crystallized, I have not even
studied the current code in detail.  But at first glance it seems to be
blending in more than just a shopping list creator, which in my mind is
what a BOM generator should be first and foremost.   The BOM generator
should not be a cross reference generator, but a BOM generator does not
preclude a crossreferencer existing elsewhere.   The BOM generator I
wrote in Java creates a nice shopping list, nothing more.   It is
certain that we need a lot more discussion about the BOM generator over
the long term.  Maybe I should just fix the known bug, and not assume I
have all the answers already on the BOM enhancements.  I do not.


One idea is that the BOM generator could maybe take a CSV file as INPUT,
and the CSV file would map symbol value to manufacturer, vendor, and
maybe price.


Attached is a sample output from my Java based BOM generator.  The trick
I used here is to only define the Manufacturer/Vendor once *per
schematic* (the library is not involved).  The collating pass merges all
components sharing the same value.


Dick



Item,Qty,Reference,Value,Footprint,Sheet,Manufacturer,Vendor,Installed
,,C1,0.1uF,SM0402,,TAIYO YUDEN TMK105BJ104KV-F,Newark 93K5517,
,,C2,0.1uF,,,,,
,,C3,0.1uF,,,,,
,,C4,0.1uF,,,,,
,,C5,0.1uF,,,,,
,,C6,0.1uF,,,,,
,,C7,0.1uF,,,,,
,,C8,0.1uF,,,,,
,,C9,0.1uF,,,,,
,,C10,0.1uF,,,,,
,,C11,0.1uF,,,,,
,,C12,0.1uF,,,,,
,,C13,0.1uF,,,,,
,,C14,0.1uF,,,,,
,,C15,0.1uF,,,,,
,,C16,0.1uF,,,,,
,,C17,0.1uF,,,,,
,,C18,0.1uF,,,,,
,,C19,0.1uF,,,,,
,,C20,0.1uF,,,,,
,,C21,0.1uF,,,,,
,,C22,0.1uF,,,,,
,,C23,0.1uF,,,,,
,,C24,0.1uF,,,,,
,,C25,0.1uF,,,,,
,,C26,0.1uF,,,,,
,,C27,0.1uF,,,,,
,,C28,0.1uF,,,,,
,,C29,0.1uF,,,,,
,,C30,0.1uF,,,,,
,,C31,0.1uF,,,,,
,,C32,0.1uF,,,,,
,,C33,0.1uF,,,,,
,,C34,0.1uF,,,,,
,,C35,0.1uF,,,,,
,,C36,0.1uF,,,,,
,,C37,0.1uF,,,,,
,,C38,0.1uF,,,,,
,,C39,0.1uF,,,,,
,,C40,0.1uF,,,,,
,,C41,0.1uF,,,,,
,,C42,0.1uF,,,,,
,,C43,0.1uF,,,,,
,,C44,0.1uF,,,,,
,,C45,0.1uF,,,,,
,,C46,0.1uF,,,,,
,,C47,0.1uF,,,,,
,,C48,0.1uF,,,,,
,,C49,0.1uF,,,,,
,,C50,0.1uF,,,,,
,,C51,0.1uF,,,,,
,,C52,0.1uF,,,,,
,,C53,0.1uF,,,,,
,,C54,0.1uF,,,,,
,,C55,0.1uF,,,,,
,,C56,0.1uF,,,,,
,,C57,0.1uF,,,,,
,,C58,0.1uF,,,,,
,,C59,0.1uF,,,,,
,,C60,0.1uF,,,,,
,,RP5,100 each,,,Yageo TC164-JR-07100RL,Digikey TC164J-100CT-ND,
,,RP6,100 each,,,,,
,,RP7,100 each,,,,,
,,RP8,100 each,,,,,
,,RP9,100 each,,,,,
,,RP10,100 each,,,,,
,,RP11,100 each,,,,,
,,RP19,100 each,,,,,
,,RP20,100 each,,,,,
,,RP21,100 each,,,,,
,,RP22,100 each,,,,,
,,RP23,100 each,,,,,
,,RP24,100 each,,,,,
,,RP25,100 each,,,,,
,,RP33,100 each,,,,,
,,RP34,100 each,,,,,
,,RP35,100 each,,,,,
,,RP36,100 each,,,,,
,,RP37,100 each,,,,,
,,RP38,100 each,,,,,
,,RP39,100 each,,,,,
,,RP47,100 each,,,,,
,,RP48,100 each,,,,,
,,RP49,100 each,,,,,
,,RP50,100 each,,,,,
,,RP51,100 each,,,,,
,,RP52,100 each,,,,,
,,RP53,100 each,,,,,
,,RP1,2.2k each,,,Yageo TC164-JR-072K2L,Digikey TC164J-2.2KCT-ND,
,,RP2,2.2k each,,,,,
,,RP3,2.2k each,,,,,
,,RP4,2.2k each,,,,,
,,RP12,2.2k each,,,,,
,,RP13,2.2k each,,,,,
,,RP14,2.2k each,,,,,
,,RP15,2.2k each,,,,,
,,RP16,2.2k each,,,,,
,,RP17,2.2k each,,,,,
,,RP18,2.2k each,,,,,
,,RP26,2.2k each,,,,,
,,RP27,2.2k each,,,,,
,,RP28,2.2k each,,,,,
,,RP29,2.2k each,,,,,
,,RP30,2.2k each,,,,,
,,RP31,2.2k each,,,,,
,,RP32,2.2k each,,,,,
,,RP40,2.2k each,,,,,
,,RP41,2.2k each,,,,,
,,RP42,2.2k each,,,,,
,,RP43,2.2k each,,,,,
,,RP44,2.2k each,,,,,
,,RP45,2.2k each,,,,,
,,RP46,2.2k each,,,,,
,,RP54,2.2k each,,,,,
,,RP55,2.2k each,,,,,
,,RP56,2.2k each,,,,,
,,R1,2ohm 1/2W,SM1210,,KOA Speer RK73B2ETTD2R0J,Mouser 660-RK73B2ETTD2R0J,
,,R3,2ohm 1/2W,,,,,
,,R5,2ohm 1/2W,,,,,
,,R7,2ohm 1/2W,,,,,
,,R2,2ohm 1/2W,,,,,NU
,,R4,2ohm 1/2W,,,,,NU
,,R6,2ohm 1/2W,,,,,NU
,,R8,2ohm 1/2W,,,,,NU
,,JP1,HEADER_20X2,PIN_ARRAY_20X2,TLW_TH.pdf,Samtec MTLW-120-08-G-D-410,,
,,P1,HIROSE50,,localports_connectors.pdf,3M's   10250-6212PC,Digikey 3M1827-ND,
,,P2,HIROSE50,,,,,
,,P3,HIROSE50,,,,,
,,P4,HIROSE50,,,,,
,,U1,SN74LVC16T245DGGR,,sn74lvc16t245.pdf,Texas Instruments SN74LVC16T245DGGR,Digikey 296-20631-1-ND,
,,U2,SN74LVC16T245DGGR,,,,,
,,U3,SN74LVC16T245DGGR,,,,,
,,U4,SN74LVC16T245DGGR,,,,,
,,U5,SN74LVC16T245DGGR,,,,,
,,U6,SN74LVC16T245DGGR,,,,,
,,U7,SN74LVC16T245DGGR,,,,,
,,U8,SN74LVC16T245DGGR,,,,,



Collated

Item,Qty,Reference,Value,Footprint,Sheet,Manufacturer,Vendor,Installed
1,60,"C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C27,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39,C40,C41,C42,C43,C44,C45,C46,C47,C48,C49,C50,C51,C52,C53,C54,C55,C56,C57,C58,C59,C60",0.1uF,SM0402,,TAIYO YUDEN TMK105BJ104KV-F,Newark 93K5517,
2,28,"RP5,RP6,RP7,RP8,RP9,RP10,RP11,RP19,RP20,RP21,RP22,RP23,RP24,RP25,RP33,RP34,RP35,RP36,RP37,RP38,RP39,RP47,RP48,RP49,RP50,RP51,RP52,RP53",100 each,,,Yageo TC164-JR-07100RL,Digikey TC164J-100CT-ND,
3,28,"RP1,RP2,RP3,RP4,RP12,RP13,RP14,RP15,RP16,RP17,RP18,RP26,RP27,RP28,RP29,RP30,RP31,RP32,RP40,RP41,RP42,RP43,RP44,RP45,RP46,RP54,RP55,RP56",2.2k each,,,Yageo TC164-JR-072K2L,Digikey TC164J-2.2KCT-ND,
4,4,"R1,R3,R5,R7",2ohm 1/2W,SM1210,,KOA Speer RK73B2ETTD2R0J,Mouser 660-RK73B2ETTD2R0J,
5,4,"R2,R4,R6,R8",2ohm 1/2W,,,,,NU
6,1,JP1,HEADER_20X2,PIN_ARRAY_20X2,TLW_TH.pdf,Samtec MTLW-120-08-G-D-410,,
7,4,"P1,P2,P3,P4",HIROSE50,,localports_connectors.pdf,3M's   10250-6212PC,Digikey 3M1827-ND,
8,8,"U1,U2,U3,U4,U5,U6,U7,U8",SN74LVC16T245DGGR,,sn74lvc16t245.pdf,Texas Instruments SN74LVC16T245DGGR,Digikey 296-20631-1-ND,

Follow ups

References