Mailing list archives : pcb-rnd

ID:3890
From:Alain Vigne <al...@gmail.com>
Date:Thu, 2 Apr 2020 10:26:17 +0200
Subject:Re: [pcb-rnd] drc: implement dru files
in-reply-to:3889 from ge...@igor2.repo.hu
replies: 3891 from ge...@igor2.repo.hu
--000000000000aafdda05a24a8e4a
Content-Type: text/plain; charset="UTF-8"
 
I'm happy to contribute a little again ;)
See comments inserted below
 
On Thu, Apr 2, 2020 at 9:36 AM <gedau@igor2.repo.hu> wrote:
 
> Hi Alain,
>
> On Thu, 2 Apr 2020, Alain Vigne wrote:
>
> >Good morning Igor2
> >
> >May be this idea is off topic, too ambitious or not yet feasible, but here
> >it is:
> >
> >Assume I am using PCB manufacturer: "Beta layout"
> >https://uk.beta-layout.com/ (could be X)
> >They provide their DRC rules as a file:
> >Altium:
> https://uk.beta-layout.com/download/spezifikation/eng_Altium_RUL_0319_ENG.z
> >ip
> >Eagle:
> https://uk.beta-layout.com/download/spezifikation/eng_Eagle_Dru_Datei_0319
> .
> >zip
> >
> >Idea: Read and translate that file (pick your preferred) into a set of
> rules
> >my PCB should DRC pass with.
>
> This can be used as a list of ideas (list of rules, one or more for each
> setting DRU support). FYI, io_eagle already loads DRU files, so the low
> level, the parser is there.
>
> Then, once parsed, what happens ?
 
So questions are:
>
> 1. most relevant: where/why do you need this in practice, on production
> boards?  Are you fabbing boards at that fab or another fab that provide
> DRU files?
>
> Yes, I am fabbing my PCBs with this fab.
I could envision also this fab : https://www.eurocircuits.com
with this files :
https://www.eurocircuits.com/drc-settings-and-guide-lines-for-cad-packages/
Same idea.
 
2. are you willing to break down the DRU format into individual rules?
> (DRU itself has numeric fields, so "what exactly needs to be checked for a
> given field" is the translation to rule)
>
> Well, as a _user_, ideally, I don't give a damn about internal
translations. I expect pcb-rnd to read the rules, understand, and apply all
the rules when I hit "DRC" button. Then, if I have no DRC error, I consider
the design good to be fabbed. Else, I correct errors/violations.
Of course, I know there is a "stack" problem, as I should match my pcb-rnd
layer stack to what DRU files describe. This should be configured prior to
run the DRC checks, and once and for all with a given stack (I mean if the
stack is modified, the user has to remap the DRU file with the new stack).
I would love to see this process, GUI driven, even outside pcb-rnd app
itself : a DRC rules explorer, using a pcb-rnd stack layer. The rules could
then be shown graphically, with dimensions and "rules" ("greater than",
"not allowed", etc...)
 
3. are you willing to test each rule implementation?
>
> TLDR: yes
long story: Depending on DRU file and user strategy, this might be not true
with this very file. But a new DRU file can be created included really ALL
the required rules to pass. Then, other DRC jobs could be launched with
other requirements, on per request basis.
But there will be always a "set of rules" to run altogether to check if DRC
is OK or not.
 
>I did not see other ideas... Am I the first one ?
>
> Yes! I always got a measurable amount of drc related feature requests when
> we were only deaming about the new DRC and couldn't implement them. Now
> that we have the new DRC available, the feature requests stopped, lol.
>
> Best regards,
>
> Igor2
>
>
> The idea could also be a "translation" app: take the DRU file as an input
and output a tEDAX, or DRC? pcb-rnd file ? Don't really know.
 
I am open to discussion + tests
-- 
Alain V.
 
--000000000000aafdda05a24a8e4a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 
<div dir=3D"ltr"><div>I&#39;m happy to contribute a little again ;)</div><d=
iv>See comments inserted below<br></div><br><div class=3D"gmail_quote"><div=
 dir=3D"ltr" class=3D"gmail_attr">On Thu, Apr 2, 2020 at 9:36 AM &lt;<a hre=
f=3D"mailto:gedau@igor2.repo.hu">gedau@igor2.repo.hu</a>&gt; wrote:<br></di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;borde=
r-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Alain,<br>
<br>
On Thu, 2 Apr 2020, Alain Vigne wrote:<br>
<br>
&gt;Good morning Igor2<br>
&gt;<br>
&gt;May be this idea is off topic, too ambitious or not yet feasible, but h=
ere<br>
&gt;it is:<br>
&gt;<br>
&gt;Assume I am using PCB manufacturer: &quot;Beta layout&quot;<br>
&gt;<a href=3D"https://uk.beta-layout.com/" rel=3D"noreferrer" target=3D"_b=
lank">https://uk.beta-layout.com/</a> (could be X)<br>
&gt;They provide their DRC rules as a file:<br>
&gt;Altium:<a href=3D"https://uk.beta-layout.com/download/spezifikation/eng=
_Altium_RUL_0319_ENG.z" rel=3D"noreferrer" target=3D"_blank">https://uk.bet=
a-layout.com/download/spezifikation/eng_Altium_RUL_0319_ENG.z</a><br>
&gt;ip<br>
&gt;Eagle:<a href=3D"https://uk.beta-layout.com/download/spezifikation/eng_=
Eagle_Dru_Datei_0319" rel=3D"noreferrer" target=3D"_blank">https://uk.beta-=
layout.com/download/spezifikation/eng_Eagle_Dru_Datei_0319</a>.<br>
&gt;zip<br>
&gt;<br>
&gt;Idea: Read and translate that file (pick your preferred) into a set of =
rules<br>
&gt;my PCB should DRC pass with.<br>
<br>
This can be used as a list of ideas (list of rules, one or more for each <b=
r>
setting DRU support). FYI, io_eagle already loads DRU files, so the low <br=
>
level, the parser is there.<br>
<br></blockquote><div>Then, once parsed, what happens ?</div><div> <br></di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;borde=
r-left:1px solid rgb(204,204,204);padding-left:1ex">
So questions are:<br>
<br>
1. most relevant: where/why do you need this in practice, on production <br=
>
boards?=C2=A0 Are you fabbing boards at that fab or another fab that provid=
e <br>
DRU files?<br>
<br></blockquote><div>Yes, I am fabbing my PCBs with this fab.</div><div>I =
could envision also this fab :=20
<a href=3D"https://www.eurocircuits.com">https://www.eurocircuits.com</a>
 
</div><div>with this files : <a href=3D"https://www.eurocircuits.com/drc-se=
ttings-and-guide-lines-for-cad-packages/">https://www.eurocircuits.com/drc-=
settings-and-guide-lines-for-cad-packages/</a></div><div>Same idea.<br></di=
v><div> <br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px=
 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
2. are you willing to break down the DRU format into individual rules? <br>
(DRU itself has numeric fields, so &quot;what exactly needs to be checked f=
or a <br>
given field&quot; is the translation to rule)<br>
<br></blockquote><div>Well, as a _user_, ideally, I don&#39;t give a damn a=
bout internal translations. I expect pcb-rnd to read the rules, understand,=
 and apply all the rules when I hit &quot;DRC&quot; button. Then, if I have=
 no DRC error, I consider the design good to be fabbed. Else, I correct err=
ors/violations.</div><div>Of course, I know there is a &quot;stack&quot; pr=
oblem, as I should match my pcb-rnd layer stack to what DRU files describe.=
 This should be configured prior to run the DRC checks, and once and for al=
l with a given stack (I mean if the stack is modified, the user has to rema=
p the DRU file with the new stack).</div><div>I would love to see this proc=
ess, GUI driven, even outside pcb-rnd app itself : a DRC rules explorer, us=
ing a pcb-rnd stack layer. The rules could then be shown graphically, with =
dimensions and &quot;rules&quot; (&quot;greater than&quot;, &quot;not allow=
ed&quot;, etc...)</div><div> <br></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex">
3. are you willing to test each rule implementation?<br>
<br></blockquote><div>TLDR: yes</div><div>long story: Depending on DRU file=
 and user strategy, this might be not true with this very file. But a new D=
RU file can be created included really ALL the required rules to pass. Then=
, other DRC jobs could be launched with other requirements, on per request =
basis.</div><div>But there will be always a &quot;set of rules&quot; to run=
 altogether to check if DRC is OK or not.<br></div><div><br></div><blockquo=
te class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px =
solid rgb(204,204,204);padding-left:1ex">
&gt;I did not see other ideas... Am I the first one ?<br>
<br>
Yes! I always got a measurable amount of drc related feature requests when =
<br>
we were only deaming about the new DRC and couldn&#39;t implement them. Now=
 <br>
that we have the new DRC available, the feature requests stopped, lol.<br>
<br>
Best regards,<br>
<br>
Igor2<br>
<br>
<br>
</blockquote></div><div>The idea could also be a &quot;translation&quot; ap=
p: take the DRU file as an input and output a tEDAX, or DRC? pcb-rnd file ?=
 Don&#39;t really know.<br></div><div><br></div><div>I am open to discussio=
n + tests</div><div>-- <br><div dir=3D"ltr" class=3D"gmail_signature">Alain=
 V.</div></div></div>
 
--000000000000aafdda05a24a8e4a--
 

Reply subtree:
3890 Re: [pcb-rnd] drc: implement dru files from Alain Vigne <al...@gmail.com>
  3891 Re: [pcb-rnd] drc: implement dru files from ge...@igor2.repo.hu
    3892 Re: [pcb-rnd] drc: implement dru files from Alain Vigne <al...@gmail.com>
      3893 Re: [pcb-rnd] drc: implement dru files from ge...@igor2.repo.hu