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: <201110201548 DOT p9KFma9K019672 AT envy DOT delorie DOT com> <20111020172714 DOT GB20384 AT malakian DOT lan> <20111021013756 DOT GE20384 AT malakian DOT lan> Date: Fri, 21 Oct 2011 13:41:18 +1100 X-Google-Sender-Auth: DquH1Tt9DN-s6n5cV4ER0dUoD3Y Message-ID: Subject: Re: [geda-user] Working with a 0.1mm grid From: Stephen Ecob To: geda-user AT delorie DOT com Content-Type: text/plain; charset=ISO-8859-1 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 Precedence: bulk >> 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