The updates to Panelization have been merged into the test branch (please read even if you don't use panels)

389 views
Skip to first unread message

tonyl...@gmail.com

unread,
Feb 14, 2023, 11:34:41 AM2/14/23
to OpenPnP

The new panelization stuff has been merged into the test branch. I'm in the process of updating the Wiki but in the meantime, you can look at this PR to get an idea of what changed. 

Even if you don't use Panels, there are some changes you should be made aware of:

  1. There are two new tabs visible when you start OpenPnP: The Boards tab is now the primary place to define Boards (set their dimensions and add/import placements).  Likewise, the Panels tab is the primary place to define Panels (set their dimensions, add Boards and/or subpanels to the Panel, and add fiducials to the Panel).
  2. The Job tab is now primarily for selecting which Boards and/or Panels are to be populated, where they are located, and how they are oriented on the machine. And as usual, this is where the job is executed as well. There is still some limited support for editing Boards on the Job tab, but this should no longer be considered one of its primary purposes (you should now do that work on the Boards tab).
  3. The *.job.xml file format has changed. This new version of OpenPnP will read the old format and automatically updated it to the new format. In case someone wants to switch back to an older version of OpenPnP, a copy of the old job file (unmodified) is stored in the same directory as the original job file and is named *.legacy.job.xml.
  4. Hopefully this one is useful to everybody – column widths on the Job, Panels, and Boards tabs are now remembered from one OpenPnP session to the next. Also, numeric columns on those tabs are now aligned on their decimal points making them much easier to visually compare between the rows. If everyone is happy with this behavior, it should be fairly easy to add it to the other tabs as well.
  5. There is now a button on the Job tab (the Panels and Boards tabs have one as well) that opens a graphical viewer that displays the physical layout of the job (or Panel or Board). I think this has a lot of potential for future enhancements but for now is more for just fun.

If you have used the Panelization feature of OpenPnP in the past, you should be aware of the following additional things:

  1. Many of the issues associated with the legacy panelization (see the complete list in the above-mentioned PR) have been fixed.
  2. Panels are now standalone entities much like Boards always were. They are now defined on the Panels tab and are stored in *.panel.xml files.
  3. Jobs that were setup using the legacy panelization feature will be converted to the new job format as mentioned above and a new file to hold the panel will also be created (in the same directory as the job file and with the same name as the job file except ending in .panel.xml). However, since the legacy panelized job did not contain any information about the true dimensions of the panel nor anything about panel fiducials that are facing down, those things will not be properly represented by the new panel definition. Its dimensions are simply set to the rectangular bounding box of the board array and only the panel fiducials that are facing up in the old job will be added to the new panel. While the converted job will execute just as it did previously, it will look somewhat odd in the job and/or panel viewers since its dimensions are not set correctly. If your panel has placements on both sides, I'd really just recommend creating a new fresh panel that has the correct dimensions, board layout, and panel fiducials. That way you can take advantage of the ability to just flip the panel over, change its side on the Job tab, and you will be ready to run the job on the other side (just like you can with an individual board).
Tony

Jan

unread,
Feb 23, 2023, 9:09:16 AM2/23/23
to ope...@googlegroups.com
Hi Tony!
Many, many thanks for all your hard work on the new panel feature! Its
a huge step forward!
I just wont to report about my experience: (Please do not be offended
by the long list that follows. I'd like to express my deep respect for
your great work by being as extensive and precise as I can.)
- I loaded an old panel design and it was correctly converted into the
new format. All board and panel fiducial locations (even the ones I
added manually to the file) are correctly recognized and by stepping
through the placements of different boards I feel comfortable to just
start the job again.
- On the Job tab I can no longer change placements, except for
"Enabled", "Placed" and "Error Handling". That's cool! Could you please
also disable this three? To me there is not need to change them on the
Jobs tab if the same can be done on the Boards/Panels tab.
- Switching to the Panels tab, the upper table ("Panels") is almost
unreable because the height is to small. The other to tables consume the
remaining space to equal parts and have lots of space for additional
lines. It seems that the default height of the table in the "Panels"
section could be enlarged. If I manually enlarge the table, it seems,
that the line of the panel (I just have one panel, hence just one line)
has no lower end. In the other Tables there are multiple lines and below
the last there is gray space. For the upper table there is no such gray
space.
- If I select "New Job" from the File menu, the "Job" tab is cleared,
but "Panels" and "Boards" stay as they where. I've to manually remove
panels and boards to setup a new board/panel. (Ok, I now think they can
stay populated when creating new boards/panels.)
- If I create a new Panel, the "Confirm Save As" dialog is somehow
confusing: If I select a file, change its name in "Object name:" box and
press "Save", the "Confirm Save As" dialog shows the name of file I
selected incl. its original extension. (I selected <board>.job.xml,
removed ".job.xml" but dialog asks for "<name>.job.xml". If I select
"yes", a panel named <name>.job.xml.panel.xml is created. If the
dropdown list of "Object name:" is opened and closes, the name is
correctly used.)
- If I try to create a new Panel and then delete a file corresponding to
a panel, thats currently in the Panels list, from within the "Save New
Panel As..." dialog, the GUI freezes. The camera feed is still active,
but I can't move the dialog or OpenPnPs main window. ProcessExplorer
seems to show nothing special, except the usual high load due to the
well known camera issue.
- Whats the difference between "Add New Board" and "Add Existing Board"
I can select between in the "Panel definition"/"Children" section? I was
under the impression, that I can only reference boards I've
defined/added in the Boards tab as part of my panel. (Yes, you said,
that panels can now also be parts of other panels) To me it would be ok,
if I just get a list of active/existing boards and panels to choose from
with the same names as in the Boards/Panels table on their tabs.
- May I suggest to populate the "Panel Array Generator"s Step fields
with the width and length of the selected board? My panels always have a
gap of 0 (v-score) or a few mm (routed) between boards, so Step is
always directly related to width and length (larger or same). For me the
perfect GUI would provide distances between boards and gaps between
boards and would update them wise versa.
- Panel view of the "Panel Array Generator" is not correct for my
current board which has its origin on the middle right. I'm sorry, I
admit the location of the origin is special and I don't have any
suggestion for a better relation between board placements, origin and
board shape.
- If I change the location of the (first) board in the panel, which I've
used as reference in the Panel Array Generator (was present when I opend
the Generator), related boards are not updated. I expected that this
would allow me to shift the origin of the entire array.
- If I recreate the array in the panel (after shifting the origin of the
first board) the "Panel Array Generator" is reset to its default values.
It would be cool if it would remember the values I've used before (for
this panel/array).
- Child board names are malformed if I recreate a panel using the "Panel
Array Generator". On first use boards "Brd[1,1]", "Brd[1,2]"... are
created. On second run (after removing all except the first board,
changing its origin and recreating the array) the boards are named
"Brd[1,1][1,1]", "Brd[1,1][1,2]"... I'd suggest to remove any
"[<number>,<number>]" at the end of the board name before generating new
board names.
- It would be cool if new panel fiducials would inherit the Part and
Side from the one I previously added. It would be also cool if the ID
would be guessed based on the previous value. Suppose my fiducials are
named "fid1", "fid2", ... it should be easy to detect the number and
increment it. Also, an import function, as provided for board
placements, or the ability to paste an array of eg. Excel cells as
coordinates into the table, would be cool.
- How can I save a panel definition or know/verify that its saved? I
don't see a button or an indication for that.
- It would be cool if new jobs would get configurable defaults for X, Y
and Z. Anyone has some registration system for PCBs to be populated so
there is a better default then 0, 0, 0.
- If a job consists of a panel and the panel is selected on the Job tab,
the Placements table now lists the fiducials defined for that panel.
However, the "Placed" column with edit capabilities makes no sense to me
for type "Fiducial". I would suggest to remove or disable it.
- Panel fiducial check works well and updates all panel and children
board coordinates and rotations.
- Stepping through boards in the panel works for Top-Side but not for
Bottom. All board locations are off by x = -41mm which corresponds to
the board width.
- Stepping through the list of components on individual boards works well.
- If I select to position the camera on the panels or a boards origin,
the previously used footprint is still overlayed.
- Note to self: long list, add some friendly words to the beginning ;-)
Many thanks again for your hard work!

Jan

On 14.02.2023 17:34, tonyl...@gmail.com wrote:
> The new panelization stuff has been merged into the test branch. I'm in
> the process of updating the Wiki but in the meantime, you can look at
> this PR <https://github.com/openpnp/openpnp/pull/1507> to get an idea of
> what changed.
>
> Even if you don't use Panels, there are some changes you should be made
> aware of:
>
> 1. There are two new tabs visible when you start OpenPnP: The Boards
> tab is now the primary place to define Boards (set their dimensions
> and add/import placements).  Likewise, the Panels tab is the primary
> place to define Panels (set their dimensions, add Boards and/or
> subpanels to the Panel, and add fiducials to the Panel).
> 2. The Job tab is now primarily for selecting which Boards and/or
> Panels are to be populated, where they are located, and how they are
> oriented on the machine. And as usual, this is where the job is
> executed as well. There is still some limited support for editing
> Boards on the Job tab, but this should no longer be considered one
> of its primary purposes (you should now do that work on the Boards tab).
> 3. The *.job.xml file format has changed. This new version of OpenPnP
> will read the old format and automatically updated it to the new
> format. In case someone wants to switch back to an older version of
> OpenPnP, a copy of the old job file (unmodified) is stored in the
> same directory as the original job file and is named *.legacy.job.xml.
> 4. Hopefully this one is useful to everybody – column widths on the
> Job, Panels, and Boards tabs are now remembered from one OpenPnP
> session to the next. Also, numeric columns on those tabs are now
> aligned on their decimal points making them much easier to visually
> compare between the rows. If everyone is happy with this behavior,
> it should be fairly easy to add it to the other tabs as well.
> 5. There is now a button on the Job tab (the Panels and Boards tabs
> have one as well) that opens a graphical viewer that displays the
> physical layout of the job (or Panel or Board). I think this has a
> lot of potential for future enhancements but for now is more for
> just fun.
>
> If you have used the Panelization feature of OpenPnP in the past, you
> should be aware of the following additional things:
>
> 1. Many of the issues associated with the legacy panelization (see the
> complete list in the above-mentioned PR) have been fixed.
> 2. Panels are now standalone entities much like Boards always were.
> They are now defined on the Panels tab and are stored in *.panel.xml
> files.
> 3. Jobs that were setup using the legacy panelization feature will be
> converted to the new job format as mentioned above and a new file to
> hold the panel will also be created (in the same directory as the
> job file and with the same name as the job file except ending in
> .panel.xml). However, since the legacy panelized job did not contain
> any information about the true dimensions of the panel nor anything
> about panel fiducials that are facing down, those things will not be
> properly represented by the new panel definition. Its dimensions are
> simply set to the rectangular bounding box of the board array and
> only the panel fiducials that are facing up in the old job will be
> added to the new panel. While the converted job will execute just as
> it did previously, it will look somewhat odd in the job and/or panel
> viewers since its dimensions are not set correctly. If your panel
> has placements on both sides, I'd really just recommend creating a
> new fresh panel that has the correct dimensions, board layout, and
> panel fiducials. That way you can take advantage of the ability to
> just flip the panel over, change its side on the Job tab, and you
> will be ready to run the job on the other side (just like you can
> with an individual board).
>
> Tony
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>.

tonyl...@gmail.com

unread,
Feb 23, 2023, 1:13:17 PM2/23/23
to OpenPnP
>> Many, many thanks for all your hard work on the new panel feature! Its a huge step forward! I just wont to report about my experience: (Please do not be offended by the long list that follows. I'd like to express my deep respect for your great work by being as extensive and precise as I can.)

No offence taken - I appreciate that you took the time to review it. Also please do not be offended by any of my responses below. We are all working together to a common goal.

>>   I loaded an old panel design and it was correctly converted into the new format. All board and panel fiducial locations (even the ones I added manually to the file) are correctly recognized and by stepping through the placements of different boards I feel comfortable to just start the job again.

Glad to hear it.

>>   On the Job tab I can no longer change placements, except for "Enabled", "Placed" and "Error Handling". That's cool! Could you please also disable this three? To me there is not need to change them on the Jobs tab if the same can be done on the Boards/Panels tab.

I think we've discussed this previously - you may not need that capability but other have expressly requested that capability.  Note, that changing the "Enabled", "Placed" and "Error Handling" setting on the Job tab only affects the specific instances of the placements you've changed while doing it on the Boards or Panels tabs affects all instances of the placements changed. In other words, if you have three copies of a board in your job, changing the settings on the Job tab only affects the placement on that particular board and not on the other two. On the other hand, if you were to go to the Boards tab and change the setting on a placement, it changes the setting on the placements on all three boards in the job.

>>   Switching to the Panels tab, the upper table ("Panels") is almost unreable because the height is to small. The other to tables consume the remaining space to equal parts and have lots of space for additional lines. It seems that the default height of the table in the "Panels" section could be enlarged. If I manually enlarge the table, it seems, that the line of the panel (I just have one panel, hence just one line) has no lower end. In the other Tables there are multiple lines and below the last there is gray space. For the upper table there is no such gray space.

I'm not sure what you mean here - can you capture a screen shot.  You are aware that the height of the tables can be changed and is remembered from one OpenPnP session to the next, so maybe this is only a problem on the very first session?  Also, I've only tested this on a Windows machine (and haven't seen this problem) so it is possible it may behave differently under a different OS - please let me know if that's the case.

>>   If I select "New Job" from the File menu, the "Job" tab is cleared, but "Panels" and "Boards" stay as they where. I've to manually remove panels and boards to setup a new board/panel. (Ok, I now think they can stay populated when creating new boards/panels.)

Yes - it was done that way on purpose. The boards and panels already loaded on those tabs may be the very ones you want to add to the new job. The boards and panels that appear on their respective tabs are not necessarily part of the currently loaded job (but any boards and panels that are part of the currently loaded job will appear on those tabs). This is not unlike the behavior of the Parts, Packages, and Feeders tabs - they can contain many parts, packages. and feeders that are not used by the current job.

>>   If I create a new Panel, the "Confirm Save As" dialog is somehow confusing: If I select a file, change its name in "Object name:" box and press "Save", the "Confirm Save As" dialog shows the name of file I selected incl. its original extension. (I selected <board>.job.xml, removed ".job.xml" but dialog asks for "<name>.job.xml". If I select "yes", a panel named <name>.job.xml.panel.xml is created. If the dropdown list of "Object name:" is opened and closes, the name is correctly used.)

What exactly are you doing to get a "Confirm Save As" dialog box? When you create a new panel, you should get a "Save New Panel As..." dialog box. In it, you should enter the name of the new file. If you select an existing file (but not change its name), it thinks you may want to overwrite it and you should get a "Confirm Save As" dialog box but it only gives you a Yes/No option (there's no place to change its name) on replacing the file. Perhaps this is another OS related issue?

>>   If I try to create a new Panel and then delete a file corresponding to a panel, thats currently in the Panels list, from within the "Save New Panel As..." dialog, the GUI freezes. The camera feed is still active, but I can't move the dialog or OpenPnPs main window. ProcessExplorer seems to show nothing special, except the usual high load due to the well known camera issue.

Yeah, that's probably a genuine bug. I wasn't aware you could select and delete files from within the "Save New Panel As..." dialog box so I never tested it but it sure looks like you can. It just uses a standard java.awt.FileDialog.FileDialog so I'm not sure if there is a good way to disable that "feature".

>>   Whats the difference between "Add New Board" and "Add Existing Board" I can select between in the "Panel definition"/"Children" section? I was under the impression, that I can only reference boards I've defined/added in the Boards tab as part of my panel. (Yes, you said, that panels can now also be parts of other panels) To me it would be ok, if I just get a list of active/existing boards and panels to choose from with the same names as in the Boards/Panels table on their tabs.

If you select "Add New Board" (you can still do this on the Job tab as well), you are creating a new empty board that gets added to the panel (or job) and it will appear on the Boards tab with no placements defined and with zero width and length (you can go there and add placements and set its size).

>>   May I suggest to populate the "Panel Array Generator"s Step fields with the width and length of the selected board? My panels always have a gap of 0 (v-score) or a few mm (routed) between boards, so Step is always directly related to width and length (larger or same). For me the perfect GUI would provide distances between boards and gaps between boards and would update them wise versa.

I'll take that under advisement.

>>   Panel view of the "Panel Array Generator" is not correct for my current board which has its origin on the middle right. I'm sorry, I admit the location of the origin is special and I don't have any suggestion for a better relation between board placements, origin and board shape.

Yeah, the viewers currently only handle rectangular boards and panels with their origins in the lower left corner (when viewing from the top side). OpenPnP currently has no knowledge of where the board's origin is in relation to its outline. I do have an idea for importing the placements and outline of the board from GerberX3 files that would supply the required information.  BTW - newer versions of KiCad already support exporting GerberX3 files.

>>   If I change the location of the (first) board in the panel, which I've used as reference in the Panel Array Generator (was present when I opend the Generator), related boards are not updated. I expected that this would allow me to shift the origin of the entire array.
>>   If I recreate the array in the panel (after shifting the origin of the first board) the "Panel Array Generator" is reset to its default values. It would be cool if it would remember the values I've used before (for this panel/array).

I've been considering a way to move a selected set of children by an incremental amount that should cover this request.  It would probably be an additional button above the children list that would open a dialog that lets you enter a delta X and delta Y.

>>   Child board names are malformed if I recreate a panel using the "Panel Array Generator". On first use boards "Brd[1,1]", "Brd[1,2]"... are created. On second run (after removing all except the first board, changing its origin and recreating the array) the boards are named "Brd[1,1][1,1]", "Brd[1,1][1,2]"... I'd suggest to remove any "[<number>,<number>]" at the end of the board name before generating new board names.

They're not really malformed - they would still work ok. You should have just edited the ID of the first board to manually remove the [1,1] from it before creating the array the second time. I did not want to impose any constraints on the IDs used so an ID ending in [1,1] is legitimate. 

>>   It would be cool if new panel fiducials would inherit the Part and Side from the one I previously added. It would be also cool if the ID would be guessed based on the previous value. Suppose my fiducials are named "fid1", "fid2", ... it should be easy to detect the number and increment it. Also, an import function, as provided for board placements, or the ability to paste an array of eg. Excel cells as coordinates into the table, would be cool.

It works pretty much the same as it does when manually adding placements to a board. I agree lots of cool features could be added but it takes time to do so. You know you are welcome to contribute as well.

>>   How can I save a panel definition or know/verify that its saved? I don't see a button or an indication for that.

They are saved when OpenPnP exits - this is the same as boards have always been handled.

>>   It would be cool if new jobs would get configurable defaults for X, Y and Z. Anyone has some registration system for PCBs to be populated so there is a better default then 0, 0, 0.

Open an issue requesting it.

>>   If a job consists of a panel and the panel is selected on the Job tab, the Placements table now lists the fiducials defined for that panel. However, the "Placed" column with edit capabilities makes no sense to me for type "Fiducial". I would suggest to remove or disable it.

It works the same as it always has for fiducials on a board. Open and issue requesting the change.

>>   Panel fiducial check works well and updates all panel and children board coordinates and rotations.

Glad to hear it.

>>   Stepping through boards in the panel works for Top-Side but not for Bottom. All board locations are off by x = -41mm which corresponds to the board width.

I don't think so - board locations on panels work exactly as individual board locations do in a job.  When a board is viewed from the top, the location and the origin of the board are both at the board's lower left corner. When a board is viewed from its bottom, its location is still at the lower left but its origin is now at its lower right.
 
>>   Stepping through the list of components on individual boards works well.

Good!

>>   If I select to position the camera on the panels or a boards origin, the previously used footprint is still overlayed.

That's because you still have a part selected on the Parts tab. There have been other discussions on the forum about this issue but it's not really related to any of my changes.

Tony

mark maker

unread,
Feb 24, 2023, 1:41:53 AM2/24/23
to ope...@googlegroups.com

> Note, that changing the "Enabled", "Placed" and "Error Handling" setting on the Job tab only affects the specific instances of the placements

I see this for "Enabled" and "Placed, but why  "Error Handling"?

_Mark

To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/3207b224-0383-40de-a660-501d783421f8n%40googlegroups.com.

Jan

unread,
Feb 24, 2023, 6:40:36 AM2/24/23
to ope...@googlegroups.com
Hi Tony!
Many thanks for taking the time to read and commend my review. I'll
answer your questions and put my comments between the lines and remove
sections I agree with you.

On 23.02.2023 19:13, tonyl...@gmail.com wrote:
[...]
> >>   Switching to the Panels tab, the upper table ("Panels") is almost
> unreable because the height is to small. The other to tables consume the
> remaining space to equal parts and have lots of space for additional
> lines. It seems that the default height of the table in the "Panels"
> section could be enlarged. If I manually enlarge the table, it seems,
> that the line of the panel (I just have one panel, hence just one line)
> has no lower end. In the other Tables there are multiple lines and below
> the last there is gray space. For the upper table there is no such gray
> space.
>
> I'm not sure what you mean here - can you capture a screen shot.  You
> are aware that the height of the tables can be changed and is remembered
> from one OpenPnP session to the next, so maybe this is only a problem on
> the very first session?  Also, I've only tested this on a Windows
> machine (and haven't seen this problem) so it is possible it may behave
> differently under a different OS - please let me know if that's the case.
>
It's in deed a first-time-use and maybe a Windows-only problem. After
manually enlarging the "Panels" section on the "Panels" tab everything
is and stays fine.

[...]
> >>   If I create a new Panel, the "Confirm Save As" dialog is somehow
> confusing: If I select a file, change its name in "Object name:" box and
> press "Save", the "Confirm Save As" dialog shows the name of file I
> selected incl. its original extension. (I selected <board>.job.xml,
> removed ".job.xml" but dialog asks for "<name>.job.xml". If I select
> "yes", a panel named <name>.job.xml.panel.xml is created. If the
> dropdown list of "Object name:" is opened and closes, the name is
> correctly used.)
>
> What exactly are you doing to get a "Confirm Save As" dialog box? When
> you create a new panel, you should get a "Save New Panel As..." dialog
> box. In it, you should enter the name of the new file. If you select an
> existing file (but not change its name), it thinks you may want to
> overwrite it and you should get a "Confirm Save As" dialog box but it
> only gives you a Yes/No option (there's no place to change its name) on
> replacing the file. Perhaps this is another OS related issue?
>
It's to my limited understanding a problem of the "Save New Panel As..."
dialog. My workflow was as follows: setup a panel using an array of
boards and use the same name for the panel as for the board. Hence I
already have <name>.board.xml when I click "Create New Panel" and the
"Save New Panel As..." dialog opens up. When I select the board file,
select the "Object name:" box and remove the extension ".board.xml", the
drop-down of "Object name:" opens showing possible completions like the
file with ".board.xml". After removing ".board.xml" completely and while
the drop-down is still open, I press "Save" to leave the "Save New Panel
As..." dialog. I get a new panel <name>.panel.xml (as expected) BUT that
file exists, because I've created it yesterday already for this review
and its already open in the "Panels" table. (I did not noticed this
behavior yesterday.) Just to be clear: I have two panels with identical
names now and did not got a "Confirm Save As".
Now the use case I've observed yesterday: I select the board file and
do not strip the extension and press "Save". Now the "Confirm Save As"
dialog ask me if I wont to overwrite the file (as expected). BUT if I
agree by clicking yes, the panel is named <name>.board.xml.panel.xml. To
me this looks like the "Confirm Save As" dialog uses the wrong (before
appending ".panel.xml") file name to check for possible overwrites.
Now the other use case I've observed yesterday: if I strip the
extension such that the drop-down does not open, the modified name was
not used. Unfortunately I can not reproduce this problem today because
the drop-down always opens and I don't understand why I was able to
alter the name without it opening yesterday...

[...]
> >>   Stepping through boards in the panel works for Top-Side but not
> for Bottom. All board locations are off by x = -41mm which corresponds
> to the board width.
>
> I don't think so - board locations on panels work exactly as individual
> board locations do in a job.  When a board is viewed from the top, the
> location and the origin of the board are both at the board's lower left
> corner. When a board is viewed from its bottom, its location is still at
> the lower left but its origin is now at its lower right.
>
I'm sorry to insists, that it does not work for me (its a X-only problem
so I'll only use X coordinates and widths for the following
explanation): my job tab says in Bottom view, that the panel is at x0 =
112.34mm and the first board at xb1 = 175.84mm. The Panel tab says, that
the panel is pw = 149mm wide and that the first board is located at pb1
= 44.5mm with respect to the panels origin. To my understanding the
location of the first board (in bottom view) is x0 + pw - pb1 = 216.84mm
which is not xb1 as I expected. (at 216.84 I can see the origin of the
first board in bottom view) (placement locations are fine in bottom view)

Jan
> https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/3207b224-0383-40de-a660-501d783421f8n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/3207b224-0383-40de-a660-501d783421f8n%40googlegroups.com?utm_medium=email&utm_source=footer>.

tonyl...@gmail.com

unread,
Feb 24, 2023, 12:16:03 PM2/24/23
to OpenPnP
Jan,

I have not been able to duplicate the issues you are describing with creating a new panel. I suspect the dialog boxes work differently under different operating systems. I am running Windows 10, what OS are you using? Is this a stop work issue for you or can you work around it? If you can work around it, please send a detailed description of what you must do to work around the issue so I can document it.

The board locations problem you describe is really just a misunderstanding.
>my job tab says in Bottom view, that the panel is at x0 = 112.34mm and the first board at xb1 = 175.84mm
>The Panel tab says, that the panel is pw = 149mm wide and that the first board is located at pb1 = 44.5mm with respect to the panels origin.

Your calculation x0 + pw - pb1 = 216.84mm is for where the board origin is located. What is displayed on the job tab is the board location. Those two are not the same. As I said previously, when you view the bottom side of a board, its location is on the lower left and its origin is on the lower right. So, the correct calculation for the board's location (when viewing the bottom side and assuming no rotation of the boards on the panel and no rotation of the panel in the job) is: x0 + pw - pb1 - bw = 112.34 + 149 - 44.5 - 41 = 175.84 which agrees with what your job tab is showing. Again, this is fully consistent with how individual boards are handled in the job, see Board Locations in the wiki. Also, note that when the panel is bottom side up, its location is on the lower left and is origin is on the lower right - in other words, panels work just like boards!

Tony

Jan

unread,
Feb 27, 2023, 5:17:59 AM2/27/23
to ope...@googlegroups.com
Hi Tony!

On 24.02.2023 18:16, tonyl...@gmail.com wrote:
> Jan,
>
> I have not been able to duplicate the issues you are describing with
> creating a new panel. I suspect the dialog boxes work differently under
> different operating systems. I am running Windows 10, what OS are you
> using? Is this a stop work issue for you or can you work around it? If
> you can work around it, please send a detailed description of what you
> must do to work around the issue so I can document it.
>
To me it looks like the overwrite detection/protection is not working.
(the filename <name> (as entered in the Object Name box) is used for the
Confirm Save As dialog while the actual panel is saved to
<name>.panel.xml. (extension added after Confirm Save As).
I'll check that later again and report.
I'm on Win10 as well and use the latest release on the test channel.

> The board locations problem you describe is really just a misunderstanding.
> >my job tab says in Bottom view, that the panel is at x0 = 112.34mm and
> the first board at xb1 = 175.84mm
> >The Panel tab says, that the panel is pw = 149mm wide and that the
> first board is located at pb1 = 44.5mm with respect to the panels origin.
>
> Your calculation x0 + pw - pb1 = 216.84mm is for where the board
> /origin/ is located. What is displayed on the job tab is the board
> /location/. Those two are not the same. As I said previously, when you
> view the bottom side of a board, its /location /is on the lower left and
> its /origin /is on the lower right. So, the correct calculation for the
> board's location (when viewing the bottom side and assuming no rotation
> of the boards on the panel and no rotation of the panel in the job) is:
> x0 + pw - pb1 - bw = 112.34 + 149 - 44.5 - 41 = 175.84 which agrees with
> what your job tab is showing. Again, this is fully consistent with how
> individual boards are handled in the job, see Board Locations
> <https://github.com/openpnp/openpnp/wiki/Board-Locations> in the wiki.
> Also, note that when the panel is bottom side up, its /location /is on
> the lower left and is /origin /is on the lower right - in other words,
> panels work just like boards!
>
I understand now what you mean, and I remember that we had this
discussions earlier. By your leave, this does not make much sense in my
use case: I agree, that the boards/panels /location/ is always in its
lower left. That describes the physical location where the board/panel
is registered on the machine. This location has physical meaning, does
not change for Top/Bottom side and is therefore a good choice when
setting up boards and when displaying their /location/ as part of the
job. However, the transformation of location on the bottom side only
points to a location of physical meaning if the boards origin is on one
edge and the board is of rectangular shape. This is likely always the
case for board/panels placed in machines. But this to conditions are not
true for my panels and are the reason why I primarily use panels: my
boards are odd shaped and their origins are given by locations of
physical meaning to the designs. For me the Top side /location/ of
boards in the panel points to their origin as defined by board design
but the Back side /location/ points to locations of no use at all. In
the current implementation I can verify my panel setup by stepping
through boards on Top side only. For bottom side the /locations/ are of
no use.
Please consider changing the location of boards in panels to point to
their origins. They are translated anyhow, so why not translate them to
location that always have physical meaning. Thank You!

Jan
> https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>>.
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "OpenPnP" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to openpnp+u...@googlegroups.com
> > <mailto:openpnp+u...@googlegroups.com>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/openpnp/3207b224-0383-40de-a660-501d783421f8n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/3207b224-0383-40de-a660-501d783421f8n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/3207b224-0383-40de-a660-501d783421f8n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/3207b224-0383-40de-a660-501d783421f8n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/51f9876c-0cf3-4c56-8974-11c140f19053n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/51f9876c-0cf3-4c56-8974-11c140f19053n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Jan

unread,
Feb 27, 2023, 7:57:33 AM2/27/23
to ope...@googlegroups.com
Hi Toni!

On 27.02.2023 09:48, 'Jan' via OpenPnP wrote:
> Hi Tony!
>
> On 24.02.2023 18:16, tonyl...@gmail.com wrote:
>> Jan,
>>
>> I have not been able to duplicate the issues you are describing with
>> creating a new panel. I suspect the dialog boxes work differently
>> under different operating systems. I am running Windows 10, what OS
>> are you using? Is this a stop work issue for you or can you work
>> around it? If you can work around it, please send a detailed
>> description of what you must do to work around the issue so I can
>> document it.
>>
> To me it looks like the overwrite detection/protection is not working.
> (the filename <name> (as entered in the Object Name box) is used for the
> Confirm Save As dialog while the actual panel is saved to
> <name>.panel.xml. (extension added after Confirm Save As).
>     I'll check that later again and report.
>     I'm on Win10 as well and use the latest release on the test channel.
>
There are a few things really really strange. Likely not with OpenPnp
itself but more with Java: I took a screen recording of what I observed
and tried to describe (https://youtu.be/EdPlKS7Ynfs) and found that the
"Save New Panel As..." dialog filers content depending on the location
in the file system: in a folder on the desktop I can only see .panel.xml
files even if the "Save as type:" drop down indicates "*.*". The same
dialog on a location below "Libraries" shows all files (e.g. .board.xml
or .cvs).
In the screen capture https://youtu.be/EdPlKS7Ynfs you can see what I
observed: "demo.panel.xml" is correctly handled and checked for
overwrites. "demo" is not: demo.panel.xml is created regardless if it
exists. "demo.board.xml" triggers an overwrite warning (which is
correct) but "demo.board.xml.panel.xml" is actually created. I hope that
you can see in the video what I mean. If not, please tell me what you'd
like to see.

Jan

[...]

Jan

unread,
Feb 27, 2023, 8:16:28 AM2/27/23
to ope...@googlegroups.com
Hi Toni!

On 23.02.2023 19:13, tonyl...@gmail.com wrote:
[...]
> >>   How can I save a panel definition or know/verify that its saved? I
> don't see a button or an indication for that.
>
> They are saved when OpenPnP exits - this is the same as boards have
> always been handled.
>
Today I noticed, that the behavior is kind of confusing: Unsaved jobs,
panels and boards all trigger a "Save <filename>?" dialog. This is ok
for jobs which can be saved manually but not for panels and board if
they are saved anyhow. And the dialog looks different for jobs, panels
and board. For board and panels the filename is part of the title (as
for jobs) and repeated as part of the message. For jobs its only in the
title. I'd suggest to unify the behavior.
There is an other question that immediately raised when I saw the "Save
<filename>?" dialog: I've never seen this dialog when auto-update
restarts OpenPnp to install a new version but I'm very sure, that I lost
work that way. How can we make sure that all of this auto-save thinks
are done and successful before auto-update closes OpenPnp? I would like
to see an "save all" button somewhere that save all boards, panels, jobs
and configuration data.

Jan

[...]
> https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/3207b224-0383-40de-a660-501d783421f8n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/3207b224-0383-40de-a660-501d783421f8n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Jan

unread,
Feb 27, 2023, 9:24:37 AM2/27/23
to ope...@googlegroups.com
Hi Toni!
I just repeated the setup of a new panel for a different board. This
time boards are rotated by -90° in the panel. The setup worked very well
and shows the same behavior as with the other panel: board location for
bottom side are useless, placements are all good (for both sides).
This panel has not fiducials so I tried to use the "Set the board's
location and rotation using multiple placements." and failed: first of
all, I was not able to select placements on different boards which would
be required to align the panel. second: I selected two placements on the
first board (in Bottom view) and the machine moved to a location outside
the panel asking to position the camera over the center of one of the
components. Without any adjustments I pressed "next" and the machine
moved to a different location for the second component which is also
completely off the panel. (selecting the components in the placements
table with the camera their location is correct.)
I tried the same for the top side and still could not select placements
on different boards of the panel. However the select components
locations are correct.

Jan

On 14.02.2023 17:34, tonyl...@gmail.com wrote:
> The new panelization stuff has been merged into the test branch. I'm in
> the process of updating the Wiki but in the meantime, you can look at
> this PR <https://github.com/openpnp/openpnp/pull/1507> to get an idea of
> what changed.
>
> Even if you don't use Panels, there are some changes you should be made
> aware of:
>
> 1. There are two new tabs visible when you start OpenPnP: The Boards
> tab is now the primary place to define Boards (set their dimensions
> and add/import placements).  Likewise, the Panels tab is the primary
> place to define Panels (set their dimensions, add Boards and/or
> subpanels to the Panel, and add fiducials to the Panel).
> 2. The Job tab is now primarily for selecting which Boards and/or
> Panels are to be populated, where they are located, and how they are
> oriented on the machine. And as usual, this is where the job is
> executed as well. There is still some limited support for editing
> Boards on the Job tab, but this should no longer be considered one
> of its primary purposes (you should now do that work on the Boards tab).
> 3. The *.job.xml file format has changed. This new version of OpenPnP
> will read the old format and automatically updated it to the new
> format. In case someone wants to switch back to an older version of
> OpenPnP, a copy of the old job file (unmodified) is stored in the
> same directory as the original job file and is named *.legacy.job.xml.
> 4. Hopefully this one is useful to everybody – column widths on the
> Job, Panels, and Boards tabs are now remembered from one OpenPnP
> session to the next. Also, numeric columns on those tabs are now
> aligned on their decimal points making them much easier to visually
> compare between the rows. If everyone is happy with this behavior,
> it should be fairly easy to add it to the other tabs as well.
> 5. There is now a button on the Job tab (the Panels and Boards tabs
> have one as well) that opens a graphical viewer that displays the
> physical layout of the job (or Panel or Board). I think this has a
> lot of potential for future enhancements but for now is more for
> just fun.
>
> If you have used the Panelization feature of OpenPnP in the past, you
> should be aware of the following additional things:
>
> 1. Many of the issues associated with the legacy panelization (see the
> complete list in the above-mentioned PR) have been fixed.
> 2. Panels are now standalone entities much like Boards always were.
> They are now defined on the Panels tab and are stored in *.panel.xml
> files.
> 3. Jobs that were setup using the legacy panelization feature will be
> converted to the new job format as mentioned above and a new file to
> hold the panel will also be created (in the same directory as the
> job file and with the same name as the job file except ending in
> .panel.xml). However, since the legacy panelized job did not contain
> any information about the true dimensions of the panel nor anything
> about panel fiducials that are facing down, those things will not be
> properly represented by the new panel definition. Its dimensions are
> simply set to the rectangular bounding box of the board array and
> only the panel fiducials that are facing up in the old job will be
> added to the new panel. While the converted job will execute just as
> it did previously, it will look somewhat odd in the job and/or panel
> viewers since its dimensions are not set correctly. If your panel
> has placements on both sides, I'd really just recommend creating a
> new fresh panel that has the correct dimensions, board layout, and
> panel fiducials. That way you can take advantage of the ability to
> just flip the panel over, change its side on the Job tab, and you
> will be ready to run the job on the other side (just like you can
> with an individual board).
>
> Tony
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Jan

unread,
Feb 27, 2023, 9:33:44 AM2/27/23
to ope...@googlegroups.com
Hi Toni!
Would it be possible to draw packages in the "Panel View" and "Board
Viewer" dialogs?

Jan

On 14.02.2023 17:34, tonyl...@gmail.com wrote:
> The new panelization stuff has been merged into the test branch. I'm in
> the process of updating the Wiki but in the meantime, you can look at
> this PR <https://github.com/openpnp/openpnp/pull/1507> to get an idea of
> what changed.
>
> Even if you don't use Panels, there are some changes you should be made
> aware of:
>
> 1. There are two new tabs visible when you start OpenPnP: The Boards
> tab is now the primary place to define Boards (set their dimensions
> and add/import placements).  Likewise, the Panels tab is the primary
> place to define Panels (set their dimensions, add Boards and/or
> subpanels to the Panel, and add fiducials to the Panel).
> 2. The Job tab is now primarily for selecting which Boards and/or
> Panels are to be populated, where they are located, and how they are
> oriented on the machine. And as usual, this is where the job is
> executed as well. There is still some limited support for editing
> Boards on the Job tab, but this should no longer be considered one
> of its primary purposes (you should now do that work on the Boards tab).
> 3. The *.job.xml file format has changed. This new version of OpenPnP
> will read the old format and automatically updated it to the new
> format. In case someone wants to switch back to an older version of
> OpenPnP, a copy of the old job file (unmodified) is stored in the
> same directory as the original job file and is named *.legacy.job.xml.
> 4. Hopefully this one is useful to everybody – column widths on the
> Job, Panels, and Boards tabs are now remembered from one OpenPnP
> session to the next. Also, numeric columns on those tabs are now
> aligned on their decimal points making them much easier to visually
> compare between the rows. If everyone is happy with this behavior,
> it should be fairly easy to add it to the other tabs as well.
> 5. There is now a button on the Job tab (the Panels and Boards tabs
> have one as well) that opens a graphical viewer that displays the
> physical layout of the job (or Panel or Board). I think this has a
> lot of potential for future enhancements but for now is more for
> just fun.
>
> If you have used the Panelization feature of OpenPnP in the past, you
> should be aware of the following additional things:
>
> 1. Many of the issues associated with the legacy panelization (see the
> complete list in the above-mentioned PR) have been fixed.
> 2. Panels are now standalone entities much like Boards always were.
> They are now defined on the Panels tab and are stored in *.panel.xml
> files.
> 3. Jobs that were setup using the legacy panelization feature will be
> converted to the new job format as mentioned above and a new file to
> hold the panel will also be created (in the same directory as the
> job file and with the same name as the job file except ending in
> .panel.xml). However, since the legacy panelized job did not contain
> any information about the true dimensions of the panel nor anything
> about panel fiducials that are facing down, those things will not be
> properly represented by the new panel definition. Its dimensions are
> simply set to the rectangular bounding box of the board array and
> only the panel fiducials that are facing up in the old job will be
> added to the new panel. While the converted job will execute just as
> it did previously, it will look somewhat odd in the job and/or panel
> viewers since its dimensions are not set correctly. If your panel
> has placements on both sides, I'd really just recommend creating a
> new fresh panel that has the correct dimensions, board layout, and
> panel fiducials. That way you can take advantage of the ability to
> just flip the panel over, change its side on the Job tab, and you
> will be ready to run the job on the other side (just like you can
> with an individual board).
>
> Tony
>

tonyl...@gmail.com

unread,
Feb 27, 2023, 3:51:59 PM2/27/23
to OpenPnP
Jan,

Thanks, for the video, that helps a lot in showing me what you are seeing with the save dialog boxes.  I'll dig into that some more....

> ...board location for bottom side are useless, placements are all good (for both sides).

Your issue is due to the fact you don't have rectangular boards. You would see the exact same behavior if you put a single one of your boards (not panelized) in a job and tried to run it. That is the way OpenPnP has worked for a very long time. Until support for non-rectangular boards is explicitly added to OpenPnP, you can either live with the way it is working or you can just set your board width to zero - then the board location and board origin will coincide regardless of which side is facing up. Of course, the downside of doing so is that when you look at in in any of the viewers, you will no longer see the (rectangular) board outlines.

> This panel has not fiducials so I tried to use the "Set the board's location and rotation using multiple placements." and failed

You first need to go to the Panels tab and add the placements you wish to use. Just click the button as shown below and in the dialog box that opens (shown at the bottom), change the radio button selection to Placements, either manually select the placements in the table you wish to use or click the Auto Select button to select a good set, and then click OK. They will then be added to the panel as pseudo-placements (meaning they are copies of the actual placements on the boards but won't get placed during a job). Then you can go back to the Job tab, select the panel in the table, and use the "Set the board's location and rotation using multiple placements" as usual. 
pseudoFiducials.png

useChildFiducials.png

>Would it be possible to draw packages in the "Panel View" and "Board Viewer" dialogs?

I assume you mean the footprints - yes that should definitely be possible - it just takes time to do the programming and testing. I was thinking it would make sense to add that capability at the same time as support for non-rectangular boards - both sets of information could be pulled from the GerberX3 files.

Tony

Jan

unread,
Feb 28, 2023, 4:05:14 AM2/28/23
to ope...@googlegroups.com
Hi Toni!
Many thanks for your detailed response. That's very much appreciated!

On 27.02.2023 21:51, tonyl...@gmail.com wrote:
> Jan,
>
> Thanks, for the video, that helps a lot in showing me what you are
> seeing with the save dialog boxes.  I'll dig into that some more....
>
> > ...board location for bottom side are useless, placements are all
> good (for both sides).
>
> Your issue is due to the fact you don't have rectangular boards. You
> would see the exact same behavior if you put a single one of your boards
> (not panelized) in a job and tried to run it. That is the way OpenPnP
> has worked for a very long time. Until support for non-rectangular
> boards is explicitly added to OpenPnP, you can either live with the way
> it is working or you can just set your board width to zero - then the
> board location and board origin will coincide regardless of which side
> is facing up. Of course, the downside of doing so is that when you look
> at in in any of the viewers, you will no longer see the (rectangular)
> board outlines.
> Good idea! Verified and confirmed! Board shapes (of boards in the panel)
are invalid in views anyhow due to my unusual origin.

> > This panel has not fiducials so I tried to use the "Set the board's
> location and rotation using multiple placements." and failed
>
> You first need to go to the Panels tab and add the placements you wish
> to use. Just click the button as shown below and in the dialog box that
> opens (shown at the bottom), change the radio button selection to
> Placements, either manually select the placements in the table you wish
> to use or click the Auto Select button to select a good set, and then
> click OK. They will then be added to the panel as pseudo-placements
> (meaning they are copies of the actual placements on the boards but
> won't get placed during a job). Then you can go back to the Job tab,
> select the panel in the table, and use the "Set the board's location and
> rotation using multiple placements" as usual.
> pseudoFiducials.png
>
> useChildFiducials.png
>
Verified and does not work: the orientation of the parts used as
fiducials is not correct. My board is rotated by -90° in the panel and
it seems, that this rotation is not respected. (If you like, I can
provide the board and panel files) (placements are correct)
It would be cool, if the corresponding packages would be selected while
aligning to get the correct footprint overlay.
With some parts defined as fiducials on the Panels tab the alignment
works good.

> >Would it be possible to draw packages in the "Panel View" and "Board
> Viewer" dialogs?
>
> I assume you mean the footprints - yes that should definitely be
> possible - it just takes time to do the programming and testing. I was
> thinking it would make sense to add that capability at the same time as
> support for non-rectangular boards - both sets of information could be
> pulled from the GerberX3 files.
>
Yes, I meant footprints. That would allow me to verify the orientation
upfront without a physical board loaded. (It seems - IIRC this is a
known issue - there is a problem/misinterpretation of rotation of bottom
side components when importing components from Altium.)
No big deal to me, probably solved anyhow with Gerber X3. Unfortunately
Altium seems not yet to support it...

Jan
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/d50aaf18-3f02-4a08-a452-be41a78b19b4n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/d50aaf18-3f02-4a08-a452-be41a78b19b4n%40googlegroups.com?utm_medium=email&utm_source=footer>.

Jan

unread,
Feb 28, 2023, 6:58:08 AM2/28/23
to ope...@googlegroups.com
Hi Toni!
Amendment:
- automatic fiducial check is not performed when starting a new job.
(I've panel ficucials configured and enabled but the job starts by
saying "All placements have been placed already. Reset all placements
before starting the job?" and then picks the first part. (With manuel
panel fiducial check everything run smooth.)
- while placing parts (on the bottom side) the "Placements:" information
(left of the DRO) is not correct: my panel contails 15 boards, all are
enabled, but the info says 19/22 boards. On the next run the boards
section contains the same number as parts. On the third run its the
same, board numbers are identical to placement numbers.

Jan

PS: I did not notice anything else, like double placments...

tonyl...@gmail.com

unread,
Feb 28, 2023, 2:25:57 PM2/28/23
to OpenPnP
Hi Jan,

> Verified and does not work: the orientation of the parts used as fiducials is not correct.

I don't know what to say, I just tried it on my machine and it works flawlessly. My test panel has 12 boards at several different rotations. Please send me your .job.xml, .panel.xml, and .board.xml files.

>It would be cool, if the corresponding packages would be selected while aligning to get the correct footprint overlay.

I don't believe I changed anything with respect to this, so I think it is working the same as it always has. Please open a new issue with that feature request.

>- automatic fiducial check is not performed when starting a new job. (I've panel ficucials configured and enabled

I just tried it on my machine and it works. Do you also have Check Fids? enabled for the panel in the Job table?

>but the job starts by saying "All placements have been placed already. Reset all placements before starting the job?"

That is normal if you restart a job that already has all the placements set. Did you check the Placed column of all your placements before you started the job?

>while placing parts (on the bottom side) the "Placements:" information (left of the DRO) is not correct: my panel contails 15 boards, all are enabled, but the info says 19/22 boards. On the next run the boards section contains the same number as parts. On the third run its the same, board numbers are identical to placement numbers.

I'm not sure what you are saying. Are you just misunderstanding what the display is telling you? None of those are supposed to show you the number of boards in your job. The left-hand side pair shows how many placements have been completed relative to the total number in the job and the right-hand pair shows how many placements have been completed on the selected (in the upper table) board relative to the total number on the selected board. Note, the numbers only include placements that are facing up on the machine, are enabled and are on boards that are enabled. If a panel is selected, the right-hand pair of numbers are the totals for all boards that are part of the panel:

jobStatusDisplayAnotated.png

Jan

unread,
Mar 1, 2023, 5:14:51 PM3/1/23
to ope...@googlegroups.com
Hi Toni!

On 28.02.2023 20:25, tonyl...@gmail.com wrote:
> Hi Jan,
>
> > Verified and does not work: the orientation of the parts used as
> fiducials is not correct.
>
> I don't know what to say, I just tried it on my machine and it works
> flawlessly. My test panel has 12 boards at several different rotations.
> Please send me your .job.xml, .panel.xml, and .board.xml files.
>
It's the rotation of the footprint overlay, thats has an unexpected
rotation. Please find two screenshots attached. On the first (114) I've
selected the part on the board (footprint overlay is in sync with
copper) and on the second the same part, but from the list of panel
fiducials (overlay is off by 180°).

> >It would be cool, if the corresponding packages would be selected
> while aligning to get the correct footprint overlay.
>
> I don't believe I changed anything with respect to this, so I think it
> is working the same as it always has. Please open a new issue with that
> feature request.
>
I just tried it again after a fresh restart: it seems that there is no
footprint overlay at all. Due to fresh start no part/placement was
selected, so there was no overlay active and within the alignment
procedure this does not change.
Maybe the alignment procedure does not select the part thats used for
alignment and hence the footprint is not updated and also don't care for
the rotation the part is physically on the PCB. That would explain my
observation from above.

> >- automatic fiducial check is not performed when starting a new job.
> (I've panel ficucials configured and enabled
>
> I just tried it on my machine and it works. Do you also have Check Fids?
> enabled for the panel in the Job table?
>
You're right, that was my fault, sorry for the false alarm. After
enabling it, it works as expected.

> >while placing parts (on the bottom side) the "Placements:" information
> (left of the DRO) is not correct: my panel contails 15 boards, all are
> enabled, but the info says 19/22 boards. On the next run the boards
> section contains the same number as parts. On the third run its the
> same, board numbers are identical to placement numbers.
>
> I'm not sure what you are saying. Are you just misunderstanding what the
> display is telling you? None of those are supposed to show you the
> number of boards in your job. The left-hand side pair shows how many
> placements have been completed relative to the total number in the job
> and the right-hand pair shows how many placements have been completed on
> the /selected /(in the upper table) board relative to the total number
> on the /selected /board. Note, the numbers only include placements that
> are facing up on the machine, are enabled and are on boards that are
> enabled. If a panel is selected, the right-hand pair of numbers are the
> totals for all boards that are part of the panel:
>
> jobStatusDisplayAnotated.png

Many thanks for the explanation! I tried it today while running a job
and it works exactly as you said. The values on the right ("Selected
Board") depend on which board/panel/subboard of a panel is selected in
the table on the top.

Jan
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer>.
Screenshot (114).png
Screenshot (115).png

tonyl...@gmail.com

unread,
Mar 2, 2023, 11:44:41 AM3/2/23
to OpenPnP
>It's the rotation of the footprint overlay, thats has an unexpected rotation. Please find two screenshots attached. On the first (114) I've selected the part on the board (footprint overlay is in sync with copper) and on the second the same part, but from the list of panel fiducials (overlay is off by 180°).

I haven't been able to duplicate the issue. Please post your .job.xml, .panel.xml, and .board.xml files and specify which board and placement shows the problem.

>Maybe the alignment procedure does not select the part thats used for alignment and hence the footprint is not updated and also don't care for the rotation the part is physically on the PCB.

Yes, that's all true - it doesn't use the rotation of the placement, just the X and Y coordinates.

Tony

Jan

unread,
Mar 2, 2023, 4:55:51 PM3/2/23
to ope...@googlegroups.com
Hi Toni!

On 02.03.2023 17:44, tonyl...@gmail.com wrote:
> >It's the rotation of the footprint overlay, thats has an unexpected
> rotation. Please find two screenshots attached. On the first (114) I've
> selected the part on the board (footprint overlay is in sync with
> copper) and on the second the same part, but from the list of panel
> fiducials (overlay is off by 180°).
>
> I haven't been able to duplicate the issue. Please post your .job.xml,
> .panel.xml, and .board.xml files and specify which board and placement
> shows the problem.
>
Please find them attached.

> >Maybe the alignment procedure does not select the part thats used for
> alignment and hence the footprint is not updated and also don't care for
> the rotation the part is physically on the PCB.
>
> Yes, that's all true - it doesn't use the rotation of the placement,
> just the X and Y coordinates.
>
Just to repeat myself: I think it would be nice, if the part, that's
just in focus for alignment, would have its footprint overlay visible
because this would allow for a better alignment.

Jan
> https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>>.
> > >
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "OpenPnP" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to openpnp+u...@googlegroups.com
> > <mailto:openpnp+u...@googlegroups.com>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer>.
microtest.board.xml
microtest.job.xml
microtest.panel.xml

tonyl...@gmail.com

unread,
Mar 2, 2023, 4:57:49 PM3/2/23
to OpenPnP
Jan,

Which placement exhibits the problem?

Tony

Jan

unread,
Mar 2, 2023, 5:21:30 PM3/2/23
to ope...@googlegroups.com
Hi Tony!
I'm not sure there is actualy a "problem": as you can see from the
screenshots I posted yesterday, I used D4 on Brd1[1,8] on the bottom
side. If selected as placement for that board, I got the correct
footprint overlay with the correct orientation, if selected as panel
fiducial (fouth in the list) the footprint overlay is rotated by 180°.
Please keep in mind, that I recognized ealier, that the selection of
panel fiducials seems not to select the corresponding part and hence not
activate any footprint overlay.

Jan
> https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>>>.
> > > >
> > >
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "OpenPnP" group.
> > > To unsubscribe from this group and stop receiving emails from it,
> > send
> > > an email to openpnp+u...@googlegroups.com
> > > <mailto:openpnp+u...@googlegroups.com>.
> > > To view this discussion on the web visit
> > >
> >
> https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer>>>.
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "OpenPnP" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to openpnp+u...@googlegroups.com
> > <mailto:openpnp+u...@googlegroups.com>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com?utm_medium=email&utm_source=footer>.

tonyl...@gmail.com

unread,
Mar 5, 2023, 6:20:30 PM3/5/23
to OpenPnP
Jan,

I have confirmed that there is indeed a problem with the rotation of pseudo-fiducials and pseudo-placements (board fiducials and placements that are used for panel alignment). I will work on a fix probably next week. Note that the rotation is not actually used anywhere except to display the camera crosshairs and footprint overlays at the correct angles. The incorrect rotations should have no impact at all on round fiducials since their angles don't matter. If you are using the multi-placement alignment process, the rotation of the footprint and crosshairs will display incorrectly, but as long as you move the intersection of the crosshairs to the center of the physical footprints, it should still correctly set the location and rotation of the panel.

Tony

Jan

unread,
Mar 6, 2023, 4:05:29 AM3/6/23
to ope...@googlegroups.com
Hi Tony!
Many thanks for confirming! I can confirm yours, that there is no
effect on the functionality. Therefore it would be ok for me, if this
stays open as a known issue.
If you wont me to (re)test anything, please let me know.

Jan
> https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>>>>.
> > > > >
> > > >
> > > > --
> > > > You received this message because you are subscribed to the
> Google
> > > > Groups "OpenPnP" group.
> > > > To unsubscribe from this group and stop receiving emails from
> it,
> > > send
> > > > an email to openpnp+u...@googlegroups.com
> > > > <mailto:openpnp+u...@googlegroups.com>.
> > > > To view this discussion on the web visit
> > > >
> > >
> >
> https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com>>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer>>>>.
> > >
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "OpenPnP" group.
> > > To unsubscribe from this group and stop receiving emails from it,
> > send
> > > an email to openpnp+u...@googlegroups.com
> > > <mailto:openpnp+u...@googlegroups.com>.
> > > To view this discussion on the web visit
> > >
> >
> https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer>>>.
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "OpenPnP" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to openpnp+u...@googlegroups.com
> > <mailto:openpnp+u...@googlegroups.com>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/c2a07b12-6672-44f5-b7fe-82c5a6a7ee04n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/c2a07b12-6672-44f5-b7fe-82c5a6a7ee04n%40googlegroups.com?utm_medium=email&utm_source=footer>.

tonyl...@gmail.com

unread,
Mar 19, 2023, 4:34:19 PM3/19/23
to OpenPnP
Just submitted PR#1536 to fix the rotation issues with pseudo-placements/fiducials noted by Jan above. This also changes the Multi-placement Alignment Process to individually select each placement in the Job Placements table as it runs so that the correct footprints will be overlayed on the top camera's view.

Tony

vespaman

unread,
Mar 20, 2023, 4:17:30 AM3/20/23
to OpenPnP
Hi Tony,
I am in the process of learning the panel setup, and I have an minor issue that is slightly annoying regarding the column dividers.
I should say that I am on 2023-02-15 version, so maybe this has been sorted in a later version.

When I created the panel on my PnP (linux, KDE) computer, some of the columns where "squeezed" so that you could not make out the cell contents. So I fixed that manually until I was happy. Then saved I and committed my .config2 directory, and then moved to my desktop machine (and checked out the same directory) for more convenience.
I have all my boards/jobs/panel files in ~/.openpnp2.

Now when I open the panels tab on my desktop computer (also Linux/KDE), the column settings are gone again;
This is how it came up on my desktop computer;

Screenshot_20230320_084659.png


I have not seen this on other tabs, but maybe this is because the initial "automatic" sizing does a better job on them, and I therefore have not reacted.

Small issue all in all, but I thought I should report.

 - Micael

vespaman

unread,
Mar 20, 2023, 5:03:12 AM3/20/23
to OpenPnP

OK, so now I created a job from an empty job tab, and got similar result, so maybe this is something that not actually happening due to the new panelization management, but a behavior that has been around since before.

Screenshot_20230320_095542.png

 - Micael

tonyl...@gmail.com

unread,
Mar 20, 2023, 8:59:06 AM3/20/23
to OpenPnP
Hi Micael,

The column widths on the Job, Panels, and Boards tabs should now be remembered between each restart of OpenPnP. They are saved separately on each individual computer so if you are switching between computers you will need to set the column widths as you desire on each computer. I think the initial layout should have all columns equally sized so I can't really explain the initial layout you are seeing - I'll take another look at the code to see if I can find anything. That all said, I never tested it on a Linux box so you may be the first to do so. Can you please check if the problem re-occurs after the first-time usage of OpenPnP on a particular computer - in other words, does it remember the column widths you have setup when you exit and restart OpenPnP?

Tony

vespaman

unread,
Mar 20, 2023, 9:28:57 AM3/20/23
to OpenPnP
>They are saved separately on each individual computer so..
Alright, that makes sense. And is probably the best way, given different computers might have different screens/resolution etc.

>does it remember the column widths you have setup when you exit and restart OpenPnP?
Yes, it is saved, so it is really only on the first go. Not a big problem.

And:- if I now create a new job (e.g.), even if the job list is empty, the columns are according to my previous save, so all good.
Really only an issue when setting up the first job/panel it seems.

  - Micael

tonyl...@gmail.com

unread,
Mar 20, 2023, 5:56:06 PM3/20/23
to OpenPnP
Thanks for the info. I looked through the code to see if I could explain why your initial columns widths looked as they did.  The only thing I can think of is that the Java preferences utilities don't work exactly correctly under Linux. They are supposed to return a default value if the key is not found (the key shouldn't be found on the very first startup of any of the versions of OpenPnP that has the "remember column widths" stuff in it). The code checks for the default value being returned so it knows to set the column widths differently on that first go-around (all to equal size). Here is the relevant code:

            prefWidths[iCol] = prefs.getInt(prefKey + iModelCol, -1); //gets the saved width from the preferences, should return -1 if the key is not found
            if (prefWidths[iCol] < 0) { //check for the default value
                prefWidths[iCol] = table.getColumnModel().getColumn(iCol).getWidth(); //get the actual column width
                prefs.putInt(prefKey + iModelCol, prefWidths[iCol]); //and save it in the preferences.
            }

If I force that first line to return a small positive integer (like +1) instead of -1, the next if statement doesn't execute and I get the same column layout as you saw.

If anybody else out there has seen this problem, please report it along with what OS you are using.

Tony

Jan

unread,
Mar 31, 2023, 5:16:29 AM3/31/23
to ope...@googlegroups.com
Hi Tony!
I've just tried you changes and it now works very well. Thank You for
providing the update!

Jan

On 19.03.2023 21:34, tonyl...@gmail.com wrote:
> Just submitted PR#1536 <https://github.com/openpnp/openpnp/pull/1536> to
> https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com>>>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/af036997-1153-41ad-a16d-7d23975e9099n%40googlegroups.com?utm_medium=email&utm_source=footer>>>>>>.
> > > > > >
> > > > >
> > > > > --
> > > > > You received this message because you are subscribed to the
> > Google
> > > > > Groups "OpenPnP" group.
> > > > > To unsubscribe from this group and stop receiving emails from
> > it,
> > > > send
> > > > > an email to openpnp+u...@googlegroups.com
> > > > > <mailto:openpnp+u...@googlegroups.com>.
> > > > > To view this discussion on the web visit
> > > > >
> > > >
> > >
> >
> https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com>>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com>>>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer>>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/bb99c9bf-23b7-4aa4-bbbe-bf7c1b6e42ean%40googlegroups.com?utm_medium=email&utm_source=footer>>>>>.
> > > >
> > > > --
> > > > You received this message because you are subscribed to the
> Google
> > > > Groups "OpenPnP" group.
> > > > To unsubscribe from this group and stop receiving emails from
> it,
> > > send
> > > > an email to openpnp+u...@googlegroups.com
> > > > <mailto:openpnp+u...@googlegroups.com>.
> > > > To view this discussion on the web visit
> > > >
> > >
> >
> https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com>>> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer>> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/38e19eef-5670-4e4b-a045-818bca4e526bn%40googlegroups.com?utm_medium=email&utm_source=footer>>>>.
> > >
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "OpenPnP" group.
> > > To unsubscribe from this group and stop receiving emails from it,
> > send
> > > an email to openpnp+u...@googlegroups.com
> > > <mailto:openpnp+u...@googlegroups.com>.
> > > To view this discussion on the web visit
> > >
> >
> https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com>> <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com?utm_medium=email&utm_source=footer> <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/d492c8f1-cd10-485c-b21b-907072eb0471n%40googlegroups.com?utm_medium=email&utm_source=footer>>>.
> >
> > --
> > You received this message because you are subscribed to the Google
> > Groups "OpenPnP" group.
> > To unsubscribe from this group and stop receiving emails from it,
> send
> > an email to openpnp+u...@googlegroups.com
> > <mailto:openpnp+u...@googlegroups.com>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/openpnp/c2a07b12-6672-44f5-b7fe-82c5a6a7ee04n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/c2a07b12-6672-44f5-b7fe-82c5a6a7ee04n%40googlegroups.com> <https://groups.google.com/d/msgid/openpnp/c2a07b12-6672-44f5-b7fe-82c5a6a7ee04n%40googlegroups.com?utm_medium=email&utm_source=footer <https://groups.google.com/d/msgid/openpnp/c2a07b12-6672-44f5-b7fe-82c5a6a7ee04n%40googlegroups.com?utm_medium=email&utm_source=footer>>.
>
> --
> You received this message because you are subscribed to the Google
> Groups "OpenPnP" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to openpnp+u...@googlegroups.com
> <mailto:openpnp+u...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/openpnp/d21e521e-b1eb-4774-96f4-7497f6ec2711n%40googlegroups.com <https://groups.google.com/d/msgid/openpnp/d21e521e-b1eb-4774-96f4-7497f6ec2711n%40googlegroups.com?utm_medium=email&utm_source=footer>.
Reply all
Reply to author
Forward
0 new messages