Giter VIP home page Giter VIP logo

gerber2pdf's People

Contributors

jpt13653903 avatar samyk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

gerber2pdf's Issues

Searchable pdf

Hello,

thank you for this project. I would like to ask you if it is possible to make pdf generated from gerber searchable. It would be great, but I do not even know if it is possible. I tried some online pdf ocr webpages, but it works just partially and pdf is not vector after that.

Thanks.

Boolean and blending operations between layers

Add the ability to specify a blend function between layers, as well as performing boolean operations on said layers.

One use case would be to subtract the solder mask layer from the board outline layer in order to render a more realistic PCB.

This enhancement is dependent on issue #1

Also refer to this issue.

Executable not in download_bug_?

Label
Bug reports should carry the bug label.

Alternative Bug List
Please consult the SourceForge Discussion page before reporting a bug here.

Describe the bug
A clear and concise description of what the bug is.

From SF, download. Saved to folder. Opened folder, clicked on .exe. DOS opens, with some notes and says press enter to continue. Pressed enter. DOS screen closes. Nothing else happens. The .exe file is the only file downloaded, i.e. no readme, etc.

So, I downloaded it, from GitHub. Unzipped it. Can't find an .exe file, to tell it to run. However, I did get some other file types... Readme, etc.

To Reproduce
Steps to reproduce the behaviour. Attach a minimal example source file, if applicable.
I tried repeated downloads, with the same results
Expected behavior
A clear and concise description of what you expected to happen.
I expected the DOS screen to close and the Start page/screen to open.

Environment (please complete the following information):

  • OS: [e.g. Windows 10]
  • Version [e.g. 1.3]
    Windows 8.5, current version, as it updates automatically.
    Additional context
    Add any other context about the problem here.

Please advise.

Obsolete and repeated stuff in the output PDF

Obsolete

The /Name entry is no longer used in Form XObjects and should therefore not appear in the output

Repeated

The output PDF contains multiple /Opaque entries, for instance:

/ExtGState <</Opaque 3 0 R /Opaque 3 0 R /Opaque 3 0 R>>

Port to Linux and iOS

The code-base is largely platform independent, but there are still a few Win32 specific API calls.

This enhancement entails using #ifdef ... #else ... #endif blocks to turn the currently platform specific portions of the code into platform independent versions.

Update the --strokes2fills option to handle multiple instances

The --strokes2fills option currently has the limitation that it applies to all instances of the Gerber file, taking the state of the first instance and ignoring the others.

This should be changed so that different instances of the Gerber file can have different --strokes2fills settings.

GUI Front-end

I've had some requests for a GUI front-end to the command-line tool. Unfortunately, I don't have time to implement, as my day-job is keeping me rather busy at the moment...

If you're interested in taking up the task, feel free to open up a discussion on this feature request to discuss potential features, look-and-feel, etc.

Please keep it platform independent. Python is good choice. I was also thinking that a web-based solution might be a good option, albeit a bit limited in functionality.

Gerber Revision 2018.11 Features

Relates to issue #17 -- The current version does not implement the new Gerber file format features.

  • Step and Repeat (SR) -- closing with M02 is deprecated. It should close with "%SR*%".
  • Block Aperture (AB)
  • Change "Level Polarity" to "Load Polarity" (LP)
  • Load Mirroring (LM)
  • Load Rotation (LR)
  • Load Scaling (LS)

White holes

Clone of this issue on SourceForge, reproduced here for convenience.

The Gerber file format assumes an imaging model where the result can be drawn and erased in so-called "dark" and "clear" levels. Unfortunately, PDF does not support this model. There is no way to erase something that has been drawn.

The opacity is not part of the colour, but rather a property of the graphics state. The resulting opacity after a blend is always a union between the source and destination opacities. The consequence of this is that once the opacity is unity, it will remain unity. There is no way to clear it.

For aperture macros, I make use of clipping paths to obtain the correct result, but this method does not work for copper areas. Once the aperture has been created, there is no way to use that result to influence a lower-level clipping path. To obtain the correct visual result, I cheat and draw "clear" apertures in white.

This only works when a single layer is drawn onto a white page. When drawing a layer with large areas over another layer, the holes in that area are still being drawn as white, which gives the wrong result.

Any suggestions on how to fix this would be much appreciated.

References:

Different page sizes for each output page

Paraphrased from an email sent by @JonThe640:

It would be nice if we can choose the pagesize -page_size=extents|A3|A4|letter] for each pdf page separately.

I request this because in the first page, we want to add a signature box automatically by means of a script, but the page should have a standard size (letter or A4). For other pages, the extend option is best because we have larger images.

Documentation

At the moment, the only documentation is the "help" produced when running the application without any command-line options. It would be useful to have more comprehensive Markdown-based documentation in the "Docs" folder.

The documentation should include:

  • Short examples with minimal functionality
  • Long examples to illustrate the more advanced features
  • Pictures of expected output
  • Example .bat or .sh files with sensible colour-schemes
  • Tips and tricks

Improve the bookmark tree

Put combined layers in a sub-branch in the bookmark tree. The tree root is the first layer and the children are the others.

ZLib Error

When using GhostScript to reduce the output PDF size, it complains: warning: ignoring zlib error: incorrect data check

The command-line used is gswin64c -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 -dPDFSETTINGS=/screen -dEmbedAllFonts=true -dSubsetFonts=true -dColorImageDownsampleType=/Bicubic -dColorImageResolution=144 -dGrayImageDownsampleType=/Bicubic -dGrayImageResolution=144 -dMonoImageDownsampleType=/Bicubic -dMonoImageResolution=144 -sOutputFile=P2-510xxxx_xx_gs.pdf P2-510xxxx_xx.pdf

PDF page size consistency

From Mark Geisler:

Love this utility! Would make one recommendation:

Would like option for all PDF pages to be the same size based on the maximum extents of the biggest gerber file extrema rather than the data extrema on each page for each gerber file. Also, have the same origin for the data on the pages rather than centering the data on the page.

Thanks.

Layer Control

Make use of the PDF feature where one can show and hide layers on a single page.

See Optional Content Groups (Section 4.10 version 1.5 onwards) in the PDF Reference

Ubuntu 20 LTS: Make fails

Hello. Apologies if this is missing some of the suggested bug report elements but ... any thoughts welcomed.

Attempting to build from fresh clone of master here on Github:

~/src/Gerber2PDF$ make
make -C Engine all
make[1]: Entering directory '/home/moi/src/Gerber2PDF/Engine'
make[1]: *** No rule to make target 'obj_lin/Tools/Deflate/JDeflate.o', needed by 'obj_lin/libEngine.a'. Stop.
make[1]: Leaving directory '/home/moi/src/Gerber2PDF/Engine'
make: *** [Makefile:14: Engine] Error 2
$ uname -a
Linux ubuntu 5.4.0-40-generic #44-Ubuntu SMP Tue Jun 23 00:01:04 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

 make --version
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
Licence GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

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.