Placing and grouping aid ULPs for Eagle - Page 1
Forum section: electronics / general

author: notadave
author_rank: Contributor
timestamp: September 04, 2016, 03:21:16 pm
content: I have written three ULPs to help with placing.These three ULPs do not actually place the parts but instead arrange and group them but even for that your intervention is helpful.They are used right after the schematic is done. I find them helpful, they lead to a objective starting point for the detailed placing and support the locking feature.Currently there is no english manual but I would make the effort if there were a need.Finds "central" nets and lists pairs that possibly can be separatedTakes the pile of parts and spreads it based on connectionsPushes the parts around based in their connectionsContact me if you are interested.The attached version works but is not the most recent.

author: technotronix
author_rank: Regular Contributor
timestamp: September 07, 2016, 11:03:05 am
content: Nice explanation. Thanks for the attachment.

author: notadave
author_rank: Contributor
timestamp: September 07, 2016, 07:54:18 pm
content: As long as there is little interest I'll do phone support in German and English.PM me to schedule a skype call.There is a start of a German guide atwww.eaglecentral.caGoogle does a decent\useful job at translating:translation

author: notadave
author_rank: Contributor
timestamp: September 18, 2016, 01:06:40 pm
content: These are three ULPs to facilitate initial placing.These ULPs do not autoplace they are for the analysis of the circuit and initial dispersal or unpiling.Their application takes place BEFORE the layout after the circuit is completed. Before the change to the board layout mode, the ULP "Netzpaar" is used to obtain a list of the most central networks. The program makes suggestions as to what networks might be separated. Based on these suggestions and with the given knowledge of the circuit, the other two ULP are then used to get from the initial placement by Eagle to a useful arrangement. Begin with "ExplodeAndContract" followed by several executions of the ULP "Annealing". Now you should manually pull apart the circuit. Should groups have already formed after so few iterations, parts should be push outward to support their separation.Now find the nets given by "Netzpaar" and group the connected parts, so the centers previously found by "Netzpaar" are likely to be consolidated in the following.After this intervention you essentially repeat the previous steps, except that you use "ExplodeAndContract" only one more time followed by any number of "annealing" steps\invocations that you find help you.Without human intervention a useful result can not be expected to be found. There are simply too many local optima or mountains between them. Advanced users may try to overcome them by changing the parameters governing the ULPs between runs.Some networks must be ignored. The ground network is excluded in any case if named "GND", but usually it will be necessary to exclude other supply networks as well because they are too powerful \ central, thus preventing the separation\ disintegration.All networks with their own layer should be ignored. The network with the name "GND" is always ignored. Is "Annealing" supposed to ignore ONE other net, the net is to be specified by passing a parameter. "RUN Annealing +5V" ignores the networks "GND" and "+5V".

author: jgarc063
author_rank: Regular Contributor
timestamp: September 28, 2016, 08:57:59 pm
content: Hi notadave,This is really interesting. I like the idea of using optimizations methods on layouts and in the test file I used it created some pretty clear groups quickly. A user could then arrange those groups and with some work get a competent layout. I think it's very good in that it doesn't attempt to do the work for you like most autoplace algorithms try and fail to do.Once we have user uploads working again on the cadsoft site would you be willing to upload it there for the greater EAGLE community?If there's anything I can assist you with please let me know.Best Regards,Jorge GarciaAutodesk SupportP.S. It's generally not a good idea to use explicit paths in ULPs. The first time I tried to run it, it failed. By default the open function assumes the file should be created in the same location as your board and schematic which is a safe assumption. Here's the change I made to get it to run.output("eaglelog.txt","wtD")It's also more compatible across linux and mac platforms.

author: notadave
author_rank: Contributor
timestamp: September 29, 2016, 07:23:16 pm
content: I am glad someone took interest.Quote from: jgarc063 on September 28, 2016, 08:57:59 pmNot yet, no. I have a version that I regard as useful and usable enough to be published but I am looking for more criticism first.I want to know what people dislike, misunderstand and generally need to know. That is one of the reasons why I chose a forum.I want to avoid that people download this, get their hopes up and then something does not work as expected or they do not understand and then they give up and think it is useless.I would not like to upload the ULPs out of context. In this forum I can answer questions. As the author I am aware of more than one short coming, many being systematic. Without a guide that honestly communicates these the ULPs stay a fun game for people with time.QuoteIf project management is active, yes. I should have removed the logging altogether. I might have removed some features anyhow.