element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
EAGLE User Support (English) Eagle freezes if run from ulp to generate gerber files
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 14 replies
  • Subscribers 179 subscribers
  • Views 1840 views
  • Users 0 members are here
Related

Eagle freezes if run from ulp to generate gerber files

Former Member
Former Member over 11 years ago

I have a ULP to automate generation of gerberfiles.

In the ULP I use the following command:

 

system("\"" + EagleExe + "\" -X -x0.0 -y0.0 -O+ -c- -dGERBER_RS274X -o\"" + GerberFileName + "\" \"" + B.name + "\" tPlace tNames");

 

This usually works fine but in some cases it just freezes and nothing happens.

If I run the CAM processor manually i get the following warning:

Fullscreen contentimage_31710.html Download
<html><head><title>Jive SBS</title></head>
<body><font face="arial,helvetica,sans-serif">
<b>Error</b><br><font size="-1">
An general error occurred while processing your request.
</font></font></body></html>

 

The ULP probably freezes because of this warning, but the warning is not shown.

Eagle is probably waiting for me to answer the non visible dialog.

Is there some "silent mode" without warnings or some other way to sole this problem?

  • Sign in to reply
  • Cancel
  • Former Member
    0 Former Member over 11 years ago

    Have you considered this? It could be nothing to do with it but worth mentioning I think.

    Eagle User Manual

    "Ch. 10.3 EAGLE Options at a Glance

    In order to output manufacturing data, for instance, with the CAM Processor,

    EAGLE can be started directly from a terminal window under Linux and Mac,

    or from a console window under MS Windows.

    Since Windows programs give up their connection to the console they have

    been started from, you can use the file eaglecon.exe (located in the eagle\bin

    subdirectory of your installation) if you want to run the CAM Processor from

    a batch file.

    This  version   of  EAGLE  is  exactly  the  same as the  eagle.exe, except  that  it

    doesn't disconnect from the console."

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • dukepro
    0 dukepro over 11 years ago

    Not sure why, but Eagle is waiting for input from the stdin.  Even if

    stdin is not a tty, it sits there and waits.

     

    I managed to fix this by echoing an "n" to stdin.  It's been working

    consistently ever since.  Even if it never eats the character, there's

    one ready to be read.  Here's a few lines I use to generate a complete

    set of gerber files:

     

    echo n | eagle -X -N- -f+ -O+ -c- -x0 -y0 -dGERBER_RS274X -o

    516800-RevA-TopCopper.gbr 516800.brd 1 17 18 || exit 1

     

    echo n | eagle -X -N- -f+ -O+ -c- -x0 -y0 -dGERBER_RS274X -o

    516800-RevA-BotCopper.gbr 516800.brd 16 17 18 || exit 1

     

    echo n | eagle -X -N- -f+ -O+ -c- -x0 -y0 -dGERBER_RS274X -o

    516800-RevA-NonPTHoles.gbr 516800.brd 20 || exit 1

     

    echo n | eagle -X -N- -f+ -O+ -c- -x0 -y0 -dGERBER_RS274X -o

    516800-RevA-TopSilkScreen.gbr 516800.brd 21 25 || exit 1

     

    echo n | eagle -X -N- -f+ -O+ -c- -x0 -y0 -dGERBER_RS274X -o

    516800-RevA-BotSilkScreen.gbr 516800.brd 22 26 || exit 1

     

    echo n | eagle -X -N- -f+ -O+ -c- -x0 -y0 -dGERBER_RS274X -o

    516800-RevA-TopMask.gbr 516800.brd 29 || exit 1

     

    echo n | eagle -X -N- -f+ -O+ -c- -x0 -y0 -dGERBER_RS274X -o

    516800-RevA-BotMask.gbr 516800.brd 30 || exit 1

     

    echo n | eagle -X -N- -f+ -O+ -c- -x0 -y0 -dGERBER_RS274X -o

    516800-RevA-TopPaste.gbr 516800.brd 31 || exit 1

     

    echo n | eagle -X -N- -f+ -O+ -c- -x0 -y0 -dGERBER_RS274X -o

    516800-RevA-BotPaste.gbr 516800.brd 32 || exit 1

     

    echo n | eagle -X -f+ -N- -O+ -c- -x0 -y0 -E+0.1 -R 516800-RevA.drl

    -dEXCELLON -o 516800-RevA-ExcellonDrill.exc 516800.brd 44 45 || exit 1

     

     

    HTH,

        - Chuck

     

     

     

    On 02/17/2014 06:02 AM, Magnus H-C wrote:

    I have a ULP to automate generation of gerberfiles.

    In the ULP I use the following command:

     

    system("\"" + EagleExe + "\" -X -x0.0 -y0.0 -O+ -c- -dGERBER_RS274X

    -o\"" + GerberFileName + "\" \"" + B.name + "\" tPlace tNames");

     

    This usually works fine but in some cases it just freezes and nothing

    happens.

    If I run the CAM processor manually i get the following warning:

     

    The ULP probably freezes because of this warning, but the warning is not

    shown.

    Eagle is probably waiting for me to answer the non visible dialog.

    Is there some "silent mode" without warnings or some other way to sole

    this problem?

     

    --

    To view any images and attachments in this post, visit:

    http://www.element14.com/community/message/104018

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to dukepro

    Thank you!

    This works great, but since I use a ULP and (I think) you use a bat-file i had to add "CMD.EXE /c echo y | " in the system call.


    system("CMD.EXE /c echo y | \"" + EagleExe + "\" -X -x0.0 -y0.0 -O+ -c- -dGERBER_RS274X -o\"" + GerberFileName + "\" \"" + B.name + "\" Top Pads Vias");

     

    Simple explanation of variables used:

    "EagleExe" is a string set to the full path of Eagle.exe

    "GerberFileName" is a string set to output path and filename

    B.name is the filename of the board




     



    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • dukepro
    0 dukepro over 11 years ago in reply to Former Member

    On 02/18/2014 11:29 AM, Magnus H-C wrote:

    Thank you!

    This works great, but since I use a ULP and (I think) you use a bat-file

    i had to add "CMD.EXE /c echo y | " in the system call.

     

    Excellent.  Glad it worked out for you.

     

    The excerpt I posted earlier is part of a shell script that is created

    from a ULP, then just prior to exiting, the ULP calls

    system("./camprep.sh &"); where the ampersand causes the script to be

    executed in the background, thus causing the system() call to return

    immediately, which, in turn, allows Eagle to continue executing while

    the CAM jobs are being created.  I don't know if Windows has some

    equivalent, but you may consider having the argument to system() execute

    in the background - just to prevent freezes.

     

    The ULP determines from the board design which gerber/Excellon files

    need to be created, and which layers to include with each.  The script

    includes the recursive removal of a directory and recreation of it.

    Then all the output files and the associated .gpi files are moved to

    this new directory, and a zip file of the gerbers is created ready for

    uploading to the board fabricator.

     

    So, all in all, it's a clean way to generate a zipped collection of

    gerbers for a particular design - just "run camprep" in the Eagle

    command line.

     

    HTH,

        - Chuck

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to dukepro

    Hi @Chuck Huber,

    Your camprep ULP and associated sh script sound very useful indeed! I don't suppose you'd consider sharing them with the community here http://www.cadsoftusa.com/downloads/ , would you? image

     

    Thanks and best regards,

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • dukepro
    0 dukepro over 11 years ago in reply to Former Member

    On 02/18/2014 04:37 PM, Daniel Wainwright wrote:

    Hi @Chuck Huber,

    Your camprep ULP and associated sh script sound very useful indeed! I

    don't suppose you'd consider sharing them with the community here

    http://www.cadsoftusa.com/downloads/ , would you? image

     

    I'd be happy to.  There's four files involved, and I need to sanitize

    one of them before uploading.  I'll zip them up and throw in a quick

    read-me within the next few days.

     

        - Chuck

     

     

    Thanks and best regards,

     

    --

    To view any images and attachments in this post, visit:

    http://www.element14.com/community/message/104169

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to dukepro

    Thanks, I'm sure plenty of folks will appreciate it image

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • dukepro
    0 dukepro over 11 years ago in reply to Former Member

    On 02/18/2014 04:37 PM, Daniel Wainwright wrote:

    Hi @Chuck Huber,

    Your camprep ULP and associated sh script sound very useful indeed! I

    don't suppose you'd consider sharing them with the community here

    http://www.cadsoftusa.com/downloads/ , would you? image

     

    Okay... It's uploaded as "camprep.zip".  It said something about

    approval, though, so I don't know how long it will take to show up.

     

    HTH,

        - Chuck

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • dukepro
    0 dukepro over 11 years ago in reply to Former Member

    Daniel,

     

    The upload hasn't cleared Cadsoft yet.  Send me your email address and

    I'll send a copy of the zip directly to you.

     

        - Chuck

     

     

    On 02/18/2014 04:37 PM, Daniel Wainwright wrote:

    Hi @Chuck Huber,

    Your camprep ULP and associated sh script sound very useful indeed! I

    don't suppose you'd consider sharing them with the community here

    http://www.cadsoftusa.com/downloads/ , would you? image

     

    Thanks and best regards,

     

    --

    To view any images and attachments in this post, visit:

    http://www.element14.com/community/message/104169

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to dukepro

    Hello Chuck,

     

    would you mind uploading the camprep.zip to a location where I can download it please? I'm interested in seeing how you handle the generation of the CAM files but I can't find the file to download on the cadsoft website.

     

    Thanks!

    Lieven.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube