I've been threatening for ages to implement a "use a script" feature, so that you don't spec everything on the command-line, but rather a YAML file or something. Something like: gerber2pdf -script myscript.yml That way you eliminate the command-line limitation. Maybe the time has arrived...
What is the error? My suspicion is that it is a command-line command length limit of whatever shell you're using. I "think" Windows CMD has a limit of 8191 characters or something, but it varies depending on exactly what version of Windows and / or shell (CMD vs PowerShell, for example) you're using. Browsing through the source code: The number of commands on the command-line (limited by Gerber2PDF, not the shell) is 4096 commands. You should be able to pass in more than a 1000 files without issues,...
New version is ready for you to download... The command-line option you want is the "-name_is_filename" option
Added the "-name_is_filename" command-line option
Changed indentation from 2 to 4 spaces
Changed indentation from 2 to 4 spaces
I'm sure that I can add a command-line switch for that one quite easily... I'll see what I can come up with over the weekend...
Fixed the Pascal to Atmosphere conversion
Bugfix aperture indices >999
Updated the submodules and switched to C++20
I fixed the larger aperture indices (I've changed the array to a map, so it can now handle aperture indices anywhere in the "int" type range, i.e. 2 x 10^9). I'll upload the new version shortly. I cannot reproduce your second problem, however... It produces the attached PDF.
No problem -- I'll have a look over the weekend...
Sounds like an easy fix... I'll have a look before the end of the week...
More EBNF, parser and AST updates
Updated the readme
More dangling comma support
Combined TypeIdentifier and CoverBinIdentifier and added dangling comma support
Improved HDL construct handling in parser and AST
Added fence nodes after assignments and function calls
Merge branch 'interpreter' into develop
The readme now points to the local folder instead of SourceForge
Updated the Wiki to bring it up to date with the latest design and ideas
Added coverbins and covergroup constructs to the parser and AST
Fixed consistency of parameter and attribute list ordering
Ripped out labels and goto's
Added enum attributes and initialisers to the parser and AST
All AST parameters in the interpreter are now const
Improved import path search algorithm
Added a clarification on imports to the wiki
Basic import is working
Code clean-up:
Major update to the Number class
Renamed the main executable to all lower-case
Added assertion sequences to the parser and AST
Moved the Wiki readme to the Wiki root folder
import can now take a stringification expression as a filename
Cleanup of the test script globals
Added variable initialisation to the interpreter
Improved the interpreter architecture
Merge branch 'newAST' into develop
Moved TokenTree to FrontEnd
Updated the SVG figures to work on dark-mode readers
Added the Alcha case study code as a parser test
Added parser tests and bug-fixes
Added pragmas to ignore the format-truncation warnings
The parser and AST now support interpolated strings
EBNF update: interpolated strings
The scanner now supports interpolated strings
Implemented the rest of the AST (untested)
Set up the new AST classes for statements
Implemented all the `Verification` EBNF
Implemneted all in the `Declarations` EBNF
Expression parsing implemented
Split the Parser and Interpreter tests
Moved the AST::run() functions into a central Interpreter class
"num" declarations are working (minimal implementation)
Basic print now works via an AST instead of directly
Need to bring back the AST
EBNF: Cleaned up FunctionDef, OperatorOverload and IdentifierList
EBNF: The `inline` keyword now goes in front of the return type
Added `test%` targets to the tests Makefile
Ripped out the AST, Netlist, Engine and BackEnd, and `print` is working
Merge branch 'code_cleanup' into develop
Added an automated Scanner test
Scanner::getToken now exits early on error
Refactoring:
More consistent naming convention in the enumerations
Updated build instructions
Upgraded GMP
Fixed so that it compiles on Linux
Coding standard update:
Updated the Toolbox to the latest version
Coding style update
EBNF Refactor: Case to statement and Postfix split
EBNF update: HDL pins can now have direction
EBNF update: Attribute lists are now primary expressions
HDL files are now optional
Added operator overloading to the EBNF
Corrections to the EBNF
Pulled in the latest list of HTML character names
Upgraded to compile with C++20, 64-bit
Done -- You can find the new release on: The download page Github
The aperture macro rotation argument is now optional
The problem is that the converter doesn't support optional macro arguments. This is a relatively easy fix, so I should be able to post an update shortly... But first: some coffee ;-)
Sure - I'll have a look over the weekend...
Awesome news! You need to tell the other guys to update their settings ;-) And thanks for the compliment.
Refactored the bug report string into a global constant and added the GitHub issues link
The problem is that your drill file has no header, and as such does not define any tools or coordinate formats or anything. For your drill file specifically, it defines the tool sizes as you use them, as part of the tool selection instruction, but even that is without any way of knowing what the units are. For Gerber, you have to define all the "apertures" before the first draw instruction, so it will be quite a significant re-write to detect this scenario, then read through the whole drill file,...
Thanks for the report - I'll have a look and get back to you...
Merge branch 'feature/IndividualPageSizes'
Added next_* flavours of page_size, orientation and scale_to_fit options
Merge branch 'bugfix/JonThe640/TearingPlanes'
Arc endpoints are now forced (in the PDF) to be what the Gerber specified
Increased the error tolerance for single-quadrant arcs
Changed the Makefile to explicitly link the static ZLib
Merge branch 'feature/zlib'
Updated the Readme with the change log
Changed JDeflate to use the ZLib library
Added ZLib as a submodule
So... Any luck in getting a Gerber file to me that causes the issue so that I can investigate the problem?