At 02:17 PM 7/03/02 +1100, you wrote:
>For example, I just wrote a query that selected:
>    all pads with holes = 32thou AND
>    all components with comment = 4u7 AND
>    all fills on the Top Overlay layer.
>(Not useful but it demonstrates my point)
>
>Hit APPLY and all three object types are selected.
>
>I'm not trying to be obtuse here, just trying to understand the problem.
>
>
>LINDEN DOYLE
>Product Development Engineer
>Zener Electric Pty Ltd


Linden,

Try to see what is selected when you do
    all pads with holes = 32thou AND
    all pads with holes = 39thou

(Make sure you have some 32 and 39 thou holes in some pads of course).  Or 
you can try

    all vias with holes = 0.5mm AND
    all vias with size  = 1mm

You will find that nothing is selected because no pad can simultaneously 
have a hole of both 0.5mm *and* 0.6 mm.

This will only select holes that satisfy both conditions - it will *not* 
select a 1.2mm via with a 0.5mm hole - that would require a boolean OR 
operation along the lines of

   (vias.hole - 0.5mm AND vias.size=1mm) OR (vias.hole - 0.5mm AND 
vias.size=1.2mm)

ehere AND means the boolean operator (that is all conditions satisfied) and 
OR means the boolean operator where only any one (or more) of the 
conditions must be satisfied.  Which we can't do with the current Query 
Manager.

Protel - if you do implement something like this please please please 
implement normal boolean order of operations that is AND takes precedence 
over OR and XOR operations and NOT has the highest precendece.  Also allow 
us to use brackets to force a different order.  I am amazed at the number 
of programming languages that simple parse such statements left-to-right 
(Delphi has broken order of operations in my opinion).

As other have said, a particular entity type (pad for instance) must 
satisfy *all* the conditions that apply to that entity type (boolean AND) 
but different entity types are effectively treated as *separate* queries ( 
which makes it a boolean OR).

So we only get a selection if an entity type satisfies:

Entity = Entity_Type_1 AND *all* the Entity_Type_1 conditions in the query
   or
Entity = Entity_Type_2 AND *all* the Entity_Type_2 conditions in the query
   ...
etc

Ian Wilson

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* To post a message: mailto:[EMAIL PROTECTED]
*
* To leave this list visit:
* http://www.techservinc.com/protelusers/leave.html
*
* Contact the list manager:
* mailto:[EMAIL PROTECTED]
*
* Forum Guidelines Rules:
* http://www.techservinc.com/protelusers/forumrules.html
*
* Browse or Search previous postings:
* http://www.mail-archive.com/proteledaforum@techservinc.com
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Reply via email to