----- Original Message ----- From: "Tony Karavidas" <[EMAIL PROTECTED]> To: "'Protel EDA Forum'" <[EMAIL PROTECTED]> Sent: Wednesday, August 14, 2002 11:08 PM Subject: Re: [PEDA] Metric problems
> > I was poking around the website today and noticed this in one of the > 'items fixed' in P99SE, SP4: > > "Entering metric units in design rules no longer results in incorrect > values." > > Wasn't someone complaining about that recently? Tony There was 2 issues. First, the PCB file DB works natively in Imperial (mils at 0.0001 resolution from what I seen in the ASCII file) and converts all metric values. For proper support I would have thought an overall system preference of a DB storage selection of Imp or Metric (not mixed) would be better. The PCB rules (99SE SP6) such as clearance etc if set at sat 1.2 would regularly end up at 1.19999 or 1.20001 as an example after a long edit session. Aslo if you queried individual components or pads X,Y values originally placed at say 12.5mm, 15.05mm would end up at 12.50002mm, 15.04999mm and so on. This happens in 99SE, although I get this regularly, and others hav eseen this as well, I have been unable to date to document a repeatable procedure to definitively re-create the error. This is using SP6. It seems to suffer more if you move the workspace relative origin around the board (to facilitate easier dimensioning) and perhaps snap off grid to a pad (in QFP shapes). Once the relative origin is reset (usually board bottom left or on first board Fiducial for me) the first thing you noticed in the placment file is x,y co-ordinates with maximum decimal precision. Second was the issue in DXP (worse). I have attached a copy of my findings at the end of this mail. The issue exists and is under investigation by Protel. But it is for sure not fixed in P99SE even at SP6 (unless it was unintentionally 'unfixed' in SP6) Sorry for the long mail, anyone familiar with the original post need not read further. Best Regards John A. Ross RSD Communications Ltd 8 BorrowMeadow Road, Springkerse Industrial Estate Stirling, Scotland FK7 7UW Tel (Office) +44 [0]1786 450572 Ext 225 Tel ( Lab ) +44 [0]1786 450572 Ext 248 Fax +44 [0]1786 474653 GSM +44 [0]7831 373727 Email [EMAIL PROTECTED] WWW http://www.rsd.tv ========================================== ====/===Copy of 99SE/DXP Mail===/=== As a follow up I have saved the test PCB in ASCII and looked at the database contents. First things that appear clear is that -> The ASCII version only saves units in imperial. -> The co-ords are referenced from the absolute (workspace) origin, not the relative origin. So with this in mind I extracted the information from the ASCII file and it is as follows. Firstly this was saved in DXP and 'saved as ASCII' from DXP. DXP reports the x positions of PIN 1 on both components as being the same if you look under 'properties' =====================cut=========== FUJ208 ====== |RECORD=Pad |COMPONENT=1 |INDEXFORSAVE=5 |SELECTION=FALSE |LAYER=TOP |LOCKED=FALSE |POLYGONOUTLINE=FALSE |USERROUTED=TRUE |NAME=1 // Location of pin 1 // Track X1/Y1 |X=7297.244mil |Y=6194.882mil |XSIZE=12.2047mil |YSIZE=58.2677mil |SHAPE=RECTANGLE |HOLESIZE=0mil |ROTATION=180.000 |PLATED=TRUE ST208 ===== |RECORD=Pad |COMPONENT=0 |INDEXFORSAVE=213 |SELECTION=FALSE |LAYER=TOP |LOCKED=FALSE |POLYGONOUTLINE=FALSE |USERROUTED=TRUE |NAME=1 // Location of pin 1 // Track X2/Y2 // The x co-ord is reported as same // as FUJ208 but in metric // and from absolute origin |X=7297.2455mil |Y=4407.4811mil |XSIZE=12.2047mil |YSIZE=58.2677mil |SHAPE=RECTANGLE |HOLESIZE=0mil |ROTATION=180.000 |PLATED=TRUE // Track drawn from Pin 1 FUJ208 // To Pin 1 ST208 |RECORD=Track |INDEXFORSAVE=0 |SELECTION=FALSE |LAYER=TOP |LOCKED=FALSE |POLYGONOUTLINE=FALSE // Pin 1 FUJ208 |X1=7297.244mil |Y1=6194.882mil // Pin 1 ST208 |X2=7297.2455mil |Y2=4407.4811mil |WIDTH=0.3937mil |SUBPOLYINDEX=0 ================cut======================= So, the short version is : - FUJ208\Pin 1\X=7297.244mil\Y=6194.882mil TrackTop\X1=7297.244mil\Y1=6194.882mil So the track start location confirms the pin 1 position ST208\Pin 1\X=7297.2455mil\Y=4407.4811mil (not this is NOT the same X position as reported by DXP if the pad is queried) TrackTop\X2=7297.2455mil\Y2=4407.4811mil So the track start location confirms the pin 1 position So, the plot thickens :) Best Regards John A. Ross RSD Communications Ltd 8 BorrowMeadow Road Springkerse Industrial Estate Stirling, Scotland FK7 7UW Tel +44 [0]1786 450572 Ext 225 (Office) Tel +44 [0]1786 450572 Ext 248 (Lab) Fax +44 [0]1786 474653 GSM +44 [0]7831 373727 Email [EMAIL PROTECTED] WWW http://www.rsd.tv ========================================== I have made my first investigation into these errors and found the following. I made a test board with 2 off QFP outlines. //Both parts contain a centre and corner round pads as local fiducials. //So the parts were placed on x(0). //System grid is set to 0.01mm //The parts had the following attributes in 99SE. //TestPcb1.PCB FUJ 208QFP (original parent part) ================================= Part Location (centre) = X(0) Y(45.4mm) Pin 1 Location (bottom left corner) = X(-12.75) Y (30.35mm) Measured from X(0) horizontally to pin 1 gives a distance of 12.75mm according to place dimension tool (and using snap) ST 208QFP (end result part after life cycle) ============================================ Part Location (centre) = X(0) Y(0mm) Pin 1 Location (bottom left corner) = X(-12.74996) Y (15.04998mm) Measured from X(0) horizontally to pin 1 gives a distance of 12.74996mm according to place dimension tool (and using snap) If a horizontal track is placed vertically from pin 1 to pin 1 (in any angle mode) and using snap, then its properties viewed it confirms different start/end points of X1(-12.75mm) X2(-12.74996) //Now for test same PCB (exported from original DDB) in DXP //TestPcb1.PCB FUJ 208QFP (original parent part) ================================= Part Location (centre) = X(0) Y(45.4mm) Pin 1 Location (bottom left corner) = X(-12.75) Y (30.35mm) Measured from X(0) horizontally to pin 1 gives a distance of 12.75mm according to place dimension tool (and using snap) //X1 is pin 1 FUJ 208QFP X2 is pin 1 ST 208QFP ST 208QFP (end result part after life cycle) ============================================ Part Location (centre) = X(0) Y(0mm) Pin 1 Location (bottom left corner) = X(-12.75mm) Y (15.05mm) Measured from X(0) horizontally to pin 1 gives a distance of 12.75mm according to place dimension tool (and using snap) If a horizontal track is placed vertically from pin 1 to pin 1 (in any angle mode) and using snap, then its properties viewed it confirms different start/end points of X1(-12.75mm) X2(-12.74996) //X1 is pin 1 FUJ 208QFP X2 is pin 1 ST 208QFP So, under DXP, not only is different co-ordinates shown for the pads, but if a track is placed (snaps to) the pad, its end point is DIFFERENT from the pad 'centre'. //I placed a free pad on a 0.001 grid and checked properties to ensure that more that .xx places can be reported in the object properties and it was OK. Now we have the re-producable behaviour of an object and a primitive that behave differently. Comments ======== Unfortunately I am not familiar enough with the database structure, or how objects are stored within it, to speculate on what the deal is with this. If anyone is familiar enough with how the objects/primitives are stored (and how to extract this from the DB) and has some time let me know. I would be good if we could compare these results with the raw DB contents. I have emailed the testPCB to Protel. Hopefully we will have some feedback soon. Best Regards John A. Ross RSD Communications Ltd 8 BorrowMeadow Road Springkerse Industrial Estate Stirling, Scotland FK7 7UW Tel +44 [0]1786 450572 Ext 225 (Office) Tel +44 [0]1786 450572 Ext 248 (Lab) Fax +44 [0]1786 474653 GSM +44 [0]7831 373727 Email [EMAIL PROTECTED] WWW http://www.rsd.tv ========================================== > Altium have now been mailed a brief example of the rounding > errors and differences in co-ords I reported between 99SE & > DXP using same file. > > Here is a small summary, Lib file with 208 QFP part. > > Footprint ST 208QFP > =================== > > Footprint created from new (based on FUJ 208QFP). All pad > locations verified as .xx only before starting. > > Pin 1 was set at X(-12.75mm) & Y(-15.05mm) > > After testing/edit/move origin/snap off > grid/save/export/import & generally give it an accelerated > life here is what happens > > Pin 1 (99SE) X(-12.74996mm) Y(-15.04998mm) Other pads > offsets to each other are also occasionally different (say > .00001 instead of 0.99999 even although they were all placed > on a 0.5mm grid. > > Export the PCB.lib file from 99SE, open in DXP, select > footprint ST 208QFP > > Pin 1 (DXP) X(-12.75mm) Y(-15.05mm) > > So, why is the location different in 99SE & DXP? One has got > to be wrong (or at least reporting it incorrectly) > > In cases where the error is 0.00001 instead of .999999 I get > DRC errors on re-opening files in 99SE that were previously OK. > > Although this does not show the example of good co-ords in > 99SE -> badly rounded co-ords in DXP it does show the reverse effect. > > If anyone wants the .lib to look at please respond to me > off-list and I will email it to you. I will try to get a > repeatable example of the reverse scenario to the above soon. > > Best Regards > > John A. Ross > > RSD Communications Ltd > 8 BorrowMeadow Road > Springkerse Industrial Estate > Stirling, Scotland FK7 7UW > > Tel +44 [0]1786 450572 Ext 225 (Office) > Tel +44 [0]1786 450572 Ext 248 (Lab) > Fax +44 [0]1786 474653 > GSM +44 [0]7831 373727 > > Email [EMAIL PROTECTED] > WWW http://www.rsd.tv > ========================================== > > ************************************************************** > ********** > * Tracking #: C795A22921EC994BBC79CFF040655F4B3B25381E > * > ************************************************************** > ********** > * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * To post a message: mailto:[EMAIL PROTECTED] * * To leave this list visit: * http://www.techservinc.com/protelusers/leave.html * * Contact the list manager: * mailto:[EMAIL PROTECTED] * * Forum Guidelines Rules: * http://www.techservinc.com/protelusers/forumrules.html * * Browse or Search previous postings: * http://www.mail-archive.com/[email protected] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
