tutorial

This page refers to an old version of eagleUp. This page is for reference only. Please have a look at the newer version : easier to use and more powerful.

This step-by-step tutorial shows how to go from an example layout to the 3D model. Then you can start modeling your own components and apply the principle to your own work.

The snap popups appearing over the images on this blog can be disabled, check the menu on top right corner, or use Adblock.

Step 1 : preparation

For this tutorial we use the following software :

Cadsoft Eagle 5.9 (free version)

Google SketchUP 7 (free version)

ImageMagick 6.6.2-0-Q16-windows

Gimp 2.6 (or your favorite image editor)

This page refers to an old version of eagleUp. This page is for reference only. Please have a look at the newer version : easier to use and more powerful.

Install and test these applications on your computer. Eagle’up has been developed and tested on Windows platform. Each tool exists as well on Mac and Linux platforms, feel free to comment on the compatibility.

Then download the following archive and unzip it somewhere on your hard drive. (note the archive contains .bat and .scr files that can trigger your antivirus, they are completely safe, thanks Cadsoft for choosing the scr extension).

EagleUp tools 3.zip (save as … then rename as .zip)

This page refers to an old version of eagleUp. This page is for reference only. Please have a look at the newer version : easier to use and more powerful.

(latest version, includes color selection and drill plating)

Each folder is named after its destination on your computer :

  • Demo Eagle files, brd and sch files that we use as exemple. Place them in your usual projects folder
  • Eagle models, copy the content to C:\Program Files\EAGLE-5.9.0\models (new folder)
  • Eagle scr, copy the content to your scr folder, C:\Program Files\EAGLE-5.9.0\scr
  • Eagle ulp, copy the content to your scr folder, C:\Program Files\EAGLE-5.9.0\ulp
  • PCB image batch, this batch file goes best in the same folder as your brd file
  • SketchUp plugins, copy the content to SketchUp plugins folder, C:\Program Files\Google\Google SketchUp 7\Plugins

Step 2 : export from Eagle

Now that the tools are installed, let’s start with the export of the board and components from Eagle. Note: for best accuracy the width of the dimension lines should be set to zero.

In Eagle, open your project and switch to the board editor. Click on the SCR button and select Eagle_up export.scr This scripts exports the PCB layers and components list in the current active project. High resolution png images are generated for the silk, copper, drills and masks layers. Then you are requested to type the PCB thickness (1,6mm by default) so that the PCB model matches your real board. The script generates a text file with a line for each component of your layout. It contains information of placement, side and orientation, as well as the name of the package. This file can be  edited by hand if necessary. You find new files in your project folder.

Eagle generates warning if the png files already exist. I have not found how to disable these boring popups sorry. Open the txt file to check the formatting :

outline,60.96,26.67,88.88,59.36,1.6,
hole,80.35,33.02,0.45,0.80,
hole,84.75,33.02,0.45,0.80,
hole,73.98,54.61,1.80,0.80,
hole,69.85,31.75,0.75,0.80,
hole,67.31,34.29,0.80,0.80,
hole,72.39,34.29,0.80,0.80,
hole,72.39,29.21,0.80,0.80,
hole,67.31,29.21,0.80,0.80,
C1,63.18,39.37,270,,C0603,0.8,
C2,74.93,37.47,270,,C0603,0.8,
C4,72.39,40.64,0,,C0603,-0.8,
C5,69.85,43.18,90,,C0603,-0.8,
C6,72.39,45.72,180,,C0603,-0.8,
C7,74.93,43.18,270,,C0603,-0.8,
C8,74.93,40.01,270,,C0603,-0.8,
C9,74.93,36.83,270,,C0603,-0.8,
CON1,66.04,54.61,90,ICD2_MINI,1X5_127,0.8,
CON2,82.55,54.61,90,ICD2_MINI,1X5_127,0.8,
CON3,82.55,33.02,90,USB-B_MINIB,USB_MINIB_HOLE,0.8,
H1,73.98,54.61,0,MOUNT-HOLE3.6,MH3,6STD,0.8,
IC1,67.31,46.99,270,PIC24F04KA200,TSSOP14,0.8,
IC2,82.55,44.45,270,PIC18F2XJ50SS,SSOP28,0.8,
IC3,69.85,39.37,270,,SO08-150,0.8,
R1,79.06,51.44,90,,R0603,0.8,
R2,64.77,37.47,90,,R0603,0.8,
R3,64.77,41.27,90,,R0603,0.8,
R4,84.45,48.26,270,,R0603,-0.8,
R5,84.45,45.09,270,,R0603,-0.8,
R6,84.45,41.91,270,,R0603,-0.8,
R7,79.38,39.37,0,,R0603,-0.8,
R8,78.11,41.91,90,,R0603,-0.8,
R9,78.11,45.09,90,,R0603,-0.8,
R10,78.11,48.26,90,,R0603,-0.8,
R11,83.19,39.37,0,,R0603,-0.8,
X1,69.85,31.75,0,SMAH,SMA-H,0.8,

The first line describes the board outline. The information uses the layer 20 in Eagle. Currently a rectangle including your outline is exported. If you want a fancy and rounded board you will have to model it yourself in SketchUp (it’s very simple).

The following lines are used to drill holes in the board, like with a CNC machine. Values are X and Y coordinates, radius and half thickness.

Then each line gives the component name (for reference), the x and y coordinates in mm, the orientation, the value (for reference), the package name and finally the z coordinate. The board is placed symmetrically in the model, no jealous. There is a final comma as the Ruby import was not working well without.

The PCB image rendering is based on the previous work of Thomas from Madwizard. In Eagle’up the rendering has been automatized and simplified.

Step 3 : import into SketchUp

Launch SketchUp. I use the template engineering in meters. Does this seem quite large for electronics components. I model all my devices with a 1000:1 scale, so that 1 meter in SketchUp is equal to 1 mm in real. I took this habit as SketchUp was not handling correctly the small dimensions. Feel free to use mm or other units, as long as you keep the same unit everywhere it should go well.

First of all, delete any object present in your model (in my case the human character). The import needs to start from a blank page.

You should have a menu called Plugins in the menu bar. Select “Import design from Eagle” as shown below.

I have not found how to call the common dialog to select a file (any idea?) so you have to type or copy/paste the path of the txt file generated previously.

The Ruby plugin begins by creating the board and apply a green color. Then it imports models of your components. The plugin assumes that they are stored in C:\Program Files\EAGLE-5.9.0\models\ and have the same name as the device package (for example R0603.skp). That’s not very flexible but should work. If you are using a different version of Eagle, open the file eagle_import.rb with your favorite text editor and modify the first line.

If you have not yet modeled a component, a message will warn you. Note the error in the package name (should be MH3,6STD). Very bad idea to use a comma in a package name !

A message indicates that the plugin finished the import. You should normally get this model : (rotate by keeping the middle button of your mouse pressed)

Starts to look good, no ?

At this point you can edit the model, improve the board outline …

Step 4 : generate realistic PCB images

To render the PCB image I use Image Magick. This small utility accepts command lines and can deeply process any kind of images. Edit the batch file if you are curious of details.

The batch file generate PCB images.bat combines the png files generated earlier and color them to get a realistic view of a finished board with stop mask. The colors are chosen for the classic green finish mask, but can be changed to any colors, see the complete list of colors.

Run the batch file from the folder containing the png files (i.e. your project folder). After a few seconds you should have two new png files :

Unfortunately Eagle considers the components largest outlines for the export and not the real board outline, so we have some extra board to cut before importing the image in SketchUp. You can see a thin white line around the real board outline. In Gimp I simply use the magic wand tool and click inside the board near the outline, then image menu and fit canvas to selection. This shrinks the image to the exact dimensions of the board.

Save the file and repeat for the other side. We now have proper boards :

Step 5 : Apply the PCB image on the 3D model

Almost done. In SketchUp, click on the menu File then Import. On the right choose “Use as texture“. Select your board_top.png file. Orientate your model for easy access to the two corners and select the endpoints as shown below :

You can improve the texture quality by changing a setting, see the FAQ page.

Repeat on the bottom side. Save your new model.

You are done. Was it difficult ?

—-

I leave the comments open on this page so you can comment and ask directly here

19 thoughts on “tutorial

  1. Hi,
    Impress… But eagleup tools.zip link is not working. Could you please check it?

  2. Hi Jerome,

    I’m having trouble with step four. The batch file isn’t joining the images for me. How do I use Image Quick to run the batch file? I didn’t seem to need it.

    Thanks for the help

  3. Hi Jerome,

    Your way to create a 3D model of all the board,
    entirely in Google SketchUP,is better.

    I’ve followed this tutorial.
    I opened your board in Eagle 5.7
    and I launched the ULP file.
    .PNG and .TXT files has been correctly created.
    Then I’ve launched the plugin
    in Google SketchUP 7.1
    It asked me the path of .TXT file;
    i’ve inserted it correctly.
    BUT nothing more happens 😦
    nothing is drawn.. no error message.. nothing.
    Models are in correct directory
    in Eagle 5.7 and I’ve modified
    the first line of plugin script.

    Have I done some errors?

    Thanks, Michele.

    • Hello Michele,
      The error probably comes from the different way of writing a decimal number. Eagle always use the period (.) while Sketchup uses the system settings. If it is set for comma (,) it crashes without warning in the current version.
      I have the next version almost ready (includes many improvements and easier to use) but I have been very busy the last few weeks and could not complete the testing. I hope I can release it this month.
      Jerome

  4. I found the inputbox a little cumbersome to use in windows 7 so i replaced the input lines with

    file_data_path = UI.openpanel (“Please enter the full path of the Eagle export”, “c:\\”, “*.txt”)

    file = File.new( file_data_path , “r”)

    This uses a dialog vs an inputbox.

    BTW, great work, this is exactly what I needed to plan my next project.

  5. Great tool,

    Trying to make it work on OSX, changed the directory for the model but are not getting any response after entering the path for the exported txt file from eagle.

    I wonder if the problem with the , above has been fixed or if I should update the scripts myself. I got eagleup-tools-3.

    Thanks for a great utility and I’m looking forward to using it.

  6. Hi saw that you where looking for a way to remove the popup messages when creating replacement images before.

    The following command should be added before the first image is created
    SET CONFIRM YES

    And after the last image is created it should be restored by adding the following command
    SET CONFIRM OFF

    Will look into creating non square boards also, will post here if I get time to complete it.

    • Hi Erik,
      I will publish v4 this week. It handles user defined board shapes and fixes some bugs.

      I understand your issue on Mac OS with Sketchup. I will try to have a look. One known issue is the decimal system. In some cases the numbers are not recognized and the scripts stop 😦 I have to add a search and replace for decimal.

      Jerome

      • Any word on the release of v4, Jerome?

        Do you think there is a way to automate execution of the .bat file and image cropping? It would save some time when iterating board changes.

        Thanks again!

        • Hello John,
          v4 is on the way. Can’t give a date as we want to release stable and tested scripts.
          As a teaser we can say that the automatisation is pushed a lot forward and it does not require manual steps anymore : image creation, crop and placement on the board are automatized.
          Eric has also worked on interaction between Eagle and Sketchup so that mechanical engineers can run all from sketchup directly.
          The website will be reviewed for the release as most of the tutorials need updates. Feel free to send me an original board to serve as example.
          Jerome

  7. Hi,

    I am looking for a 3D tool for Eagle and accidentally found this Web side.
    Its great. Thank you very much.

    I tried to programm something in your scripts. The scripts are very clearly programmed. I can now use any polygon outline and use a metric eagle.txt.

    But I will wait for your new V4.

    And after work a little bit, I understand why you use a scale of 1:1000 for Sketchup.

    Do you plan a library for eagle parts, where user can upload the new sketchups parts?

    Best regards
    Ralf

Leave a comment