← Back to team overview

kicad-lib-committers team mailing list archive

Re: library cleaning - massive attack proposition

 

I think that my code is ready: https://github.com/michal777/KiCad_Libraries_Cleanup
It works on linux. It would be great if somebody will test it before use.
Before use some of my pull requests sould be merged to avoid breaking some libraries:
https://github.com/KiCad/Measurement_Scales.pretty/pull/1
https://github.com/KiCad/Housings_DFN_QFN.pretty/pull/2
https://github.com/KiCad/Capacitors_Tantalum_SMD.pretty/pull/3
To avoid more broken links:
https://github.com/KiCad/kicad-library/pull/64
Also would be great to merge as much good pull requests as possible, then get the recent verision from github and modify. I've set font size to 1x1mm, thickness 0.15mm. Is it OK? Should I touch font size?
I'll need help to check if all is OK and push everything on github.
I think it works good, but please let me know if something should be changed. Names of unused 3d models are strange, it contains all path, I didn't care about them, so please let me know if it can be accepted.



W dniu 22.11.2014 02:46, Carl Poirier pisze:
I'm not sure if we ever talked about font thickness specifically, but the 0.15mm from the convention looks good.

To modify all repos, I just used a small python script. http://pastebin.com/kApJC4Ba

On Fri, Nov 21, 2014 at 8:29 PM, nnn <nnn4000@xxxxx <mailto:nnn4000@xxxxx>> wrote:

    I'm working on code that can do all tasks, and it seems to be
    working now (see michal777 on github), but it's still unreliable
    and needs more fixes, cleaning, improvements to be sure it won't
    break anything. I'll focus on moving, renaming, sorting 3d models
    and replacing texts in footprints.
    What will be font size? Will you set some value, or leave empty
    (to be taken from kicad defaults)?
    How do you modify all repositories? If you have some method to do
    it easily, can you modify repositories with my script (when I
    finish it)?

    W dniu 21.11.2014 22:28, Carl Poirier pisze:
    Silkscreen has been fixed to 0.15mm width throughout all
    repositories. I'll do font size next.

    On Fri, Nov 14, 2014 at 5:58 AM, nnn <nnn4000@xxxxx
    <mailto:nnn4000@xxxxx>> wrote:

        I've made some code:
        https://github.com/michal777/KiCad_Libraries_Cleanup
        TODO: debug, improve, add changing lines to 0.15, optional:
        add searching 3d models
        It works, but it would be better if somebody could improve
        it. Finding and replacing is a bit complicated.
        If my code is ok and can be accepted I can do the rest.

        W dniu 13.11.2014 14:50, Carl Poirier pisze:
        I think it sounds good. Could you take an actual .kicad_mod
        file and edit it by hand to show us exactly what this will
        give?

        I'll take care of the silkscreen and font size with some
        script myself, so this should be this less to do in yours. I
        should have the time to do it this weekend.

        On Wed, Nov 12, 2014 at 12:25 PM, nnn <nnn4000@xxxxx
        <mailto:nnn4000@xxxxx>> wrote:

            I mean that name in footprint in .kicad_mod file should
            be the same as name of the file. Now they are not always
            the same.
            Eg. first line of file:
            Capacitor7x3-5RM5_RevB.kicad_mod
            is:
                module "Capacitors THT RevB:Capacitor7x3-5RM5_RevB"
            (layer F.Cu)

            I think that if the work with renaming 3d models will be
            done, we can also make other changes. Now there is some
            mess.
            If user creates new footprint and call it
            "name_of_footprint", the default value of reference is
            "name_of_footprint" and value is "VAL**". If he changes
            the fields to "some_reference" and "some_value" there
            are two texts on screen that can be confused with name
            of footprint and don't carry any important information,
            because they are replaced by text from netlist. If
            somebody renames the file name to "footprint_file_name",
            then it's inconsistent with name in the file
            ("name_of_footprint") and it's hard to say what the name
            really is. And there is also some path to 3d model and
            its name: "some_path_3d/some_3d_name".

            So I think we need only name of library and name of
            footprint instead of:
            footprint_file_name, name_of_footprint, some_reference,
            some_value, some_path_3d, some_3d_name

            There will be some work to get libraries from github and
            merge after modification, so I'd like to ask also what
            do you think about changing lines width of silkscreen to
            0.15 and changing sizes of fonts to some default value.

            If you like the idea and nobody else will write the
            script, I will start writing it in C.


            W dniu 12.11.2014 14:38, Carl Poirier pisze:
            Hi Michal,

            Great initiative there. I do think placing the 3D
            packages under folders the same name as the .pretty
            ones is a good idea.

            In your steps, I'm not sure to understand why you
            change the module name to FOOTPRINT1. Can you elaborate
            more?

            Carl

            On Tue, Nov 11, 2014 at 5:16 AM, nnn <nnn4000@xxxxx
            <mailto:nnn4000@xxxxx>> wrote:

                Hi all,

                I'd like to ask you about idea of cleaning the mess
                that we have in footprints and 3d models. I think
                that it would be good to write some script which
                could make the job. It would be much easier to work
                with 3d models if their names are the same as names
                of footprints, and they are put into folders named
                the same as *.pretty libraries. I'd suggest the
                following algorithm:

                //preparation:
                1. clone kicad-library and move
                kicad-library/modules/packages3d/ to
                ~/KiCad_Libraries/packages3d_bck/
                2. clone all *.pretty libraries to
                ~/KiCad_Libraries/Pretty_bck/
                3. create new empty folders:
                ~/KiCad_Libraries/packages3d/ and
                ~/KiCad_Libraries/Pretty/
                //run the script:
                4. open first footprint from first library
                (~/KiCad_Libraries/Pretty_bck/LIBRARYNAME1.pretty/FOOTPRINT1.kicad_mod)
                5. change MODULE_NAME1 (first line, "(module
                MODULE_NAME1...") to FOOTPRINT1,
                6. optional: change reference to FOOTPRINT1, change
                value to VAL**, change all silkscreen lines width
                to 0.15, change text size of referece and value to
                some default
                7. read 3d model name (after keyword model: "model
                SOME_PATH/MODEL_NAME1.wrl")
                8. check if the model exists in
                ~/KiCad_Libraries/packages3d_bck/SOME_PATH/MODEL_NAME1.wrl
                9. if the model exists, copy
                ~/KiCad_Libraries/packages3d_bck/SOME_PATH/MODEL_NAME1.wrl
                to
                ~/KiCad_Libraries/packages3d/LIBRARYNAME1/FOOTPRINT1.wrl
                (in the same way copy corresponding *.wings file),
                change in file FOOTPRINT1.kicad_mod "model
                SOME_PATH/MODEL_NAME1.wrl" to "model
                LIBRARYNAME1/FOOTPRINT1.wrl
                10. if the model not exist, write the information
                in log file: ~/KiCad_Libraries/BROKEN_LINK_LOG
                11. optional: if the model not exist, search
                MODEL_NAME1.wrl in
                ~/KiCad_Libraries/packages3d_bck/ with
                subdirectories and if found, write proper
                information to the log file:
                ~/KiCad_Libraries/REPAIRED_LINK_LOG, then copy path
                to found model
                ~/KiCad_Libraries/packages3d_bck/SOME_PATH/FOUND_MODEL_NAME1.wrl
                to
                ~/KiCad_Libraries/packages3d/LIBRARYNAME1/FOOTPRINT1.wrl
                and change in FOOTPRINT1.kicad_mod "model
                SOME_PATH/MODEL_NAME1.wrl" to "model
                LIBRARYNAME1/FOOTPRINT1.wrl
                12. save changed
                ~/KiCad_Libraries/Pretty_bck/LIBRARYNAME1.pretty/FOOTPRINT1.kicad_mod
                to
                ~/KiCad_Libraries/Pretty/LIBRARYNAME1.pretty/FOOTPRINT1.kicad_mod
                13. repeat steps from 4. to 13. for next footprint
                in the same or next library
                14. compare ~/KiCad_Libraries/packages3d_bck/ with
                ~/KiCad_Libraries/packages3d/, find unused 3d
                models and move them to
                ~/KiCad_Libraries/packages3d/unused/
                //finish the work:
                15. check if all is ok, check log files
                16. pull and merge everything

                After that, the mess will decrease. Some duplicates
                will be generated, but it would be easier to clean
                up the rest.
                Similar code could be made to check consistency of
                libraries in future.

                I can try to write it in c, but I'm not programmer,
                so it will take me some time do it. It would be
                great if somebody more experienced will help me to
                implement it in c or do it in some higher-level
                language.

                What do you think about this idea?


                Michał Stec

-- Mailing list:
                https://launchpad.net/~kicad-lib-committers
                <https://launchpad.net/%7Ekicad-lib-committers>
                Post to     :
                kicad-lib-committers@xxxxxxxxxxxxxxxxxxx
                <mailto:kicad-lib-committers@xxxxxxxxxxxxxxxxxxx>
                Unsubscribe :
                https://launchpad.net/~kicad-lib-committers
                <https://launchpad.net/%7Ekicad-lib-committers>
                More help   : https://help.launchpad.net/ListHelp




            --
            Mailing list:
            https://launchpad.net/~kicad-lib-committers
            <https://launchpad.net/%7Ekicad-lib-committers>
            Post to     : kicad-lib-committers@xxxxxxxxxxxxxxxxxxx
            <mailto:kicad-lib-committers@xxxxxxxxxxxxxxxxxxx>
            Unsubscribe :
            https://launchpad.net/~kicad-lib-committers
            <https://launchpad.net/%7Ekicad-lib-committers>
            More help   : https://help.launchpad.net/ListHelp




        --
        Mailing list: https://launchpad.net/~kicad-lib-committers
        <https://launchpad.net/%7Ekicad-lib-committers>
        Post to     : kicad-lib-committers@xxxxxxxxxxxxxxxxxxx
        <mailto:kicad-lib-committers@xxxxxxxxxxxxxxxxxxx>
        Unsubscribe : https://launchpad.net/~kicad-lib-committers
        <https://launchpad.net/%7Ekicad-lib-committers>
        More help   : https://help.launchpad.net/ListHelp




    --
    Mailing list: https://launchpad.net/~kicad-lib-committers
    <https://launchpad.net/%7Ekicad-lib-committers>
    Post to     : kicad-lib-committers@xxxxxxxxxxxxxxxxxxx
    <mailto:kicad-lib-committers@xxxxxxxxxxxxxxxxxxx>
    Unsubscribe : https://launchpad.net/~kicad-lib-committers
    <https://launchpad.net/%7Ekicad-lib-committers>
    More help   : https://help.launchpad.net/ListHelp




References