Tutorial

With the version 4, eagleUp is much simpler and intuitive to use. Here is a short tutorial that will walk you through the steps from a 2D design to an enclosed 3D model.

Preparation

Open your project with Eagle as usual. Make sure that your board has a closed contour on layer 20 (Dimensions). It can be a rectangle, a complex polygon with rounded edges… Unfortunately at this step a circular contour does not work as it has no edges.

For better accuracy, set the width of your outline to zero so it’s as thin as possible.

The board provided for the tutorial is ready to use. No action needed.

Export from Eagle

For this small tutorial I provide a demo project with a layout and the corresponding schematics. Please consider this only as a material for modelling. The initial idea was to make a simple 4-bit meter for analog signal. As a circuit it probably does not work !

Run the ULP “eagleUp_export.ulp”. You can click on File / Run / eagleUp_export.ulp.

A window with various settings will appear. Here you can set the colour of your board, the type of plating. The images will look better with the 1200 dpi resolution, but the model will get heavier and slower, so you should use it for small boards only. 600 dpi is ok most of the time and has sufficient details. If you have a very large board or want a quick preview you can use the 300 dpi but the quality of the texts will be lower.

You can use the tPlace layer for the silk screen, or tPlace + tNames if you have placed the designators correctly.

If you have a large board and just want a quick preview of the board and components you can select the no image option. It skips all the steps related to image creation so it is much faster.

If you want to try different color sets for your board, try the custom solder mask color. A popup will prompt two hexadecimal colors : one for the mask over copper (usually lighter) and one for mask over epoxy (darker). You can find a color generator here. Share your best results !

Press OK to launch the export. It should take just a few seconds, then you are back to your design. Users of older versions of Eagle ( before 5.11) might see popups asking for the overwrite of the image files.

The export script writes in the folder of your design a *.eup file with the details of your board : shape, thickness, position of the packages, and exports some images of the copper, silk and masks. These images will be mixed to create a realistic view of the PCB.

You can run the export script as many times as you want with different settings to see their effects.

After a successful export you will see a popup. If a new version of eagleUp is available you will get a notification as well.

Import in Sketchup

Open Sketchup. If asked, set the template to engineering in meters. It is convenient to draw. I enter the dimensions in meters instead of millimeters to achieve smaller details. You can delete any object included in the template.

Click on the Plugins menu, then import design from Eagle.

Browse to your project directory and select the eup file previously generated. You will see several terminal popup and disappear during the creation of the PCB images. This step can take a few minutes with a large design on a slow computer. Just be patient.

If all goes well, after a few seconds you will see a popup saying

Eagle'up import completed
Missing packages:
1X02

The import is completed. There was no model for the pinheads so it is listed as missing.

Note : if you are experiencing issues with the import in Sketchup, enable the ruby console in Window / Ruby console before running the plugin. This will give useful information.

Here you go. A nice model of your previously 2D design. But will it fit in an enclosure ? No project is completed before being in a nice enclosure, right ?

Further integration

Use the measurements tools of Sketchup to get an idea of the dimensions of your project :

Remember the unit is mm and not meter. Well it seems that Sparkfun Soapbox could be a match for our project.

From the datasheet provided you can try to model the enclosure. To save some time I have included this enclosure in the models. So you just have to click on File / import. Browse to your /models directory and select Soapbox.skp

You can rotate and translate the half-shell below your board to check the fitting. At this point you will usually notice conflicts and collisions.


At this point you can manipulate the board and the enclosure, check for the mounting points, attachments… before having the real board or even purchase the enclosure. CAD saves time, money and a lot of effort !

You may have noticed that the Led pins were quite long. That’s because we have not yet cut them  to the proper length. Let’s close the enclosure and check the length needed to have the Leds visible from the outside.

The easiest is to duplicate the half-shelf with the rotate function. Press Control once and it will rotate+copy. Since the shell is symmetrical you can use the middle point of the small side like shown below. Much quicker than trying to add a new instance and try to align it by hand.

With the top shell in place, select it and hide it (contextual menu). You can un-hide it at any time with edit / unhide all.

Now select the four Leds, and move them up (along the blue axis).

Unhide All, and check if the Leds are visible above the enclosure. Repeat until you like the position of the Leds.

For a final check you can apply a translucent material to the top shell. I use Translucent Glass Block Dark. Everything seems all right inside. You can now take measures of the location of the Leds, so you know where to drill the enclosure.

This project is not finished. You can complete the model by adding some proper connectors for the input signal and for the battery, and an On/Off switch. Maybe a larger enclosure will be necessary after all !

I hope this small tutorial shows you the benefits of a 3D modelling of your electronic layout. Please ask in the comments if you need more detailed step.

55 thoughts on “Tutorial

  1. Excellent!!!

    It is working fine, I had troubles with the old version and my OS but with the new Eagleup, its working just perfect, I have to thank to everyone who made this possible. I will show my students this freeware.

    Thanks

    Neilsao

  2. Found this neat little thing lately on the net and heavily used it, very useful, also for work with SolidWorks with a STL Im/Export between SketchUp and SW.
    The only thing that realy bothers me is, when can I use round structures? Can there be a deeper dig on this, at least regarding documentation to avoid running into trouble and getting stuck in the mud? Thanks to all involved.

    Cheers from Germany

    • The only limitation regarding a round PCB is that it needs to be defined by two arcs (two half circles) of width=0.
      Jerome

  3. WOW! This is great!
    I used to just use a green square to represent my board and if I needed I would place some components in place by measuring their position. this will be a lot easier now that I can see where they should be placed!

    Excellent work.

  4. After the import into sketch up it complains about missing packages.
    Where should these packages be?

  5. Hello,

    I’m using Ubuntu 11.10.
    Sketchup, Eagle and imagemagick work like a charm.
    But which paths do you have to fill in when running the EagleUp.ulp for the first time? There is no convert.exe or other to point to in linux.
    Or can you just leave them blank?

    Thx

    Dave

  6. Hi,

    Excellent work. However I did follow the instructions for this example and all components are missing at the end (the board is perfect !).

    Is there something that I’m missing?

    Note: using Eagle 6.1.0, Eagleup 4.3, Googlesketch up 8 and ImageMagick-6.7.4-Q16

    • Hello,
      Missing models could come from :
      – wrong path set in the general settings
      – skp files missing

      In particular check eagle version if you placed it in C:/Program Files/Eagle x.y.z/models/

      Jerome

  7. For me it works but have 2 issues,

    1. The default paths are wrong, easy to fix.
    C:/Program Files (x86)/EAGLE-6.2.0/models/
    C:/Program Files (x86)/ImageMagick-6.7.6-Q8/convert.exe
    C:/Program Files (x86)/ImageMagick-6.7.6-Q8/composite.exe

    2. The *board_top&*board_bottem files come out pure ivory, so all i see is a ivory board with components on it.

    • Default paths need to be adjusted depending on your system settings.
      I recommend an older version of ImageMagick, see the note on Installation page.
      Jerome

      • I am having exactly the some problem and I have downloaded the ImageMagick version you have suggested. I imagine no one has a correction for this yet.

  8. Hi,

    I installed everything, but is showing a error when I export for ULP. This error:

    Can´t open ‘C:\ Program Files (x86)\Eagle-6.2.0\projects\demofiles\eagleUp\demo3d.eup’

    No such file or directory.

    What´s a problem?

    • Hello,
      – does the folder exist ?
      – do you have write permission on this folder ?
      A general recommendation is to avoid storing files in a project folder, it makes it harder to backup your files.
      Jerome

  9. Hi,

    I have installed all and it work fine. But I don’t see any net, only the components on board? Someone have this problem?

  10. Everytime I use the EagleUp ULP it disables the “display pad names” setting of Eagle (options -> set -> misc). Is there a way to solve this?

    • Hello Max,

      Pad names need to be disabled to generate the PCB texture. In the ULP this is done with the line :
      cmd += “SET PAD_NAMES OFF;\n”; // hide pad name in case they were visible

      Eagle scripting language does not offer a way to check if the parameter is On or Off (a GET function). So it will not be restored.
      You can either :
      1- set it back manually (assign a keyboard shortcut or a menu bar button)

      2- replace the line 1333, but it will then always set it On !
      cmd += “display NONE ” + active_layers + “\nSET PAD_NAMES ON;\n”;

      I recommend option 1.

      Jerome

  11. I am having exactly the some problem (Róbson Fernando – 04/05/2012), but the folder exist, and I have full permission on this folder (none system volume)… “eagleUp_export.ulp” created 04.07.2012.
    ???
    Beforehand, thanks.

  12. check that the general setting for the export sub folder is only a sub folder (for ex 3d export) and not a complete path that would cause an error.

    • Yes! It is working!
      Thanks for your suggestions, Jerome. Nice tool.
      Using: Win 7SP1, Eagle 6.1.0, Eagleup 4.4, SketchUp 8 and ImageMagick-6.8.0-Q8_windows-static.

  13. After installing EagleUp I ran the Sketchup plugin – used the demo PCB … .
    Part of the PCB appears in SketchUp, but a message confirms the components are missing.

    Is the reason that I did not locate the proper directory. And if so, where to locate them?
    Thanks

    • The best location for the models is in a folder where you store your designs.
      User files in the Program Files folder is not a good habit.
      Make sure the path in the eagleUp settings match the path of your files.

  14. Hello
    ÍI have a small problem. I installed everything, the demo working fine, but my PCB is nor visible in the sketchup
    Ruby console stops at here:
    Error: #
    C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/eagleUp_import.rb:84:in `chdir’
    C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/eagleUp_import.rb:84:in `import_file’
    C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/eagleUp_import.rb:76:in `import’
    C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/eagleUp_import.rb:838
    C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/eagleUp_import.rb:84:in `call’
    C:/Program Files (x86)/Google/Google SketchUp 8/Plugins/eagleUp_import.rb:84
    Please help be what is a problem
    THX

  15. Hi,
    The new version of Google Sketch Up does not have the PlugIns menu listing. It requires an RBZ file to be installed using the Window/Preferences/Plugins menu system. It does not like the current RB file.
    Any suggestions?
    Thanks,
    Bill

  16. Success with EAGLE v6.4, eagleUp v4.4, and ImageMagick-6.8.0-6-Q8-windows-dll.exe. More thanks to Jerome and other developers! Hope eagleup keeps its momentum!

    For anyone using OSH Park, the custom board color I use is 0x330053 and the trace color is 0x401264. These are the colors from board renders on OSHPark website

  17. Hi Jerome,
    Thanks for the tutorial and your patient replies to everybody. I have installed everything but I have a problem. Imported the EUP in sketchup but shows that all models are missing and nothing is visible. Am I wrong with any of my paths?

    Eagle’up import completed

    Missing packages:
    1X02
    C1206
    E5-6
    SO14
    SOT89
    LED3MM
    R1206

    OS: Win 7 home premium
    Eagle in R:\Rcp\PCB Manufacturing\Eagle 6.3\projects\examples\demo3d.brd
    Sktchup in C:\Program Files (x86)\Google\Google SketchUp 8
    Imagemagic in C:\Program Files (x86)\ImageMagick-6.8.0-Q8
    Eagle3d in R:\Rcp\PCB Manufacturing\Eagle 6.3\eagle3d

    Eagleup ULP settings
    Models path: R:/Rcp/PCB Manufacturing/Eagle 6.3/models/./
    convert.exe path: C:/Program Files (x86)/ImageMagick-6.8.0-Q8/convert.exe
    Composite.exe path: C:/Program Files (x86)/ImageMagick-6.8.0-Q8/composite.exe
    export subfolder: R:/Rcp/PCB Manufacturing/Eagle 6.3/projects/examples/eagleUp

    Models in R:\Rcp\PCB Manufacturing\Eagle 6.3\models
    EUP in R:\Rcp\PCB Manufacturing\Eagle 6.3\projects\examples\eagleUp

    Thanks again

    • as a quick guess I would say the paths should be :
      Models path: R:/Rcp/PCB Manufacturing/Eagle 6.3/models/
      export subfolder: eagleUp

      The subfolder is just the name of the folder that will be created where your brd and sch files are.

      Jerome

      • IT WORKS !!! Thanks. That was a quick reply. Made the corrections that you suggested.

        Another mistake that I committed. I had earlier chosen the template “Architectural design – millimeters” and when I imported the EUP file it suggested “it seems that C1206 is quite large. Do you want to resize it?”. This was the case for each component and in the end all the components lay piled up at the origin.

        When I chose the template “Simple template – meters” it was smooth and no errors. I could see the board straightaway. Hope these points help the others.

        Thanks again. Wonderful tool that you have made.

  18. Hi,

    i downloaded yout program, sketchup 13.0.4812, and imagemagick 6.8.7-5-Q8-x86-dll.exe. All is installed and the paths are seted up in your eagle script.

    1. When i convert your Examble there are no errors. I import it in Sketchup and see that everything works fine. I see the board, the layout……

    2. When i convert my own board, a simple Atmel mega8 with peripherie, there are no errors when running your script. In the directory of my Project is now the eagleUP directory containing the images and the .eup file. When i now try to imnport the .eup in Sketchup, using your plugin, nothing happens. There ar no errors, no windows which popup, no board shown, just nothing. Its like i never tryed to import.

    Is this a known Problem? Can you help me please, because i wanna use your program cause its great.

    MFG

    Kai

    • hello,
      I suspect the path of your own project contains non latin characters which are not very well supported by Sketchup.
      You can try to place temporarily your files in for exemple C:\test
      Also, try opening the Ruby console (in Window menu) before importing the eup file.
      Jerome

  19. Sketchup seems to hang when I click try and use the Eagle Plugin. I enabled the Ruby Console to get clues but nothing appears there. Any ideas?
    Tnx.

      • Hi, thanks for response.
        I see the dialogue and can select a file. Once i’ve clicked on ‘Open’ button the dialogue box goes and then nothing else appears to happen.

        Eagle 6.5.0 for Linux Standard Edition

        Eagle up as per “eagleUp4.4.zip”

        Sketchup 8.0.16486
        Moonlight 5
        Wine 1.4.1

        Ubuntu 13.10 Desktop 32 bit (Linux 3.11.0-15-generic)

        I have tried with the latet Sketchup 13 first off but the same behaviour is observed. I rolled back to Sketchup 8 as that seemed to be the last version wineHQ listed as working well. I saw some advice here about using Moonlight 4 but can’t seem to get hold of the install for it. The link given here was http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0 which is somehow dynamic or redirected and doesn’t lead me to ver4. I had to set user agent in my browser to get microsoft site to treat me as if detected OS is windows which works but no dice on getting older version from the site.

        I think that is everything! 🙂
        If you need any other specific info i’ll try and oblige. If you have any idea what could be causing the issue I’ll be grateful.

        Many thanks and best regards,

  20. Hello,

    Thought I would share an idea….

    An alternative way to generate your boards PNG tracks, silkscreen etc file is to visit http://mayhewlabs.com/3dpcb and select launch 3D Gerber viewer, then drag and drop your boards Gerber files and hit enter. The web app will generate a 3D view of just your board (no components of course). You can save this as a PNG and then import it into Sketchup. I find it is a bit quicker and looks pretty detailed.

    Thank you.

    Mat

    • Thanks for sharing your idea. I personally think this method is slower when you take into account all the necessary steps, but if you like the color scheme you can pick the colors with any image editor and use them in eagleUp for your custom color board. Feel free to share them here.
      Jerome

      • Hi Jerome,

        I just wanted to let you know that I think eagleUp is amazing. I was only using mayhew labs to generate the PNG file for the tracks and silkscreen 🙂

        I’m working on a new design now for controlling a motor with a wireless connection and will send you the component models when they’re ready.

        Thank you.

        Mat

  21. Hello
    I have a small problem. I installed everything, the demo working fine, but my PCB is not visible in the sketchup
    Ruby console stops at here:

    eagleUp > open file C:\Users\Shri\Desktop\New folder\demo files\eagleUp\demo3d.eup
    system > settings imported
    system > testing units
    system > 100 inch = 2.54m
    system > template meters ok
    system > using dot as decimal separator
    color > colors set
    images > creating top and bottom images
    Error: #<NoMethodError: undefined method `each' for #>
    C:/Program Files/SketchUp/SketchUp 2014/Tools/eagleUp_import.rb:734:in `create_images’
    C:/Program Files/SketchUp/SketchUp 2014/Tools/eagleUp_import.rb:399:in `block in import_file’
    C:/Program Files/SketchUp/SketchUp 2014/Tools/eagleUp_import.rb:140:in `each’
    C:/Program Files/SketchUp/SketchUp 2014/Tools/eagleUp_import.rb:140:in `import_file’
    C:/Program Files/SketchUp/SketchUp 2014/Tools/eagleUp_import.rb:76:in `import’
    C:/Program Files/SketchUp/SketchUp 2014/Tools/eagleUp_import.rb:838:in `block in ‘
    -e:1:in `call’

  22. Hi 🙂 I need Engineering-meters templete(.skp) but I haven’t got it inside Sketchup . I searched it in web but I can’t find it anywhere. Please help me 🙂
    Özge

  23. i have a sketchup model then how i can save it to eagle so it will appear automatically on skecthup with my PCB?

    • You can create an Eagle part, either just a footprint, or a full device with symbol (for sch) and footprint.
      Make sure the footprint name matches the skp file. Place the skp file in your models folder.
      eagleUp will add the new models to your board like a regular part. You do not need to have electrical contacts, silkscreen or anything.
      I recommend you add some lines to the tDoc layer (or any other layer you use for documenting) to show you where the model will end up while you are working in Eagle.

Leave a comment