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.
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
| https://community.element14.com/cfs-file/__key/communityserver-discussions-components-files/308/cam.sh | |
| camprep.ulp.zip |
Thanks for your answer. Yes it could works, but how I could applay it? I
found something hier:
"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.
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.
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.