www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2016/10/16/22:30:11

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Virus-Scanned: amavisd-new at neurotica.com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=neurotica.com;
s=default; t=1476671195;
bh=f/VHPNfOUFGyBhfVm/PSyE8ufw7bYm1r8YWQuv1JIkI=;
h=Subject:To:References:From:Date:In-Reply-To;
b=Cz3D/7mEXpE86VqERofEtTruBPUU9o/4dfetTZT+2nkIHMSNbuOzbEWh2k8uZqfzN
HtNAr2oVoeNug5tyKI3BNI/cxINqJnHrQHvBIkGYbxNktHagKcoflMgb+3xifDuXlY
JBMT7KJ3udvVPkh9NGX2yKhbs+wyaEiXn9XHAtgY=
Subject: Re: [geda-user] [pcb-rnd] advanced search, query language and the
next steps
To: geda-user AT delorie DOT com
References: <alpine DOT DEB DOT 2 DOT 00 DOT 1610161903560 DOT 7286 AT igor2priv>
From: "Dave McGuire (mcguire AT neurotica DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
Message-ID: <63b6266a-7db9-d6f4-331f-21f82f15625a@neurotica.com>
Date: Sun, 16 Oct 2016 22:26:35 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
Thunderbird/45.3.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.00.1610161903560.7286@igor2priv>
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

  Um.  Wow.  That's damn impressive.

  Transparency would be sooooo nice. ;)

  I still owe you a reply about other platforms; I'm in a busy time
right now but will definitely get involved in that soon.

         -Dave

On 10/16/2016 01:48 PM, gedau AT igor2 DOT repo DOT hu wrote:
> Hi all,
> 
> have you ever wanted to search for vias with hole too small or too large
> in PCB? Or select all those tiny trace line segments that hide under smd
> pads to delete them at once? Or find traces that differ from a given
> thicnkess on your 50 Ohm impedance layer and change their thickness to
> the right value in one go?
> 
> With pcb-rnd these are all possible now (available from svn, will be
> included in the next release in early November).
> 
> The engine of the new feature is a query language where complex searches
> can be specified using an expression. For example "traces shorter than 4
> mm on any copper layer on the top side of the board" can be written as:
> 
> (@.length < 3 mm) && (@.layer.type == COPPER) && (@.layer.position == TOP)
> 
> An action is provided to evaluate expressions or select or unselect
> objects matching the expression. This feature is accessible from all
> HIDs. Query language tutorial:
> http://repo.hu/projects/pcb-rnd/query/tutor_cli.html
> 
> To ease building expressions without learning the query language, the
> gtk HID offers an Advanced search wizard dialog box where the user can
> build an expression by selecting operators and operands from dynamic
> lists, as demonstrated in the following videos:
> 
> https://archive.org/details/pcb_rnd_search_short_line
> 
> https://archive.org/details/pcb_rnd_search_thick_bottom
> 
> An example using the CLI action is also captured:
> 
> https://archive.org/details/search_top_U_elements
> 
> For modularity, the query language is implemented as an optional feature
> plugin (enabled and static linked by default).
> 
> 
> 
> That's the present; but it has a future too. As of now, the query
> language is a powerful search tool, but it is really just the first step
> of a bigger plan: improving the DRC.
> 
> The query language is designed to be capable enough to serve as the
> programmed DRC later. The DRC script would be a set of named queries
> (consisting of multiple expressions). The DRC script would be generated
> by the netlister. This would let the user specify complex requirements,
> for example:
> 
> - star grounding
> 
> - "make sure this connector is near the board edge"
> 
> - "this digital IC should not be closer than 20 mm to this sensitive
> analog circuit" (e.g. dist(U1, U2) > 20 mm)
> 
> - matched length pairs (e.g. abs(net1.length - net2.length) < 10 mm)
> 
> These requirements would be coming from attributes on the schematics.
> Then the netlister would collect all these DRC-requirement attributes
> and generate the DRC script (using templates) that would be imported
> just like the netlist.
> 
> This means we could handle a lot of special cases via scripting -
> without the schematics editor or the netlister or pcb-rnd's DRC having
> to have custom heruistics hardwired for each case. Such DRC script
> templates could be shared and collected in libraries like symbols or
> footprints.
> 
> Happy querying!
> 
> Best regards,
> 
> Igor2


-- 
Dave McGuire, AK4HZ
New Kensington, PA

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019