Hello All,

Dave wrote:
> I do have a need to make seperate dbs for particular groups of lib files.
> I will use one db for production board layout while another is set for
> breadboard layout (ie. 100mil center pads for vector boards).  This is
> convienent since the same schematic can be used without any changes to do
> both types of layout just by swapping out the lib db files.   This is
> actually be a tad easier in p99se whereas in p98 I had to selectively
prune
> my lib file pointer list.

What we need is the option of using formulas and expressions in the
attributes of components.
Somewhere in the schematic of pcb file we need to add some 'Special Defines'
like PROTO=True or MAINS=220.
In the component attributes we could use:

Example1:
If (PROTO = True) then
  FOOTPRINT = "DIP16"
Else
  FOOTPRINT = "SSOP16"
EndIf

Example2:
If (MAINS = '220')
    FuseType = "1 Amp"
Else
  FuseType = "2 Amp"
EndIf

There is another advantage of using formulas. In the past I have designed
some circular boards with a lot of leds. The leds were placed in circles on
the board. I was happy with the rotate function and the job was easy to do.
But every time when the mechanical engineers decided to make minor changes
in the ring diameters I needed to reposition the leds. The leds were
numbered with a two digit number. The first digit was the ring number and
the second digit was the sector number inside that ring. If there was the
option of using formulas in the attribute fields, it would be possible to
use some Sine and Cosine calculations to calculate the X, Y and rotation
based on the led number and one global 'DIAMETER' define.

It would also be possible to have a lot more flexibility in creating the
BOM. If each component could add lines to the BOM, based on some simple
programming in a component formula field, it would be possible to create the
BOM for different product builds. It would also be possible to add extra
parts which are needed for specific components

Example:

If (PRODUCTBUILD = 'industrial')
  AddToBom(LargeHeatSink)
  AddToBom("Heavy Mounting screws")
Else
  AddToBom(SmallHeatSink)
  AddToBom("low cost mounting clip")
End if

The examples are just to give you an idea of what I mean. I am thinking of a
kind of Client Basic local to a component to give it more intelligence. The
next step could be to add programming options to library components. Why
should we use a lot of different footprints for radial components with
different diameters if it could be one footprint with some extra parameters?


*<-<-x
PS, this is a christmas tree.

Greetings from,

Aalt Lokhorst (e-mail [EMAIL PROTECTED])

address:
          Schut Geometrische Meettechniek bv
          Duinkerkenstraat 21
          9723 BN  Groningen, The Netherlands
          tel. +31 50-5877877
          fax. +31 50-5877899

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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