Aside from the “Hmm, am I sure that I can purchase a resistor in 402?” comment… Let’s say that I didn’t find it (I mean, when you think about it, maybe you realize at a later time that you needed a 0.01% tolerance, or maybe a 10W-rated resistor, so that perhaps you will not find it in 402).
So, how is that a problem? I mean: how is this a problem different than the one you have when a symbol does not have a footprint? When you finally decide which part you need, you have to change the footprint: you either change it from 402 to, say TO-220, or you change it from “empty” to TO-220. How was that different? (plus, this is an unlikely occurrence: if you chose a 402 up-front, it is probably because it wasn’t a 10W resistor or whatever resistor that you’ll only find in TO-220; so, it is most-likely that you will find it in the package that you specified initially).
Me and Rene found out at the same time that there’s the wiki option which can be pressed by accident if the poster opens the extra options. No, probably not a bug.
Yeah, figured that much but I’d have thought that you needed to be a moderator. I guess it’s a handy feature in some circumstances but accidentally being able to give others the ability to edit your posting is a little worrisome. Not a lot, but a little.
Okay, I should have been more clear by adding one more word. Are you 100% certain that you can purchase that parts specifications in that package?
It seems that your project design uses very little current along all of the circuit paths and requires very little thermal dissipation for the vast majority of parts.
My current project has several different current paths and vastly different required minimum trace widths. Out of curiosity I asked the question quoted above.
I’d like to use smaller parts, but Iv’e got this strange sense that those smaller parts would let the smoke out in milliseconds.
This happens to be true, but doesn’t change anything. Versatility is the strength of KiCad. I can have genreric R symbol without a footprint association and then R_0402 with a footprint. In any case I can change the footprint later, and @cal-linux already explained the logic well.
From the standpoint of my workflow the difference between non-fully defined and fully-defined part is this: Either I choose the symbol with the footprint right away, or I make an extra step to attach the footprint. It has become quite clear to me that it’s more convenient to have the common combinations predefined.
Resistors really are a bad example for fully specified as most users will probably use something that is not quite fully specified. (example one symbol per footprint but without bom info) But even with them there is no guarantee that one can buy it in the footprint selected without doing the legwork no matter which workflow one uses. (The difference is at which point in the design process do i need to make the selection. And what do i need to do to change my decision.)
The true power of fully specified shows itself with complex parts like integrated circuits. Here you really have the benefit of being sure that the correct footprint is assigned to the symbol and that the BOM information is accurate. So in that case the argument made by @Sprig actually turns around as it is much more guaranteed that the fully specified symbol represents something that one can buy than any generic one could ever do.
Just to clarify: What counts as fully specified highly dependend on the users needs. For example BOM information can be as little as using the part number as the symbol name (like is done in the official library)
But yes your R_0402 is not quite fully specified by any definition. It would at least require defining the value field (assuming tolerance and voltage specification are set “globally”. Power rating is indirectly set with part size.) I however feel your use of this workflow is quite reasonable as you only need to enter the value field in the schematic and have a fully specified part as an end result.
For caps i would argue it is a bit harder as not every specification pairing can be reached with the same package size. This is the downside of using not quite fully specified symbols. One then really needs to fill out the rest of the specification at the instance of placing the symbol as it is otherwise easy to have invalid specification combination (One needs to check which size one needs for the given specification. So it makes sense to document these specifications that resulted in the selection of the given size. If at a later stage the specification changes then one needs to check if the same package can still be used. This is the same for any workflow.)