X-Authentication-Warning: delorie.com: mail set sender to geda-help-bounces using -f X-Recipient: geda-help AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1496797997; bh=+1Z/SBxVkpy9jEJq1DVIAaAeeprwo8GV2gd4qxltm2M=; h=Date:From:Reply-To:To:In-Reply-To:References:Subject:From:Subject; b=ZpaaP2+vK6BHuMpmr7pxb5MSNrxibI5YHmD7OQNQlMthkpkB5suWPie8lYUeETqNUrvr9evcdbkgshpFOWoXbifSmeYn2hYtInwyrLtwJCAH/QaKgfvPML9RuCjTzCVOZSoDXiWrjt3AtLNde9ncY5nprgV7wde1glTKP7Y3rcJH2/H/NFMsFMaoyFFUx5IRAuzdOr+EyRwG1MzvivvIBEQlpOWg6Y8033vy1ojFJspaqWUs0anA7r/CNvcg3pNKj/bl5Aq+jb4ELvpyOeg2msm3/QPuPPU06SRkJ8CVQgm/siohLpOml+brlo+XHtLucvcV6ENPmtIw9a6al4+NPg== X-YMail-OSG: dkCnpCUVM1m.xkccip1PG2RCH8TLnKE.pH8_nydlVXjN6FAe.CNRB1mReN8WwWv KuZdKsqNl0e4CT0jqk33pb4tJcaYoFI3hmpjrDRmsMhN3mje0FT6FDGsPN3YHW6rL5LZXjMqRNmM qlqZ9bPz9fZfKpE2UOBVA51c29YGx_gyAviinlE3GZX8amQ2Pgv4keWXsaf3E8qcXTA4iFOECDqi XMOonvtFosM7.nXVetRuAvA6ti86PIQw3XSFy0P5a3XS4I7FaoQeB70MWfVQhiqQDqFoKUEljZyN 6qUtSqxwb1RseIcS6LafBHfiwF1IjEkOPUtZxGvJGGmHe3CmKEJgMPlBCwi5r.kgSgj1k3C6pueK U0ArJYGOotfugA92j7mGqcSL6wYGjU0QtQfqZEmkVjxFqOKfv4t1rHbXXzjGEdYJXcz2Ee73SYrB Q7HQZTL_U9e5GdNbB9nHYRt86OHvE7SuIF7E3.YtjkFjHPtMTPrIjs3wWt_hO6HHFGHbjbnBtm.d 1asQsRrI_QBDa.bEZEE8- Date: Wed, 7 Jun 2017 01:13:16 +0000 (UTC) From: "Edward Comer (ecomer AT yahoo DOT com) [via geda-help AT delorie DOT com]" To: "geda-help AT delorie DOT com" Message-ID: <1036667236.4041154.1496797996282@mail.yahoo.com> In-Reply-To: <20170606230904.1F24E807466D@turkos.aspodata.se> References: <1343213007 DOT 3854008 DOT 1496782855983 DOT ref AT mail DOT yahoo DOT com> <1343213007 DOT 3854008 DOT 1496782855983 AT mail DOT yahoo DOT com> <20170606230904 DOT 1F24E807466D AT turkos DOT aspodata DOT se> Subject: Re: [geda-help] gxyrs with gEDA PCB MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_4041153_1269052315.1496797996280" X-Mailer: WebService/1.1.9778 YahooMailNeo Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36 Reply-To: geda-help AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-help AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk ------=_Part_4041153_1269052315.1496797996280 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Thanks for the reply. I was hoping that someone had already done something = in this area. I will have to write ab awk script. From: "karl AT aspodata DOT se" To: geda-help AT delorie DOT com=20 Sent: Tuesday, June 6, 2017 7:20 PM Subject: Re: [geda-help] gxyrs with gEDA PCB =20 Edward Comer: > Has anyone used gxyrs with gEDA pcb? > I am wanting to utilize the fabrication service at MicroFab > (https://macrofab.com/) and their required XYRS file is very > different from the xy file produced by pcb (pcb -x bom --bomfile > /dev/null $(TARGET).pcb). Why don't you ask macrofab, https://factory.macrofab.com/help/k28u1k says: =C2=A0 Is your favorite EDA tool not on this list? Let us know at =C2=A0 support AT macrofab DOT net. We're continuously working on instructions =C2=A0 for new programs, and we'd be happy to prioritize your tool. BTW, the format of their xyrs files is indicated at the bottom of that page. Looking at the doc, and a pcb xy file, it seems to be a simple permutation of fields, and filling out fields which pcb's xy file doesn't provide like: Type =C2=A0=C2=A0=C2=A0 Surface or Through Hole =C2=A0=C2=A0=C2=A0 1/SMT/S= MD for SMD, 2 for PTH X-Size =C2=A0=C2=A0=C2=A0 X Dimension of the Part (mils) =C2=A0=C2=A0=C2= =A0 Size of the Package, Measured By the Pad Footprint Y-Size =C2=A0=C2=A0=C2=A0 Y Dimension of the Part (mils) =C2=A0=C2=A0=C2= =A0 Size of the Package, Measured By the Pad Footprint One could make a program that checks a given fotprint for pins, which=20 should indicate a 2 in the type column, and to find the bounding box of=20 all pins and pads in the footprint. I don't know one who does it though. Also, you have to be careful to use only footprints that have the "righ" rotation, whatever that is. The permutations could be done with (perhaps an awk script would be=20 more appropiate here): $ cat tt.pl #!/usr/bin/perl -w use strict; while(<>) { =C2=A0 =C2=A0 if (!m/^#/) { =C2=A0=C2=A0=C2=A0 chomp; =C2=A0=C2=A0=C2=A0 my @fld =3D split(/,/); =C2=A0=C2=A0=C2=A0 my @out =3D (@fld[0,3,4,5,6], 1, 0, 0, @fld[2,1], 0); =C2=A0=C2=A0=C2=A0 $_ =3D join("\t", @out) . "\n"; =C2=A0 =C2=A0 } =C2=A0 =C2=A0 print; } $ head arm_can_test.xy=20 # PcbXY Version 1.0 # Date: Tue 06 Jun 2017 10:35:50 PM GMT UTC # Author: Karl Hammar # Title: arm_can_test - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mm.=C2=A0 rotation in degrees. # -------------------------------------------- _R2,"m1608_a.fp","10k",108.5000,78.00,90,bottom _C6,"m2012_a.fp","1u",71.9500,90.50,180,top _C10,"m2012_a.fp","100n",89.0000,99.05,270,top $ ./tt.pl arm_can_test.xy | head # PcbXY Version 1.0 # Date: Tue 06 Jun 2017 10:35:50 PM GMT UTC # Author: Karl Hammar # Title: arm_can_test - PCB X-Y # RefDes, Description, Value, X, Y, rotation, top/bottom # X,Y in mm.=C2=A0 rotation in degrees. # -------------------------------------------- _R2=C2=A0 =C2=A0 108.5000=C2=A0 =C2=A0 =C2=A0 =C2=A0 78.00=C2=A0 90=C2=A0 = =C2=A0 =C2=A0 bottom=C2=A0 1=C2=A0 =C2=A0 =C2=A0 0=C2=A0 =C2=A0 =C2=A0 0=C2= =A0 =C2=A0 =C2=A0 "10k"=C2=A0 "m1608_a.fp"=C2=A0 =C2=A0 0 _C6=C2=A0 =C2=A0 71.9500 90.50=C2=A0 180=C2=A0 =C2=A0 top=C2=A0 =C2=A0 1=C2= =A0 =C2=A0 =C2=A0 0=C2=A0 =C2=A0 =C2=A0 0=C2=A0 =C2=A0 =C2=A0 "1u"=C2=A0 = =C2=A0 "m2012_a.fp"=C2=A0 =C2=A0 0 _C10=C2=A0 =C2=A0 89.0000 99.05=C2=A0 270=C2=A0 =C2=A0 top=C2=A0 =C2=A0 1= =C2=A0 =C2=A0 =C2=A0 0=C2=A0 =C2=A0 =C2=A0 0=C2=A0 =C2=A0 =C2=A0 "100n"=C2= =A0 "m2012_a.fp"=C2=A0 =C2=A0 0 $ Perhaps you need to remove the citation marks ("). > Exactly how to use gxyrs is not obvious, at least not to me.=C2=A0The > man pages are rather terse, to say the least. > Any help would be appreciated. Looking through the man page, it seems that gxyrs doesn't help you with the info that is missing from pcb's xy file, you have to provide that by some other means. And it doesn't seem to help much with the permutations, but after you have done the permutations, there seems to be commands which gives you the ability to alter specific lines/columns matching some rules. I guess you are better off editing the file after permutating it in a spreadsheet or an editor. Regards, /Karl Hammar ----------------------------------------------------------------------- Asp=C3=B6 Data Lilla Asp=C3=B6 148 S-742 94 =C3=96sthammar Sweden +46 173 140 57 =20 ------=_Part_4041153_1269052315.1496797996280 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Thanks for the reply. I was hoping = that someone had already done something in this area. I will have to write = ab awk script.



From: "karl AT aspodata DOT se" <karl AT aspodata DOT se>
To: geda-help AT delorie DOT com
Sent: Tuesday, June 6, 2017 7:20 PM
= Subject: Re: [geda-help] g= xyrs with gEDA PCB

Edward Comer:
> Has anyone used gx= yrs with gEDA pcb?
> I am wanting to utilize the fabri= cation service at MicroFab
> (https://macrofab.com/) and= their required XYRS file is very
> different from the= xy file produced by pcb (pcb -x bom --bomfile
> /dev/= null $(TARGET).pcb).

Why don't you as= k macrofab, https://fact= ory.macrofab.com/help/k28u1k
says:
=
  Is your favorite EDA tool not on this list? Let u= s know at
  support AT macrofab DOT n= et. We're continuously working on instructions
 = for new programs, and we'd be happy to prioritize your tool.

BTW, the format of their xyrs files is indicated at= the bottom of
that page.

Looking at the doc, and a pcb xy file, it seems to be a simple
permutation of fields, and filling out fields which pcb's xy fi= le
doesn't provide like:

Type     Surface or Through Hole     1/= SMT/SMD for SMD, 2 for PTH
X-Size     X D= imension of the Part (mils)     Size of the Package, Measure= d By the Pad Footprint
Y-Size     Y Dimen= sion of the Part (mils)     Size of the Package, Measured By= the Pad Footprint

One could make a pr= ogram that checks a given fotprint for pins, which
shoul= d indicate a 2 in the type column, and to find the bounding box of
all pins and pads in the footprint. I don't know one who does it= though.
Also, you have to be careful to use only footpri= nts that have the "righ"
rotation, whatever that is.

The permutations could be done with (perha= ps an awk script would be
more appropiate here):

$ cat tt.pl
#!/usr/bin/perl= -w

use strict;

while(<>) {
    if (!m/^#/= ) {
    chomp;
 &nb= sp;  my @fld =3D split(/,/);
    my @= out =3D (@fld[0,3,4,5,6], 1, 0, 0, @fld[2,1], 0);
 &= nbsp;  $_ =3D join("\t", @out) . "\n";
   = }
    print;
}
$ head arm_can_test.xy
# PcbXY Version 1.0
# Date: Tue 06 Jun 2017 10:35:50 PM GMT UTC
# A= uthor: Karl Hammar
# Title: arm_can_test - PCB X-Y
# RefDes, Description, Value, X, Y, rotation, top/bottom
# X,Y in mm.  rotation in degrees.
# ---= -----------------------------------------
_R2,"m1608_a.fp= ","10k",108.5000,78.00,90,bottom
_C6,"m2012_a.fp","1u",71= .9500,90.50,180,top
_C10,"m2012_a.fp","100n",89.0000,99.0= 5,270,top
$ ./tt.pl arm_can_test.xy | head
# PcbXY Version 1.0
# Date: Tue 06 Jun 2017 10:35:50 = PM GMT UTC
# Author: Karl Hammar
# Titl= e: arm_can_test - PCB X-Y
# RefDes, Description, Value, X= , Y, rotation, top/bottom
# X,Y in mm.  rotation in = degrees.
# --------------------------------------------_R2    108.5000        78.0= 0  90      bottom  1      0 =     0      "10k"  "m1608_a.fp"  &nbs= p; 0
_C6    71.9500 90.50  180  &nb= sp; top    1      0      0 = ;     "1u"    "m2012_a.fp"    0
_C10    89.0000 99.05  270    top  &n= bsp; 1      0      0      = "100n"  "m2012_a.fp"    0
$

Perhaps you need to remove the citation marks (").

> Exactly how to use gxyrs is not obvious, at least not to me.=  The
> man pages are rather terse, to say the lea= st.
> Any help would be appreciated.


Looking through the man page, it seems that gxyrs= doesn't help you
with the info that is missing from pcb'= s xy file, you have to provide
that by some other means.<= br clear=3D"none">
And it doesn't seem to help much with = the permutations, but after you
have done the permutation= s, there seems to be commands which gives you
the ability= to alter specific lines/columns matching some rules.
I guess you are better off editing the file after permutati= ng it in
a spreadsheet or an editor.
Regards,
/Karl Hammar
=
--------------------------------------------------------= ---------------
Asp=C3=B6 Data
Lilla As= p=C3=B6 148
S-742 94 =C3=96sthammar
Swe= den
+46 173 140 57





------=_Part_4041153_1269052315.1496797996280--