plots wrong size footprint

Bug #1520704 reported by viktor
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Won't Fix
Undecided
Unassigned

Bug Description

To whom it may concern.

Thank-you for the new release candidate 2 of Kicad for windows. I am just upgrading to it from the previous version I used mentioned below. I can see a lot of improvements in it and would like to contribute to making this an even better package by providing my observations to whoever does your software validation testing.

During my upgrade to the windows 64 bit version of Kicad Ver4.0.0-rc2-stable release build operated on win7 svc pack1, three observations were made:

1) the bug reported by my email circa feb 16 2015, an extract of which is at the end as AppendixA, is still alive and well and as a result the footprints are printed the wrong size and being printed in different sizes depending if printed from PCBNEW, pdf, gerber, or the footprint editor.
2) Back annotation is still noted to be useless when infact it is vitally important.
3) An issue still remains with editing selection of visible and invisible value text.

More detailed observations of these bugs are as follows:

1) Footprints are printed the wrong size as per the feb 16 2015 email extract at the end in appendix A. With the new release 4.0.0-rc2 for win 64 bit, I printed the 200 pin DDR2 memory connector from my previous project refered to in the previous email. In order to make the feb 2015 physical PCB prototype by printing the PCB from the PCBNEW screen I had to make the 200 pin connector have a pitch of 0.5980mm rather than the proper 0.6mm of the datasheet (validated by physical measurement of the connector). I now printed/plotted in the three methods noted in the feb email namely, 1)from footprint editor, 2) from PCBNEW, 3) gerber and also from 4) pdf format. It was observed that basically the feb email problem remains, with the variation that the print from PCBNEW and gerber are the same size but are the wrong size, ie. Printing from PCBNEW the project that has the 200 pin connector rescaled to a pitch of 0.5980mm rather than the proper 0.6 mm pitch produces a paper printout on 8 1/2x11" paper that I can overlay the physical connector onto and see it fit properly (rather than being off by the 0.598/0.6 factor). It follows that the summary chart of the feb email would seem to apply if the "print from PCBNEW" and "print from gerber" columns are combined into one column with the properties of the previous column "printed from PCBNEW".
In the interest of getting this feedback to you quickly I am sending this off to you now without testing the full matrix of printing options for differences between footprints depending on where they are printed from and also absolute accuracy. From my quick observation it appears that a 0.6mm pitch footprint printed from the footprint editor would probably be correct, a 0.5980mm pitch footprint printed from PCBNEW or gerber plots to paper to match a 0.6mm pitch connector overlayed on the paper footprint, and if plotted from scale1:1 pdf, I see the physical connector is four pins longer than the paper printout.

2) It is important to put the functionality of back annotation into the package. The purpose of back annotation is to allow the parts to be renumbered.

The problem is, for example, I make a schematic with 200 resistors numberd 1 to 200 in the order I generate them on the schematic. Then I lay them out onto a PCB. On the pcb they are quite randomly scattered so when I debug the board and look for R1 it is in the middle of the front side of the board, R2 is on the top left back of the board, and R3 is on the top right top side of the board etc... Almost impossible to find any resistor quickly. It is now really hellish trying to find one resistor in 200.

The solution is back annotation. Before back annotation is applied the resistors (all the parts on pcb) have the option of being renumbered based on their location and side on the pcb. For example R1 to R149 are the resistors on the top (component) side of the pcb and R150 to 200 are on the bottom (solder) side of the pcb to allow quickly locating them. When holding the pcb in your hands looking at the top side of pcb extending 20 cm from left to right and 10 cm top to bottom it is really nice to expect that R1 is in the top left corner with R 15 below it and then R40 towards the right perhaps mid board and R 149 near the right edge of the board. Then when you turn the board over and look at the solder side again you can find R150 on the left side, R175 near the middle and R200 near the right edge. The user just selects if they would like the board parts renumbered and perhaps a choice of left to right (most peoples computer displays are wider left to right than they are tall so would layout a long board left to right rather than vertically on the screen) or top to bottom. After the board's parts are renumbered based on the physical location then the user needs the back annotate function to renumber the parts in the schematic per the new numbering scheme from the pcb and then just save it. Done. You can now find parts quickly and easily. Later on you may make it fancier like other packages for example R1 on top left of a 5cm row #1 across the pcb with R75 on top right of row#1. Row#2 (under the top 5cm of row#1) could have R76 on the left side R100 in the middle and R149 on the right. Additionally someone my just want to manually renumber an individual part in the schematic or PCB layout and need the forward and back annotation to update the changes.This raises the possibility that someone has renumbered a schematic or pcb and not done the forward or back annotation so a software button to check consistancy between the schematic and pcb is also required. The consistancy check would then report that they are yhe same or ask to update the pcb or schematic to make them consistant.
3) Values may or may not match the "edit display values of either "O – visible" or "O – invisible" settings. I see in PCBNEW with a black screen background the "values" change from a colour to white if the "O – invisible" setting is selected but on the 3d rendering of the pcb the "value" actually becomes invisible as it should. I ues some places it works, other places not.

Thanks for your consideration. If I have made mistakes having just started evaluating kicad as a beginner, please accept my appologies in advance. Please mention if there is anything else you need in this respect (but note that I dont check email too often). I look foreward to a revised version.
Viktor

APPENDIX A Extract from circa Feb 16 2015 email for Kicad re Win XP version problem
To whom it may concern.

While creating my first kicad footprints using the recently relased version, "KiCad_testing-2015.01.17-BZR5376_Win_full_ version.exe", critical issues are apparent:

1) KiCad makes or prints the wrong sized footprints

It is hoped that the following set of observations and means to reproduce the issues will shorten the turn-around time to the next better release which I am eagerly anticipating. I hope you appreciate my concerns that crucially limit the usefulness of Kicad. Hopefully this information and the attached *.kicad_mod files will save someone troubleshooting time and quickly improve KiCad.

Summary of issue one: The printed footprint size varies depending on which of the three different printing options are used, namely: 1) printing the footprint from the footprint editor, 2) printing the footprint from PCBNew, or 3) printing the gerber file. Footprint sizes are off by around 1/2 pad width making the footprints useless. It is also possible that the chioce of paper affects the outcome but as the gerber printing doesnt even have the option for the standard 8 1/2 x 11, legal, of 11 x 17 inch paper the printers use, this wasn't looked into.

Method: Make and print a DDR2 SODIMM memory scocket, 0.6mm pitch, 1/2 pitch offset between the two sides of 100 contacts per side starting with the SOIC wizard making a 212 pad footprint. DDR2 SODIMM data sheets attached. Part 1565917-4 is used for check but datasheet for 292407 is better documented. Three iterations of the footprint were required to clue into the issue. First footprint is made in the editor with a 0.6 mm pitch and printed from PCBNew with the rest of the pcb; the printed footprint is 1/4 pad shorter than the physical socket. A second footprint is made on a 0.60206 mm pitch and printed directly from the footprint editor; the printed footprint is 1/4 pad longer than the physical socket. A third footprint is made on a 0.598 mm pitch and printed from PCBNew with the rest of the pcb; finally the footprint matches the physical socket. Then I printed it from the footprint editor and it was off again. At this point it was apparent that the footprint size depends on which way it is printed. At this point the various combinations of printing was tried

Observations: The following table summarizes the relations of the three attached footprints (*.kicad_mod files) depending on how they are printed. The entries are meant to finish the following sentance.
          The printed footprint is (too) .....

Footprint name *.kicad_mod
Pitch (mm)
Printed from editor
Printed from PCBNew
Printed from gerber
mod_soic_212
0.60000
correct
short by 1/4 pad
long by 1/2 pad
ddr2_sodimm_200_v
0.60206
long by 1/4 pad
long by 2/3 pad
long by 1/2 pad
ddr-200
0.59800
Short by 1/2 pad
correct
Short by 1/2 pad

Conclusion 1: Thats all the info on this issue at present. Hope it is helpful.

Thanks for your consideration. If I have made mistakes having just started evaluating kicad as a beginner, please accept my appologies in advance. Please mention if there is anything else you need in this respect. I look foreward to a revised version.
viktor

Revision history for this message
jean-pierre charras (jp-charras) wrote :

You cannot expect a great precision when using a printer, moreover when using usual paper.
I am sure if you try to print the same board many times, especially different days, or if you compare the same footprint rotated 90 degrees with a not rotated footprint, or printed with different printers, you will have many different sizes.

Guys who want better precision do not use usual paper to print documents.

Printers usually give small scaling errors, depending on many parameters (temperature, type of paper, paper thickness ...)
You cannot expect a better precision than 1%
This is the reason plot and print dialogs have a fine scale adjust on each axis, to compensate scaling errors due to printers.

Only Gerber documents plotted on photo-plotters give exact sizes (but printers and photo-plotters do not have exactly the same cost).

Changed in kicad:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.