Thread Previous • Date Previous • Date Next • Thread Next |
Seems to happen when there is no closed outline drawn in the footprint. Another test cases in an attachment. Andrzej W dniu 2018-02-21 o 17:41, Andrzej Wolski pisze:
After this patch, I can no longer select some footprints by clicking inside their area.Please see the board in an attachment. Andrzej W dniu 2018-02-20 o 16:44, Wayne Stambaugh pisze:Jon, I merged your patch. Thanks, Wayne On 2/18/2018 7:01 PM, Jon Evans wrote:Hi Wayne, In my testing there is no performance impact, but more testing is welcome. It shouldn't be doing the calculation on too many objects in general, since this is a "second pass" hit test that applies to modules that have a bounding box overlapping the mouse cursor. However, I did some more testing and discovered some weird behavior, so I have tweaked the algorithm in the attached new version of the patch. -Jon On Sun, Feb 18, 2018 at 5:25 PM, Wayne Stambaugh <stambaughw@xxxxxxxxx <mailto:stambaughw@xxxxxxxxx>> wrote: Hey Jon, Did you notice an performance hit with your patch? Obviously there is going to be more overhead calculating a polygon versus arectangle. I just want to be sure we are not causing any usabilityissues due to the polygon calculations. Thanks, Wayne On 02/18/2018 12:10 PM, Jon Evans wrote: Hi all,The attached patch adds some plumbing to calculate and make useof a polygonal bounding area for modules. It fixes the below issue and in general improves the accuracy of selection in my testing. This mechanism could be extended to other objects besidesmodules if it's useful. I figured I'd start by sending out thispatch to get feedback, and if it gets merged, look for otherareas where we could improve things by using polygons instead ofbounding boxes. https://bugs.launchpad.net/kicad/+bug/1749077 <https://bugs.launchpad.net/kicad/+bug/1749077> -Jon _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers> More help : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp> _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers> More help : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
(kicad_pcb (version 20171130) (host pcbnew "(5.0-dev-4108-g1013f8160)") (general (thickness 1.6) (drawings 0) (tracks 0) (zones 0) (modules 3) (nets 1) ) (page A4) (layers (0 F.Cu signal) (31 B.Cu signal) (32 B.Adhes user) (33 F.Adhes user) (34 B.Paste user) (35 F.Paste user) (36 B.SilkS user) (37 F.SilkS user) (38 B.Mask user) (39 F.Mask user) (40 Dwgs.User user) (41 Cmts.User user) (42 Eco1.User user) (43 Eco2.User user) (44 Edge.Cuts user) (45 Margin user) (46 B.CrtYd user) (47 F.CrtYd user) (48 B.Fab user) (49 F.Fab user) ) (setup (last_trace_width 0.25) (trace_clearance 0.2) (zone_clearance 0.508) (zone_45_only no) (trace_min 0.2) (segment_width 0.2) (edge_width 0.15) (via_size 0.8) (via_drill 0.4) (via_min_size 0.4) (via_min_drill 0.3) (uvia_size 0.3) (uvia_drill 0.1) (uvias_allowed no) (uvia_min_size 0.2) (uvia_min_drill 0.1) (pcb_text_width 0.3) (pcb_text_size 1.5 1.5) (mod_edge_width 0.15) (mod_text_size 1 1) (mod_text_width 0.15) (pad_size 1.524 1.524) (pad_drill 0.762) (pad_to_mask_clearance 0.2) (aux_axis_origin 0 0) (visible_elements FFFFEF7F) (pcbplotparams (layerselection 0x010fc_ffffffff) (usegerberextensions false) (usegerberattributes false) (usegerberadvancedattributes false) (creategerberjobfile false) (excludeedgelayer true) (linewidth 0.100000) (plotframeref false) (viasonmask false) (mode 1) (useauxorigin false) (hpglpennumber 1) (hpglpenspeed 20) (hpglpendiameter 15) (psnegative false) (psa4output false) (plotreference true) (plotvalue true) (plotinvisibletext false) (padsonsilk false) (subtractmaskfromsilk false) (outputformat 1) (mirror false) (drillshape 1) (scaleselection 1) (outputdirectory "")) ) (net 0 "") (net_class Default "This is the default net class." (clearance 0.2) (trace_width 0.25) (via_dia 0.8) (via_drill 0.4) (uvia_dia 0.3) (uvia_drill 0.1) ) (module IPC7351-Nominal:CAPC1608X55 (layer F.Cu) (tedit 5A8DAC0E) (tstamp 5A8DA738) (at 141.55 92.31 90) (descr "Capacitor,non-polarized,Chip;1.60mm L X 0.80mm W X 0.55mm H") (path /57752301/5775B959) (attr smd) (fp_text reference C41 (at -0.046 0.221 90) (layer F.Fab) hide (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value 1u (at 0 0 90) (layer F.Fab) hide (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_line (start -1.45 -0.725) (end 1.45 -0.725) (layer F.CrtYd) (width 0.15)) (fp_line (start 1.45 -0.725) (end 1.45 0.725) (layer F.CrtYd) (width 0.15)) (fp_line (start 1.45 0.725) (end -1.45 0.725) (layer F.CrtYd) (width 0.15)) (fp_line (start -1.45 0.725) (end -1.45 -0.725) (layer F.CrtYd) (width 0.15)) (pad 1 smd rect (at -0.75 0 90) (size 0.9 0.95) (layers F.Cu F.Paste F.Mask)) (pad 2 smd rect (at 0.75 0 90) (size 0.9 0.95) (layers F.Cu F.Paste F.Mask)) (model smd_cap/c_0603.wrl (at (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) (module IPC7351-Nominal:CAPC1608X55 (layer F.Cu) (tedit 5A8DAC00) (tstamp 5A8DAC81) (at 143.77 92.32 90) (descr "Capacitor,non-polarized,Chip;1.60mm L X 0.80mm W X 0.55mm H") (path /57752301/5775B959) (attr smd) (fp_text reference C41 (at -0.046 0.221 90) (layer F.Fab) hide (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value 1u (at 0 0 90) (layer F.Fab) hide (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_line (start -1.45 -0.725) (end 1.45 -0.725) (layer F.CrtYd) (width 0.15)) (fp_line (start 1.45 -0.725) (end 1.45 0.725) (layer F.CrtYd) (width 0.15)) (fp_line (start 1.45 0.725) (end -1 0.725) (layer F.CrtYd) (width 0.15)) (fp_line (start -1.45 0.725) (end -1.45 -0.725) (layer F.CrtYd) (width 0.15)) (pad 1 smd rect (at -0.75 0 90) (size 0.9 0.95) (layers F.Cu F.Paste F.Mask)) (pad 2 smd rect (at 0.75 0 90) (size 0.9 0.95) (layers F.Cu F.Paste F.Mask)) (model smd_cap/c_0603.wrl (at (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) (module IPC7351-Nominal:CAPC1608X55 (layer F.Cu) (tedit 5A8DAB9B) (tstamp 5A8DAB68) (at 145.86 92.34 90) (descr "Capacitor,non-polarized,Chip;1.60mm L X 0.80mm W X 0.55mm H") (path /57752301/5775B959) (attr smd) (fp_text reference C41 (at -0.046 0.221 90) (layer F.Fab) hide (effects (font (size 0.8 0.8) (thickness 0.15))) ) (fp_text value 1u (at 0 0 90) (layer F.Fab) hide (effects (font (size 0.8 0.8) (thickness 0.15))) ) (pad 2 smd rect (at 0.75 0 90) (size 0.9 0.95) (layers F.Cu F.Paste F.Mask)) (pad 1 smd rect (at -0.75 0 90) (size 0.9 0.95) (layers F.Cu F.Paste F.Mask)) (model smd_cap/c_0603.wrl (at (xyz 0 0 0)) (scale (xyz 1 1 1)) (rotate (xyz 0 0 0)) ) ) )
Thread Previous • Date Previous • Date Next • Thread Next |