Tag Archives: EagleULP

Exploring Eagle CAD ULPs #6 – Group-aps_v4.ULP Autoplace by Group

Welcome to the 6th post of the “Exploring Eagle CAD ULPs” series. Each post will be discussing one useful ULP in Eagle CAD.

“ULP” User Language Program is a plain text file which is written in a C­-like syntax and can be used to access the EAGLE data structures and to create a wide variety of output files. You can think about it as a plug-in for Eagle.

You can reach the posts published in this series using the following link.

In the previous post we explored Place50 ULP which places all parts of the board to the position in the schematic. Place50 moves all parts of the board, but sometimes we need to do this auto-placement for just a certain group of parts. Beside that, we can’t change the position scaling factor in Place50. Group-aps_v4 ULP overcomes these two points of limitation in Place50 ULP by doing the auto-placement by group, and having user defined position scaling and offset.

To use Group-aps_v4 ULP first download it from Autodesk website. Before running it in the schematic editor, you need to define a group of parts first.

Group-aps_v4 has a simple dialog to enter scale and offset values.

Scale is used to scale the value of original position (X and Y) of the parts in the defined group in the schematic. While X,Y offset is used to offset the final position of the part in the board after scaling it. For example, if scale was 0.5 and the position (in mil) for the part is (500,100) then is will be considered as (250,50).

Group-aps_v4 ULP originally places the group in the calculated position of the the first part. So as an output, all parts will have the same X and Y and that’s not effective. So i made a simple edit to the ULP to solve this issue. You can download the updated version N_group-aps_v4.ulp.

Exploring Eagle CAD ULPs #5 – Place50.ULP Place All Parts of The Board to The Position in The Schematic

Welcome to the 5th post of the “Exploring Eagle CAD ULPs” series. Each post will be about one  useful ULP in Eagle CAD.

“ULP” User Language Program is a plain text file which is written in a C­-like syntax and can be used to access the EAGLE data structures and to create a wide variety of output files. You can think about it as a plug-in for Eagle.

You can reach the posts published in this series using the following link.

In this post, we will discuss an autoplacer ULP. Normally, Eagle CAD places parts in the board without any considerations to electrical connections, and there isn’t any built-in auto-placing tool in Eagle.

Without the help of ULPs, you will need to do this task manually by moving connected parts near to each other. However, some ULPs can solve this problem ــ manual placement is a time consuming task when the PC can help us !.

Place50 ULP has a simple and smart idea. It’s an autoplacer which places all parts of the board to the position in the schematic. To use this ULP first download it from Autodesk website to run it in schematic. Running this ULP from schematic editor will generate a script file in your home directory. Now open board editor and run the script file “place.scr”.

I made a little edit to the original ULP to make the script file be saved in the same directory of the project rather than the home directory. Download it from here.

Exploring Eagle CAD ULPs #4 – Renumber The Parts Number In Order

Exploring Eagle CAD ULPs #3 – Teardrops.ULP Make A Teardrop Shape Connection With Pads and Vias

Welcome to the third post of the “Exploring Eagle CAD ULPs” series. Every week we will publish a new post about one useful ULP in Eagle CAD.

“ULP” User Language Program is a plain text file which is written in a C­-like syntax and can be used to access the EAGLE data structures and to create a wide variety of output files. You can consider it like a plug-in for Eagle.

You can reach the posts published in this series using the following link.

ulpserpost3

In this post we are going to explore a ULP called ‘Teardrops.ULP’. This ULP makes a teardrop shape connection between the traces and the vias or pads.

Before I found this ULP, I thought that I can’t do the teardrop thing using Eagle CAD, while I saw a lot of designs that have been done using Altium have this feature.

Using teardrop shape connection may result in many advantages:

  1. It prevents drill breakout due to drill misalignment where the trace joins the via or through hole.
  2. It makes stronger connection between the traces and the pads. Thermal expansion when re-soldering/desoldering could sometimes lead to a loose connection where the trace joins the pad.

 

Image Source - Youtube/Premier EDA Solutions
Image Source – Youtube/Premier EDA Solutions

 

Image Source - Youtube/Premier EDA Solutions
Image Source – Youtube/Premier EDA Solutions

This ULP should be used with forethought or on a copy of your board file just before plotting because it would be difficult to remove teardrops afterwards. Once added, they can’t be undone using ctrl-z.

Teardrop.ulp GUI
Teardrop.ulp GUI

In the GIF below, I tried to demonstrate how to use this ULP.

teardropulp

Note: You don’t need to download and add this ULP. it’s available in the ulp directory.
To use it, just press the ULP icon from the tool-bar and search for ‘teardrop.ulp’.

Exploring Eagle CAD ULPs #2 – ‘Unrouted.ULP’ Zoom To The Last Left unrouted Wire

Welcome to the second post of the “Exploring Eagle CAD ULPs” series. Every week we will publish a new post about one useful ULP in Eagle CAD.

“ULP” User Language Program is a plain text file which is written in a C­-like syntax and can be used to access the EAGLE data structures and to create a wide variety of output files. You can consider it like a plug-in for Eagle.

You can reach the posts published in this series using the following link.

ULPSerPost2

In this post we will discover “Unrouted.ULP” by Daniel Mack. The job of this ULP is to zoom to the first unrouted wire in the board editor. This might be helpful when searching for tiny leftover air wires especially in big boards.
When we use ‘ratsnest in layout editor, a result with remaining airwires is shown in the bottom of the editor. Sometimes airwires are not visible to our eyes and need a lot of searching.

One Airewire Is Left - See the red circle
One Airewire Is Left – See the red circle

“Unrouted.ULP” can zoom to unrouted line and solve this problem for us.

You can see this ULP in action in the below GIF

unroutedulp

You can download the ULP from here: Unrouted_ULP

That’s all for this time, see you next post in this series!

Exploring Eagle CAD ULPs #1 – PickUp.ULP Select Components Both in Schematic And Layout

EagleUlpSeries

Welcome to the first post of the “Exploring Eagle CAD ULPs” series. Every week we will publish a new post about one useful ULPs in Eagle CAD.
“ULP” User Language Program is a plain text file which is written in a C­-like syntax and can be used to access the EAGLE data structures and to create a wide variety of output files, you can consider it like a plug-in for Eagle.

You can reach the posts published in this series using the following link.

ULPSerPost

When we work on schematic design, we always add parts here and there, adding a missed capacitor for a power pin of a regulator or a missed resistor for a data line and so on.
When we will generate the board file to start routing, we will find the parts scattered in the board.

The first rule in placing and routing in PCBs is to place connected components near to each other, but in the raw board file you will find every component located in a different place according to the order of adding them in the schematic.

This becomes very annoying in big designs. You need to gather the connected components manually, you will using MOVE tool for that. For example, to gather the components C9, C11, Y1 and R1 of a crystal connected to the MCU, you should run the following commands in the layout editor:

MOVE C9;
MOVE C11;
MOVE Y1;
MOVE R1;

Some MCUs have up to 50 capacitors and resistors or more connected to them, so obviously gathering components manually is not the way.

Personally I was doing the gathering process manually until the day I told myself, SHOW tool can highlight the component or components (by selecting them using ctrl+SHOW tool) both in schematic and PCB editor, you should find a similar way.

When I googled about the problem I found an ULP (made by lorenznl) in a response of one of Element14 forum discussions “How can I select components booth in schematic and layout at the same time?”, it was exactly what I was looking forward.

To use this ULP, you must select a group of components using GROUP tool then run “PickUp.ULP” from the schematic editor. Now when you will go to the layout editor, you will find the components you grouped them in the schematic editor movable as a group in the layout editor.

The below GIF demonstrates how this ULP works.

PickUpULP

 

You can download the ULP from here: PickUp_ulp

See you in next post in this series with another useful ULP.