www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2011/10/20/22:41:36

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=mime-version:sender:in-reply-to:references:date
:x-google-sender-auth:message-id:subject:from:to:content-type;
bh=R9hwp0BKI817bEIHLDuKTVx2g+/Cv4QBV3dG1xv8H5g=;
b=QAiZOP+zsGMUqXseBQxCiYcb0qzNisnQ+Lpc6o1jHAhrlm9ste5+5khg2YM9cDW68Z
d2lpna5GsD153vD2MALvFUvNYmqZDyZnX6WzlpzFEyPidbwHbXFMxJIsEyWH0DUJaAjw
cAJA4Oaxwv6/xzSV8Xzt7PxZHwu0lmKFdcchM=
MIME-Version: 1.0
Sender: silicon DOT on DOT inspiration AT gmail DOT com
In-Reply-To: <20111021013756.GE20384@malakian.lan>
References: <CAKakQccTk7cNBhDt4SM=jq5hrEBzWC8er53JSSNsch5+-7pCWw AT mail DOT gmail DOT com>
<201110201548 DOT p9KFma9K019672 AT envy DOT delorie DOT com>
<20111020172714 DOT GB20384 AT malakian DOT lan>
<CAKakQccb967HgSod6BeULhCSj7gE+L0oAVb=L82pGcOphJ7ohw AT mail DOT gmail DOT com>
<20111021013756 DOT GE20384 AT malakian DOT lan>
Date: Fri, 21 Oct 2011 13:41:18 +1100
X-Google-Sender-Auth: DquH1Tt9DN-s6n5cV4ER0dUoD3Y
Message-ID: <CAKakQceJ8GBzX+jHqrhpD2D+-f1eoMqb7h5igJhHe-DuwQB1aQ@mail.gmail.com>
Subject: Re: [geda-user] Working with a 0.1mm grid
From: Stephen Ecob <stephen DOT ecob AT sioi DOT com DOT au>
To: geda-user AT delorie DOT com
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

>> For example, a value of 1.27mm could be output as 5000 cmils but a
>> value of 0.1mm would be output as 0.1mm (or 100um, etc)
>
> That would be nasty. The suffix code should be consistent.
>
> I'm pretty sure we could use the "mil" and "mm" suffixes and not ever
> lose precision, even when loading from old versions of pcb.

I think that reading in using "mil" and "mm" suffixes without loss of
precision isn't the problem.

I think that the problem is that PCB throws away precision of metric
values when saving.

Example 1: When a user selects a 0.1mm grid and saves the PCB the grid
is saved as 393.7 mils, which is not equal to 0.1mm.

Example 2: Here's my DFN3030.fp:

Element[0x00000000 "" "" "" 1000 1000 0 -7937 0 100 0x00000000]
(
	Pad[-0.975mm 1.2mm -0.975mm 1.55mm 0.3mm 1200 0.7mm "1" "1" 0x00000100]
	Pad[-0.325mm 1.2mm -0.325mm 1.55mm 0.3mm 1200 0.7mm "2" "2" 0x00000100]
	Pad[+0.325mm 1.2mm +0.325mm 1.55mm 0.3mm 1200 0.7mm "3" "3" 0x00000100]
	Pad[+0.975mm 1.2mm +0.975mm 1.55mm 0.3mm 1200 0.7mm "4" "4" 0x00000100]
	Pad[-0.975mm -1.2mm -0.975mm -1.55mm 0.3mm 1200 0.7mm "8" "8" 0x00000100]
	Pad[-0.325mm -1.2mm -0.325mm -1.55mm 0.3mm 1200 0.7mm "7" "7" 0x00000100]
	Pad[+0.325mm -1.2mm +0.325mm -1.55mm 0.3mm 1200 0.7mm "6" "6" 0x00000100]
	Pad[+0.975mm -1.2mm +0.975mm -1.55mm 0.3mm 1200 0.7mm "5" "5" 0x00000100]

	Pad[-0.375mm 0 0.375mm 0 1.6mm 1200 1.8mm "9" "9" 0x00000100]
	Pin[0 0 1.5mm 2000 1.6mm 1.2mm "9" "9" ""]
)

After including this in a layout and saving, I find it looks like this:

Element["selected" "" "IC4" "LDO-1V8" 126549 160736 -4007 -12576 0 100
"selected"]
(
	Pin[0 0 6124 2000 6299 4724 "9" "9" "selected,edge2,thermal(2X)"]
	Pad[4724 3839 6102 3839 1400 1200 2756 "1" "1" "selected,square,edge2"]
	Pad[4724 1280 6102 1280 1181 1200 2756 "2" "2" "selected,square,edge2"]
	Pad[4724 -1280 6102 -1280 1181 1200 2756 "3" "3" "selected,square,edge2"]
	Pad[4724 -3839 6102 -3839 1181 1200 2756 "4" "4" "selected,square,edge2"]
	Pad[-6102 3839 -4724 3839 1181 1200 2756 "8" "8" "selected,square"]
	Pad[-6102 1280 -4724 1280 1181 1200 2756 "7" "7" "selected,square"]
	Pad[-6102 -1280 -4724 -1280 1181 1200 2756 "6" "6" "selected,square"]
	Pad[-6102 -3839 -4724 -3839 1181 1200 2756 "5" "5" "selected,square"]
	Pad[0 -1476 0 1476 6299 1200 7087 "9" "9" "selected,square"]

	)

That's a very lossy process - precision has been lost, as well as the
easily readable and editable values.


Stephen Ecob
Silicon On Inspiration
Sydney Australia
www.sioi.com.au

- Raw text -


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