Mailing list archives : pcb-rnd

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>