[sci.electronics] Posting of schematics with SPICE format

cook@gaia.UUCP (Forrest Cook) (04/07/88)

My $.02:
	The SPICE format is nice because it is easy to understand with or
	without a computer.  The limitation is that there is no position
	information for parts.

	The Solution: A list of part positions could be included (or a
	position field for each part) to describe the location of the
	part on the schematic.  This would allow a person or program
	to locate the part and then connect the nodes.
	Or... How about a list of NODE positions?
	Positions could be given in universal coordinates with 0,0 at
	the lower left side of the page and 1.0, 1.0 at the upper right
	side of the page.  This would allow easy translation to pixel
	oriented devices as well as approximate analog devices such
	as people.

	Forrest Cook

phd@SPEECH1.CS.CMU.EDU (Paul Dietz) (04/07/88)

In article <346@gaia.UUCP> cook@gaia.UUCP (Forrest Cook) writes:
>My $.02:
>	The SPICE format is nice because it is easy to understand with or
>	without a computer.  The limitation is that there is no position
>	information for parts.
>
>	The Solution: A list of part positions could be included (or a
>	position field for each part) to describe the location of the
>	part on the schematic.  This would allow a person or program
>	to locate the part and then connect the nodes.
>	Or... How about a list of NODE positions?
>	Positions could be given in universal coordinates with 0,0 at
>	the lower left side of the page and 1.0, 1.0 at the upper right
>	side of the page.  This would allow easy translation to pixel
>	oriented devices as well as approximate analog devices such
>	as people.

This is pretty much what I had in mind when I suggested an extended
SPICE format. In specific, I'd like to put all non-spice type
commands in { }'s so a program could easily strip it out.

As for position info, I favor having a small, extensible standard
library. The info you would send would be part position, and orientation.
(Orientation could be done like CIF using direction vectors, and mirrors.)

For instance:

* ASTERISKS INDICATE COMMENTS LINES IN SPICE
*
*	COLLECTOR	BASE		EMITTER
Q1	5		3		6		NPNBJT
{POS: Q1 MX, R(0,1), T(5,37)}

{DEF: NPNBJT
L(1,2),(2,2)
L(2,1),(2,3)
L(3,0),(3,1),(2,2),(3,3),(3,4)
L(3,1.5),(3,1),(2.5,1)}


I think most of this is self evident. M is mirror, R is rotate, and
T is translate. Any comments?

Paul H. Dietz                                        ____          ____
Dept. of Electrical and Computer Engineering        / oo \        <_<\\\
Carnegie Mellon University                        /|  \/  |\        \\ \\
--------------------------------------------     | | (  ) | |       | ||\\
"If God had meant for penguins to fly,             -->--<--        / / |\\\  /
he would have given them wings."            _________^__^_________/ / / \\\\-