delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2018/02/09/15:51:23

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Mailer: exmh version 2.8.0 04/21/2012 with nmh-1.6
X-Exmh-Isig-CompType: repl
X-Exmh-Isig-Folder: inbox
From: karl AT aspodata DOT se
To: geda-user AT delorie DOT com
Subject: Re: [geda-user] Another PCB grid step question
In-reply-to: <alpine.DEB.2.00.1802091735590.12270@igor2priv>
References: <c3aa1897-3806-3f72-feef-85551a63c2db AT linetec DOT nl> <alpine DOT DEB DOT 2 DOT 00 DOT 1802091235090 DOT 12270 AT igor2priv> <6221de93-bb98-d397-79b4-eecf3975c2e6 AT linetec DOT nl> <alpine DOT DEB DOT 2 DOT 00 DOT 1802091324350 DOT 12270 AT igor2priv> <f2259553-7015-8fc8-33b2-8ca8be6c5a45 AT linetec DOT nl> <alpine DOT DEB DOT 2 DOT 00 DOT 1802091427450 DOT 12270 AT igor2priv> <20180209161532 DOT 6AF57804CEFA AT turkos DOT aspodata DOT se> <alpine DOT DEB DOT 2 DOT 00 DOT 1802091735590 DOT 12270 AT igor2priv>
Comments: In-reply-to gedau AT igor2 DOT repo DOT hu
message dated "Fri, 09 Feb 2018 18:13:27 +0100."
Mime-Version: 1.0
Message-Id: <20180209204934.CAA35804CEFA@turkos.aspodata.se>
Date: Fri, 9 Feb 2018 21:49:34 +0100 (CET)
X-Virus-Scanned: ClamAV using ClamSMTP
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

Igor2:
...
> On Fri, 9 Feb 2018, karl AT aspodata DOT se wrote:
...
> > $ pcb-rnd -V
> > pcb-rnd version 1.2.7 rev svn r14602
> > $ cp original.pcb tt.pcb
> > $ pcb-rnd -gui lesstif tt.pcb
> > adding a line
> > File->save layout
> >
> > $ diff tt.pcb original.pcb
> >
> > 880c871
> > < Element["" "apem_3mek_sc.fp" "M2" "unknown" 92.75mm 71.25mm -18.75mm -15.5mm 0 100 "floater"]
> > ---
> >> Element["lock" "apem_3mek_sc.fp" "M2" "unknown" 92.7500mm 71.2500mm -18.7500mm -15.5000mm 0 100 ""]
> > 882,893c873,881
> > <       Attribute("footprint" "apem_3mek_sc.fp")
> > <       Attribute("refdes" "M2")
> > <       Attribute("value" "unknown")
> >
> > $ pcb tt.pcb
> > ERROR parsing file 'tt.pcb'
> >    line:        844
> >    description: 'Unknown flag: "floater" ignored'
> > ERROR parsing file 'tt.pcb'
> >    line:        880
> >    description: 'Unknown flag: "floater" ignored'
> > ERROR parsing file 'tt.pcb'
> >    line:        897
> >    description: 'Unknown flag: "floater" ignored'
> 
> Thanks for reporting, worked around in r14603.
> 
> (The real fix would be to upgrade pcb with the flag compat patch, back 
> from 2013 - but I gave up on trying to get it applied back in 2015)

You mean this: 
 http://www.delorie.com/archives/browse.cgi?p=geda-user/2013/09/01/02:49:59

Yes, wouldn't mind that, but Richards problem was to cooperate with
the pcb programs run by his fellow designers, i.e. make it work with
older versions of pcb.

> > pcb: rtree.c:1054: r_insert_entry: Assertion `which->X1 <= which->X2' failed.
> > Aborted
...
> However, the assert is a bug in pcb - it should not assert even on invalid 
> input.

Perhaps, but it does in the debug version, and the problem was: can 
Richard save files from pcb-rnd and give them to his co-workers ?

> If it doesn't like negative coords in some fields,

Soo, what do a "thickness" of -2mm mean ?

 Here is the first pad in tt.pcb:
$ grep -B10 Pad tt.pcb  |head | grep Element
Element["" "m3216_a.fp" "m5R1" "1k" 159.5mm 67.55mm 1750.0um -7.05mm 2 100 "auto,floater"]

grep -A10 '"m5R1"' tt.pcb  > t.fp
grep -A14 '"m5R1"' original.pcb  > o.fp

$ cat o.fp 
Element["onsolder" "m3216_a.fp" "m5R1" "1k" 159.5000mm 67.5500mm 1.7500mm -7.0500mm 2 100 "onsolder"]
(
        Attribute("device" "Resistor")
        Attribute("manufacturer" "unknown")
        Attribute("manufacturer_part_number" "unknown")
        Attribute("vendor" "unknown")
        Attribute("vendor_part_number" "unknown")
        Pad[-0.3500mm 1.5500mm 0.3500mm 1.5500mm 1.3000mm 0.5000mm 1.5000mm "1" "1" "onsolder,square"]
        Pad[-0.3500mm -1.5500mm 0.3500mm -1.5500mm 1.3000mm 0.5000mm 1.5000mm "2" "2" "onsolder,square"]
        ElementLine [-1.2600mm -2.4600mm -1.2600mm 2.4600mm 0.3200mm]
        ElementLine [-1.2600mm -2.4600mm 1.2600mm -2.4600mm 0.3200mm]
        ElementLine [1.2600mm -2.4600mm 1.2600mm 2.4600mm 0.3200mm]
        ElementLine [-1.2600mm 2.4600mm 1.2600mm 2.4600mm 0.3200mm]

        )
$ cat t.fp 
Element["" "m3216_a.fp" "m5R1" "1k" 159.5mm 67.55mm 1750.0um -7.05mm 2 100 "auto,floater"]
(
        Attribute("footprint" "m3216_a.fp")
        Attribute("refdes" "m5R1")
        Attribute("value" "1k")
        Attribute("device" "Resistor")
        Attribute("manufacturer" "unknown")
        Attribute("manufacturer_part_number" "unknown")
        Attribute("vendor" "unknown")
        Attribute("vendor_part_number" "unknown")
        Pad[0.0 1200.0um 0.0 1900.0um -2.0mm 250.0um -2.0mm "1" "1" "square"]
        Pad[0.0 -1900.0um 0.0 -1200.0um -2.0mm 250.0um -2.0mm "2" "2" "square"]

)

1, silk lines is missing from the pcb-rnd saved element

2. pcb-rnd creates attributes which it later complains about:
$ pcb-rnd --gui lesstif t.fp 
mutliple values for attribute footprint: 'm3216_a.fp' and 'm3216_a.fp' - ignoring 'm3216_a.fp'
mutliple values for attribute footprint: 'm3216_a.fp' and 'm3216_a.fp' - ignoring 'm3216_a.fp'
mutliple values for attribute refdes: 'm5R1' and 'm5R1' - ignoring 'm5R1'
mutliple values for attribute refdes: 'm5R1' and 'm5R1' - ignoring 'm5R1'
mutliple values for attribute value: '1k' and '1k' - ignoring '1k'
mutliple values for attribute value: '1k' and '1k' - ignoring '1k'
No preferred unit format info available for 't.fp' - will use 'geda/pcb - readable units' on save (guessed from non-nanometer explicit unit usage)
No preferred unit format info available for 't.fp' - will use 'geda/pcb - readable units' on save (guessed from non-nanometer explicit unit usage)
Loaded menu file '/usr/local/share/pcb-rnd/pcb-menu-lesstif.lht'

3. original clearance is 0.5mm, pcb-rnd converts that to 0.25mm

4. I don't really know how to treat a mask value of -2mm,
   the orig. is 1.5mm

5. theese are supposed to be the same, care to tell me how:
        Pad[-0.3500mm 1.5500mm 0.3500mm 1.5500mm 1.3000mm 0.5000mm 1.5000mm "1" "1" "onsolder,square"]
        Pad[-0.3500mm -1.5500mm 0.3500mm -1.5500mm 1.3000mm 0.5000mm 1.5000mm "2" "2" "onsolder,square"]

        Pad[0.0 1200.0um 0.0 1900.0um -2.0mm 250.0um -2.0mm "1" "1" "square"]
        Pad[0.0 -1900.0um 0.0 -1200.0um -2.0mm 250.0um -2.0mm "2" "2" "square"]

> it should 
> probably check for those and give a meaningful error message.
...

Ack.

Regards,
/Karl Hammar

-----------------------------------------------------------------------
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sweden
+46 173 140 57


- Raw text -


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