Shown here is a possible schematic capture system. It is reasonably comprehensive and has many features of dedicated schematic capture applications.
As presented, it uses features not typically found with most Visio schematic symbols...that way, I didn't feel like I was intruding on other individual's efforts. Many, like Paul Herber, have invested substantial efforts to create extensive libraries of electronic part symbols. The goal here was to have a component symbol that contained all of the necessary connectivity information. That way, any netlisting errors ought to be traceable to the symbol, or to schematic drawing errors...assuming the underlying code is correct, of course. The code tries to catch the drawing errors. All component shapes must have unique names other than "sheet.xyz". The names
dynamic connector and
sheet.xyz are reserved, used only as 1-D shapes for interconnecting parts. The example NPN shows how a single symbol can have either a schematic view or a layout view and maintain connectivity. The connector is a smartshape with a variety of features.
Interconnections may use either dynamic connectors or line shapes. I have not tried curved, freeform, etc...after all, this is a schematic. The code is "hard coded" for these names. Errors will occur if conformance is ignored.
There are two macros associated with this scheme. The first runs thru every page and initializes/generates all of the connectivity associated features. The 2nd allows the user to switch thru various netname display options. The macros are accessed in the normal, V2007 way: menu bar>tools>macro>This Document.
When you open the file, the first page may be overwhelming. It contains a lot of non-essential, explanatory callouts to highlight the many features. There is a show/hide button which may be double clicked to hide these. Or, just delete them altogether. A 2nd button is a shortcut. Double click it to invoke the reporting mechanism. Excel is the preferred output format. An example for the existing circuit is shown on the reports page...yeah, with more notes.
An apology for the code...I'm not a programmer. The code is not split into separate modules. It has been recently re-worked, and there are a lot of comments to help understand what's going on. I'm sure that it could be written more efficiently, but, my main objective was to show a feasible, comprehensive approach.
Hope this proves to be interesting, and hopefully, inspire a more robust approach. It is not intended to be a simple, documentation scheme.
Enjoy.
Wapperdude
Edit: Oops. On the report page, need to expand the excel worksheet, accidentally left off the "status" column.
