Giter VIP home page Giter VIP logo

Comments (8)

mcous avatar mcous commented on June 13, 2024

I just looked a more closely at the Bus Pirate outline you linked to in mcous/svgerber#20, and it has bigger problems than the small gaps (which it also has). The outline isn't one line; it's several lines drawn over each other in the same place. Dealing with this would be complicated™ (checking for duplicate segments might work), but this is certainly a poorly drawn design / Gerber file. At what point do we stop trying to accommodate for mistakes?

pcb-stackup tries to be more lenient than svgerber, so it will allow any path in the outline that seems manifold to be used as a mask (svgerber needs every path in the outline to be manifold). Unfortunately, because the path goes back over itself with the bus pirate, it appears manifold even though it is messed up, which is why svgerber gives up on the mask but pcb-stackup does not.

I don't think this is a good case for adding gap fixing, but it is a good case for adding an option to force the board outline to be added as a drawing rather than a mask.

from tracespace.

mcous avatar mcous commented on June 13, 2024

Minor progress!

top-stackup

from tracespace.

kasbah avatar kasbah commented on June 13, 2024

Ha, love it! Wouldn't be happy if I got that back from a fab :)

from tracespace.

mcous avatar mcous commented on June 13, 2024

Implemented gap-filling and duplicate segment detection, got this:

top-stackup

Trying to release all this tonight!

from tracespace.

kasbah avatar kasbah commented on June 13, 2024

Wowza! Good work! Looks great!

from tracespace.

mcous avatar mcous commented on June 13, 2024

Implemented in v0.1.0 by using the plotAsOutline option in [email protected] / gerber-plotter

from tracespace.

kasbah avatar kasbah commented on June 13, 2024

I can't get the same result over on kasbah/pcb-stackup-builder (see top.svg).

What am I doing wrong?

from tracespace.

mcous avatar mcous commented on June 13, 2024

Looks like my example in the README doesn't use the outline as a mask by default. When you call pcbStackup, do this:

var stackupOptions = {id: 'my-board', maskWithOutline: true}
var stackup = pcbStackup(layers.filter(Boolean), stackupOptions)

The example in the examples directory shows the use of this option.

Also the drill file needs to be manually set to leading zero suppression (aka keep trailing zeros).

from tracespace.

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.