🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: sci.electronics
Article #18839

Re: Posting Schematics

#18839
From: Brad Clements
Date: Fri, 11 Mar 1988 00:13
101 lines
4980 bytes
From article <329@nancy.UUCP>, by magnani@msudoc.ee.mich-state.edu (Steven Magnani EE):
> (I have added comp.lang.postscript to the discussion to get sone
> feedback on this idea. Note that followups go to sci.electronics --SJM)
> 
> A proposed soultion:
> 
> If one is talking about exchanging graphics only (ie, not an actual
> circuit description, such as SPICE or MAGIC could deal with), a graphics
> description language such as PostScript ((tm) Adobe Systems) or
> Interpress ((tm) Xerox) might be useful. These files may be stored in
> ASCII format (perfect for E-mail interchange!), and may be interpreted
> by programs on widely differing systems. Translation programs exist
> to go between PostScript/Interpress and other graphics description
> languages (such as HPGL). Also, PostScript-type printers
> such as the LaserWriter are becoming more common, so even if a
> particular site has no tools for displaying the schematic on the screen,
> a hard copy may be generated. Since the Mac tools are capable of
> generating PostScript output (correct me on this...) this might be a
> better idea than posting binary files.
> 
> One disadvantage of this scheme that *I* can think of is that the
> PostScript files may not be easily edited. It sounds like MacPaint
> stores its files in binary format, in which case it is probably unable
> to accept PostScript files as input. FrameMaker ((tm) Frame Technology) is
One thing to consider is using more of the power of PostScript.

These schematics could be encoded in PostScript Arrays in the form
of standard Netlists and a 'PostScript Program' could read the array/
netlist and generate the drawing. The 'program' could be just some 
standard PostScript which wouldn't need to be copied around
the net, but rather one copy kept at each site. Concatenation of the
PostScript/netlist file with the 'program' and send it to a Laser Printer
or PostScript screen previewer would give a drawn picture. The
netlist/arrays could easily be edited.

In other words, don't encode the schematic as individual graphical
commands, but rather use the power of PostScript to read data arrays
of netlist info and draw the diagram from the arrays. I have already
done something like this for drawing the Network Topology of our
Campus Ethernet using a hosts.txt file converted to postscript
arrays and concatenated with the 'PostScript Program'. It works
great! No more painstaking hand drawing of our network and
any updates to our hosts.txt file is 'automatically' incorporated in
the drawing.

An example netlist could be layed out as (for those into PostScript)
/component_name [
  component_type (component name) (component data)
  [ (pin textural name) (signal name) (otherinfo) (destination pin name)
    destination_component]
] def

The component_type is a composite array describing how to draw the
component, how many pins and what their names/placements are.
The sub-array of pin connections can go on for ever. The destination
component is the name (literal) of an array (not the array itself) which is the same kind of
array as the source component.

Editing this kind of structure is easy. And writing PostScript code
to parse the arrays and automatically draw the schematic isn't
too difficult.

Example:

/Part_resistor [ {procedure for drawing one} {procedure for labeling}
	[ (pin1) (pin2) ]
] def

/Part_transistor [ {procedure for drawing one} {procedure for labeling}
	[ (cathode) (anode) (gate) ]
] def

% begin dummy schematic
/part_one [ Part_resistor (R1) (220ohm)
	[ (pin1) (Oscillator Output) (otherinfo) (anode) /part_two ]
	[ (pin2) (some other signal) (otherinfo) (cathode) /part_three ]
] def
/part_two [ Part_transistor (T1) (22227)
	[ (cathode) (+5V) (otherinfo) (pin1) /part_four ]
	[ (gate) () () (pin2) (anode) /part_three ]
] def

/part_three [ Part_transistor (T2) (25634)
	[ (gate) (ground) () (pin2) /part_four ]
] def
/part_four  [ Part_resistor (R2) (345ohm +-1%)
] def

Anyway, you get the idea. Notice that each part only lists what it
connects to, not what connects to it. There would have to be more stuff
in the structures etc, but I think this is a basic netlist with []
added. How easy is it to change the wiring of this? Easy.
Then just feed it to your laser printer...

The style of the drawn schematic could be hand tailored to each site if
desired. 

It's time to start thinking of PostScript as a programming language, not
just a graphical one.

Brad Clements
Technical Details
Message-ID: <535@sun.soe.clarkson.edu>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!mit-eddie!uw-beaver!cornell!batcomputer!sun.soe.clarkson.edu!bkc

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!husc6!mit-eddie!uw-beaver!cornell!batcomputer!sun.soe.clarkson.edu!bkc
From: bkc@sun.soe.clarkson.edu (Brad Clements)
Newsgroups: sci.electronics
Subject: Re: Posting Schematics
Message-ID: <535@sun.soe.clarkson.edu>
Date: 11 Mar 88 00:13:49 GMT
Sender: bkc@sun.soe.clarkson.edu
Reply-To: bkc@sun.soe.clarkson.edu (Brad Clements)
Organization: Clarkson University, Potsdam, NY
Lines: 101