ID: | 3924 |
From: | ge...@igor2.repo.hu |
Date: | Sun, 5 Apr 2020 09:19:59 +0200 (CEST) |
Subject: | Re: [pcb-rnd] Bug report: editing padstacks of flipped through-hole |
in-reply-to: | 3678 from ge...@igor2.repo.hu |
replies: | 3930 from Gabriel Paubert <pa...@iram.es> |
Hi Gabriel, fixed these bugs, see below, with detailed conclusion. Please test and ACK. (I've also fixed your arc angles undo poly clipping bug, please ACK that one as well.) On Tue, 14 Jan 2020, gedau@igor2.repo.hu wrote: > > >On Mon, 13 Jan 2020, Gabriel Paubert wrote: > >> Hi, >> >>load the attached file and: >>- right click on the circular pad and select edit geometry/prototype >>- click on the prototype tab >>- change for example the top mask >>- increase it by say, 0.1mm >>- close the the change dialog >>- instead of the top mask, it is the bottom mask that has been changed! >> >>I've seen the same kind of side flip for copper, I've not tried the paste >>layer, so I can't tell for sure but it seems likely. >> >>If, instead of using shrink/grow, you try "derive automatically", the >>bottom mask simply disappears and a red line appears in the message >>window. >> >>Note that the editor works fine for SMD padstacks, independently of the >>side of the component. >> > >Thanks; it seems like a GUI dialog bug (the data model is not affected, >files are not affected). > >The dialog gets a bit confused about the s-mirror field (you can see that >field in the first tab). S-mirror is the side-mirror. > <snip> >So at the end, the prototype edit dialog will need to show the reality, >what's in our data, that is: "top copper" for the smd pad, and if you >change top mask of a thru-hole part placed on the bottom of the board, it >will really affect the bottom mask of the board (which is the top mask of >the part and top mask of the padstack). This is something the user can not >avoid to understand with padstacks. > >So there are two bugs: > >1. the dialog gets confused about s-mirror and swaps the display >sometimes, and addresses the the wrong layer other times Fixed as of r30448. > >2. there should be some indication about the side mirror on the second tab >(but only if there's a first tab, i.e. when you are editing a prototype >from a real padstack instance; if you edit prototypes from the prototype >list, there's no padstack instance and then there's no s-mirror either) Added in r30449. The indication is [SMIRROR] in the top line between title and proto name. It comes with a long tooltip explaining the side-mirroring. Details on correct behaviour and interpretation: Corner case: when you are editing padstacks from the board or subcircuit padstack list. In that case you are not editing the proto for a specific padstack but for a whole context. In this case we can't indicate smirror as smirror is a per padstack instance property and you are not getting to the prototype because of a specific padstack instance. Corner case, more generically worded: even if you are editing a prototype for a specific padstack instance, as it is a prototype, it will affect any padstack instance that uses this proto within the same context (e.g. board or subcircuit). There can be 0 or more padstacks using this prototype in smirrored orientation; same way there can be 0 or more padstacks using this prototype in straight orientation. If there are both smirrored and straight padstack instances using the same proto, both indication and no-indication would apply... So the indication is always about the specific padstack instance you picked. To avoid confusion, the easy way to think about all this: top/bottom in a padstack prototype is always interpreted from the point of view of the given padstack instance using the proto and is more like "primary side, other side". For an smd pad you'll have copper only on the top (primary) side. If you then move the whole thing to the bottom of the board, the padstack-top (primary) side is really the board's bottom side. This is not very new: we always had the same concept with subcircuits (and previously elements). A footprint does a lot of things on its own top side, which may be the board's top side (if you place it on top of the board) or the board's bottom side (if you place it on the bottom of the board). A padstack is very similar to a subcircuit: it's just a group with its own, board-portable idea about the layer stack. (Also this pretty much how padstacks work in other EDA data models I've seen during the io effort, so in theory nothing new to experienced users. It may be that the GUI of other EDA tools present reality in different ways tho, I am not familiar with their GUIs, only with the file formats and data models.) Best regards, Igor2
Reply subtree:
3924 Re: [pcb-rnd] Bug report: editing padstacks of flipped through-hole from ge...@igor2.repo.hu
3930 Re: [pcb-rnd] Bug report: editing padstacks of flipped through-hole from Gabriel Paubert <pa...@iram.es>