Comments (11)
Does KiCad have a tool for creating holes?
As far as I can tell, there are two indirect ways to achieve this:
- Add a circle in the Edge.Cuts layer
- Create a footprint with a pad that has a hole size that equals the size of the pad
But perhaps I missed something?
from easyeda2kicad.
@urish No it doesn't have a direct way of doing it. Usually you accomplish this via a designated mounting hole footprint (there is a dedicated library in KiCAD).
from easyeda2kicad.
@mtiutiu we can't really use the dedicated footprint, as the holes can be of any diameter, so we'd have to either use a circle in the Edge.Cuts layer, or wrap the holes in a footprint.
Another option would be to open a feature request for KiCad to add support for standalone holes. Do you happen to know some of the developers who work on KiCad? perhaps they can point us at the right direction
from easyeda2kicad.
I haven't used KiCAD for some time now but that was the only option I knew of. Maybe things changed meanwhile I'm not sure. The best place to ask for questions is on their main forum . All the developers listen there.
from easyeda2kicad.
@urish Ok I found the block that needs to created in the kicad pcb file source in order to generate a hole.
(module MountingHole:MountingHole_1.5mm (layer F.Cu) (tedit 5E3BC186) (tstamp 5E3B09EF)
(at 109.982 78.232)
(descr "Mounting Hole 1.5mm, no annular")
(tags "mounting hole 1.5mm no annular")
(attr virtual)
(fp_text reference "" (at 0 0) (layer F.SilkS)
(effects (font (size 1.27 1.27) (thickness 0.15)))
)
(fp_text value "" (at 0 0) (layer F.SilkS)
(effects (font (size 1.27 1.27) (thickness 0.15)))
)
(pad "" np_thru_hole circle (at 0 0) (size 1.5 1.5) (drill 1.5) (layers *.Cu *.Mask))
)
In my case it's a 1.5mm hole. As I see above everything can be generated pretty easy I guess as it follows a pattern.
What's left to be determined is the coordinates which is this attribute (at 109.982 78.232)
. There are two more attributes like (tedit 5E3BC186)
and (tstamp 5E3B09EF)
one is the timestamp when it was placed on the board I assume and the other one I can't figure out now what it really means - maybe the last time when it was edited on the board??. Other than that I don't see an issue creating the required fields as they follow the same pattern.
Oh and I know that the above block represents a module but it can be created on the fly like this on the board - it won't complain. I'm saying this because the 1.5mm mounting hole module doesn't exist in the library at all (I just edited the KiCAD source file by observing the pattern they use behind the scenes).
Did I missed something? Thanks.
from easyeda2kicad.
The hole diameter is set here (pad "" np_thru_hole circle (at 0 0) (size 1.5 1.5) (drill 1.5) (layers *.Cu *.Mask))
. The rest is just metadata so to speak. The most important atrributes are (size 1.5 1.5) (drill 1.5)
.
So the above module generates a NPTH hole. For plated holes I need to search what it looks like. But I don't remember if EasyEDA has plated holes or if and how can be generated. I'm saying this because the above module block may need to be generalized to support both types.
from easyeda2kicad.
Thanks for looking into this @mtiutiu !
Seems like the holes in EasyEDA are only NPTH:
Let me see what I can do with your findings
from easyeda2kicad.
I just tested with latest master code as it is right now and it seems to work. Yaay!
from easyeda2kicad.
Lovely, I will release shortly. Can we close this issue then?
from easyeda2kicad.
Lovely, I will release shortly. Can we close this issue then?
Yep, seems like this one can be closed now.
from easyeda2kicad.
Released as part of 1.5.0
from easyeda2kicad.
Related Issues (20)
- 404 - Failed - No File HOT 5
- Error in generated KiCad PCB file HOT 4
- Warning: unsupported layer id: ## HOT 1
- Make a footprint library? HOT 2
- Double quotes in string not escaped properly HOT 1
- Only accept JSON in file input? HOT 1
- Failed conversion HOT 1
- Doesnt give a "good/ correct" out put for kicad and has the bellow errors
- Expecting layer/width in input source
- Unexpected WARNING messages during conversion
- SCH can't to support
- Issue: Wrong footprint generated
- TypeError when attempting to convert board
- Allow the webui to specify LCSC part numbers and generate kicad files
- Slot hole X and Y are reversed
- can't run easyeda2kicad HOT 1
- A suggestion. HOT 1
- easyeda2kicad - unsupported format with project.json Kicad v7.0 HOT 2
- Snapd issues?
- File will not convert... HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from easyeda2kicad.