EEVblog Electronics Community Forum

EDA => Eagle => Topic started by: klaus1311 on October 18, 2020, 10:41:42 am

Title: Program to help manually placing components
Post by: klaus1311 on October 18, 2020, 10:41:42 am
Hello

I've written the program "Place". This program reads eagle *.brd-files and displays the component attributes in one window and the layout in a second window. When clicked at a component-attribute-line a check mark is set in front of the line and in the layout window the component is highlighted. The listview can be sorted by the column caption. Sorting by "group" displays a list by sorting the package and value. The outcome is color marked. The first member of a group shows the component amount found. The program is mainly for hobbyist who place their components by hand. If someone is interested, it can be downloaded from my homepage: www.kd-dietz.com (http://www.kd-dietz.com)
This program is freeware

Klaus
Title: Re: Program to help manually placing components
Post by: klaus1311 on October 31, 2020, 07:37:59 pm
Hello,

I fixed an issue and added a few more things:

the listview can be sorted by "Package" and "Value" each group is colored, in the first line of the group is the number of components
You can show and print a Bom
Help in German and English completed

the current version is V1.1 and can be downloaded from my homepage: https://kd-dietz.com

Regards
Klaus
Title: Re: Program to help manually placing components
Post by: Yansi on October 31, 2020, 08:24:16 pm
What Eagle versions are supported? I think there was a major change of file format from version 6 and up.

Can it group components by their value? So for example group all 10kohm resistors to a bunch and show them all at once on the board? That is especially useful for the hand placement it is likely targeted for.

I think this is a very handy tool with a good potential, if it would support also older Eagle versions and could group components by values. Sort of as an equivalent of the iBOM tool from KiCAD.
Title: Re: Program to help manually placing components
Post by: klaus1311 on October 31, 2020, 08:53:48 pm
Hi Yansi

it takes brd-files form eagle version 6 and higher( it needs to be xml formated). It does group same "package" and "values" and mark it colored.

Klaus
Title: Re: Program to help manually placing components
Post by: S. Petrukhin on November 02, 2020, 04:03:48 am
You've hidden the switch to english quite well...  :)
Title: Re: Program to help manually placing components
Post by: klaus1311 on November 02, 2020, 08:32:26 pm
I'm not sure you found it already. Just in case you didn't, Use Menu -> Extras -> Einstellungen: Sprach-Auswahl.
You're right, I'll change that, sorry.


Klaus
Title: Re: Program to help manually placing components
Post by: S. Petrukhin on November 03, 2020, 07:53:15 am
I'm not sure you found it already. Just in case you didn't, Use Menu -> Extras -> Einstellungen: Sprach-Auswahl.
You're right, I'll change that, sorry.
My daughter speaks German well - she helped.  :)

Do you intend to create a boardview for other systems, such as Altium and KiCAD?
Title: Re: Program to help manually placing components
Post by: klaus1311 on November 03, 2020, 07:04:35 pm
not for the moment.

Klaus
Title: Re: Program to help manually placing components
Post by: klaus1311 on November 04, 2020, 01:17:58 pm
Hello,

I fixed some problems and added attributes of Eagle V9. I also added:

At first start after installation "Place" sets the language according to the keyboard layout. All keyboard layouts unequal   to German will be set to English.

Klaus
Title: Re: Program to help manually placing components
Post by: Kean on November 27, 2020, 12:56:07 pm
I have just been trying out Place V1.3.  Great work, but a few things could be improved I think.
(I did read the help so hopefully I understood your intentions, but I may have different ideas of how it should work)

On loading an Eagle 9.6.2 file I get these warnings:
- "Unexpected element package attr locally_modified/yes/<other things>"
And with some older 9.3.2 files I also got a lot of:
- "Unexpected element set_plain elem dimension/x1/x2/x3/y1/y2/y3/textsize/layer/<number>"

I guess the Option "Report unexpected elements" can be used to stop these warnings, but turning that on caused the program to often crash on loading more complex brd files.

If I click a part outline on the board, I get a popup of "Found Components"
- A Close button sometimes appears but only if the popup loses focus.  In any case it doesn't work (can still close with X button, or by clicking on a blank PCB area)
- Popup can end up behind the placement listview window if you click on a different part in the listview -  not sure if it could cause a problem remaining open in the background
- You can only click on the first column Name which generally contains only a short text value (row select isn't enabled)
- Clicking (or double clicking) an entry in the found component list doesn't do anything... it would be nice to highlight/select the part in the placement listview

I'm not sure how, but at some point all the Amount fields became zero (oh, it happens when I turn off both top and bottom layers)

Clicking a column heading doesn't change the Sort dropdown value (the Sort dropdown maybe isn't needed anymore?)

I see an unlabelled text box under the right side of the Path dropdown containing either a number or sometime the word "Close" - intentional? maybe it should be hidden

Changing any settings (even making no change, just clicking OK) will clear the Path dropdown / previous file list (very annoying during testing and repeated crashes)

Two really big issues for me
- Many of my non trivial board files caused the program to crash when opening them, but it did work occasionally...
- Closing the main window didn't always close the PCB view window, which then required me to end task

Other suggestions
- When clicking a .brd file in file browser, automatically load it (a couple of time I was waiting for it to load then realised I needed to click Load manually)
- When clicking on a part outline, don't show the popup of matching components if there is only a single match (just select it in the placement list)
- If leave component selected is enabled, only the currently selected part outline should be highlighted red, and other selected/placed part outlines can be green (or similar)
- Optional full window cross-hairs on the board view to help your eyes zoom into the correct spot of current selected part
- The checkbox is good to allow unselecting a part in case you can't place it after identifying it
- If I turn off top or bottom, then hide those parts in the placement list
- Apply colour changes in settings immediately (I had to restart - although it does get redrawn if changing language)
- Apply layer changes in settings immediately (I needed to hit refresh)
- Default background2 colour maybe shouldn't be blue - it is too similar to default colour for the selected row
- On the settings page, the Cancel button is labelled "Abbrechen" even with English chosen
- If the Path is long, then truncate the start rather than the end (I have deep directory structures, and can't see the full filename)
- Save window position for multiple monitors
Title: Re: Program to help manually placing components
Post by: klaus1311 on November 28, 2020, 11:12:22 am
Hi Kean,

Thank you for you feedback. I developed the program using Eagle V6 and V7 board files, because I don't have a higher Eagle version and therefor no boards done under higher versions. It would be a great help, to get brd-files where Place reports "missing attributes". At the moment I'm a bit busy, but I'll give you a more detailed answer as soon as possible. I also will have a deeper look into your suggestions.

Klaus
Title: Re: Program to help manually placing components
Post by: Kean on November 28, 2020, 11:44:19 am
Hi Kean,

Thank you for you feedback. I developed the program using Eagle V6 and V7 board files, because I don't have a higher Eagle version and therefor no boards done under higher versions. It would be a great help, to get brd-files where Place reports "missing attributes". At the moment I'm a bit busy, but I'll give you a more detailed answer as soon as possible. I also will have a deeper look into your suggestions.

Klaus

I can't share the Eagle 9 files that I tested with so far as they were designed for a client, but some time next week I will check some of my other files that I can share and see if they also cause issues.

I should also have some files designed with Eagle 7.7.0.  That is still installed on a couple of my computers I think, and I have a couple of updates for those designs to apply during December and I plan to convert them to Eagle 9.
Title: Re: Program to help manually placing components
Post by: klaus1311 on November 29, 2020, 07:23:25 pm
Hi Kean
I made some changes to my program. Unfortunately I couldn’t fix the messages “unexpected element..” issue.
Fixed / New:
-   “Found components” now shows always the close button
-   “Found components” window no more covered by other windows
-   “Found components” has now FULLROWSELECT style
-   Sort ComboBox removed
-   The unlabeled window is shown if “Use file list” is checked. In that case it shows how many entries the Path ComboBox contains
-   Clearing the path Combobox when exiting Settings dialog fixed
-   When a brd file is selected by the file browser it is now automatically loaded
-   A crosshair can switched on with the checkbox "Crosshair on". The crosshair can be moved with the arrow-keys and the mouse. To move the crosshair with the mouse hold down the Shift-button and move the mouse, don’t use any mouse key. The color can be set in the color settings dialog
-   Current selected components are marked in red, “done” components are marked green. The color can be set in the color settings dialog
-   Background2 default color changed
-   Cancel button in settings dialog set to English
-   To see the filename in case of long path, the filename is shown in the windows caption
-   Added possibility to delete element(s) from path ComboBox
Helpfile need to be updated
Version is V1.3a can be downloaded
Klaus
Title: Re: Program to help manually placing components
Post by: Kean on December 01, 2020, 04:11:31 am
Klaus,

Thanks for taking note of my suggestions.   :-+

Just tried v1.3a and possibly not surprising I am still having problems with loading anything but simple Eagle 9 files leading to a crash.  It does seem to handle most (possibly all) of my older Eagle 6 & 7 files.  Apparently I still have many pre-v6 files as well which it can't read (but I should probably convert while I can).

I would still like to see a way to filter the part listview to top/bottom/both and still keep sorting by group.  I will generally place and reflow only one side at a time.
Related to this, I noticed when changing top and bottom layer selections on the board view, that the part ordering would change even though group sort was still (apparently) chosen.
Selections in a layer are (sometimes) lost if you hide that layer in the board view, even though the parts are still listed.  This can also lead to a part turning green (the last one active) that isn't selected any more.

With the crosshairs, my idea was that they wouldn't be user controlled but rather that they auto-centre on the selected (red) part to help your eyes quickly focus to the right place on the screen after looking up from the bench.  This also helps where the red highlighting is hard for some people to see if they have less sensitivity to the longer wavelengths (see Purkinje effect).

Rather than using arrow keys to control the crosshairs, it could be helpful if they controlled the selection on the part listview, along with space bar to check/uncheck.  This would reduce the need to reach for the mouse when you have your hands full of tweezers and whatever.

The warning popup "This filename exists in the file list already" is not needed when opening a file, and it causes the file not to auto load.  Maybe you could just move the entry to the top of the list instead of the error.

I also just noticed that on the colour selection page, the Cancel button is also labelled "Abbrechen" even with English selected.

I will try to find a problematic v9 file that I can share with you.

Kean
Title: Re: Program to help manually placing components
Post by: klaus1311 on December 02, 2020, 03:09:24 pm
Thank you Kean,

as said in my previous reply, at the moment I don't have that much time, I would like to have. But I'm working on your suggestions.

Klaus