pcb

ChangeClearSize() is broken for changing a via's solder mask clearance

Bug #929123 reported by Robert Drehmel on 2012-02-08
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gEDA project
Medium
Unassigned
pcb
Medium
Unassigned

Bug Description

The special case ChangeClearSize(Selected, 0mm) is broken when used to change a via's solder mask clearance.
It does work as expected for pins.
A patch is found attached which makes the idiomatic sequence to easily provide the minimum solder mask clearance work again:

- selecting all pins and vias
- ChangeClearSize(Selected, 0mm)
- ChangeClearSize(Selected, +0.15mm)

Robert Drehmel (r58qft) wrote :
Bert Timmerman (bert-timmerman) wrote :

Hi,

Converted into a

Peter Clifton (pcjc2) wrote :

The patch looks extremely suspicious to me, please hold off on this one.

Peter Clifton (pcjc2) wrote :

Just to clarify... reading the code in question (not just the patch) makes me want to tear my eyes out.

I appreciate that the patch brings the via case in line with the pin case, but two wrongs do not make a right here...

The "magic" behaviour of setting "0" to mean "oh - put it at the width of the pin", is evil, and should be removed from both cases.

Peter Clifton (pcjc2) wrote :

And to further clarify, even if this was desirable behaviour... the code is still an exercise in obfuscation, and should be re-implemented cleanly.

Robert Drehmel (r58qft) wrote :

Peter, I fully agree on the "should be re-implemented cleanly" part. The patch was meant to touch as little as possible of the fragile code surrounding it. ;) Additionally, the magic value shouldn't be "0", IMO, but rather some keyword.

Traumflug (mah-jump-ing) on 2015-09-27
Changed in geda-project:
importance: Undecided → Medium
Bert Timmerman (bert-timmerman) wrote :

Hi,

If I understand the above correctly it looks like there is some confusion with "MinMaskGap(Selected, 0.5mm)", which, according to he manual, should handle the soldermask gap, opposed to "ChangeClearSize(Selected, 0mm)" which is suppose to handle clearance with copper objects.

The descriptions regarding to soldermask clearance looks similar to the bug report #1744832 "Vias tented" (https://bugs.launchpad.net/pcb/+bug/1744832).

Kind regards,

Bert Timmerman.

Changed in pcb:
importance: Undecided → Medium
milestone: none → pcb-4.1.1
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers