BB code in posts seems to be working again!
I haven't turned on every single tag, so please let me know if there are any that are used/needed but not activated.

Main Menu

Schematic capture schema: connectivity, reports, diagnostics

Started by wapperdude, February 17, 2015, 11:27:28 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


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 "".  The names dynamic connector and 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.


Edit:  Oops.  On the report page, need to expand the excel worksheet, accidentally left off the "status" column.   :-[
Visio 2019 Pro


Updated the code:
  1.  When connectivity macro runs, it sets connectors to no reroute. 
  2.  Custom netnames initially set to normal netnames. 
  3.  Connector endpoint knows if termination is on another connector or line shape and gets / stores netname as custom text.

But, the Custom netname behavior is still buggy.  Sorry!  Double click the connector and shapedata pops up asking for custom name.  The show macro must be re-run for viewing.  Entering the text directly, has some unpredictable results.

Methodology note:  page property sets line routes to no jumping.  Since connections automatically get dots and netnames are generated, the use of route jumps is unnecessary and clutters the schematic.  A four-way connection, (used to be avoided by rule) will have dots.  Any connection that looks like it terminates upon an orthogonal connection but has no dots is NOT connected. 

Visio 2019 Pro


Ah!  I believe the custom text bugs have been exterminated.  Connector names may be manually entered by
  1. Selecting the connector and typing or
  2. Double clicking the connector and using the pop-up shapedata window.

If either field is blank, I mean NOTHING, then the custom text will return to default. 

The prompts to discard or keep the custom text are less confusing.

Visio 2019 Pro


One more, minor update. 

Right click anywhere in the page brings up context menu that allows you to choose which macro to run.  Quick and easy!

OK.  That's it for tonight.

Visio 2019 Pro


Hey Wappadude.

This application is great !  :D  I see many useful features.



Thanks.  It is a work in progress.  Reasonably solid considering there's not been much testing.  Hopefully, there're "features" that could be used in other applications.

Even the call-outs are smart shapes:  0 - 3 arrows, 0 - 2 elbows, variety of baseline shapes, text can match line color. -- Just a right click away!
Visio 2019 Pro

Noisy Cricket

On first glance,  would you reckon it's possible to mimic a ship's ballast line diagram, including pumps, valves and overflows?



Noisy Cricket

Uhm.... P&ID?
Yes, pretty much. As long as the components have some kind of way of showing the flow of water based on a given combination of open/closed valves.


Yes, this ought to bee possible. Take a look at the shortest path post:

It keeps track of flow directionality.  Between that post, and this one, I suspect with some work, like checking an open/closed property in the valve shape, could do what you want.

Visio 2019 Pro


I do actually have a solution to show active pipe and aggregates paths in a line depending on the use mode.
It generates bitmaps of the given mode.
Not sure however if I can publish it, as I use it for my job.

Noisy Cricket

Well... first things first.... I need to understand how it works, from there I should be ok.

I'll try and get an actual ballast line diagram to work with.

Primary components:
1) Pumps
2) Valves (several types but that shouldn't matter for the purpose)
3) Vent lines (flooding point)
4) Tanks

Would be really interesting to see if we can "simulate" an actual ballast operation in Visio....


The dialogues are in German, but you should understand what it is about:

Noisy Cricket

Look promising... Didn't get any sound with it though.

It's halfway there.

The idea is to start out (for instance) with all valves closed and pumps off.
Switching on the pump would pressurize all lines  (ideally changing color or thicknesS) until it connects to a closed valve.
Upon opening this valve, the line behind the valve would then also pressurize and change color and so forth.

Suppose this would require one or multiple loops cycling through the actors and lines as well as some master shapes (tank, pumps, air vents, valves (throttle, butterfly, sluice etc.), manifolds, T- and Y joints, crossings.....

The solution has to lie in the "connected/connect"-functionality but as a master of none, i've not mastered this either. :)

My goal would be to use no more code/forms than necessary. Personally prefer the actions at page level above user forms.

I've conjured up a simple schematic with 2 pumps, 2 seachests, 2 tanks and an overflow.
The goal is to have Visio realize which parts of the system are pressurized, under suction and which are not.

Any thoughts?

Noisy Cricket

Really?!?! nobody wants to have a crack at my ballast schematic?!

Browser ID: smf (possibly_robot)
Templates: 4: index (default), Display (default), GenericControls (default), GenericControls (default).
Sub templates: 6: init, html_above, body_above, main, body_below, html_below.
Language files: 4: index+Modifications.english (default), Post.english (default), Editor.english (default), Drafts.english (default).
Style sheets: 4: index.css, attachments.css, jquery.sceditor.css, responsive.css.
Hooks called: 401 (show)
Files included: 34 - 1306KB. (show)
Memory used: 1259KB.
Tokens: post-login.
Cache hits: 14: 0.00153s for 26,767 bytes (show)
Cache misses: 3: (show)
Queries used: 16.

[Show Queries]