-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vias on wrong layers #68
Comments
I am using kicad 6 and 7 (test both), and Freecad 0.19 |
Is it possible to post a sample file showing the problem? |
Hi realthunder, thank you for checking! Please find one minimum test file here: test.zip There are several issues in this practice:
Thank you very much realthunder! As a hardware engineer, I tried to use chatgpt to find out possible solutions, but no good. If this issue can be solved, it would be really helpful for folks working on complex multiple layers design! |
Just added some fixes. Please sync the repo and test. You can close the issue if everything is fine. |
Please always provide a sample file showing the problem.
The macro code you are using is not mine. Is it hosted in some git repo so that I can take a look?
Does that means the via is supposed to only have annular ring in the start and end layers? |
This problem has been fixed. Please download kicad.py and try again.
Can you please make a sample file with this? It seems that KiCad has an option to remove unused vias/pads. Make sure to enable this option. |
Hi realthunder, thnak you! The first two issues are solved. |
I have updated the code. Please try. If you want to be thorough, please make a board with actually connected and unconnected tracks and zones. Maybe you can also try this options on pads (with various orientations), which I haven't implemented yet. I can add that if you can make sample board with those. |
Hi realthunder, sorry for the late reply. I have tested your new kicad.py file, this issue is not solved, I think we have different understanding of the concept of "connected layers". Please have a look on the figure below. Here is a sample kicad layout file for you to have a test. Another question would be, how can I define the via thickness? Last time I measured in Freecad, seems the thickness of the vias fuse is 35um. Is it possible to modify the thickness by ourselves? Thank you. Thank you for your consistent contribution! |
Please make sure you have updated the kicad.py file. This is what I get when running your files on my compouter.
Do you mean the thickness of the middle cylinder? If it is the annular ring, then the thickness is determined by the layer thickness. |
Hi realthunder, it seems last time I did not update kicad.py successfully. I can successfully generate this figure with the original kicad_pcb. However, if I press 'B' to fill all zones, then try to generate from Freecad, I will meet this error:
You can try to test in your PC with this file, where I just refilled all zones.
In your Kicad.py setting, seems it is set defaultlly to 35um? Thank you for your precious time! |
Hi realthunder, I have figured out how to set the thickness of the vias. That is by setting the value of hole_size_offset
By default, the thickness of the vias is 52.5um. And every 0.001 of hole_size_offset represents to reduce the thickness by 0.5um. So 0.055 means 52.5um - 55*0.5um = 25um. I did not go into details to check how this 52.5um is calculated, I just know that several months ago, the default thickness seems to be 35um. Could you briefly explain the method to calculate the thickness? This error still exists in other test practices.
Thank you for your time realthunder. |
The About the |
Hi realthunder, thank you for your answer. I found that for different layout, the amount of decrease to plated hole diameter is different, though the parameter of hole_size_offset is all set to 0. Is it possible to set this amout to a fixed value? After updating your new kicad.py file, I got this new error:
And work with another file, I got another error:
If possible, could have a check? |
Could you please post the files that caused those errors? The base wall thickness of a plated hole is determined by the copper layer thickness setting. Are you using different copper layer thickness? Please provide a file showing variance in hole wall thickness. |
Hi realthunder, you can check with 'blind_buried_vias.kicad_pcb' in your fcad_pcb test folder with the newest kicad.py file. It will generate this error:
It is quite strange, when I use the newest kicad.py file generating another 24 layers board, it works perfectly with all features we discussed in this issue. Right now, I am rolling back to 20220721 kicad.py version. Thank you as always. |
Hi realthunder, I'm using the latest version of the script with mixed success on the via issues being resolved. I am now getting an error that I've narrowed down to the via holes being made:
If I remove the vias, the error goes away. I do have some oval PTH pads that will generate fine. Many thanks and best regards. |
Hi HJFSTX, I also met this problem before. I then realized that the size of the via is too small in my case. The smallest size allowable in my board is 0.31,0.13 in my board. And this minimum size is limited by the thickness of the copper layer if I understand rightly, as the thickness of the via tube is proportional to the copper thickness. You may try to change the size of the via to see if this issue persists. |
@realthunder is upstream ticket FreeCAD/FreeCAD#10053 still relevant ? |
@realthunder and @luzpaz I have been extensively using this script and am noticing what I am calling "phantom geometry" that is causing huge unforeseen issues in FEA. The geometry in question seems to have areas that are either shorted or totally unconnected, although they visually appear to be just fine. I think our issues are related. |
Is it possible to provide a test file showing the problem? |
I cannot post the exact source files, but if I encounter issues again I will attempt to replicate. Some of the issues I encountered were due to user error, so it may have been a false alarm. |
I'm again having some issues creating holes/vias. Please see below for the error: 08:59:10 Traceback (most recent call last):
File "C:/Users/HJFSTX/AppData/Roaming/FreeCAD/Macro/Import_PCB_Full_No_Holes_No_Zone_Inflate.FCMacro", line 12, in <module>
pcb.makeCoppers(shape_type = 'solid', holes = False, fuse = True, fit_arcs = True)
File "C:\Users\HJFSTX\AppData\Roaming\FreeCAD\Macro\fcad_pcb\kicad.py", line 2239, in makeCoppers
hole_coppers = self.makeHoles(shape_type='solid',prefix=None,
File "C:\Users\HJFSTX\AppData\Roaming\FreeCAD\Macro\fcad_pcb\kicad.py", line 1484, in makeHoles
size = Vector(p.drill[0],p.drill[1])
File "C:\Users\HJFSTX\AppData\Roaming\FreeCAD\Macro\fcad_pcb\kicad_parser\sexp_parser\sexp_parser.py", line 146, in __getitem__
v = self._value[key]
<class 'KeyError'>: (1,) Any idea what's going on here? |
Hi realthunder, thank you for your contribution on facd_pcb. I think your script to output real 3d layout is till now the only solution. I do not see any intention from Kicad to support this feature in the future. Just curious, would you consider to make a simple workbench for fcad_pcb, which has better UI and tuning options? The installation would be also easier. That would be tons of help for our FEM guys. BTW, I have shifted my freecad to your linkstage. Really like the features you developed. Thank you! |
You seem to be using an older version of this repo. Could you please update it and try again? |
I may extend it into a FreeCAD macro with UI for settings. Not in the near future, though. Quite busy these days. |
Or, you can try the kicadStepUp workbench. |
I pulled the latest version, tried again, and got the same result. |
Could you please send me the file having problem? |
First of all, I would like to thank all the contributors for this wonderful tool. It is a lifesaver!
In this practive, I am tring to output the pcb with micro layers from 1-2 and 23-24, as well as burried vias from 2-23. But the output shows wrong vias locations:
Is it a bug, or do I possibly set smethong wrong?
I have checked the setting of vias in Kicad, they are all rightly set with right 3d view in Kicad.
With a deeper observation, it seems that in Freecad, all vias more moved 2 layers below. But the holes are rightly located.
The text was updated successfully, but these errors were encountered: