----- 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/proteledaforum@techservinc.com
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Reply via email to