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
    About the element14 Community
  • 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) Re: Can a ULP initiate a CAM job?
  • 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
  • Replies 5 replies
  • Subscribers 189 subscribers
  • Views 1291 views
  • Users 0 members are here
Related

Re: Can a ULP initiate a CAM job?

e14 Contributor
e14 Contributor over 13 years ago

 

  • Sign in to reply
  • Cancel
  • damienb
    damienb over 11 years ago

    I just build a same solution, for my part it's to plot gerber files and documentation in single click.

    They are no way to run the CAM processor directly from a script or ulp function, it is mentionned on Eagle documentation.

     

    To solve this probleme the solution is to open many other instances of eagle with shell command line like: eagle.exe -X

    You can found documentation in the 'ulp manual' of eagle.

    This allow access to the CAM processor the result is stricly the same ( it is the CAM processor), but many CAREFULL,

    this solution plot the GERBER file from the board saved on the Hard drive, not the board edited on the initial instance of Eagle,

    So it is important to Save the lastest modification of your board (if you have) before launch the GERBER plot (from external instances of Eagle).

     

    To do that, the only solution that I found is to execute 'write' command in a script file (scr). this function save the Bord and schematic file on the hard drive, and for my solution, this is this scr file that launch my ulp file.

    Regards.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • dukepro
    dukepro over 13 years ago in reply to autodeskguest

    On 03/19/2013 06:17 PM, Warren Brayshaw wrote:

    I suspect you can. But I haven't confirmed this before writing.

    Your ULP could use the system() command to launch a second silent instance

    of eagle to run your CAM job. Worth looking into.

     

    Warren,

     

    I use this method on every new board I make now.  I have gotten rid of

    most of my .cam files migrating each project to use "camprep.ulp", which

    produces a shell script that gets executed just before the ULP exits.  I

    wrote this strictly for linux.  It probably works on Macs, and Windows

    may need some modifications.  The shell script produced also launches

    "gerbv" to preview the gerber files.

     

    The CAM processor does essentially the same thing, which is why you have

    to save the board before running the CAM job.  But instead of having

    different cam jobs for every project, I have just one ULP that handles it.

     

    camprep.ulp will detect a "-Array" in the board file name, in which case

    it assumes that the board is a product of "panelize.ulp" and replaces

    layers 25 and 26 with layers 125 and 126 respectively.  I have not

    tested it with blind or burried vias.

     

    Near the start of the ULP, it calls "fixdrills.ulp" which rounds all the

    vias to the nearest mil, and it also saves the board.  You can comment

    these out if you don't need it.

     

    Bottom line is that it comes without warranty.  It's decently commented

    and works for me, which meets my requirements.  Modify at will to suit

    your needs.

     

    Attached is a sample shell script that is produced, and the camprep.ulp.

     

    HTH,

        - Chuck

     

     

    Attachments:
    https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/308/cam.sh
    camprep.ulp.zip
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • autodeskguest
    autodeskguest over 13 years ago in reply to autodeskguest

    Thanks for your answer. Yes it could works, but how I could applay it? I

    found something hier:

     

    http://www.eaglecentral.ca/forums/index.php/mv/msg/45521/141387/27601c640c315bcf1fb9ae9f804e9cb4/#msg_141387

     

    "C:\Program Files(x86)\EAGLE-5.11.0\bin\eagle.exe" -X -dEXCELLON

    -RB30002.drl -oB30002.drd -D0.025 B30002.brd Drills Holes

     

    But is just for holes/drills and I can't imagine how the command looks like

    when I need to generete the data for 6-Layer board. Now I have already

    prepared and save different CAM jobs for 2,4,6 Layer board and I didn't

    find way how to open and run those files with the -X option. Also I want to

    have those data in new directory (Gerber Data) in project directory and

    implement it as button in text menu. Do you have any idea?

     

    Thanks

     

    Tom

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • autodeskguest
    autodeskguest over 13 years ago

    I suspect you can. But I haven't confirmed this before writing.

    Your ULP could use the system() command to launch a second silent instance

    of eagle to run your CAM job. Worth looking into.

     

    Warren

     

     

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
  • autodeskguest
    autodeskguest over 13 years ago

    Hello,

     

    I wanted to solve this problem:

     

    http://www.eaglecentral.ca/forums/index.php/mv/msg/45092/140099/

     

    with one simple ULP which will create a directory first and then rund the

    saved CAM Job. I would implement it in the text menu in eagle as button

    with different options for different CAM Jobs, but then I found next

    barier, that is not possible to run the CAM Job from ULP. It would be nice,

    if it will be solved in next versions (CAM Command in Editor and

    possibility to create directory directly from eagle).

     

    I would have also some other ideas for new versions:

     

    1) it would be nice if the layer for texts >NAME and >VALUE would be set

    automatically(sch: Nr.: 95,96; brd: Nr.: 25,27 )

     

    2) it would be helpful if I could in settings set defauld grid for BOARD

    command/button and set the units (global) to mm or inch

     

    3) also visibility of pads names in schematic could be helpfull, same thing

    as layout editor has in settings (Display Pad Names)

     

    Thanks for your answer/comments

     

    Tom

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • 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.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube