Eagle Videos From Factory400 - Page 1
Forum section: electronics / general

author: rx8pilot
author_rank: Super Contributor
timestamp: March 01, 2019, 04:48:08 am
content: I started a series of videos for Eagle users. The first 6 are up and only covering the basics so far.The goal is to cover topics/issues/challenges that can fit in a 10-15min video that can eventually become a library that covers the majority of Eagle. The Autodesk videos have not been very helpful so hopefully, this series can grow into something that is helpful. As my own designs have moved into advanced topics like blind/buried vias, impedance control, etc. it has become very hard to get information, tips, hints, and guidance. The biggest thing on my mind is the organizational mistakes I made early on that I am paying for now. That is why the first dozen or so episode are related to getting started on the right foot.If anyone has any topic suggestions, let me know.https://www.youtube.com/playlist?list=PLOo2xvUufB3GPXexU7RjD_ka7hCCSyfk2

author: rx8pilot
author_rank: Super Contributor
timestamp: March 01, 2019, 11:36:36 pm
content: Episode 7 is up....Finally made it to the schematic - at least in a simple way.Episode 8 will be the intro to laying out the board and prepping for a board house to make the project.Part 1https://youtu.be/D75_zVMDpTgPart 2https://youtu.be/fAZ9oEX-54kReally looking forward to turning up the difficulty dial.

author: rx8pilot
author_rank: Super Contributor
timestamp: March 02, 2019, 11:09:31 pm
content: Up to episode 9 which completes the first board. So far, a very simplified overview of the whole process.Now it is time to start digging into more details.https://youtu.be/2ThyLWMKcN8

author: rx8pilot
author_rank: Super Contributor
timestamp: March 08, 2019, 04:45:18 am
content: Episode 10:keyboard shortcuts and scripts really help users reduce the number of clicks and mousing around.https://youtu.be/qiLr7KuHzWE

author: 3roomlab
author_rank: Frequent Contributor
timestamp: March 08, 2019, 02:43:11 pm
content: my eagle shortcuts and LTspice shortcuts are similar, cut move etc

author: rx8pilot
author_rank: Super Contributor
timestamp: March 11, 2019, 03:43:33 am
content: Episodes 11, 12, and 13 are up.I came up with a question that I could not answer myself. What is the purpose/benefit of creating a 'PROJECT' in Eagle. I have always simply made a new schematic and managed all the details in my own folders. Not sure what the project file accomplishes.Anyone care to chime in?Typet purly on my fone.

author: westfw
author_rank: Super Contributor
timestamp: March 12, 2019, 02:30:11 am
content: Huh. I'm not big on hotkeys, but I have a bunch of user-created menu buttons that do similar things:

author: rachaelp
author_rank: Unknown
timestamp: March 12, 2019, 12:42:14 pm
content: Quote from: rx8pilot on March 11, 2019, 03:43:33 amSo, the project contains a few things:Which sch/brd files to open.Which libraries are selected to be in use. With no project EAGLE will default to enabling all libraries in the library path.Window positions.I didn't use projects for a very long time because I thought they were largely pointless, but I find I use them now purely to keep the active libraries in check especially as EAGLE installs a fresh set of those pesky default managed libraries with every update. If I forget to go in and delete them when I go to add a component my libraries view is filled with hundreds of unwanted libraries to dig through to find my own libraries if I don't have an active project.In addition I have several folders, I have my main folder containing all the master libraries which are my main checked libraries, a develop folder where in progress libraries are developed, a client folder when I have client specific libraries, and an import folder where I put libraries I wish to tidy up and extract things from when I import them into my own libraries. Again, using a project keeps these from being always in view when working on a design.

author: rachaelp
author_rank: Unknown
timestamp: March 12, 2019, 12:57:20 pm
content: Quote from: westfw on March 12, 2019, 02:30:11 amI tend to use both hotkeys and user menus. For the examples given in the video for dealing with visible layers, I actually use the built in capability to define aliases for different layer groups which makes it easier to deal with and keep consistent across designs, but I have shortcuts for other things.One of my favourite hotkeys maps to:Code:ROUTE (@); MOVENow we have a decent preserve angles move tool, moving lots of routes around in the layout is much more sane. Sometimes you need to just add a little bump in a trace to go around a via or something though and that used to require switching to the split tool or the route tool with loop removal mode active. With the above assigned to Ctrl+A I can quickly add "joints" to an otherwise straight trace and then move the segment out to avoid the obstacle without "leaving" the move mode. Okay so it does leave it briefly, but it has the appearance of remaining in the move tool.My user menu's are quite complex, I have several with various submenus for different features I have added to EAGLE. I've got an integrated GIT client which I have built up in the menu's (along with a load of ULP) as well as for managing access to various standard parts, managing polygon pours (I have ratsnest pouring disabled), etc. When I have some spare time I'll try and write up some details of my setup on my website.

author: rx8pilot
author_rank: Super Contributor
timestamp: March 13, 2019, 12:35:35 am
content: Quote from: rachaelp on March 12, 2019, 12:42:14 pmThose are pretty good reasons to change my ways. My workaround on libraries is that I named all the libraries I manage and care about starting with '0-' so they are always at the top of the list regardless of what else is loaded at the time.The window position saving is great.....going to play with that now.Quote from: rachaelp on March 12, 2019, 12:57:20 pmWhen you refer to user menus, are you talking about the context menus? I have seen that function but not done anything practical.Would certainly love to see how you have made good use of user menus.One of my biggest goals of making the videos is to learn more about these details both on my own and from others with more experience. So far so good on that front.

author: westfw
author_rank: Super Contributor
timestamp: March 13, 2019, 06:38:55 am
content: My startup script for boards looks like:Code:menu 'Layers {\Top : display NONE top torigins tKeepout tRestrict borigins pads vias dimension unrouted; | \Bottom : display NONE bottom borigins bKeepout bRestrict torigins pads vias dimension unrouted; | \All : display top bottom pads vias dimension unrouted tplace \torigins tnames tvalues bnames bvalues trestrict bplace borigins brestrict Document ?? Edit_history; | \NoNames : display -tnames -tvalues -bnames -bvalues; | \noDocu : display -tdocu -bdocu; | \AddDocu: display tdocu bdocu Document ?? Documentation History To-Do; | \SilkScreen: run display-silk; \}' \'TogScreen : run toglays 21 22 25 26 27 28 51 52;' \'DrawOn {\Top : change layer top; | \Bottom : change layer bottom; | \tPlace : change layer tPlace; | \Dim : change layer Dimension; | \History: change layer History; \}' \'Grid {\Toggle : run gridhalf 1 t ; info | \Smaller : run gridhalf 0.5; move | \Bigger : run gridhalf 2; move | \OnOff : grid; move \}' \'Circle : run circle;' \'Count : run count;' \'DrlAid : run drill-aid;' \'RipPoly : ripup @;' \;The "run" commands are EAGLE "User Language Programs", which are sort-of like scripts (the "act" by generating script text), but they look like C code, and they can access the board/etc internal data structures, throw up user menus, read files, and stuff like that.You might especially note the syntax:Code:AddDocu: display tdocu bdocu Document ?? Documentation History To-Do;Which says "display the Documentation. History, and To-Do layers IFF they exist. If they don't exist, don't bother complaining. You could put the same thing on a hotkey, and it might save you from having to edit your .scr files all the time.One of my favorites is that "gridhalf" ULP, which looks like:Code:#usage "<qt><b>gridhalf.ulp <mult> m|i|t""<p>Multiply the current grid setting by a factor.""<p>""<author>Author: Bill Westfield (westfw)</author></qt>"real griddistance;real multiplier = 1.0;string cmd = "";string units;string newgrid;UL_GRID oldgrid;char arg2;string gu2str (int unittype){switch (unittype) {case GRID_UNIT_MIC:return " mic";case GRID_UNIT_MM:return " mm";case GRID_UNIT_MIL:return " mil";case GRID_UNIT_INCH:return " inch";}}if (board) board(B) {oldgrid = B.grid;} else if (library) library(L) {oldgrid = L.grid;}if (argc > 0) {if (argc > 2) {if (oldgrid.unit == GRID_UNIT_INCH) {newgrid = "grid mm;";} else {newgrid = "grid inch;";}} else newgrid = "";multiplier = strtod(argv);griddistance = oldgrid.distance * multiplier;if (oldgrid.unit == oldgrid.unitdist) {/** original units still being used. No conversion necessary!*/sprintf(cmd, "grid %f;%s\n", griddistance, newgrid);exit(cmd);} else {/** We have to play with units. We could convert, but let's* switch the commands around instead (gives us compatibility* with the menus, hopefully!)*/sprintf(cmd, "grid %s; grid %f; grid %s;%s\n", gu2str(oldgrid.unitdist),griddistance, gu2str(oldgrid.unit), newgrid);exit(cmd);}}

author: rachaelp
author_rank: Unknown
timestamp: March 14, 2019, 04:40:26 pm
content: Quote from: rx8pilot on March 13, 2019, 12:35:35 amI use both context menus plus also menu's / buttons added to the toolbar at the top. I've got a system where I can easily create fairly arbitrary menu structures which allow me to call commands or run ULP from them. So some examples of context menu entries:1) I have a DATASHEET attribute for all components. If I right click on a component in the sch or brd I have an entry called 'View datasheet' which opens the PDF datasheet in my web browser.2) Often I need to switch to a part in the other editor so when in the sch and I right click I have an entry called 'Show in board' and similar but reversed in the schematic.3) I have a via management ULP which I can access by right clicking on vias.Plus many other things!In terms of toolbar buttons/menus:1) Quick access to add common parts, frames, power symbols, etc3) Quick access to various scripts or tools written in ULPOnce you start extending EAGLE's UI with your own custom functionality you can do so many cool things.

author: rx8pilot
author_rank: Super Contributor
timestamp: March 14, 2019, 11:32:22 pm
content: Quote from: rachaelp on March 14, 2019, 04:40:26 pmOk....that does it. You are totally invited to my birthday party!That is a very slick trick. How do I wrangle you into being a guest contributor to the Eagle videos?

author: 3roomlab
author_rank: Frequent Contributor
timestamp: March 15, 2019, 09:20:55 am
content: Quote from: rachaelp on March 14, 2019, 04:40:26 pmwhat does your via menu do?I have created frames for eagle in a picture method (import bmp)https://www.eevblog.com/forum/eagle/creating-pcbbox-templates/it then goes under a device -- with symbol. and it appears in board as a outline object (tdocu/bdocu)under this, I also did battery, special cut outs, shape of a hand, shape of 104 key keyboard (insert many cherry switches?), shape of a table, etc "frames". I see it basically as a 2D cadwhat kind of "frames" method do you use?

author: rachaelp
author_rank: Unknown
timestamp: March 19, 2019, 09:52:59 pm
content: Quote from: 3roomlab on March 15, 2019, 09:20:55 amSorry, I've been slammed with work recently and haven't had chance to reply until now. It currently adds a context menu which opens up a dialog showing the properties of all the vias in the design in a table, with the row pertaining to the current via selected. From there you can choose one of the other vias and have that used for the via instead. It's good if you are trying to make sure you use the minimum number of different via drills in your design but it needs extending to make it so you can do bulk replace operations. It's on my list for a major update at some point.Here is a link to a blog post where I cover some of my tools. There is a link to a GIT repo with them in and instructions for installation / use for most of them although there is another one, my move tools, which is in the repo but not covered in this blog:https://www.element14.com/community/people/rachaelp/blog/2017/03/03/eagle-ulp-utilities-libraryI actually have quite a few more tools which are more advanced but are not in a polished state where I want to share with others at the moment, some are pretty close but others need quite a bit more. I'll share a bit more info about these at some point.

author: rachaelp
author_rank: Unknown
timestamp: March 19, 2019, 09:55:37 pm
content: Quote from: rx8pilot on March 14, 2019, 11:32:22 pmI'll have to think about doing a guest contribution, did you have anything in particular in mind?