← Back to team overview

kicad-developers team mailing list archive

Re: [RFQ] - Do Not Fit

 

Just a reminder, we already have a properties token for key/value pairs.
 Key/value pairs are provided for use by third party tools and are not
used internally.  All internal functionality must be implement as valid
file tokens.  Also keep in mind that one of the goals of kicad file
formats is to be as human readable as possible without being overly
verbose.  In this case "dnp" is not very readable.  The default
assumption should be to populate a footprint so dnp would only be used
when not populating a footprint.

Cheers,

Wayne

On 11/25/2018 11:20 AM, Jon Evans wrote:
> Along these lines, we should probably figure out what
> attributes/properties KiCad should store as rigidly-defined fields/data
> members rather than a more flexible (key/value) system. 
> 
> From what I can tell, some of the commercial EDA software I have used
> treats almost everything as an "attribute" in that everything is stored
> the same way (probably as a K-V map internally), and some things just
> can't be deleted. There are certain advantages here: you can display a
> table of all item properties and update them together. I know we have a
> properties editor already, but it would be nice if *all* properties were
> editable in a table view, not just the "user" ones. 
> 
> -Jon
> 
> 
> On Sun, Nov 25, 2018, 08:11 Jeff Young <jeff@xxxxxxxxx
> <mailto:jeff@xxxxxxxxx> wrote:
> 
>     Hi Oliver,
> 
>     I think we need to fit this in with the existing PCBNew Attributes
>     stuff (“attr” in the file format).  We currently have through-hole,
>     SMD and virtual (the later being similar to DNF/DNP), but a lot of
>     folks have found that too limiting for various reasons.  I suspect
>     this means we need user-defined attributes, but I’m not sure how
>     many “system-defined” ones we’d also want to support.
> 
>     Allowing advance specification of the attributes in Eeschema would
>     be a nice enhancement.  But due to file format changes (on at least
>     the PCBNew side) it would have to wait for 6.0.
> 
>     Cheers,
>     Jeff.
> 
> 
>>     On 25 Nov 2018, at 04:38, Oliver Walters
>>     <oliver.henry.walters@xxxxxxxxx
>>     <mailto:oliver.henry.walters@xxxxxxxxx>> wrote:
>>
>>     A feature I feel has been missing from KiCad is the ability to
>>     mark parts as "DNF" (Do Not Fit) so they are excluded from
>>     assembly files (BoM / PnP / etc).
>>
>>     Many of the existing BoM tools (including mine) offer "hacks" to
>>     get around this shortfall by having a special field assigned to
>>     each component, for example.
>>
>>     I have a branch working towards such functionality and am looking
>>     for some feedback.
>>
>>     I consider this preliminary work towards full support of assembly
>>     variants. However this will need to wait until the new file format
>>     to be properly implemented. So for now, only DNF status is presented.
>>
>>     Here are the features I have implemented so far:
>>
>>     *A. Schematic components can be marked as "DNF" *
>>
>>     A new checkbox in the component editor allows part fit to be
>>     deselected. By default all components are selected. (UI placement
>>     not final, just for demonstration).
>>
>>     <image.png>
>>
>>     Note that when rendered in the schematic, DNF parts are denoted by
>>     appended text after the RefDes field.
>>
>>     Altium denotes DNF parts with a large red cross - I think that
>>     greying out DNF parts would look quite nice.
>>
>>     *B. DNF part status is saved in the .sch schematic file*
>>
>>     If a part is DNF , then the component line in the .sch file is
>>     appended:
>>
>>     <image.png>
>>
>>     Parts which *are* fitted do not get updated - to reduce file changes.
>>
>>     As far as I can tell, this file change is fully backwards and
>>     forwards compatible. Old versions can open the file and simply
>>     ignore the DNF parameter. So perhaps this can be pushed into
>>     production before 6.x branch as it won't break any schematics.
>>
>>     *C. Fitment status saved in exported netlist file*
>>     *
>>     *
>>     The fitment status of each component is saved to the exported
>>     netlist file.
>>
>>     <image.png>
>>
>>     So all this at least allows fit / DNF status to appear to the BOM
>>     tools.
>>
>>     What's left?
>>
>>     *1. PCBNEW*
>>     *
>>     *
>>     DNF status should be pushed to PCBEW, because:
>>
>>       * Don't show 3D models for parts which are marked as DNF
>>       * Don't export DNF parts to the PnP files
>>       * (Eventually) ability to switch between assembly variants in PCBNEW
>>
>>     However, this would require a file format change to the .kicad_pcb
>>     file, and this does not have the same opportunity for version
>>     compatibility that the simpler .sch files do.
>>
>>     I can make this happen, but I'm guessing it has to wait for the
>>     6.x branch.
>>
>>     A simple example of how this could be included in the file:
>>
>>     <image.png>
>>     *
>>     *
>>     *2. Multi-Unit Parts*
>>
>>     If you mark one unit of a multi-unit part as DNF then *all* other
>>     units should be marked as DNF too.
>>
>>     Question: How (from SCH_EDIT_FRAME context) do I find all the
>>     components that are the same master component as a given sub-part?
>>
>>     *3. Better Display of DNF parts*
>>     *
>>     *
>>     I'd like to add a "greyed out" display for DNF parts in the
>>     schematic viewer.
>>
>>     *4. Nomenclature*
>>     *
>>     *
>>     In the files I have used "DNF" or "fitted" - what should the
>>     accepted nomenclature be here? I've seen DNF / DNP / NC and other
>>     examples used. I'd like to get some clarity on what I should use
>>     going forward.
>>
>>     As I said above, I'd like to move this on to support a full
>>     assembly variant management system but I feel it's best to wait
>>     until new file formats. Until then, some feedback on the items
>>     above would be great.
>>
>>     Thanks,
>>
>>     Oliver
>>
>>     _______________________________________________
>>     Mailing list: https://launchpad.net/~kicad-developers
>>     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>>     Unsubscribe : https://launchpad.net/~kicad-developers
>>     More help   : https://help.launchpad.net/ListHelp
> 
>     _______________________________________________
>     Mailing list: https://launchpad.net/~kicad-developers
>     Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>     <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>     Unsubscribe : https://launchpad.net/~kicad-developers
>     More help   : https://help.launchpad.net/ListHelp
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 


References