Giter Club home page Giter Club logo

Comments (11)

urish avatar urish commented on June 25, 2024

Does KiCad have a tool for creating holes?

As far as I can tell, there are two indirect ways to achieve this:

  1. Add a circle in the Edge.Cuts layer
  2. 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.

mtiutiu avatar mtiutiu commented on June 25, 2024

@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.

urish avatar urish commented on June 25, 2024

@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.

mtiutiu avatar mtiutiu commented on June 25, 2024

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.

mtiutiu avatar mtiutiu commented on June 25, 2024

@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.

mtiutiu avatar mtiutiu commented on June 25, 2024

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.

urish avatar urish commented on June 25, 2024

Thanks for looking into this @mtiutiu !

Seems like the holes in EasyEDA are only NPTH:

image

(source)

Let me see what I can do with your findings

from easyeda2kicad.

mtiutiu avatar mtiutiu commented on June 25, 2024

@urish

I just tested with latest master code as it is right now and it seems to work. Yaay!

See here:
Screenshot from 2020-02-06 12-34-25

from easyeda2kicad.

urish avatar urish commented on June 25, 2024

Lovely, I will release shortly. Can we close this issue then?

from easyeda2kicad.

mtiutiu avatar mtiutiu commented on June 25, 2024

Lovely, I will release shortly. Can we close this issue then?

Yep, seems like this one can be closed now.

from easyeda2kicad.

urish avatar urish commented on June 25, 2024

Released as part of 1.5.0

from easyeda2kicad.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.